monaco-languageclient 10.6.0 → 11.0.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -4
- package/LICENSE +0 -0
- package/README.md +63 -63
- package/lib/common/commonTypes.d.ts +1 -1
- package/lib/common/commonTypes.d.ts.map +1 -1
- package/lib/common/utils.d.ts.map +1 -1
- package/lib/common/utils.js +2 -2
- package/lib/common/utils.js.map +1 -1
- package/lib/debugger/index.d.ts +1 -1
- package/lib/debugger/index.d.ts.map +1 -1
- package/lib/debugger/index.js +2 -4
- package/lib/debugger/index.js.map +1 -1
- package/lib/editorApp/config.d.ts +11 -11
- package/lib/editorApp/config.d.ts.map +1 -1
- package/lib/editorApp/config.js +0 -1
- package/lib/editorApp/config.js.map +1 -1
- package/lib/editorApp/editorApp.d.ts +5 -5
- package/lib/editorApp/editorApp.d.ts.map +1 -1
- package/lib/editorApp/editorApp.js +21 -23
- package/lib/editorApp/editorApp.js.map +1 -1
- package/lib/fs/definitions.d.ts.map +1 -1
- package/lib/fs/endpoints/defaultEndpoint.d.ts.map +1 -1
- package/lib/fs/endpoints/defaultEndpoint.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/vscode/apiWrapper.d.ts +2 -2
- package/lib/vscode/apiWrapper.d.ts.map +1 -1
- package/lib/vscode/apiWrapper.js +19 -22
- package/lib/vscode/apiWrapper.js.map +1 -1
- package/lib/vscode/config.d.ts +4 -4
- package/lib/vscode/config.d.ts.map +1 -1
- package/lib/vscode/config.js +0 -1
- package/lib/vscode/config.js.map +1 -1
- package/lib/vscode/locales.d.ts +1 -1
- package/lib/vscode/locales.d.ts.map +1 -1
- package/lib/vscode/locales.js +35 -18
- package/lib/vscode/locales.js.map +1 -1
- package/lib/vscode/utils.d.ts +3 -3
- package/lib/vscode/utils.d.ts.map +1 -1
- package/lib/vscode/utils.js +3 -10
- package/lib/vscode/utils.js.map +1 -1
- package/lib/vscode/viewsService.d.ts.map +1 -1
- package/lib/vscode/viewsService.js +13 -7
- package/lib/vscode/viewsService.js.map +1 -1
- package/lib/worker/index.d.ts +1 -1
- package/lib/worker/index.d.ts.map +1 -1
- package/lib/worker/index.js.map +1 -1
- package/lib/wrapper/lcconfig.d.ts +2 -2
- package/lib/wrapper/lcconfig.d.ts.map +1 -1
- package/lib/wrapper/lcmanager.d.ts.map +1 -1
- package/lib/wrapper/lcmanager.js.map +1 -1
- package/lib/wrapper/lcwrapper.d.ts +1 -1
- package/lib/wrapper/lcwrapper.d.ts.map +1 -1
- package/lib/wrapper/lcwrapper.js +17 -16
- package/lib/wrapper/lcwrapper.js.map +1 -1
- package/package.json +70 -96
- package/src/common/commonTypes.ts +35 -30
- package/src/common/index.ts +0 -1
- package/src/common/utils.ts +45 -45
- package/src/debugger/index.ts +130 -133
- package/src/editorApp/config.ts +33 -33
- package/src/editorApp/editorApp.ts +382 -370
- package/src/editorApp/index.ts +0 -0
- package/src/fs/definitions.ts +72 -75
- package/src/fs/endpoints/defaultEndpoint.ts +50 -41
- package/src/fs/index.ts +0 -0
- package/src/index.ts +18 -18
- package/src/vscode/apiWrapper.ts +302 -296
- package/src/vscode/config.ts +30 -30
- package/src/vscode/index.ts +0 -0
- package/src/vscode/locales.ts +127 -110
- package/src/vscode/utils.ts +20 -26
- package/src/vscode/viewsService.ts +44 -37
- package/src/worker/index.ts +38 -45
- package/src/wrapper/index.ts +0 -0
- package/src/wrapper/lcconfig.ts +16 -16
- package/src/wrapper/lcmanager.ts +68 -69
- package/src/wrapper/lcwrapper.ts +256 -249
package/src/vscode/config.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type { IWorkbenchConstructionOptions } from '@codingame/monaco-vscode-api
|
|
|
7
7
|
import { LogLevel } from '@codingame/monaco-vscode-api';
|
|
8
8
|
import type { IExtensionManifest } from '@codingame/monaco-vscode-api/extensions';
|
|
9
9
|
import type { EnvironmentOverride } from '@codingame/monaco-vscode-api/workbench';
|
|
10
|
-
import
|
|
10
|
+
import type { editor, Environment } from '@codingame/monaco-vscode-editor-api';
|
|
11
11
|
import type { OpenEditor } from '@codingame/monaco-vscode-editor-service-override';
|
|
12
12
|
import type { ILogger } from '@codingame/monaco-vscode-log-service-override';
|
|
13
13
|
|
|
@@ -17,45 +17,45 @@ export type ViewsConfigTypes = 'EditorService' | 'ViewsService' | 'WorkbenchServ
|
|
|
17
17
|
|
|
18
18
|
// export type HtmlContainerConfig = HTMLElement;
|
|
19
19
|
|
|
20
|
-
export interface MonacoEnvironmentEnhanced extends
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
export interface MonacoEnvironmentEnhanced extends Environment {
|
|
21
|
+
vscodeApiInitialising?: boolean;
|
|
22
|
+
vscodeApiInitialised?: boolean;
|
|
23
|
+
vscodeApiGlobalInitAwait?: Promise<void>;
|
|
24
|
+
vscodeApiGlobalInitResolve?: (value: void | PromiseLike<void>) => void;
|
|
25
|
+
viewServiceType?: ViewsConfigTypes;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
export interface UserConfiguration {
|
|
29
|
-
|
|
29
|
+
json?: string;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
export interface ViewsConfig {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
$type: ViewsConfigTypes;
|
|
34
|
+
htmlContainer?: HTMLElement;
|
|
35
|
+
openEditorFunc?: OpenEditor;
|
|
36
|
+
htmlAugmentationInstructions?: (htmlContainer: HTMLElement | null | undefined) => void;
|
|
37
|
+
viewsInitFunc?: () => Promise<void>;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
export interface ExtensionConfig {
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
config: IExtensionManifest;
|
|
42
|
+
filesOrContents?: Map<string, string | URL>;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
export interface MonacoVscodeApiConfig {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
46
|
+
$type: OverallConfigType;
|
|
47
|
+
viewsConfig: ViewsConfig;
|
|
48
|
+
serviceOverrides?: editor.IEditorOverrideServices;
|
|
49
|
+
logLevel?: LogLevel | number;
|
|
50
|
+
workspaceConfig?: IWorkbenchConstructionOptions;
|
|
51
|
+
userConfiguration?: UserConfiguration;
|
|
52
|
+
envOptions?: EnvironmentOverride;
|
|
53
|
+
extensions?: ExtensionConfig[];
|
|
54
|
+
monacoWorkerFactory?: (logger?: ILogger) => void;
|
|
55
|
+
advanced?: {
|
|
56
|
+
loadExtensionServices?: boolean;
|
|
57
|
+
enableExtHostWorker?: boolean;
|
|
58
|
+
loadThemes?: boolean;
|
|
59
|
+
enforceSemanticHighlighting?: boolean;
|
|
60
|
+
};
|
|
61
61
|
}
|
package/src/vscode/index.ts
CHANGED
|
File without changes
|
package/src/vscode/locales.ts
CHANGED
|
@@ -7,123 +7,140 @@ import type { LocalizationOptions } from '@codingame/monaco-vscode-localization-
|
|
|
7
7
|
import type { ILogger } from '@codingame/monaco-vscode-log-service-override';
|
|
8
8
|
|
|
9
9
|
export const createDefaultLocaleConfiguration = (): LocalizationOptions => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
10
|
+
return {
|
|
11
|
+
async clearLocale() {
|
|
12
|
+
const url = new URL(window.location.href);
|
|
13
|
+
url.searchParams.delete('locale');
|
|
14
|
+
window.history.pushState(null, '', url.toString());
|
|
15
|
+
},
|
|
16
|
+
async setLocale(id: string) {
|
|
17
|
+
const url = new URL(window.location.href);
|
|
18
|
+
url.searchParams.set('locale', id);
|
|
19
|
+
window.history.pushState(null, '', url.toString());
|
|
20
|
+
},
|
|
21
|
+
availableLanguages: [
|
|
22
|
+
{
|
|
23
|
+
locale: 'en',
|
|
24
|
+
languageName: 'English'
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
locale: 'cs',
|
|
28
|
+
languageName: 'Czech'
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
locale: 'de',
|
|
32
|
+
languageName: 'German'
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
locale: 'es',
|
|
36
|
+
languageName: 'Spanish'
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
locale: 'fr',
|
|
40
|
+
languageName: 'French'
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
locale: 'it',
|
|
44
|
+
languageName: 'Italian'
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
locale: 'ja',
|
|
48
|
+
languageName: 'Japanese'
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
locale: 'ko',
|
|
52
|
+
languageName: 'Korean'
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
locale: 'pl',
|
|
56
|
+
languageName: 'Polish'
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
locale: 'pt-br',
|
|
60
|
+
languageName: 'Portuguese (Brazil)'
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
locale: 'qps-ploc',
|
|
64
|
+
languageName: 'Pseudo Language'
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
locale: 'ru',
|
|
68
|
+
languageName: 'Russian'
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
locale: 'tr',
|
|
72
|
+
languageName: 'Turkish'
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
locale: 'zh-hans',
|
|
76
|
+
languageName: 'Chinese (Simplified)'
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
locale: 'zh-hant',
|
|
80
|
+
languageName: 'Chinese (Traditional)'
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
locale: 'en',
|
|
84
|
+
languageName: 'English'
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
};
|
|
71
88
|
};
|
|
72
89
|
|
|
73
90
|
const localeLoader: Partial<Record<string, () => Promise<void>>> = {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
91
|
+
cs: async () => {
|
|
92
|
+
await import('@codingame/monaco-vscode-language-pack-cs');
|
|
93
|
+
},
|
|
94
|
+
de: async () => {
|
|
95
|
+
await import('@codingame/monaco-vscode-language-pack-de');
|
|
96
|
+
},
|
|
97
|
+
es: async () => {
|
|
98
|
+
await import('@codingame/monaco-vscode-language-pack-es');
|
|
99
|
+
},
|
|
100
|
+
fr: async () => {
|
|
101
|
+
await import('@codingame/monaco-vscode-language-pack-fr');
|
|
102
|
+
},
|
|
103
|
+
it: async () => {
|
|
104
|
+
await import('@codingame/monaco-vscode-language-pack-it');
|
|
105
|
+
},
|
|
106
|
+
ja: async () => {
|
|
107
|
+
await import('@codingame/monaco-vscode-language-pack-ja');
|
|
108
|
+
},
|
|
109
|
+
ko: async () => {
|
|
110
|
+
await import('@codingame/monaco-vscode-language-pack-ko');
|
|
111
|
+
},
|
|
112
|
+
pl: async () => {
|
|
113
|
+
await import('@codingame/monaco-vscode-language-pack-pl');
|
|
114
|
+
},
|
|
115
|
+
'pt-br': async () => {
|
|
116
|
+
await import('@codingame/monaco-vscode-language-pack-pt-br');
|
|
117
|
+
},
|
|
118
|
+
'qps-ploc': async () => {
|
|
119
|
+
await import('@codingame/monaco-vscode-language-pack-qps-ploc');
|
|
120
|
+
},
|
|
121
|
+
ru: async () => {
|
|
122
|
+
await import('@codingame/monaco-vscode-language-pack-ru');
|
|
123
|
+
},
|
|
124
|
+
tr: async () => {
|
|
125
|
+
await import('@codingame/monaco-vscode-language-pack-tr');
|
|
126
|
+
},
|
|
127
|
+
'zh-hans': async () => {
|
|
128
|
+
await import('@codingame/monaco-vscode-language-pack-zh-hans');
|
|
129
|
+
},
|
|
130
|
+
'zh-hant': async () => {
|
|
131
|
+
await import('@codingame/monaco-vscode-language-pack-zh-hant');
|
|
132
|
+
}
|
|
116
133
|
};
|
|
117
134
|
|
|
118
135
|
export const locales = Object.keys(localeLoader);
|
|
119
136
|
|
|
120
137
|
export const initLocaleLoader = async (locale = new URLSearchParams(window.location.search).get('locale'), logger?: ILogger) => {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
138
|
+
if (locale !== null) {
|
|
139
|
+
const loader = localeLoader[locale];
|
|
140
|
+
if (loader !== undefined) {
|
|
141
|
+
await loader();
|
|
142
|
+
} else {
|
|
143
|
+
logger?.error(`Unknown locale ${locale}`);
|
|
128
144
|
}
|
|
145
|
+
}
|
|
129
146
|
};
|
package/src/vscode/utils.ts
CHANGED
|
@@ -3,44 +3,38 @@
|
|
|
3
3
|
* Licensed under the MIT License. See LICENSE in the package root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import type { editor } from '@codingame/monaco-vscode-editor-api';
|
|
7
7
|
import type { OpenEditor } from '@codingame/monaco-vscode-editor-service-override';
|
|
8
8
|
import type { ILogger } from '@codingame/monaco-vscode-log-service-override';
|
|
9
9
|
import type { MonacoEnvironmentEnhanced } from './config.js';
|
|
10
10
|
|
|
11
11
|
export const getEnhancedMonacoEnvironment = (): MonacoEnvironmentEnhanced => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
if (envEnhanced.vscodeApiInitialised === undefined) {
|
|
20
|
-
envEnhanced.vscodeApiInitialised = false;
|
|
21
|
-
}
|
|
22
|
-
if (envEnhanced.viewServiceType === undefined) {
|
|
23
|
-
envEnhanced.viewServiceType = 'EditorService';
|
|
24
|
-
}
|
|
12
|
+
if (typeof MonacoEnvironment === 'undefined') {
|
|
13
|
+
globalThis.MonacoEnvironment = {};
|
|
14
|
+
}
|
|
15
|
+
const envEnhanced = MonacoEnvironment as MonacoEnvironmentEnhanced;
|
|
16
|
+
envEnhanced.vscodeApiInitialising ??= false;
|
|
17
|
+
envEnhanced.vscodeApiInitialised ??= false;
|
|
18
|
+
envEnhanced.viewServiceType ??= 'EditorService';
|
|
25
19
|
|
|
26
|
-
|
|
20
|
+
return envEnhanced;
|
|
27
21
|
};
|
|
28
22
|
|
|
29
|
-
export const reportServiceLoading = (services:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
23
|
+
export const reportServiceLoading = (services: editor.IEditorOverrideServices, logger?: ILogger) => {
|
|
24
|
+
for (const serviceName of Object.keys(services)) {
|
|
25
|
+
logger?.debug(`Loading service: ${serviceName}`);
|
|
26
|
+
}
|
|
33
27
|
};
|
|
34
28
|
|
|
35
|
-
export const mergeServices = (overrideServices:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
29
|
+
export const mergeServices = (overrideServices: editor.IEditorOverrideServices, services?: editor.IEditorOverrideServices) => {
|
|
30
|
+
if (services !== undefined) {
|
|
31
|
+
for (const [name, service] of Object.entries(services)) {
|
|
32
|
+
overrideServices[name] = service;
|
|
40
33
|
}
|
|
34
|
+
}
|
|
41
35
|
};
|
|
42
36
|
|
|
43
37
|
export const useOpenEditorStub: OpenEditor = async (modelRef, options, sideBySide, logger?: ILogger) => {
|
|
44
|
-
|
|
45
|
-
|
|
38
|
+
logger?.info('Received open editor call with parameters: ', modelRef, options, sideBySide);
|
|
39
|
+
return undefined;
|
|
46
40
|
};
|
|
@@ -4,44 +4,51 @@
|
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
|
|
6
6
|
export const defaultViewsInit = async () => {
|
|
7
|
-
|
|
7
|
+
const { Parts, Position, onPartVisibilityChange, isPartVisibile, attachPart, getSideBarPosition, onDidChangeSideBarPosition } =
|
|
8
|
+
await import('@codingame/monaco-vscode-views-service-override');
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
10
|
+
for (const config of [
|
|
11
|
+
{ part: Parts.TITLEBAR_PART, element: '#titleBar' },
|
|
12
|
+
{ part: Parts.BANNER_PART, element: '#banner' },
|
|
13
|
+
{
|
|
14
|
+
part: Parts.SIDEBAR_PART,
|
|
15
|
+
get element() {
|
|
16
|
+
return getSideBarPosition() === Position.LEFT ? '#sidebar' : '#sidebar-right';
|
|
17
|
+
},
|
|
18
|
+
onDidElementChange: onDidChangeSideBarPosition
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
part: Parts.ACTIVITYBAR_PART,
|
|
22
|
+
get element() {
|
|
23
|
+
return getSideBarPosition() === Position.LEFT ? '#activityBar' : '#activityBar-right';
|
|
24
|
+
},
|
|
25
|
+
onDidElementChange: onDidChangeSideBarPosition
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
part: Parts.AUXILIARYBAR_PART,
|
|
29
|
+
get element() {
|
|
30
|
+
return getSideBarPosition() === Position.LEFT ? '#auxiliaryBar' : '#auxiliaryBar-left';
|
|
31
|
+
},
|
|
32
|
+
onDidElementChange: onDidChangeSideBarPosition
|
|
33
|
+
},
|
|
34
|
+
{ part: Parts.EDITOR_PART, element: '#editors' },
|
|
35
|
+
{ part: Parts.PANEL_PART, element: '#panel' },
|
|
36
|
+
{ part: Parts.STATUSBAR_PART, element: '#statusBar' }
|
|
37
|
+
]) {
|
|
38
|
+
attachPart(config.part, document.querySelector<HTMLDivElement>(config.element)!);
|
|
32
39
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
40
|
+
config.onDidElementChange?.(() => {
|
|
41
|
+
attachPart(config.part, document.querySelector<HTMLDivElement>(config.element)!);
|
|
42
|
+
});
|
|
36
43
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
onPartVisibilityChange(config.part, visible => {
|
|
42
|
-
document.querySelector<HTMLDivElement>(config.element)!.style.display = visible ? 'block' : 'none';
|
|
43
|
-
});
|
|
44
|
+
if (!isPartVisibile(config.part)) {
|
|
45
|
+
document.querySelector<HTMLDivElement>(config.element)!.style.display = 'none';
|
|
44
46
|
}
|
|
47
|
+
|
|
48
|
+
onPartVisibilityChange(config.part, (visible) => {
|
|
49
|
+
document.querySelector<HTMLDivElement>(config.element)!.style.display = visible ? 'block' : 'none';
|
|
50
|
+
});
|
|
51
|
+
}
|
|
45
52
|
};
|
|
46
53
|
|
|
47
54
|
export const defaultViewsHtml = `<div id="workbench-container">
|
|
@@ -67,7 +74,7 @@ export const defaultViewsHtml = `<div id="workbench-container">
|
|
|
67
74
|
</div>`;
|
|
68
75
|
|
|
69
76
|
export const defaultHtmlAugmentationInstructions = (htmlElement: HTMLElement | null | undefined) => {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
77
|
+
const htmlContainer = document.createElement('div', { is: 'app' });
|
|
78
|
+
htmlContainer.innerHTML = defaultViewsHtml;
|
|
79
|
+
htmlElement?.append(htmlContainer);
|
|
73
80
|
};
|
package/src/worker/index.ts
CHANGED
|
@@ -7,67 +7,60 @@ import type { ILogger } from '@codingame/monaco-vscode-log-service-override';
|
|
|
7
7
|
import { getEnhancedMonacoEnvironment } from 'monaco-languageclient/vscodeApiWrapper';
|
|
8
8
|
|
|
9
9
|
export class Worker {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
url: string | URL;
|
|
11
|
+
options?: WorkerOptions;
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
constructor(url: string | URL, options?: WorkerOptions) {
|
|
14
|
+
this.url = url;
|
|
15
|
+
this.options = options;
|
|
16
|
+
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export type WorkerLoader = (() => Worker) | undefined;
|
|
20
20
|
|
|
21
21
|
export interface WorkerFactoryConfig {
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
workerLoaders?: Partial<Record<string, WorkerLoader>>;
|
|
23
|
+
logger?: ILogger;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
export const useWorkerFactory = (config: WorkerFactoryConfig) => {
|
|
27
|
-
|
|
27
|
+
const envEnhanced = getEnhancedMonacoEnvironment();
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
envEnhanced.getWorkerUrl = (workerId: string, label: string) => {
|
|
30
|
+
config.logger?.info(`getWorkerUrl: workerId: ${workerId} label: ${label}`);
|
|
31
|
+
return config.workerLoaders?.[label]?.().url.toString();
|
|
32
|
+
};
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
envEnhanced.getWorkerOptions = (moduleId: string, label: string) => {
|
|
35
|
+
config.logger?.info(`getWorkerOptions: moduleId: ${moduleId} label: ${label}`);
|
|
36
|
+
return config.workerLoaders?.[label]?.().options;
|
|
37
|
+
};
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
export const defineDefaultWorkerLoaders: () => Partial<Record<string, WorkerLoader>> = () => {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
{ type: 'module' }
|
|
48
|
-
);
|
|
49
|
-
const defaultTextMateWorker = () => new Worker(
|
|
50
|
-
new URL('@codingame/monaco-vscode-textmate-service-override/worker', import.meta.url),
|
|
51
|
-
{ type: 'module' }
|
|
52
|
-
);
|
|
41
|
+
const defaultEditorWorkerService = () =>
|
|
42
|
+
new Worker(new URL('@codingame/monaco-vscode-editor-api/esm/vs/editor/editor.worker.js', import.meta.url), { type: 'module' });
|
|
43
|
+
const defaultExtensionHostWorkerMain = () =>
|
|
44
|
+
new Worker(new URL('@codingame/monaco-vscode-api/workers/extensionHost.worker', import.meta.url), { type: 'module' });
|
|
45
|
+
const defaultTextMateWorker = () =>
|
|
46
|
+
new Worker(new URL('@codingame/monaco-vscode-textmate-service-override/worker', import.meta.url), { type: 'module' });
|
|
53
47
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
48
|
+
return {
|
|
49
|
+
// if you import monaco api as 'monaco-editor': monaco-editor/esm/vs/editor/editor.worker.js
|
|
50
|
+
editorWorkerService: defaultEditorWorkerService,
|
|
51
|
+
extensionHostWorkerMain: defaultExtensionHostWorkerMain,
|
|
52
|
+
TextMateWorker: defaultTextMateWorker,
|
|
53
|
+
// these are other possible workers not configured by default
|
|
54
|
+
OutputLinkDetectionWorker: undefined,
|
|
55
|
+
LanguageDetectionWorker: undefined,
|
|
56
|
+
NotebookEditorWorker: undefined,
|
|
57
|
+
LocalFileSearchWorker: undefined
|
|
58
|
+
};
|
|
65
59
|
};
|
|
66
60
|
|
|
67
61
|
export const configureDefaultWorkerFactory = (logger?: ILogger) => {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
62
|
+
useWorkerFactory({
|
|
63
|
+
workerLoaders: defineDefaultWorkerLoaders(),
|
|
64
|
+
logger
|
|
65
|
+
});
|
|
72
66
|
};
|
|
73
|
-
|
package/src/wrapper/index.ts
CHANGED
|
File without changes
|