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
|
@@ -0,0 +1,247 @@
|
|
|
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 { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver-protocol/browser.js';
|
|
6
|
+
import { CloseAction, ErrorAction, MessageTransports, State } from 'vscode-languageclient/browser.js';
|
|
7
|
+
import { createUrl } from 'monaco-languageclient/common';
|
|
8
|
+
import { toSocket, WebSocketMessageReader, WebSocketMessageWriter } from 'vscode-ws-jsonrpc';
|
|
9
|
+
import { MonacoLanguageClient } from 'monaco-languageclient';
|
|
10
|
+
export class LanguageClientWrapper {
|
|
11
|
+
languageClient;
|
|
12
|
+
languageClientConfig;
|
|
13
|
+
worker;
|
|
14
|
+
port;
|
|
15
|
+
name;
|
|
16
|
+
logger;
|
|
17
|
+
constructor(config, logger) {
|
|
18
|
+
this.languageClientConfig = config;
|
|
19
|
+
this.name = this.languageClientConfig.name ?? 'unnamed';
|
|
20
|
+
this.logger = logger;
|
|
21
|
+
}
|
|
22
|
+
haveLanguageClient() {
|
|
23
|
+
return this.languageClient !== undefined;
|
|
24
|
+
}
|
|
25
|
+
getLanguageClient() {
|
|
26
|
+
return this.languageClient;
|
|
27
|
+
}
|
|
28
|
+
getWorker() {
|
|
29
|
+
return this.worker;
|
|
30
|
+
}
|
|
31
|
+
isStarted() {
|
|
32
|
+
return this.languageClient !== undefined && this.languageClient.isRunning();
|
|
33
|
+
}
|
|
34
|
+
async start() {
|
|
35
|
+
if (this.languageClient?.isRunning() ?? false) {
|
|
36
|
+
this.logger?.info('startLanguageClientConnection: monaco-languageclient already running!');
|
|
37
|
+
return Promise.resolve();
|
|
38
|
+
}
|
|
39
|
+
return new Promise((resolve, reject) => {
|
|
40
|
+
const conConfig = this.languageClientConfig.connection;
|
|
41
|
+
const conOptions = conConfig.options;
|
|
42
|
+
if (conOptions.$type === 'WebSocketDirect' || conOptions.$type === 'WebSocketParams' || conOptions.$type === 'WebSocketUrl') {
|
|
43
|
+
const webSocket = conOptions.$type === 'WebSocketDirect' ? conOptions.webSocket : new WebSocket(createUrl(conOptions));
|
|
44
|
+
this.initMessageTransportWebSocket(webSocket, resolve, reject);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// init of worker and start of languageclient can be handled directly, because worker available already
|
|
48
|
+
this.initMessageTransportWorker(conOptions, resolve, reject);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Restart the languageclient with options to control worker handling
|
|
54
|
+
*
|
|
55
|
+
* @param updatedWorker Set a new worker here that should be used. keepWorker has no effect then, as we want to dispose of the prior workers
|
|
56
|
+
* @param disposeWorker Set to false if worker should not be disposed
|
|
57
|
+
*/
|
|
58
|
+
async restart(updatedWorker, forceWorkerDispose) {
|
|
59
|
+
await this.dispose(forceWorkerDispose);
|
|
60
|
+
this.worker = updatedWorker;
|
|
61
|
+
this.logger?.info('Re-Starting monaco-languageclient');
|
|
62
|
+
return this.start();
|
|
63
|
+
}
|
|
64
|
+
async initMessageTransportWebSocket(webSocket, resolve, reject) {
|
|
65
|
+
let messageTransports = this.languageClientConfig.connection.messageTransports;
|
|
66
|
+
if (messageTransports === undefined) {
|
|
67
|
+
const iWebSocket = toSocket(webSocket);
|
|
68
|
+
messageTransports = {
|
|
69
|
+
reader: new WebSocketMessageReader(iWebSocket),
|
|
70
|
+
writer: new WebSocketMessageWriter(iWebSocket)
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
// if websocket is already open, then start the languageclient directly
|
|
74
|
+
if (webSocket.readyState === WebSocket.OPEN) {
|
|
75
|
+
await this.performLanguageClientStart(messageTransports, resolve, reject);
|
|
76
|
+
}
|
|
77
|
+
// otherwise start on open
|
|
78
|
+
webSocket.onopen = async () => {
|
|
79
|
+
await this.performLanguageClientStart(messageTransports, resolve, reject);
|
|
80
|
+
};
|
|
81
|
+
webSocket.onerror = (ev) => {
|
|
82
|
+
const languageClientError = {
|
|
83
|
+
message: `languageClientWrapper (${this.name}): Websocket connection failed.`,
|
|
84
|
+
error: ev.error ?? 'No error was provided.'
|
|
85
|
+
};
|
|
86
|
+
reject(languageClientError);
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
async initMessageTransportWorker(lccOptions, resolve, reject) {
|
|
90
|
+
if (!this.worker) {
|
|
91
|
+
if (lccOptions.$type === 'WorkerConfig') {
|
|
92
|
+
const workerConfig = lccOptions;
|
|
93
|
+
this.worker = new Worker(workerConfig.url.href, {
|
|
94
|
+
type: workerConfig.type,
|
|
95
|
+
name: workerConfig.workerName
|
|
96
|
+
});
|
|
97
|
+
this.worker.onerror = (ev) => {
|
|
98
|
+
const languageClientError = {
|
|
99
|
+
message: `languageClientWrapper (${this.name}): Illegal worker configuration detected.`,
|
|
100
|
+
error: ev.error ?? 'No error was provided.'
|
|
101
|
+
};
|
|
102
|
+
reject(languageClientError);
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
const workerDirectConfig = lccOptions;
|
|
107
|
+
this.worker = workerDirectConfig.worker;
|
|
108
|
+
}
|
|
109
|
+
if (lccOptions.messagePort !== undefined) {
|
|
110
|
+
this.port = lccOptions.messagePort;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const portOrWorker = this.port ? this.port : this.worker;
|
|
114
|
+
let messageTransports = this.languageClientConfig.connection.messageTransports;
|
|
115
|
+
if (messageTransports === undefined) {
|
|
116
|
+
messageTransports = {
|
|
117
|
+
reader: new BrowserMessageReader(portOrWorker),
|
|
118
|
+
writer: new BrowserMessageWriter(portOrWorker)
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
await this.performLanguageClientStart(messageTransports, resolve, reject);
|
|
122
|
+
}
|
|
123
|
+
async performLanguageClientStart(messageTransports, resolve, reject) {
|
|
124
|
+
let starting = true;
|
|
125
|
+
// do not perform another start attempt if already running
|
|
126
|
+
if (this.languageClient?.isRunning() ?? false) {
|
|
127
|
+
this.logger?.info('performLanguageClientStart: monaco-languageclient already running!');
|
|
128
|
+
resolve();
|
|
129
|
+
}
|
|
130
|
+
const mlcConfig = {
|
|
131
|
+
name: this.languageClientConfig.name ?? 'Monaco Wrapper Language Client',
|
|
132
|
+
clientOptions: {
|
|
133
|
+
// disable the default error handler...
|
|
134
|
+
errorHandler: {
|
|
135
|
+
error: (e) => {
|
|
136
|
+
if (starting) {
|
|
137
|
+
reject(`Error occurred in language client: ${e}`);
|
|
138
|
+
return { action: ErrorAction.Shutdown };
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
return { action: ErrorAction.Continue };
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
closed: () => ({ action: CloseAction.DoNotRestart })
|
|
145
|
+
},
|
|
146
|
+
// ...but allowm to override all options
|
|
147
|
+
...this.languageClientConfig.clientOptions,
|
|
148
|
+
},
|
|
149
|
+
messageTransports
|
|
150
|
+
};
|
|
151
|
+
this.languageClient = new MonacoLanguageClient(mlcConfig);
|
|
152
|
+
const conOptions = this.languageClientConfig.connection.options;
|
|
153
|
+
this.initRestartConfiguration(messageTransports, this.languageClientConfig.restartOptions);
|
|
154
|
+
const isWebSocket = conOptions.$type === 'WebSocketParams' || conOptions.$type === 'WebSocketUrl' || conOptions.$type === 'WebSocketDirect';
|
|
155
|
+
messageTransports.reader.onClose(async () => {
|
|
156
|
+
await this.languageClient?.stop();
|
|
157
|
+
if (isWebSocket && conOptions.stopOptions !== undefined) {
|
|
158
|
+
const stopOptions = conOptions.stopOptions;
|
|
159
|
+
stopOptions.onCall(this.getLanguageClient());
|
|
160
|
+
if (stopOptions.reportStatus !== undefined) {
|
|
161
|
+
this.logger?.info(this.reportStatus().join('\n'));
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
try {
|
|
166
|
+
await this.languageClient.start();
|
|
167
|
+
if (isWebSocket && conOptions.startOptions !== undefined) {
|
|
168
|
+
const startOptions = conOptions.startOptions;
|
|
169
|
+
startOptions.onCall(this.getLanguageClient());
|
|
170
|
+
if (startOptions.reportStatus !== undefined) {
|
|
171
|
+
this.logger?.info(this.reportStatus().join('\n'));
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
catch (e) {
|
|
176
|
+
const languageClientError = {
|
|
177
|
+
message: `languageClientWrapper (${this.name}): Start was unsuccessful.`,
|
|
178
|
+
error: Object.hasOwn(e ?? {}, 'cause') ? e : 'No error was provided.'
|
|
179
|
+
};
|
|
180
|
+
reject(languageClientError);
|
|
181
|
+
}
|
|
182
|
+
this.logger?.info(`languageClientWrapper (${this.name}): Started successfully.`);
|
|
183
|
+
resolve();
|
|
184
|
+
starting = false;
|
|
185
|
+
}
|
|
186
|
+
initRestartConfiguration(messageTransports, restartOptions) {
|
|
187
|
+
if (restartOptions !== undefined) {
|
|
188
|
+
let retry = 0;
|
|
189
|
+
const readerOnError = messageTransports.reader.onError(() => restartLC);
|
|
190
|
+
const readerOnClose = messageTransports.reader.onClose(() => restartLC);
|
|
191
|
+
const restartLC = async () => {
|
|
192
|
+
if (this.isStarted()) {
|
|
193
|
+
try {
|
|
194
|
+
readerOnError.dispose();
|
|
195
|
+
readerOnClose.dispose();
|
|
196
|
+
await this.restart(this.worker, restartOptions.keepWorker);
|
|
197
|
+
}
|
|
198
|
+
finally {
|
|
199
|
+
retry++;
|
|
200
|
+
if (retry > (restartOptions.retries) && !this.isStarted()) {
|
|
201
|
+
this.logger?.info('Disabling Language Client. Failed to start clangd after 5 retries');
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
setTimeout(async () => {
|
|
205
|
+
await this.restart(this.worker, restartOptions.keepWorker);
|
|
206
|
+
}, restartOptions.timeout);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
disposeWorker() {
|
|
214
|
+
this.worker?.terminate();
|
|
215
|
+
this.worker = undefined;
|
|
216
|
+
}
|
|
217
|
+
async dispose(forceWorkerDispose) {
|
|
218
|
+
try {
|
|
219
|
+
if (this.isStarted()) {
|
|
220
|
+
await this.languageClient?.dispose();
|
|
221
|
+
this.languageClient = undefined;
|
|
222
|
+
this.logger?.info('monaco-languageclient and monaco-editor were successfully disposed.');
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
catch (e) {
|
|
226
|
+
const languageClientError = {
|
|
227
|
+
message: `languageClientWrapper (${this.name}): Disposing the monaco-languageclient resulted in error.`,
|
|
228
|
+
error: Object.hasOwn(e ?? {}, 'cause') ? e : 'No error was provided.'
|
|
229
|
+
};
|
|
230
|
+
return Promise.reject(languageClientError);
|
|
231
|
+
}
|
|
232
|
+
finally {
|
|
233
|
+
// always terminate the worker if desired
|
|
234
|
+
if (this.languageClientConfig.disposeWorker === true || forceWorkerDispose === true) {
|
|
235
|
+
this.disposeWorker();
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
reportStatus() {
|
|
240
|
+
const status = [];
|
|
241
|
+
const languageClient = this.getLanguageClient();
|
|
242
|
+
status.push('LanguageClientWrapper status:');
|
|
243
|
+
status.push(`LanguageClient: ${languageClient?.name ?? 'Language Client'} is in a '${State[languageClient?.state ?? 1]}' state`);
|
|
244
|
+
return status;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=lcwrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lcwrapper.js","sourceRoot":"","sources":["../../src/wrapper/lcwrapper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monaco-languageclient",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0-next.0",
|
|
4
4
|
"description": "Monaco Language client implementation",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "TypeFox GmbH",
|
|
@@ -24,25 +24,33 @@
|
|
|
24
24
|
"types": "./lib/index.d.ts",
|
|
25
25
|
"default": "./lib/index.js"
|
|
26
26
|
},
|
|
27
|
-
"./
|
|
28
|
-
"types": "./lib/
|
|
29
|
-
"default": "./lib/
|
|
27
|
+
"./common": {
|
|
28
|
+
"types": "./lib/common/index.d.ts",
|
|
29
|
+
"default": "./lib/common/index.js"
|
|
30
30
|
},
|
|
31
|
-
"./
|
|
31
|
+
"./vscodeApiWrapper": {
|
|
32
32
|
"types": "./lib/vscode/index.d.ts",
|
|
33
33
|
"default": "./lib/vscode/index.js"
|
|
34
34
|
},
|
|
35
|
+
"./vscodeApiLocales": {
|
|
36
|
+
"types": "./lib/vscode/locales.d.ts",
|
|
37
|
+
"default": "./lib/vscode/locales.js"
|
|
38
|
+
},
|
|
35
39
|
"./fs": {
|
|
36
40
|
"types": "./lib/fs/index.d.ts",
|
|
37
41
|
"default": "./lib/fs/index.js"
|
|
38
42
|
},
|
|
39
43
|
"./workerFactory": {
|
|
40
|
-
"types": "./lib/
|
|
41
|
-
"default": "./lib/
|
|
44
|
+
"types": "./lib/worker/index.d.ts",
|
|
45
|
+
"default": "./lib/worker/index.js"
|
|
46
|
+
},
|
|
47
|
+
"./lcwrapper": {
|
|
48
|
+
"types": "./lib/wrapper/index.d.ts",
|
|
49
|
+
"default": "./lib/wrapper/index.js"
|
|
42
50
|
},
|
|
43
|
-
"./
|
|
44
|
-
"types": "./lib/
|
|
45
|
-
"default": "./lib/
|
|
51
|
+
"./editorApp": {
|
|
52
|
+
"types": "./lib/editorApp/index.d.ts",
|
|
53
|
+
"default": "./lib/editorApp/index.js"
|
|
46
54
|
}
|
|
47
55
|
},
|
|
48
56
|
"typesVersions": {
|
|
@@ -50,20 +58,26 @@
|
|
|
50
58
|
".": [
|
|
51
59
|
"lib/index.d.ts"
|
|
52
60
|
],
|
|
53
|
-
"
|
|
54
|
-
"lib/
|
|
61
|
+
"common": [
|
|
62
|
+
"lib/common/index"
|
|
55
63
|
],
|
|
56
|
-
"
|
|
64
|
+
"vscodeApiWrapper": [
|
|
57
65
|
"lib/vscode/index"
|
|
58
66
|
],
|
|
67
|
+
"vscodeApiLocales": [
|
|
68
|
+
"lib/vscode/locales"
|
|
69
|
+
],
|
|
59
70
|
"fs": [
|
|
60
71
|
"lib/fs/index"
|
|
61
72
|
],
|
|
62
73
|
"workerFactory": [
|
|
63
|
-
"lib/
|
|
74
|
+
"lib/worker/index"
|
|
64
75
|
],
|
|
65
|
-
"
|
|
66
|
-
"lib/
|
|
76
|
+
"lcwrapper": [
|
|
77
|
+
"lib/lrapper/index"
|
|
78
|
+
],
|
|
79
|
+
"editorApp": [
|
|
80
|
+
"lib/editorApp/index"
|
|
67
81
|
]
|
|
68
82
|
}
|
|
69
83
|
},
|
|
@@ -83,18 +97,46 @@
|
|
|
83
97
|
"LICENSE"
|
|
84
98
|
],
|
|
85
99
|
"dependencies": {
|
|
86
|
-
"@codingame/monaco-vscode-api": "~18.
|
|
87
|
-
"@codingame/monaco-vscode-configuration-service-override": "~18.
|
|
88
|
-
"@codingame/monaco-vscode-editor-api": "~18.
|
|
89
|
-
"@codingame/monaco-vscode-editor-service-override": "~18.
|
|
90
|
-
"@codingame/monaco-vscode-extensions-service-override": "~18.
|
|
91
|
-
"@codingame/monaco-vscode-extension-api": "~18.
|
|
92
|
-
"@codingame/monaco-vscode-languages-service-override": "~18.
|
|
93
|
-
"@codingame/monaco-vscode-
|
|
94
|
-
"@codingame/monaco-vscode-
|
|
95
|
-
"@codingame/monaco-vscode-
|
|
96
|
-
"
|
|
97
|
-
"vscode-
|
|
100
|
+
"@codingame/monaco-vscode-api": "~18.2.0",
|
|
101
|
+
"@codingame/monaco-vscode-configuration-service-override": "~18.2.0",
|
|
102
|
+
"@codingame/monaco-vscode-editor-api": "~18.2.0",
|
|
103
|
+
"@codingame/monaco-vscode-editor-service-override": "~18.2.0",
|
|
104
|
+
"@codingame/monaco-vscode-extensions-service-override": "~18.2.0",
|
|
105
|
+
"@codingame/monaco-vscode-extension-api": "~18.2.0",
|
|
106
|
+
"@codingame/monaco-vscode-languages-service-override": "~18.2.0",
|
|
107
|
+
"@codingame/monaco-vscode-language-pack-cs": "~18.2.0",
|
|
108
|
+
"@codingame/monaco-vscode-language-pack-de": "~18.2.0",
|
|
109
|
+
"@codingame/monaco-vscode-language-pack-es": "~18.2.0",
|
|
110
|
+
"@codingame/monaco-vscode-language-pack-fr": "~18.2.0",
|
|
111
|
+
"@codingame/monaco-vscode-language-pack-it": "~18.2.0",
|
|
112
|
+
"@codingame/monaco-vscode-language-pack-ja": "~18.2.0",
|
|
113
|
+
"@codingame/monaco-vscode-language-pack-ko": "~18.2.0",
|
|
114
|
+
"@codingame/monaco-vscode-language-pack-pl": "~18.2.0",
|
|
115
|
+
"@codingame/monaco-vscode-language-pack-pt-br": "~18.2.0",
|
|
116
|
+
"@codingame/monaco-vscode-language-pack-qps-ploc": "~18.2.0",
|
|
117
|
+
"@codingame/monaco-vscode-language-pack-ru": "~18.2.0",
|
|
118
|
+
"@codingame/monaco-vscode-language-pack-tr": "~18.2.0",
|
|
119
|
+
"@codingame/monaco-vscode-language-pack-zh-hans": "~18.2.0",
|
|
120
|
+
"@codingame/monaco-vscode-language-pack-zh-hant": "~18.2.0",
|
|
121
|
+
"@codingame/monaco-vscode-localization-service-override": "~18.2.0",
|
|
122
|
+
"@codingame/monaco-vscode-log-service-override": "~18.2.0",
|
|
123
|
+
"@codingame/monaco-vscode-model-service-override": "~18.2.0",
|
|
124
|
+
"@codingame/monaco-vscode-monarch-service-override": "~18.2.0",
|
|
125
|
+
"@codingame/monaco-vscode-textmate-service-override": "~18.2.0",
|
|
126
|
+
"@codingame/monaco-vscode-theme-defaults-default-extension": "~18.2.0",
|
|
127
|
+
"@codingame/monaco-vscode-theme-service-override": "~18.2.0",
|
|
128
|
+
"@codingame/monaco-vscode-views-service-override": "~18.2.0",
|
|
129
|
+
"@codingame/monaco-vscode-workbench-service-override": "~18.2.0",
|
|
130
|
+
"vscode-languageclient": "~9.0.1",
|
|
131
|
+
"vscode-languageserver-protocol": "~3.17.5",
|
|
132
|
+
"vscode-ws-jsonrpc": "~3.4.0"
|
|
133
|
+
},
|
|
134
|
+
"devDependencies": {
|
|
135
|
+
"@codingame/monaco-vscode-standalone-languages": "~18.2.0",
|
|
136
|
+
"@codingame/monaco-vscode-standalone-css-language-features": "~18.2.0",
|
|
137
|
+
"@codingame/monaco-vscode-standalone-html-language-features": "~18.2.0",
|
|
138
|
+
"@codingame/monaco-vscode-standalone-json-language-features": "~18.2.0",
|
|
139
|
+
"@codingame/monaco-vscode-standalone-typescript-language-features": "~18.2.0"
|
|
98
140
|
},
|
|
99
141
|
"scripts": {
|
|
100
142
|
"clean": "shx rm -fr ./lib *.tsbuildinfo",
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
* Licensed under the MIT License. See LICENSE in the package root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
|
|
6
|
-
import
|
|
6
|
+
import { BaseLanguageClient } from 'vscode-languageclient/browser.js';
|
|
7
7
|
|
|
8
8
|
export type ConnectionConfigOptions = WebSocketConfigOptionsDirect | WebSocketConfigOptionsParams | WebSocketConfigOptionsUrl | WorkerConfigOptionsParams | WorkerConfigOptionsDirect;
|
|
9
9
|
|
|
10
10
|
export interface WebSocketCallOptions {
|
|
11
11
|
/** Adds handle on languageClient */
|
|
12
|
-
onCall: (languageClient?:
|
|
12
|
+
onCall: (languageClient?: BaseLanguageClient) => void;
|
|
13
13
|
/** Reports Status Of Language Client */
|
|
14
14
|
reportStatus?: boolean;
|
|
15
15
|
}
|
|
@@ -3,5 +3,6 @@
|
|
|
3
3
|
* Licensed under the MIT License. See LICENSE in the package root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
|
|
6
|
+
export * from './commonTypes.js';
|
|
6
7
|
export * from './logging.js';
|
|
7
8
|
export * from './utils.js';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Licensed under the MIT License. See LICENSE in the package root for license information.
|
|
4
4
|
* ------------------------------------------------------------------------------------------ */
|
|
5
5
|
|
|
6
|
-
import type { WebSocketUrlParams, WebSocketUrlString } from '
|
|
6
|
+
import type { WebSocketUrlParams, WebSocketUrlString } from './commonTypes.js';
|
|
7
7
|
|
|
8
8
|
export const createUrl = (config: WebSocketUrlParams | WebSocketUrlString) => {
|
|
9
9
|
let buildUrl = '';
|
|
@@ -37,3 +37,18 @@ export const createUrl = (config: WebSocketUrlParams | WebSocketUrlString) => {
|
|
|
37
37
|
}
|
|
38
38
|
return buildUrl;
|
|
39
39
|
};
|
|
40
|
+
|
|
41
|
+
export const verifyUrlOrCreateDataUrl = (input: string | URL) => {
|
|
42
|
+
if (input instanceof URL) {
|
|
43
|
+
return input.href;
|
|
44
|
+
} else {
|
|
45
|
+
const bytes = new TextEncoder().encode(input);
|
|
46
|
+
const binString = Array.from(bytes, (b) => String.fromCodePoint(b)).join('');
|
|
47
|
+
const base64 = btoa(binString);
|
|
48
|
+
return new URL(`data:text/plain;base64,${base64}`).href;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export const delayExecution = (ms: number) => {
|
|
53
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
54
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
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 { LogLevel } from '@codingame/monaco-vscode-api';
|
|
7
|
+
import { type ITextFileEditorModel } from '@codingame/monaco-vscode-api/monaco';
|
|
8
|
+
import * as monaco from '@codingame/monaco-vscode-editor-api';
|
|
9
|
+
import type { IReference } from '@codingame/monaco-vscode-editor-service-override';
|
|
10
|
+
import { type OverallConfigType } from 'monaco-languageclient/vscodeApiWrapper';
|
|
11
|
+
|
|
12
|
+
export class ModelRefs {
|
|
13
|
+
modified?: IReference<ITextFileEditorModel>;
|
|
14
|
+
original?: IReference<ITextFileEditorModel>;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface TextModels {
|
|
18
|
+
modified?: monaco.editor.ITextModel | null;
|
|
19
|
+
original?: monaco.editor.ITextModel | null;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface TextContents {
|
|
23
|
+
modified?: string;
|
|
24
|
+
original?: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface CodeContent {
|
|
28
|
+
text: string;
|
|
29
|
+
uri: string;
|
|
30
|
+
enforceLanguageId?: string;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface CodeResources {
|
|
34
|
+
modified?: CodeContent;
|
|
35
|
+
original?: CodeContent;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface CallbackDisposeable {
|
|
39
|
+
modified?: monaco.IDisposable;
|
|
40
|
+
original?: monaco.IDisposable;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface DisposableModelRefs {
|
|
44
|
+
modified?: IReference<ITextFileEditorModel>;
|
|
45
|
+
original?: IReference<ITextFileEditorModel>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface EditorAppConfig {
|
|
49
|
+
id?: string;
|
|
50
|
+
$type?: OverallConfigType;
|
|
51
|
+
logLevel?: LogLevel | number;
|
|
52
|
+
codeResources?: CodeResources;
|
|
53
|
+
useDiffEditor?: boolean;
|
|
54
|
+
domReadOnly?: boolean;
|
|
55
|
+
readOnly?: boolean;
|
|
56
|
+
overrideAutomaticLayout?: boolean;
|
|
57
|
+
editorOptions?: monaco.editor.IStandaloneEditorConstructionOptions;
|
|
58
|
+
diffEditorOptions?: monaco.editor.IStandaloneDiffEditorConstructionOptions;
|
|
59
|
+
languageDef?: {
|
|
60
|
+
languageExtensionConfig: monaco.languages.ILanguageExtensionPoint;
|
|
61
|
+
monarchLanguage?: monaco.languages.IMonarchLanguage;
|
|
62
|
+
theme?: {
|
|
63
|
+
name: monaco.editor.BuiltinTheme | string;
|
|
64
|
+
data: monaco.editor.IStandaloneThemeData;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|