Skip to content

Commit 294d596

Browse files
committed
feat: Add Monaco Editor workers and LSP utilities to enhance code editing features.
1 parent e88cac7 commit 294d596

File tree

5 files changed

+30
-1
lines changed

5 files changed

+30
-1
lines changed

apps/desktop/src/main.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { getAppearanceSettings, applyAppearanceToDOM } from '@/shared/lib/appear
33
import { loadFontPair } from '@/shared/lib/font-loader'
44
import App from './App.tsx'
55
import './index.css'
6+
import './monaco-workers'
67

78
// Initialize appearance before rendering to prevent theme flash
89
const settings = getAppearanceSettings()

apps/desktop/src/monaco-workers.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import * as monaco from 'monaco-editor'
2+
import editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker'
3+
import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker'
4+
import cssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker'
5+
import htmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker'
6+
import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker'
7+
8+
self.MonacoEnvironment = {
9+
getWorker(_: any, label: string) {
10+
if (label === 'json') {
11+
return new jsonWorker()
12+
}
13+
if (label === 'css' || label === 'scss' || label === 'less') {
14+
return new cssWorker()
15+
}
16+
if (label === 'html' || label === 'handlebars' || label === 'razor') {
17+
return new htmlWorker()
18+
}
19+
if (label === 'typescript' || label === 'javascript') {
20+
return new tsWorker()
21+
}
22+
return new editorWorker()
23+
}
24+
}
25+
26+
monaco.languages.typescript.typescriptDefaults.setEagerModelSync(true)

apps/desktop/stats.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

bun.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
"@google/generative-ai": "^0.24.1",
3333
"@tauri-apps/plugin-dialog": "^2.6.0",
3434
"glob": "^13.0.0",
35+
"monaco-editor": "^0.55.1",
3536
"sqlite3": "^5.1.7",
3637
"zustand": "^5.0.10"
3738
},

0 commit comments

Comments
 (0)