monaco-languageclient 9.8.0 → 10.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 +5 -0
- package/lib/{commonTypes.d.ts → common/commonTypes.d.ts} +2 -2
- package/lib/common/commonTypes.d.ts.map +1 -0
- package/lib/common/commonTypes.js +6 -0
- package/lib/common/commonTypes.js.map +1 -0
- package/lib/common/index.d.ts +4 -0
- package/lib/common/index.d.ts.map +1 -0
- package/lib/{tools → common}/index.js +1 -0
- package/lib/common/index.js.map +1 -0
- package/lib/common/logging.d.ts.map +1 -0
- package/lib/common/logging.js.map +1 -0
- package/lib/common/utils.d.ts +5 -0
- package/lib/common/utils.d.ts.map +1 -0
- package/lib/{tools → common}/utils.js +14 -0
- package/lib/common/utils.js.map +1 -0
- package/lib/editorApp/config.d.ts +55 -0
- package/lib/editorApp/config.d.ts.map +1 -0
- package/lib/editorApp/config.js +13 -0
- package/lib/editorApp/config.js.map +1 -0
- package/lib/editorApp/editorApp.d.ts +66 -0
- package/lib/editorApp/editorApp.d.ts.map +1 -0
- package/lib/editorApp/editorApp.js +404 -0
- package/lib/editorApp/editorApp.js.map +1 -0
- package/lib/editorApp/index.d.ts +3 -0
- package/lib/editorApp/index.d.ts.map +1 -0
- package/lib/editorApp/index.js +7 -0
- package/lib/editorApp/index.js.map +1 -0
- package/lib/fs/definitions.d.ts +1 -1
- package/lib/fs/definitions.d.ts.map +1 -1
- package/lib/fs/endpoints/defaultEndpoint.d.ts +1 -1
- package/lib/fs/endpoints/defaultEndpoint.d.ts.map +1 -1
- package/lib/index.d.ts +15 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +18 -2
- package/lib/index.js.map +1 -1
- package/lib/vscode/apiWrapper.d.ts +59 -0
- package/lib/vscode/apiWrapper.d.ts.map +1 -0
- package/lib/vscode/apiWrapper.js +290 -0
- package/lib/vscode/apiWrapper.js.map +1 -0
- package/lib/vscode/config.d.ts +46 -0
- package/lib/vscode/config.d.ts.map +1 -0
- package/lib/vscode/config.js +7 -0
- package/lib/vscode/config.js.map +1 -0
- package/lib/vscode/index.d.ts +4 -2
- package/lib/vscode/index.d.ts.map +1 -1
- package/lib/vscode/index.js +4 -2
- package/lib/vscode/index.js.map +1 -1
- package/lib/vscode/locales.d.ts +5 -0
- package/lib/vscode/locales.d.ts.map +1 -0
- package/lib/vscode/locales.js +124 -0
- package/lib/vscode/locales.js.map +1 -0
- package/lib/vscode/utils.d.ts +13 -0
- package/lib/vscode/utils.d.ts.map +1 -0
- package/lib/vscode/utils.js +56 -0
- package/lib/vscode/utils.js.map +1 -0
- package/lib/vscode/viewsService.d.ts +4 -0
- package/lib/vscode/viewsService.d.ts.map +1 -0
- package/lib/vscode/viewsService.js +67 -0
- package/lib/vscode/viewsService.js.map +1 -0
- package/lib/{vscode → worker}/fakeWorker.d.ts.map +1 -1
- package/lib/{vscode → worker}/fakeWorker.js.map +1 -1
- package/lib/worker/index.d.ts +4 -0
- package/lib/worker/index.d.ts.map +1 -0
- package/lib/worker/index.js +8 -0
- package/lib/worker/index.js.map +1 -0
- package/lib/{workerFactory.d.ts → worker/workerFactory.d.ts} +1 -1
- package/lib/worker/workerFactory.d.ts.map +1 -0
- package/lib/{workerFactory.js → worker/workerFactory.js} +1 -1
- package/lib/worker/workerFactory.js.map +1 -0
- package/lib/worker/workerLoaders.d.ts +5 -0
- package/lib/worker/workerLoaders.d.ts.map +1 -0
- package/lib/worker/workerLoaders.js +26 -0
- package/lib/worker/workerLoaders.js.map +1 -0
- package/lib/wrapper/index.d.ts +4 -0
- package/lib/wrapper/index.d.ts.map +1 -0
- package/lib/wrapper/index.js +8 -0
- package/lib/wrapper/index.js.map +1 -0
- package/lib/wrapper/lcconfig.d.ts +24 -0
- package/lib/wrapper/lcconfig.d.ts.map +1 -0
- package/lib/wrapper/lcconfig.js +6 -0
- package/lib/wrapper/lcconfig.js.map +1 -0
- package/lib/wrapper/lcmanager.d.ts +18 -0
- package/lib/wrapper/lcmanager.d.ts.map +1 -0
- package/lib/wrapper/lcmanager.js +75 -0
- package/lib/wrapper/lcmanager.js.map +1 -0
- package/lib/wrapper/lcwrapper.d.ts +37 -0
- package/lib/wrapper/lcwrapper.d.ts.map +1 -0
- package/lib/wrapper/lcwrapper.js +247 -0
- package/lib/wrapper/lcwrapper.js.map +1 -0
- package/package.json +70 -28
- package/src/{commonTypes.ts → common/commonTypes.ts} +2 -2
- package/src/{tools → common}/index.ts +1 -0
- package/src/{tools → common}/utils.ts +16 -1
- package/src/editorApp/config.ts +67 -0
- package/src/editorApp/editorApp.ts +458 -0
- package/{lib/commonTypes.js → src/editorApp/index.ts} +3 -2
- package/src/fs/definitions.ts +1 -1
- package/src/fs/endpoints/defaultEndpoint.ts +1 -1
- package/src/index.ts +29 -2
- package/src/vscode/apiWrapper.ts +333 -0
- package/src/vscode/config.ts +55 -0
- package/src/vscode/index.ts +4 -2
- package/src/vscode/locales.ts +128 -0
- package/src/vscode/utils.ts +67 -0
- package/src/vscode/viewsService.ts +73 -0
- package/src/worker/index.ts +8 -0
- package/src/{workerFactory.ts → worker/workerFactory.ts} +2 -2
- package/src/worker/workerLoaders.ts +36 -0
- package/src/wrapper/index.ts +8 -0
- package/src/wrapper/lcconfig.ts +32 -0
- package/src/wrapper/lcmanager.ts +89 -0
- package/src/wrapper/lcwrapper.ts +280 -0
- package/lib/client.d.ts +0 -13
- package/lib/client.d.ts.map +0 -1
- package/lib/client.js +0 -16
- package/lib/client.js.map +0 -1
- package/lib/commonTypes.d.ts.map +0 -1
- package/lib/commonTypes.js.map +0 -1
- package/lib/tools/index.d.ts +0 -3
- package/lib/tools/index.d.ts.map +0 -1
- package/lib/tools/index.js.map +0 -1
- package/lib/tools/logging.d.ts.map +0 -1
- package/lib/tools/logging.js.map +0 -1
- package/lib/tools/utils.d.ts +0 -3
- package/lib/tools/utils.d.ts.map +0 -1
- package/lib/tools/utils.js.map +0 -1
- package/lib/vscode/services.d.ts +0 -64
- package/lib/vscode/services.d.ts.map +0 -1
- package/lib/vscode/services.js +0 -192
- package/lib/vscode/services.js.map +0 -1
- package/lib/workerFactory.d.ts.map +0 -1
- package/lib/workerFactory.js.map +0 -1
- package/src/client.ts +0 -26
- package/src/vscode/services.ts +0 -249
- /package/lib/{tools → common}/logging.d.ts +0 -0
- /package/lib/{tools → common}/logging.js +0 -0
- /package/lib/{vscode → worker}/fakeWorker.d.ts +0 -0
- /package/lib/{vscode → worker}/fakeWorker.js +0 -0
- /package/src/{tools → common}/logging.ts +0 -0
- /package/src/{vscode → worker}/fakeWorker.ts +0 -0
package/lib/vscode/services.js
DELETED
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
/* --------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) 2024 TypeFox and others.
|
|
3
|
-
* Licensed under the MIT License. See LICENSE in the package root for license information.
|
|
4
|
-
* ------------------------------------------------------------------------------------------ */
|
|
5
|
-
import * as monaco from '@codingame/monaco-vscode-editor-api';
|
|
6
|
-
import 'vscode/localExtensionHost';
|
|
7
|
-
import { initialize } from '@codingame/monaco-vscode-api';
|
|
8
|
-
import getConfigurationServiceOverride, { initUserConfiguration } from '@codingame/monaco-vscode-configuration-service-override';
|
|
9
|
-
import getExtensionServiceOverride from '@codingame/monaco-vscode-extensions-service-override';
|
|
10
|
-
import getLanguagesServiceOverride from '@codingame/monaco-vscode-languages-service-override';
|
|
11
|
-
import getModelServiceOverride from '@codingame/monaco-vscode-model-service-override';
|
|
12
|
-
import getLogServiceOverride from '@codingame/monaco-vscode-log-service-override';
|
|
13
|
-
import { FakeWorker as Worker } from './fakeWorker.js';
|
|
14
|
-
import { setUnexpectedErrorHandler } from '@codingame/monaco-vscode-api/monaco';
|
|
15
|
-
import { useWorkerFactory } from '../workerFactory.js';
|
|
16
|
-
export const getEnhancedMonacoEnvironment = () => {
|
|
17
|
-
const monWin = self;
|
|
18
|
-
if (monWin.MonacoEnvironment === undefined) {
|
|
19
|
-
monWin.MonacoEnvironment = {};
|
|
20
|
-
}
|
|
21
|
-
const envEnhanced = monWin.MonacoEnvironment;
|
|
22
|
-
if (envEnhanced.vscodeApiInitialised === undefined) {
|
|
23
|
-
envEnhanced.vscodeApiInitialised = false;
|
|
24
|
-
}
|
|
25
|
-
if (envEnhanced.vscodeInitialising === undefined) {
|
|
26
|
-
envEnhanced.vscodeInitialising = false;
|
|
27
|
-
}
|
|
28
|
-
return envEnhanced;
|
|
29
|
-
};
|
|
30
|
-
export const getMonacoEnvironmentEnhanced = () => {
|
|
31
|
-
const monWin = self;
|
|
32
|
-
return monWin.MonacoEnvironment;
|
|
33
|
-
};
|
|
34
|
-
export const supplyRequiredServices = async () => {
|
|
35
|
-
return {
|
|
36
|
-
...getConfigurationServiceOverride(),
|
|
37
|
-
...getLanguagesServiceOverride(),
|
|
38
|
-
...getLogServiceOverride(),
|
|
39
|
-
...getModelServiceOverride()
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
export const reportServiceLoading = (services, logger) => {
|
|
43
|
-
for (const serviceName of Object.keys(services)) {
|
|
44
|
-
logger?.debug(`Loading service: ${serviceName}`);
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
export const mergeServices = (overrideServices, services) => {
|
|
48
|
-
if (services !== undefined) {
|
|
49
|
-
for (const [name, service] of Object.entries(services)) {
|
|
50
|
-
overrideServices[name] = service;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
export const initServices = async (vscodeApiConfig, instructions) => {
|
|
55
|
-
const envEnhanced = getEnhancedMonacoEnvironment();
|
|
56
|
-
if (typeof instructions?.monacoWorkerFactory === 'function') {
|
|
57
|
-
instructions.monacoWorkerFactory(instructions.logger);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
useWorkerFactory({
|
|
61
|
-
logger: instructions?.logger
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
if (!(envEnhanced.vscodeInitialising ?? false)) {
|
|
65
|
-
if (envEnhanced.vscodeApiInitialised ?? false) {
|
|
66
|
-
instructions?.logger?.debug('Initialization of vscode services can only performed once!');
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
envEnhanced.vscodeInitialising = true;
|
|
70
|
-
instructions?.logger?.debug(`Initializing vscode services. Caller: ${instructions.caller ?? 'unknown'}`);
|
|
71
|
-
if (vscodeApiConfig.userConfiguration?.json !== undefined) {
|
|
72
|
-
await initUserConfiguration(vscodeApiConfig.userConfiguration.json);
|
|
73
|
-
}
|
|
74
|
-
await importAllServices(vscodeApiConfig, instructions);
|
|
75
|
-
vscodeApiConfig.viewsConfig?.htmlAugmentationInstructions?.(instructions?.htmlContainer);
|
|
76
|
-
await vscodeApiConfig.viewsConfig?.viewsInitFunc?.();
|
|
77
|
-
instructions?.logger?.debug('Initialization of vscode services completed successfully.');
|
|
78
|
-
envEnhanced.vscodeApiInitialised = true;
|
|
79
|
-
envEnhanced.vscodeInitialising = false;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return envEnhanced.vscodeApiInitialised;
|
|
83
|
-
};
|
|
84
|
-
/**
|
|
85
|
-
* monaco-vscode-api automatically loads the following services:
|
|
86
|
-
* - layout
|
|
87
|
-
* - environment
|
|
88
|
-
* - extension
|
|
89
|
-
* - files
|
|
90
|
-
* - quickAccess
|
|
91
|
-
* monaco-languageclient always adds the following services:
|
|
92
|
-
* - languages
|
|
93
|
-
* - log
|
|
94
|
-
* - model
|
|
95
|
-
*/
|
|
96
|
-
export const importAllServices = async (vscodeApiConfig, instructions) => {
|
|
97
|
-
const services = await supplyRequiredServices();
|
|
98
|
-
mergeServices(services, vscodeApiConfig.serviceOverrides);
|
|
99
|
-
await configureExtHostWorker(vscodeApiConfig.enableExtHostWorker === true, services);
|
|
100
|
-
reportServiceLoading(services, instructions?.logger);
|
|
101
|
-
if (instructions?.performServiceConsistencyChecks === undefined ||
|
|
102
|
-
(typeof instructions.performServiceConsistencyChecks === 'function' && instructions.performServiceConsistencyChecks())) {
|
|
103
|
-
if (vscodeApiConfig.viewsConfig?.viewServiceType === 'ViewsService' || vscodeApiConfig.viewsConfig?.viewServiceType === 'WorkspaceService') {
|
|
104
|
-
await initialize(services, instructions?.htmlContainer, vscodeApiConfig.workspaceConfig, vscodeApiConfig.envOptions);
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
await initialize(services, undefined, vscodeApiConfig.workspaceConfig, vscodeApiConfig.envOptions);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
setUnexpectedErrorHandler((e) => {
|
|
111
|
-
instructions?.logger?.createErrorAndLog('Unexpected error', e);
|
|
112
|
-
});
|
|
113
|
-
};
|
|
114
|
-
/**
|
|
115
|
-
* Enable ext host to run in a worker
|
|
116
|
-
*/
|
|
117
|
-
export const configureExtHostWorker = async (enableExtHostWorker, userServices) => {
|
|
118
|
-
if (enableExtHostWorker) {
|
|
119
|
-
const fakeWorker = new Worker(new URL('@codingame/monaco-vscode-api/workers/extensionHost.worker', import.meta.url), { type: 'module' });
|
|
120
|
-
const workerConfig = {
|
|
121
|
-
url: fakeWorker.url.toString(),
|
|
122
|
-
options: fakeWorker.options
|
|
123
|
-
};
|
|
124
|
-
mergeServices(userServices, {
|
|
125
|
-
...getExtensionServiceOverride(workerConfig),
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
export const createDefaultLocaleConfiguration = () => {
|
|
130
|
-
return {
|
|
131
|
-
async clearLocale() {
|
|
132
|
-
const url = new URL(window.location.href);
|
|
133
|
-
url.searchParams.delete('locale');
|
|
134
|
-
window.history.pushState(null, '', url.toString());
|
|
135
|
-
},
|
|
136
|
-
async setLocale(id) {
|
|
137
|
-
const url = new URL(window.location.href);
|
|
138
|
-
url.searchParams.set('locale', id);
|
|
139
|
-
window.history.pushState(null, '', url.toString());
|
|
140
|
-
},
|
|
141
|
-
availableLanguages: [{
|
|
142
|
-
locale: 'en',
|
|
143
|
-
languageName: 'English'
|
|
144
|
-
}, {
|
|
145
|
-
locale: 'cs',
|
|
146
|
-
languageName: 'Czech'
|
|
147
|
-
}, {
|
|
148
|
-
locale: 'de',
|
|
149
|
-
languageName: 'German'
|
|
150
|
-
}, {
|
|
151
|
-
locale: 'es',
|
|
152
|
-
languageName: 'Spanish'
|
|
153
|
-
}, {
|
|
154
|
-
locale: 'fr',
|
|
155
|
-
languageName: 'French'
|
|
156
|
-
}, {
|
|
157
|
-
locale: 'it',
|
|
158
|
-
languageName: 'Italian'
|
|
159
|
-
}, {
|
|
160
|
-
locale: 'ja',
|
|
161
|
-
languageName: 'Japanese'
|
|
162
|
-
}, {
|
|
163
|
-
locale: 'ko',
|
|
164
|
-
languageName: 'Korean'
|
|
165
|
-
}, {
|
|
166
|
-
locale: 'pl',
|
|
167
|
-
languageName: 'Polish'
|
|
168
|
-
}, {
|
|
169
|
-
locale: 'pt-br',
|
|
170
|
-
languageName: 'Portuguese (Brazil)'
|
|
171
|
-
}, {
|
|
172
|
-
locale: 'qps-ploc',
|
|
173
|
-
languageName: 'Pseudo Language'
|
|
174
|
-
}, {
|
|
175
|
-
locale: 'ru',
|
|
176
|
-
languageName: 'Russian'
|
|
177
|
-
}, {
|
|
178
|
-
locale: 'tr',
|
|
179
|
-
languageName: 'Turkish'
|
|
180
|
-
}, {
|
|
181
|
-
locale: 'zh-hans',
|
|
182
|
-
languageName: 'Chinese (Simplified)'
|
|
183
|
-
}, {
|
|
184
|
-
locale: 'zh-hant',
|
|
185
|
-
languageName: 'Chinese (Traditional)'
|
|
186
|
-
}, {
|
|
187
|
-
locale: 'en',
|
|
188
|
-
languageName: 'English'
|
|
189
|
-
}]
|
|
190
|
-
};
|
|
191
|
-
};
|
|
192
|
-
//# sourceMappingURL=services.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/vscode/services.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workerFactory.d.ts","sourceRoot":"","sources":["../src/workerFactory.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACnE;AAED,eAAO,MAAM,gBAAgB,GAAI,QAAQ,mBAAmB,SAa3D,CAAC"}
|
package/lib/workerFactory.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workerFactory.js","sourceRoot":"","sources":["../src/workerFactory.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAWrF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAA2B,EAAE,EAAE;IAC5D,MAAM,WAAW,GAAG,4BAA4B,EAAE,CAAC;IAEnD,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,KAAa,EAAE,EAAE;QAClD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,wBAAwB,QAAQ,WAAW,KAAK,EAAE,CAAC,CAAC;QAExE,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;QAC9D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,UAAU,EAAE,CAAC;IACxB,CAAC,CAAC;IACF,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC,iBAAiB,IAAI,SAAS,CAAC;AAClE,CAAC,CAAC"}
|
package/src/client.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/* --------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) 2024 TypeFox and others.
|
|
3
|
-
* Licensed under the MIT License. See LICENSE in the package root for license information.
|
|
4
|
-
* ------------------------------------------------------------------------------------------ */
|
|
5
|
-
|
|
6
|
-
import { BaseLanguageClient, MessageTransports, type LanguageClientOptions } from 'vscode-languageclient/browser.js';
|
|
7
|
-
|
|
8
|
-
export type MonacoLanguageClientOptions = {
|
|
9
|
-
name: string;
|
|
10
|
-
id?: string;
|
|
11
|
-
clientOptions: LanguageClientOptions;
|
|
12
|
-
messageTransports: MessageTransports;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export class MonacoLanguageClient extends BaseLanguageClient {
|
|
16
|
-
protected readonly messageTransports: MessageTransports;
|
|
17
|
-
|
|
18
|
-
constructor({ id, name, clientOptions, messageTransports }: MonacoLanguageClientOptions) {
|
|
19
|
-
super(id ?? name.toLowerCase(), name, clientOptions);
|
|
20
|
-
this.messageTransports = messageTransports;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
protected override createMessageTransports(_encoding: string): Promise<MessageTransports> {
|
|
24
|
-
return Promise.resolve(this.messageTransports);
|
|
25
|
-
}
|
|
26
|
-
}
|
package/src/vscode/services.ts
DELETED
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
/* --------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) 2024 TypeFox and others.
|
|
3
|
-
* Licensed under the MIT License. See LICENSE in the package root for license information.
|
|
4
|
-
* ------------------------------------------------------------------------------------------ */
|
|
5
|
-
|
|
6
|
-
import * as monaco from '@codingame/monaco-vscode-editor-api';
|
|
7
|
-
import 'vscode/localExtensionHost';
|
|
8
|
-
import { initialize, type IWorkbenchConstructionOptions } from '@codingame/monaco-vscode-api';
|
|
9
|
-
import type { OpenEditor } from '@codingame/monaco-vscode-editor-service-override';
|
|
10
|
-
import type { WorkerConfig } from '@codingame/monaco-vscode-extensions-service-override';
|
|
11
|
-
import getConfigurationServiceOverride, { initUserConfiguration } from '@codingame/monaco-vscode-configuration-service-override';
|
|
12
|
-
import getExtensionServiceOverride from '@codingame/monaco-vscode-extensions-service-override';
|
|
13
|
-
import getLanguagesServiceOverride from '@codingame/monaco-vscode-languages-service-override';
|
|
14
|
-
import getModelServiceOverride from '@codingame/monaco-vscode-model-service-override';
|
|
15
|
-
import getLogServiceOverride from '@codingame/monaco-vscode-log-service-override';
|
|
16
|
-
import type { LocalizationOptions } from '@codingame/monaco-vscode-localization-service-override';
|
|
17
|
-
import type { EnvironmentOverride } from '@codingame/monaco-vscode-api/workbench';
|
|
18
|
-
import type { Logger } from 'monaco-languageclient/tools';
|
|
19
|
-
import { FakeWorker as Worker } from './fakeWorker.js';
|
|
20
|
-
import { setUnexpectedErrorHandler } from '@codingame/monaco-vscode-api/monaco';
|
|
21
|
-
import { useWorkerFactory } from '../workerFactory.js';
|
|
22
|
-
|
|
23
|
-
export interface MonacoEnvironmentEnhanced extends monaco.Environment {
|
|
24
|
-
vscodeInitialising?: boolean;
|
|
25
|
-
vscodeApiInitialised?: boolean;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export interface UserConfiguration {
|
|
29
|
-
json?: string;
|
|
30
|
-
}
|
|
31
|
-
export interface ViewsConfig {
|
|
32
|
-
viewServiceType: 'EditorService' | 'ViewsService' | 'WorkspaceService';
|
|
33
|
-
openEditorFunc?: OpenEditor;
|
|
34
|
-
htmlAugmentationInstructions?: (htmlContainer: HTMLElement | null | undefined) => void;
|
|
35
|
-
viewsInitFunc?: () => Promise<void>;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export interface VscodeApiConfig {
|
|
39
|
-
vscodeApiInitPerformExternally?: boolean;
|
|
40
|
-
loadThemes?: boolean;
|
|
41
|
-
serviceOverrides?: monaco.editor.IEditorOverrideServices;
|
|
42
|
-
enableExtHostWorker?: boolean;
|
|
43
|
-
workspaceConfig?: IWorkbenchConstructionOptions;
|
|
44
|
-
userConfiguration?: UserConfiguration;
|
|
45
|
-
viewsConfig?: ViewsConfig,
|
|
46
|
-
envOptions?: EnvironmentOverride;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export interface InitServicesInstructions {
|
|
50
|
-
htmlContainer?: HTMLElement;
|
|
51
|
-
caller?: string;
|
|
52
|
-
performServiceConsistencyChecks?: () => boolean;
|
|
53
|
-
logger?: Logger;
|
|
54
|
-
monacoWorkerFactory?: (logger?: Logger) => void;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export const getEnhancedMonacoEnvironment = (): MonacoEnvironmentEnhanced => {
|
|
58
|
-
const monWin = (self as Window);
|
|
59
|
-
if (monWin.MonacoEnvironment === undefined) {
|
|
60
|
-
monWin.MonacoEnvironment = {};
|
|
61
|
-
}
|
|
62
|
-
const envEnhanced = monWin.MonacoEnvironment as MonacoEnvironmentEnhanced;
|
|
63
|
-
if (envEnhanced.vscodeApiInitialised === undefined) {
|
|
64
|
-
envEnhanced.vscodeApiInitialised = false;
|
|
65
|
-
}
|
|
66
|
-
if (envEnhanced.vscodeInitialising === undefined) {
|
|
67
|
-
envEnhanced.vscodeInitialising = false;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return envEnhanced;
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
export const getMonacoEnvironmentEnhanced = () => {
|
|
74
|
-
const monWin = (self as Window);
|
|
75
|
-
return monWin.MonacoEnvironment as MonacoEnvironmentEnhanced;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export const supplyRequiredServices = async () => {
|
|
79
|
-
return {
|
|
80
|
-
...getConfigurationServiceOverride(),
|
|
81
|
-
...getLanguagesServiceOverride(),
|
|
82
|
-
...getLogServiceOverride(),
|
|
83
|
-
...getModelServiceOverride()
|
|
84
|
-
};
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
export const reportServiceLoading = (services: monaco.editor.IEditorOverrideServices, logger?: Logger) => {
|
|
88
|
-
for (const serviceName of Object.keys(services)) {
|
|
89
|
-
logger?.debug(`Loading service: ${serviceName}`);
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
export const mergeServices = (overrideServices: monaco.editor.IEditorOverrideServices, services?: monaco.editor.IEditorOverrideServices) => {
|
|
94
|
-
if (services !== undefined) {
|
|
95
|
-
for (const [name, service] of Object.entries(services)) {
|
|
96
|
-
overrideServices[name] = service;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
export const initServices = async (vscodeApiConfig: VscodeApiConfig, instructions?: InitServicesInstructions) => {
|
|
102
|
-
const envEnhanced = getEnhancedMonacoEnvironment();
|
|
103
|
-
|
|
104
|
-
if (typeof instructions?.monacoWorkerFactory === 'function') {
|
|
105
|
-
instructions.monacoWorkerFactory(instructions.logger);
|
|
106
|
-
} else {
|
|
107
|
-
useWorkerFactory({
|
|
108
|
-
logger: instructions?.logger
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
if (!(envEnhanced.vscodeInitialising ?? false)) {
|
|
112
|
-
|
|
113
|
-
if (envEnhanced.vscodeApiInitialised ?? false) {
|
|
114
|
-
instructions?.logger?.debug('Initialization of vscode services can only performed once!');
|
|
115
|
-
} else {
|
|
116
|
-
envEnhanced.vscodeInitialising = true;
|
|
117
|
-
instructions?.logger?.debug(`Initializing vscode services. Caller: ${instructions.caller ?? 'unknown'}`);
|
|
118
|
-
|
|
119
|
-
if (vscodeApiConfig.userConfiguration?.json !== undefined) {
|
|
120
|
-
await initUserConfiguration(vscodeApiConfig.userConfiguration.json);
|
|
121
|
-
}
|
|
122
|
-
await importAllServices(vscodeApiConfig, instructions);
|
|
123
|
-
|
|
124
|
-
vscodeApiConfig.viewsConfig?.htmlAugmentationInstructions?.(instructions?.htmlContainer);
|
|
125
|
-
await vscodeApiConfig.viewsConfig?.viewsInitFunc?.();
|
|
126
|
-
instructions?.logger?.debug('Initialization of vscode services completed successfully.');
|
|
127
|
-
|
|
128
|
-
envEnhanced.vscodeApiInitialised = true;
|
|
129
|
-
envEnhanced.vscodeInitialising = false;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
return envEnhanced.vscodeApiInitialised;
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* monaco-vscode-api automatically loads the following services:
|
|
138
|
-
* - layout
|
|
139
|
-
* - environment
|
|
140
|
-
* - extension
|
|
141
|
-
* - files
|
|
142
|
-
* - quickAccess
|
|
143
|
-
* monaco-languageclient always adds the following services:
|
|
144
|
-
* - languages
|
|
145
|
-
* - log
|
|
146
|
-
* - model
|
|
147
|
-
*/
|
|
148
|
-
export const importAllServices = async (vscodeApiConfig: VscodeApiConfig, instructions?: InitServicesInstructions) => {
|
|
149
|
-
const services = await supplyRequiredServices();
|
|
150
|
-
|
|
151
|
-
mergeServices(services, vscodeApiConfig.serviceOverrides);
|
|
152
|
-
await configureExtHostWorker(vscodeApiConfig.enableExtHostWorker === true, services);
|
|
153
|
-
|
|
154
|
-
reportServiceLoading(services, instructions?.logger);
|
|
155
|
-
|
|
156
|
-
if (instructions?.performServiceConsistencyChecks === undefined ||
|
|
157
|
-
(typeof instructions.performServiceConsistencyChecks === 'function' && instructions.performServiceConsistencyChecks())) {
|
|
158
|
-
if (vscodeApiConfig.viewsConfig?.viewServiceType === 'ViewsService' || vscodeApiConfig.viewsConfig?.viewServiceType === 'WorkspaceService') {
|
|
159
|
-
await initialize(services, instructions?.htmlContainer, vscodeApiConfig.workspaceConfig, vscodeApiConfig.envOptions);
|
|
160
|
-
} else {
|
|
161
|
-
await initialize(services, undefined, vscodeApiConfig.workspaceConfig, vscodeApiConfig.envOptions);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
setUnexpectedErrorHandler((e) => {
|
|
166
|
-
instructions?.logger?.createErrorAndLog('Unexpected error', e);
|
|
167
|
-
});
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
/**
|
|
171
|
-
* Enable ext host to run in a worker
|
|
172
|
-
*/
|
|
173
|
-
export const configureExtHostWorker = async (enableExtHostWorker: boolean, userServices: monaco.editor.IEditorOverrideServices) => {
|
|
174
|
-
if (enableExtHostWorker) {
|
|
175
|
-
const fakeWorker = new Worker(new URL('@codingame/monaco-vscode-api/workers/extensionHost.worker', import.meta.url), { type: 'module' });
|
|
176
|
-
const workerConfig: WorkerConfig = {
|
|
177
|
-
url: fakeWorker.url.toString(),
|
|
178
|
-
options: fakeWorker.options
|
|
179
|
-
};
|
|
180
|
-
|
|
181
|
-
mergeServices(userServices, {
|
|
182
|
-
...getExtensionServiceOverride(workerConfig),
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
export const createDefaultLocaleConfiguration = (): LocalizationOptions => {
|
|
188
|
-
return {
|
|
189
|
-
async clearLocale() {
|
|
190
|
-
const url = new URL(window.location.href);
|
|
191
|
-
url.searchParams.delete('locale');
|
|
192
|
-
window.history.pushState(null, '', url.toString());
|
|
193
|
-
},
|
|
194
|
-
async setLocale(id: string) {
|
|
195
|
-
const url = new URL(window.location.href);
|
|
196
|
-
url.searchParams.set('locale', id);
|
|
197
|
-
window.history.pushState(null, '', url.toString());
|
|
198
|
-
},
|
|
199
|
-
availableLanguages: [{
|
|
200
|
-
locale: 'en',
|
|
201
|
-
languageName: 'English'
|
|
202
|
-
}, {
|
|
203
|
-
locale: 'cs',
|
|
204
|
-
languageName: 'Czech'
|
|
205
|
-
}, {
|
|
206
|
-
locale: 'de',
|
|
207
|
-
languageName: 'German'
|
|
208
|
-
}, {
|
|
209
|
-
locale: 'es',
|
|
210
|
-
languageName: 'Spanish'
|
|
211
|
-
}, {
|
|
212
|
-
locale: 'fr',
|
|
213
|
-
languageName: 'French'
|
|
214
|
-
}, {
|
|
215
|
-
locale: 'it',
|
|
216
|
-
languageName: 'Italian'
|
|
217
|
-
}, {
|
|
218
|
-
locale: 'ja',
|
|
219
|
-
languageName: 'Japanese'
|
|
220
|
-
}, {
|
|
221
|
-
locale: 'ko',
|
|
222
|
-
languageName: 'Korean'
|
|
223
|
-
}, {
|
|
224
|
-
locale: 'pl',
|
|
225
|
-
languageName: 'Polish'
|
|
226
|
-
}, {
|
|
227
|
-
locale: 'pt-br',
|
|
228
|
-
languageName: 'Portuguese (Brazil)'
|
|
229
|
-
}, {
|
|
230
|
-
locale: 'qps-ploc',
|
|
231
|
-
languageName: 'Pseudo Language'
|
|
232
|
-
}, {
|
|
233
|
-
locale: 'ru',
|
|
234
|
-
languageName: 'Russian'
|
|
235
|
-
}, {
|
|
236
|
-
locale: 'tr',
|
|
237
|
-
languageName: 'Turkish'
|
|
238
|
-
}, {
|
|
239
|
-
locale: 'zh-hans',
|
|
240
|
-
languageName: 'Chinese (Simplified)'
|
|
241
|
-
}, {
|
|
242
|
-
locale: 'zh-hant',
|
|
243
|
-
languageName: 'Chinese (Traditional)'
|
|
244
|
-
}, {
|
|
245
|
-
locale: 'en',
|
|
246
|
-
languageName: 'English'
|
|
247
|
-
}]
|
|
248
|
-
};
|
|
249
|
-
};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|