monaco-languageclient 10.7.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 +13 -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 +18 -20
- 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/fs/definitions.ts +72 -75
- package/src/fs/endpoints/defaultEndpoint.ts +50 -41
- package/src/index.ts +18 -18
- package/src/vscode/apiWrapper.ts +302 -295
- package/src/vscode/config.ts +30 -30
- 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/lcconfig.ts +16 -16
- package/src/wrapper/lcmanager.ts +68 -69
- package/src/wrapper/lcwrapper.ts +256 -249
package/src/wrapper/lcmanager.ts
CHANGED
|
@@ -9,89 +9,88 @@ import type { LanguageClientConfig, LanguageClientConfigs } from './lcconfig.js'
|
|
|
9
9
|
import { LanguageClientWrapper } from './lcwrapper.js';
|
|
10
10
|
|
|
11
11
|
export class LanguageClientManager {
|
|
12
|
+
private logger: ILogger = new ConsoleLogger();
|
|
13
|
+
private languageClientConfigs?: LanguageClientConfigs;
|
|
14
|
+
private languageClientWrappers: Map<string, LanguageClientWrapper> = new Map();
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
setLogLevel(logLevel?: LogLevel | number) {
|
|
17
|
+
this.logger.setLevel(logLevel ?? LogLevel.Off);
|
|
18
|
+
}
|
|
16
19
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
haveLanguageClients(): boolean {
|
|
21
|
+
return this.languageClientWrappers.size > 0;
|
|
22
|
+
}
|
|
20
23
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
getLanguageClientWrapper(languageId: string): LanguageClientWrapper | undefined {
|
|
25
|
+
return this.languageClientWrappers.get(languageId);
|
|
26
|
+
}
|
|
24
27
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
getLanguageClient(languageId: string) {
|
|
29
|
+
return this.languageClientWrappers.get(languageId)?.getLanguageClient();
|
|
30
|
+
}
|
|
28
31
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
+
getWorker(languageId: string): Worker | undefined {
|
|
33
|
+
return this.languageClientWrappers.get(languageId)?.getWorker();
|
|
34
|
+
}
|
|
32
35
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
+
setConfig(languageClientConfig?: LanguageClientConfig) {
|
|
37
|
+
if (languageClientConfig === undefined) return;
|
|
36
38
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
const languageId = languageClientConfig.languageId;
|
|
40
|
+
let lcw = this.languageClientWrappers.get(languageId);
|
|
39
41
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if (lcw === undefined) {
|
|
44
|
-
lcw = new LanguageClientWrapper(languageClientConfig);
|
|
45
|
-
this.languageClientWrappers.set(languageId, lcw);
|
|
46
|
-
}
|
|
42
|
+
if (lcw === undefined) {
|
|
43
|
+
lcw = new LanguageClientWrapper(languageClientConfig);
|
|
44
|
+
this.languageClientWrappers.set(languageId, lcw);
|
|
47
45
|
}
|
|
46
|
+
}
|
|
48
47
|
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
setConfigs(languageClientConfigs: LanguageClientConfigs) {
|
|
49
|
+
this.languageClientConfigs = languageClientConfigs;
|
|
51
50
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
51
|
+
const lccs = Object.values(this.languageClientConfigs.configs);
|
|
52
|
+
if (lccs.length > 0) {
|
|
53
|
+
for (const lcc of lccs) {
|
|
54
|
+
this.setConfig(lcc);
|
|
55
|
+
}
|
|
58
56
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return Promise.all(allPromises);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
async start(): Promise<void | void[]> {
|
|
60
|
+
this.logger.debug('Starting all LanguageClientWrappers...');
|
|
61
|
+
const allPromises: Array<Promise<void>> = [];
|
|
62
|
+
for (const lcw of this.languageClientWrappers.values()) {
|
|
63
|
+
if (!lcw.isStarted()) {
|
|
64
|
+
allPromises.push(lcw.start());
|
|
65
|
+
}
|
|
69
66
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
67
|
+
return Promise.all(allPromises);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
isStarted(): boolean {
|
|
71
|
+
// fast-fail
|
|
72
|
+
if (this.languageClientWrappers.size === 0) return false;
|
|
73
|
+
for (const lcw of this.languageClientWrappers.values()) {
|
|
74
|
+
// as soon as one is not started return
|
|
75
|
+
if (!lcw.isStarted()) {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
async dispose(clearClients: boolean = false): Promise<void | void[]> {
|
|
83
|
+
this.logger.debug('Disposing all LanguageClientWrappers...');
|
|
84
|
+
const allPromises: Array<Promise<void>> = [];
|
|
85
|
+
for (const lcw of this.languageClientWrappers.values()) {
|
|
86
|
+
if (lcw.haveLanguageClient()) {
|
|
87
|
+
allPromises.push(lcw.dispose());
|
|
88
|
+
}
|
|
81
89
|
}
|
|
90
|
+
await Promise.all(allPromises);
|
|
82
91
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
const allPromises: Array<Promise<void>> = [];
|
|
86
|
-
for (const lcw of this.languageClientWrappers.values()) {
|
|
87
|
-
if (lcw.haveLanguageClient()) {
|
|
88
|
-
allPromises.push(lcw.dispose());
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
await Promise.all(allPromises);
|
|
92
|
-
|
|
93
|
-
if (clearClients) {
|
|
94
|
-
this.languageClientWrappers.clear();
|
|
95
|
-
}
|
|
92
|
+
if (clearClients) {
|
|
93
|
+
this.languageClientWrappers.clear();
|
|
96
94
|
}
|
|
95
|
+
}
|
|
97
96
|
}
|