55
66import { Uri } from 'vscode' ;
77import { Logger } from 'monaco-languageclient/tools' ;
8- import { useWorkerFactory } from 'monaco-editor-wrapper /workerFactory' ;
8+ import { useWorkerFactory , WorkerLoader } from 'monaco-languageclient /workerFactory' ;
99import { RegisteredMemoryFile } from '@codingame/monaco-vscode-files-service-override' ;
1010import { IStoredWorkspace } from '@codingame/monaco-vscode-configuration-service-override' ;
1111
@@ -16,35 +16,28 @@ export const disableElement = (id: string, disabled: boolean) => {
1616 }
1717} ;
1818
19+ export const defineDefaultWorkerLoaders : ( ) => Record < string , WorkerLoader > = ( ) => {
20+ return {
21+ // if you import monaco api as 'monaco-editor': monaco-editor/esm/vs/editor/editor.worker.js
22+ TextEditorWorker : ( ) => new Worker (
23+ new URL ( '@codingame/monaco-vscode-editor-api/esm/vs/editor/editor.worker.js' , import . meta. url ) ,
24+ { type : 'module' }
25+ ) ,
26+ TextMateWorker : ( ) => new Worker (
27+ new URL ( '@codingame/monaco-vscode-textmate-service-override/worker' , import . meta. url ) ,
28+ { type : 'module' }
29+ ) ,
30+ // these are other possible workers not configured by default
31+ OutputLinkDetectionWorker : undefined ,
32+ LanguageDetectionWorker : undefined ,
33+ NotebookEditorWorker : undefined ,
34+ LocalFileSearchWorker : undefined
35+ }
36+ } ;
37+
1938export const configureMonacoWorkers = ( logger ?: Logger ) => {
2039 useWorkerFactory ( {
21- workerLoaders : {
22- // if you import monaco api as 'monaco-editor': monaco-editor/esm/vs/editor/editor.worker.js
23- TextEditorWorker : ( ) => new Worker (
24- new URL ( '@codingame/monaco-vscode-editor-api/esm/vs/editor/editor.worker.js' , import . meta. url ) ,
25- { type : 'module' }
26- ) ,
27- TextMateWorker : ( ) => new Worker (
28- new URL ( '@codingame/monaco-vscode-textmate-service-override/worker' , import . meta. url ) ,
29- { type : 'module' }
30- ) ,
31- OutputLinkDetectionWorker : ( ) => new Worker (
32- new URL ( '@codingame/monaco-vscode-output-service-override/worker' , import . meta. url ) ,
33- { type : 'module' }
34- ) ,
35- LanguageDetectionWorker : ( ) => new Worker (
36- new URL ( '@codingame/monaco-vscode-language-detection-worker-service-override/worker' , import . meta. url ) ,
37- { type : 'module' }
38- ) ,
39- NotebookEditorWorker : ( ) => new Worker (
40- new URL ( '@codingame/monaco-vscode-notebook-service-override/worker' , import . meta. url ) ,
41- { type : 'module' }
42- ) ,
43- LocalFileSearchWorker : ( ) => new Worker (
44- new URL ( '@codingame/monaco-vscode-search-service-override/worker' , import . meta. url ) ,
45- { type : 'module' }
46- )
47- } ,
40+ workerLoaders : defineDefaultWorkerLoaders ( ) ,
4841 logger
4942 } ) ;
5043} ;
0 commit comments