@lvce-editor/extension-host-worker 8.16.0 → 8.17.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/dist/extension-api/index.js +1360 -0
- package/dist/extension-api/parts/Activation/Activation.js +13 -0
- package/dist/extension-api/parts/AssertCompletionProvider/AssertCompletionProvider.js +25 -0
- package/dist/extension-api/parts/AssertFormattingProvider/AssertFormattingProvider.js +22 -0
- package/dist/extension-api/parts/AssertStatusBarItemProvider/AssertStatusBarItemProvider.js +19 -0
- package/dist/extension-api/parts/Command/Command.js +0 -0
- package/dist/extension-api/parts/CommandCallback/CommandCallback.js +0 -0
- package/dist/extension-api/parts/CommandMap/CommandMap.js +14 -0
- package/dist/extension-api/parts/CommandRegistry/CommandRegistry.js +53 -0
- package/dist/extension-api/parts/CommandRegistrySnapshot/CommandRegistrySnapshot.js +0 -0
- package/dist/extension-api/parts/Completion/Completion.js +11 -0
- package/dist/extension-api/parts/CompletionItem/CompletionItem.js +0 -0
- package/dist/extension-api/parts/CompletionProvider/CompletionProvider.js +0 -0
- package/dist/extension-api/parts/CompletionProviderRegistry/CompletionProviderRegistry.js +78 -0
- package/dist/extension-api/parts/CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.js +0 -0
- package/dist/extension-api/parts/CompletionProviderState/CompletionProviderState.js +10 -0
- package/dist/extension-api/parts/CompletionTextDocument/CompletionTextDocument.js +0 -0
- package/dist/extension-api/parts/Disposable/Disposable.js +0 -0
- package/dist/extension-api/parts/ExecuteCommand/ExecuteCommand.js +7 -0
- package/dist/extension-api/parts/ExecuteCompletionProvider/ExecuteCompletionProvider.js +5 -0
- package/dist/extension-api/parts/ExecuteFormattingProvider/ExecuteFormattingProvider.js +4 -0
- package/dist/extension-api/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.js +17 -0
- package/dist/extension-api/parts/ExtensionApiError/ExtensionApiError.js +9 -0
- package/dist/extension-api/parts/ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.js +15 -0
- package/dist/extension-api/parts/ExtensionApiWorkerHandleMessagePort/ExtensionApiWorkerHandleMessagePort.js +21 -0
- package/dist/extension-api/parts/ExtensionApiWorkerListen/ExtensionApiWorkerListen.js +11 -0
- package/dist/extension-api/parts/Formatting/Formatting.js +10 -0
- package/dist/extension-api/parts/FormattingEdit/FormattingEdit.js +0 -0
- package/dist/extension-api/parts/FormattingProvider/FormattingProvider.js +0 -0
- package/dist/extension-api/parts/FormattingProviderRegistry/FormattingProviderRegistry.js +42 -0
- package/dist/extension-api/parts/FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.js +0 -0
- package/dist/extension-api/parts/FormattingProviderState/FormattingProviderState.js +10 -0
- package/dist/extension-api/parts/FormattingTextDocument/FormattingTextDocument.js +0 -0
- package/dist/extension-api/parts/GetCompletionProviderRegistrySnapshot/GetCompletionProviderRegistrySnapshot.js +4 -0
- package/dist/extension-api/parts/GetFormattingProviderRegistrySnapshot/GetFormattingProviderRegistrySnapshot.js +4 -0
- package/dist/extension-api/parts/GetStatusBarItemProviderRegistrySnapshot/GetStatusBarItemProviderRegistrySnapshot.js +4 -0
- package/dist/extension-api/parts/GetStatusBarItems/GetStatusBarItems.js +4 -0
- package/dist/extension-api/parts/HandleExtensionManagementMessagePort/HandleExtensionManagementMessagePort.js +17 -0
- package/dist/extension-api/parts/NotifyStatusBarChange/NotifyStatusBarChange.js +7 -0
- package/dist/extension-api/parts/ProviderRegistry/ProviderRegistry.js +95 -0
- package/dist/extension-api/parts/QuickPick/QuickPick.js +7 -0
- package/dist/extension-api/parts/QuickPickItem/QuickPickItem.js +0 -0
- package/dist/extension-api/parts/RegisterCompletionProvider/RegisterCompletionProvider.js +4 -0
- package/dist/extension-api/parts/RegisterFormattingProvider/RegisterFormattingProvider.js +4 -0
- package/dist/extension-api/parts/RegisterStatusBarItemProvider/RegisterStatusBarItemProvider.js +4 -0
- package/dist/extension-api/parts/RegisteredCommand/RegisteredCommand.js +0 -0
- package/dist/extension-api/parts/RegisteredCompletionProvider/RegisteredCompletionProvider.js +0 -0
- package/dist/extension-api/parts/RegisteredFormattingProvider/RegisteredFormattingProvider.js +0 -0
- package/dist/extension-api/parts/RegisteredStatusBarItemProvider/RegisteredStatusBarItemProvider.js +0 -0
- package/dist/extension-api/parts/ResetCompletionProviderRegistry/ResetCompletionProviderRegistry.js +4 -0
- package/dist/extension-api/parts/ResetFormattingProviderRegistry/ResetFormattingProviderRegistry.js +4 -0
- package/dist/extension-api/parts/ResetStatusBarItemProviderRegistry/ResetStatusBarItemProviderRegistry.js +4 -0
- package/dist/extension-api/parts/Rpc/Rpc.js +14 -0
- package/dist/extension-api/parts/ShowQuickPickOptions/ShowQuickPickOptions.js +0 -0
- package/dist/extension-api/parts/StatusBar/StatusBar.js +8 -0
- package/dist/extension-api/parts/StatusBarItem/StatusBarItem.js +0 -0
- package/dist/extension-api/parts/StatusBarItemProvider/StatusBarItemProvider.js +0 -0
- package/dist/extension-api/parts/StatusBarItemProviderHandle/StatusBarItemProviderHandle.js +0 -0
- package/dist/extension-api/parts/StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.js +52 -0
- package/dist/extension-api/parts/StatusBarItemProviderRegistrySnapshot/StatusBarItemProviderRegistrySnapshot.js +0 -0
- package/dist/extension-api/parts/StatusBarItemProviderState/StatusBarItemProviderState.js +10 -0
- package/dist/extensionHostWorkerMain.js +1327 -1177
- package/package.json +1 -1
|
@@ -0,0 +1,1360 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __export = (target, all) => {
|
|
3
|
+
for (var name in all)
|
|
4
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
// packages/extension-api/node_modules/@lvce-editor/verror/dist/index.js
|
|
8
|
+
var normalizeLine = (line) => {
|
|
9
|
+
if (line.startsWith("Error: ")) {
|
|
10
|
+
return line.slice("Error: ".length);
|
|
11
|
+
}
|
|
12
|
+
if (line.startsWith("VError: ")) {
|
|
13
|
+
return line.slice("VError: ".length);
|
|
14
|
+
}
|
|
15
|
+
return line;
|
|
16
|
+
};
|
|
17
|
+
var getCombinedMessage = (error, message) => {
|
|
18
|
+
const stringifiedError = normalizeLine(`${error}`);
|
|
19
|
+
if (message) {
|
|
20
|
+
return `${message}: ${stringifiedError}`;
|
|
21
|
+
}
|
|
22
|
+
return stringifiedError;
|
|
23
|
+
};
|
|
24
|
+
var NewLine = "\n";
|
|
25
|
+
var getNewLineIndex = (string2, startIndex = void 0) => {
|
|
26
|
+
return string2.indexOf(NewLine, startIndex);
|
|
27
|
+
};
|
|
28
|
+
var mergeStacks = (parent, child) => {
|
|
29
|
+
if (!child) {
|
|
30
|
+
return parent;
|
|
31
|
+
}
|
|
32
|
+
const parentNewLineIndex = getNewLineIndex(parent);
|
|
33
|
+
const childNewLineIndex = getNewLineIndex(child);
|
|
34
|
+
if (childNewLineIndex === -1) {
|
|
35
|
+
return parent;
|
|
36
|
+
}
|
|
37
|
+
const parentFirstLine = parent.slice(0, parentNewLineIndex);
|
|
38
|
+
const childRest = child.slice(childNewLineIndex);
|
|
39
|
+
const childFirstLine = normalizeLine(child.slice(0, childNewLineIndex));
|
|
40
|
+
if (parentFirstLine.includes(childFirstLine)) {
|
|
41
|
+
return parentFirstLine + childRest;
|
|
42
|
+
}
|
|
43
|
+
return child;
|
|
44
|
+
};
|
|
45
|
+
var VError = class extends Error {
|
|
46
|
+
constructor(error, message) {
|
|
47
|
+
const combinedMessage = getCombinedMessage(error, message);
|
|
48
|
+
super(combinedMessage);
|
|
49
|
+
this.name = "VError";
|
|
50
|
+
if (error instanceof Error) {
|
|
51
|
+
this.stack = mergeStacks(this.stack, error.stack);
|
|
52
|
+
}
|
|
53
|
+
if (error.codeFrame) {
|
|
54
|
+
this.codeFrame = error.codeFrame;
|
|
55
|
+
}
|
|
56
|
+
if (error.code) {
|
|
57
|
+
this.code = error.code;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
// packages/extension-api/node_modules/@lvce-editor/ipc/dist/index.js
|
|
63
|
+
var isMessagePort = (value) => {
|
|
64
|
+
return value && value instanceof MessagePort;
|
|
65
|
+
};
|
|
66
|
+
var isMessagePortMain = (value) => {
|
|
67
|
+
return value && value.constructor && value.constructor.name === "MessagePortMain";
|
|
68
|
+
};
|
|
69
|
+
var isOffscreenCanvas = (value) => {
|
|
70
|
+
return typeof OffscreenCanvas !== "undefined" && value instanceof OffscreenCanvas;
|
|
71
|
+
};
|
|
72
|
+
var isInstanceOf = (value, constructorName) => {
|
|
73
|
+
return value?.constructor?.name === constructorName;
|
|
74
|
+
};
|
|
75
|
+
var isSocket = (value) => {
|
|
76
|
+
return isInstanceOf(value, "Socket");
|
|
77
|
+
};
|
|
78
|
+
var transferrables = [isMessagePort, isMessagePortMain, isOffscreenCanvas, isSocket];
|
|
79
|
+
var isTransferrable = (value) => {
|
|
80
|
+
for (const fn of transferrables) {
|
|
81
|
+
if (fn(value)) {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return false;
|
|
86
|
+
};
|
|
87
|
+
var walkValue = (value, transferrables2, isTransferrable2) => {
|
|
88
|
+
if (!value) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (isTransferrable2(value)) {
|
|
92
|
+
transferrables2.push(value);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (Array.isArray(value)) {
|
|
96
|
+
for (const item of value) {
|
|
97
|
+
walkValue(item, transferrables2, isTransferrable2);
|
|
98
|
+
}
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (typeof value === "object") {
|
|
102
|
+
for (const property of Object.values(value)) {
|
|
103
|
+
walkValue(property, transferrables2, isTransferrable2);
|
|
104
|
+
}
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
var getTransferrables = (value) => {
|
|
109
|
+
const transferrables2 = [];
|
|
110
|
+
walkValue(value, transferrables2, isTransferrable);
|
|
111
|
+
return transferrables2;
|
|
112
|
+
};
|
|
113
|
+
var attachEvents = (that) => {
|
|
114
|
+
const handleMessage2 = (...args) => {
|
|
115
|
+
const data = that.getData(...args);
|
|
116
|
+
that.dispatchEvent(new MessageEvent("message", {
|
|
117
|
+
data
|
|
118
|
+
}));
|
|
119
|
+
};
|
|
120
|
+
that.onMessage(handleMessage2);
|
|
121
|
+
const handleClose = (event) => {
|
|
122
|
+
that.dispatchEvent(new Event("close"));
|
|
123
|
+
};
|
|
124
|
+
that.onClose(handleClose);
|
|
125
|
+
};
|
|
126
|
+
var Ipc = class extends EventTarget {
|
|
127
|
+
constructor(rawIpc) {
|
|
128
|
+
super();
|
|
129
|
+
this._rawIpc = rawIpc;
|
|
130
|
+
attachEvents(this);
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
var E_INCOMPATIBLE_NATIVE_MODULE = "E_INCOMPATIBLE_NATIVE_MODULE";
|
|
134
|
+
var E_MODULES_NOT_SUPPORTED_IN_ELECTRON = "E_MODULES_NOT_SUPPORTED_IN_ELECTRON";
|
|
135
|
+
var ERR_MODULE_NOT_FOUND = "ERR_MODULE_NOT_FOUND";
|
|
136
|
+
var NewLine2 = "\n";
|
|
137
|
+
var joinLines = (lines) => {
|
|
138
|
+
return lines.join(NewLine2);
|
|
139
|
+
};
|
|
140
|
+
var RE_AT = /^\s+at/;
|
|
141
|
+
var RE_AT_PROMISE_INDEX = /^\s*at async Promise.all \(index \d+\)$/;
|
|
142
|
+
var isNormalStackLine = (line) => {
|
|
143
|
+
return RE_AT.test(line) && !RE_AT_PROMISE_INDEX.test(line);
|
|
144
|
+
};
|
|
145
|
+
var getDetails = (lines) => {
|
|
146
|
+
const index = lines.findIndex(isNormalStackLine);
|
|
147
|
+
if (index === -1) {
|
|
148
|
+
return {
|
|
149
|
+
actualMessage: joinLines(lines),
|
|
150
|
+
rest: []
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
let lastIndex = index - 1;
|
|
154
|
+
while (++lastIndex < lines.length) {
|
|
155
|
+
if (!isNormalStackLine(lines[lastIndex])) {
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
actualMessage: lines[index - 1],
|
|
161
|
+
rest: lines.slice(index, lastIndex)
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
var splitLines = (lines) => {
|
|
165
|
+
return lines.split(NewLine2);
|
|
166
|
+
};
|
|
167
|
+
var RE_MESSAGE_CODE_BLOCK_START = /^Error: The module '.*'$/;
|
|
168
|
+
var RE_MESSAGE_CODE_BLOCK_END = /^\s* at/;
|
|
169
|
+
var isMessageCodeBlockStartIndex = (line) => {
|
|
170
|
+
return RE_MESSAGE_CODE_BLOCK_START.test(line);
|
|
171
|
+
};
|
|
172
|
+
var isMessageCodeBlockEndIndex = (line) => {
|
|
173
|
+
return RE_MESSAGE_CODE_BLOCK_END.test(line);
|
|
174
|
+
};
|
|
175
|
+
var getMessageCodeBlock = (stderr) => {
|
|
176
|
+
const lines = splitLines(stderr);
|
|
177
|
+
const startIndex = lines.findIndex(isMessageCodeBlockStartIndex);
|
|
178
|
+
const endIndex = startIndex + lines.slice(startIndex).findIndex(isMessageCodeBlockEndIndex, startIndex);
|
|
179
|
+
const relevantLines = lines.slice(startIndex, endIndex);
|
|
180
|
+
const relevantMessage = relevantLines.join(" ").slice("Error: ".length);
|
|
181
|
+
return relevantMessage;
|
|
182
|
+
};
|
|
183
|
+
var isModuleNotFoundMessage = (line) => {
|
|
184
|
+
return line.includes("[ERR_MODULE_NOT_FOUND]");
|
|
185
|
+
};
|
|
186
|
+
var getModuleNotFoundError = (stderr) => {
|
|
187
|
+
const lines = splitLines(stderr);
|
|
188
|
+
const messageIndex = lines.findIndex(isModuleNotFoundMessage);
|
|
189
|
+
const message = lines[messageIndex];
|
|
190
|
+
return {
|
|
191
|
+
code: ERR_MODULE_NOT_FOUND,
|
|
192
|
+
message
|
|
193
|
+
};
|
|
194
|
+
};
|
|
195
|
+
var isModuleNotFoundError = (stderr) => {
|
|
196
|
+
if (!stderr) {
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
return stderr.includes("ERR_MODULE_NOT_FOUND");
|
|
200
|
+
};
|
|
201
|
+
var isModulesSyntaxError = (stderr) => {
|
|
202
|
+
if (!stderr) {
|
|
203
|
+
return false;
|
|
204
|
+
}
|
|
205
|
+
return stderr.includes("SyntaxError: Cannot use import statement outside a module");
|
|
206
|
+
};
|
|
207
|
+
var RE_NATIVE_MODULE_ERROR = /^innerError Error: Cannot find module '.*.node'/;
|
|
208
|
+
var RE_NATIVE_MODULE_ERROR_2 = /was compiled against a different Node.js version/;
|
|
209
|
+
var isUnhelpfulNativeModuleError = (stderr) => {
|
|
210
|
+
return RE_NATIVE_MODULE_ERROR.test(stderr) && RE_NATIVE_MODULE_ERROR_2.test(stderr);
|
|
211
|
+
};
|
|
212
|
+
var getNativeModuleErrorMessage = (stderr) => {
|
|
213
|
+
const message = getMessageCodeBlock(stderr);
|
|
214
|
+
return {
|
|
215
|
+
code: E_INCOMPATIBLE_NATIVE_MODULE,
|
|
216
|
+
message: `Incompatible native node module: ${message}`
|
|
217
|
+
};
|
|
218
|
+
};
|
|
219
|
+
var getModuleSyntaxError = () => {
|
|
220
|
+
return {
|
|
221
|
+
code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON,
|
|
222
|
+
message: `ES Modules are not supported in electron`
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
var getHelpfulChildProcessError = (stdout, stderr) => {
|
|
226
|
+
if (isUnhelpfulNativeModuleError(stderr)) {
|
|
227
|
+
return getNativeModuleErrorMessage(stderr);
|
|
228
|
+
}
|
|
229
|
+
if (isModulesSyntaxError(stderr)) {
|
|
230
|
+
return getModuleSyntaxError();
|
|
231
|
+
}
|
|
232
|
+
if (isModuleNotFoundError(stderr)) {
|
|
233
|
+
return getModuleNotFoundError(stderr);
|
|
234
|
+
}
|
|
235
|
+
const lines = splitLines(stderr);
|
|
236
|
+
const {
|
|
237
|
+
actualMessage,
|
|
238
|
+
rest
|
|
239
|
+
} = getDetails(lines);
|
|
240
|
+
return {
|
|
241
|
+
code: "",
|
|
242
|
+
message: actualMessage,
|
|
243
|
+
stack: rest
|
|
244
|
+
};
|
|
245
|
+
};
|
|
246
|
+
var IpcError = class extends VError {
|
|
247
|
+
// @ts-ignore
|
|
248
|
+
constructor(betterMessage, stdout = "", stderr = "") {
|
|
249
|
+
if (stdout || stderr) {
|
|
250
|
+
const {
|
|
251
|
+
code,
|
|
252
|
+
message,
|
|
253
|
+
stack
|
|
254
|
+
} = getHelpfulChildProcessError(stdout, stderr);
|
|
255
|
+
const cause = new Error(message);
|
|
256
|
+
cause.code = code;
|
|
257
|
+
cause.stack = stack;
|
|
258
|
+
super(cause, betterMessage);
|
|
259
|
+
} else {
|
|
260
|
+
super(betterMessage);
|
|
261
|
+
}
|
|
262
|
+
this.name = "IpcError";
|
|
263
|
+
this.stdout = stdout;
|
|
264
|
+
this.stderr = stderr;
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
var readyMessage = "ready";
|
|
268
|
+
var getData$2 = (event) => {
|
|
269
|
+
return event.data;
|
|
270
|
+
};
|
|
271
|
+
var listen$7 = () => {
|
|
272
|
+
if (typeof WorkerGlobalScope === "undefined") {
|
|
273
|
+
throw new TypeError("module is not in web worker scope");
|
|
274
|
+
}
|
|
275
|
+
return globalThis;
|
|
276
|
+
};
|
|
277
|
+
var signal$8 = (global) => {
|
|
278
|
+
global.postMessage(readyMessage);
|
|
279
|
+
};
|
|
280
|
+
var IpcChildWithModuleWorker = class extends Ipc {
|
|
281
|
+
getData(event) {
|
|
282
|
+
return getData$2(event);
|
|
283
|
+
}
|
|
284
|
+
send(message) {
|
|
285
|
+
this._rawIpc.postMessage(message);
|
|
286
|
+
}
|
|
287
|
+
sendAndTransfer(message) {
|
|
288
|
+
const transfer = getTransferrables(message);
|
|
289
|
+
this._rawIpc.postMessage(message, transfer);
|
|
290
|
+
}
|
|
291
|
+
dispose() {
|
|
292
|
+
}
|
|
293
|
+
onClose(callback) {
|
|
294
|
+
}
|
|
295
|
+
onMessage(callback) {
|
|
296
|
+
this._rawIpc.addEventListener("message", callback);
|
|
297
|
+
}
|
|
298
|
+
};
|
|
299
|
+
var wrap$f = (global) => {
|
|
300
|
+
return new IpcChildWithModuleWorker(global);
|
|
301
|
+
};
|
|
302
|
+
var waitForFirstMessage = async (port) => {
|
|
303
|
+
const {
|
|
304
|
+
promise,
|
|
305
|
+
resolve: resolve2
|
|
306
|
+
} = Promise.withResolvers();
|
|
307
|
+
port.addEventListener("message", resolve2, {
|
|
308
|
+
once: true
|
|
309
|
+
});
|
|
310
|
+
const event = await promise;
|
|
311
|
+
return event.data;
|
|
312
|
+
};
|
|
313
|
+
var listen$6 = async () => {
|
|
314
|
+
const parentIpcRaw = listen$7();
|
|
315
|
+
signal$8(parentIpcRaw);
|
|
316
|
+
const parentIpc = wrap$f(parentIpcRaw);
|
|
317
|
+
const firstMessage = await waitForFirstMessage(parentIpc);
|
|
318
|
+
if (firstMessage.method !== "initialize") {
|
|
319
|
+
throw new IpcError("unexpected first message");
|
|
320
|
+
}
|
|
321
|
+
const type = firstMessage.params[0];
|
|
322
|
+
if (type === "message-port") {
|
|
323
|
+
parentIpc.send({
|
|
324
|
+
id: firstMessage.id,
|
|
325
|
+
jsonrpc: "2.0",
|
|
326
|
+
result: null
|
|
327
|
+
});
|
|
328
|
+
parentIpc.dispose();
|
|
329
|
+
const port = firstMessage.params[1];
|
|
330
|
+
return port;
|
|
331
|
+
}
|
|
332
|
+
return globalThis;
|
|
333
|
+
};
|
|
334
|
+
var IpcChildWithModuleWorkerAndMessagePort = class extends Ipc {
|
|
335
|
+
getData(event) {
|
|
336
|
+
return getData$2(event);
|
|
337
|
+
}
|
|
338
|
+
send(message) {
|
|
339
|
+
this._rawIpc.postMessage(message);
|
|
340
|
+
}
|
|
341
|
+
sendAndTransfer(message) {
|
|
342
|
+
const transfer = getTransferrables(message);
|
|
343
|
+
this._rawIpc.postMessage(message, transfer);
|
|
344
|
+
}
|
|
345
|
+
dispose() {
|
|
346
|
+
if (this._rawIpc.close) {
|
|
347
|
+
this._rawIpc.close();
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
onClose(callback) {
|
|
351
|
+
}
|
|
352
|
+
onMessage(callback) {
|
|
353
|
+
this._rawIpc.addEventListener("message", callback);
|
|
354
|
+
this._rawIpc.start();
|
|
355
|
+
}
|
|
356
|
+
};
|
|
357
|
+
var wrap$e = (port) => {
|
|
358
|
+
return new IpcChildWithModuleWorkerAndMessagePort(port);
|
|
359
|
+
};
|
|
360
|
+
var IpcChildWithModuleWorkerAndMessagePort$1 = {
|
|
361
|
+
__proto__: null,
|
|
362
|
+
listen: listen$6,
|
|
363
|
+
wrap: wrap$e
|
|
364
|
+
};
|
|
365
|
+
var addListener = (emitter, type, callback) => {
|
|
366
|
+
if ("addEventListener" in emitter) {
|
|
367
|
+
emitter.addEventListener(type, callback);
|
|
368
|
+
} else {
|
|
369
|
+
emitter.on(type, callback);
|
|
370
|
+
}
|
|
371
|
+
};
|
|
372
|
+
var removeListener = (emitter, type, callback) => {
|
|
373
|
+
if ("removeEventListener" in emitter) {
|
|
374
|
+
emitter.removeEventListener(type, callback);
|
|
375
|
+
} else {
|
|
376
|
+
emitter.off(type, callback);
|
|
377
|
+
}
|
|
378
|
+
};
|
|
379
|
+
var getFirstEvent = (eventEmitter, eventMap) => {
|
|
380
|
+
const {
|
|
381
|
+
promise,
|
|
382
|
+
resolve: resolve2
|
|
383
|
+
} = Promise.withResolvers();
|
|
384
|
+
const listenerMap = /* @__PURE__ */ Object.create(null);
|
|
385
|
+
const cleanup = (value) => {
|
|
386
|
+
for (const event of Object.keys(eventMap)) {
|
|
387
|
+
removeListener(eventEmitter, event, listenerMap[event]);
|
|
388
|
+
}
|
|
389
|
+
resolve2(value);
|
|
390
|
+
};
|
|
391
|
+
for (const [event, type] of Object.entries(eventMap)) {
|
|
392
|
+
const listener = (event2) => {
|
|
393
|
+
cleanup({
|
|
394
|
+
event: event2,
|
|
395
|
+
type
|
|
396
|
+
});
|
|
397
|
+
};
|
|
398
|
+
addListener(eventEmitter, event, listener);
|
|
399
|
+
listenerMap[event] = listener;
|
|
400
|
+
}
|
|
401
|
+
return promise;
|
|
402
|
+
};
|
|
403
|
+
var Message$1 = 3;
|
|
404
|
+
var create$5 = async ({
|
|
405
|
+
isMessagePortOpen,
|
|
406
|
+
messagePort
|
|
407
|
+
}) => {
|
|
408
|
+
if (!isMessagePort(messagePort)) {
|
|
409
|
+
throw new IpcError("port must be of type MessagePort");
|
|
410
|
+
}
|
|
411
|
+
if (isMessagePortOpen) {
|
|
412
|
+
return messagePort;
|
|
413
|
+
}
|
|
414
|
+
const eventPromise = getFirstEvent(messagePort, {
|
|
415
|
+
message: Message$1
|
|
416
|
+
});
|
|
417
|
+
messagePort.start();
|
|
418
|
+
const {
|
|
419
|
+
event,
|
|
420
|
+
type
|
|
421
|
+
} = await eventPromise;
|
|
422
|
+
if (type !== Message$1) {
|
|
423
|
+
throw new IpcError("Failed to wait for ipc message");
|
|
424
|
+
}
|
|
425
|
+
if (event.data !== readyMessage) {
|
|
426
|
+
throw new IpcError("unexpected first message");
|
|
427
|
+
}
|
|
428
|
+
return messagePort;
|
|
429
|
+
};
|
|
430
|
+
var signal$1 = (messagePort) => {
|
|
431
|
+
messagePort.start();
|
|
432
|
+
};
|
|
433
|
+
var IpcParentWithMessagePort = class extends Ipc {
|
|
434
|
+
getData = getData$2;
|
|
435
|
+
send(message) {
|
|
436
|
+
this._rawIpc.postMessage(message);
|
|
437
|
+
}
|
|
438
|
+
sendAndTransfer(message) {
|
|
439
|
+
const transfer = getTransferrables(message);
|
|
440
|
+
this._rawIpc.postMessage(message, transfer);
|
|
441
|
+
}
|
|
442
|
+
dispose() {
|
|
443
|
+
this._rawIpc.close();
|
|
444
|
+
}
|
|
445
|
+
onMessage(callback) {
|
|
446
|
+
this._rawIpc.addEventListener("message", callback);
|
|
447
|
+
}
|
|
448
|
+
onClose(callback) {
|
|
449
|
+
}
|
|
450
|
+
};
|
|
451
|
+
var wrap$5 = (messagePort) => {
|
|
452
|
+
return new IpcParentWithMessagePort(messagePort);
|
|
453
|
+
};
|
|
454
|
+
var IpcParentWithMessagePort$1 = {
|
|
455
|
+
__proto__: null,
|
|
456
|
+
create: create$5,
|
|
457
|
+
signal: signal$1,
|
|
458
|
+
wrap: wrap$5
|
|
459
|
+
};
|
|
460
|
+
|
|
461
|
+
// packages/extension-api/node_modules/@lvce-editor/command/dist/index.js
|
|
462
|
+
var CommandNotFoundError = class extends Error {
|
|
463
|
+
constructor(command) {
|
|
464
|
+
super(`Command not found ${command}`);
|
|
465
|
+
this.name = "CommandNotFoundError";
|
|
466
|
+
}
|
|
467
|
+
};
|
|
468
|
+
var commands = /* @__PURE__ */ Object.create(null);
|
|
469
|
+
var register = (commandMap5) => {
|
|
470
|
+
Object.assign(commands, commandMap5);
|
|
471
|
+
};
|
|
472
|
+
var getCommand = (key) => {
|
|
473
|
+
return commands[key];
|
|
474
|
+
};
|
|
475
|
+
var execute = (command, ...args) => {
|
|
476
|
+
const fn = getCommand(command);
|
|
477
|
+
if (!fn) {
|
|
478
|
+
throw new CommandNotFoundError(command);
|
|
479
|
+
}
|
|
480
|
+
return fn(...args);
|
|
481
|
+
};
|
|
482
|
+
|
|
483
|
+
// packages/extension-api/node_modules/@lvce-editor/json-rpc/dist/index.js
|
|
484
|
+
var Two = "2.0";
|
|
485
|
+
var callbacks = /* @__PURE__ */ Object.create(null);
|
|
486
|
+
var get = (id2) => {
|
|
487
|
+
return callbacks[id2];
|
|
488
|
+
};
|
|
489
|
+
var remove = (id2) => {
|
|
490
|
+
delete callbacks[id2];
|
|
491
|
+
};
|
|
492
|
+
var JsonRpcError = class extends Error {
|
|
493
|
+
constructor(message) {
|
|
494
|
+
super(message);
|
|
495
|
+
this.name = "JsonRpcError";
|
|
496
|
+
}
|
|
497
|
+
};
|
|
498
|
+
var NewLine3 = "\n";
|
|
499
|
+
var DomException = "DOMException";
|
|
500
|
+
var ReferenceError$1 = "ReferenceError";
|
|
501
|
+
var SyntaxError$1 = "SyntaxError";
|
|
502
|
+
var TypeError$1 = "TypeError";
|
|
503
|
+
var getErrorConstructor = (message, type) => {
|
|
504
|
+
if (type) {
|
|
505
|
+
switch (type) {
|
|
506
|
+
case DomException:
|
|
507
|
+
return DOMException;
|
|
508
|
+
case ReferenceError$1:
|
|
509
|
+
return ReferenceError;
|
|
510
|
+
case SyntaxError$1:
|
|
511
|
+
return SyntaxError;
|
|
512
|
+
case TypeError$1:
|
|
513
|
+
return TypeError;
|
|
514
|
+
default:
|
|
515
|
+
return Error;
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
if (message.startsWith("TypeError: ")) {
|
|
519
|
+
return TypeError;
|
|
520
|
+
}
|
|
521
|
+
if (message.startsWith("SyntaxError: ")) {
|
|
522
|
+
return SyntaxError;
|
|
523
|
+
}
|
|
524
|
+
if (message.startsWith("ReferenceError: ")) {
|
|
525
|
+
return ReferenceError;
|
|
526
|
+
}
|
|
527
|
+
return Error;
|
|
528
|
+
};
|
|
529
|
+
var constructError = (message, type, name) => {
|
|
530
|
+
const ErrorConstructor = getErrorConstructor(message, type);
|
|
531
|
+
if (ErrorConstructor === DOMException && name) {
|
|
532
|
+
return new ErrorConstructor(message, name);
|
|
533
|
+
}
|
|
534
|
+
if (ErrorConstructor === Error) {
|
|
535
|
+
const error = new Error(message);
|
|
536
|
+
if (name && name !== "VError") {
|
|
537
|
+
error.name = name;
|
|
538
|
+
}
|
|
539
|
+
return error;
|
|
540
|
+
}
|
|
541
|
+
return new ErrorConstructor(message);
|
|
542
|
+
};
|
|
543
|
+
var joinLines2 = (lines) => {
|
|
544
|
+
return lines.join(NewLine3);
|
|
545
|
+
};
|
|
546
|
+
var splitLines2 = (lines) => {
|
|
547
|
+
return lines.split(NewLine3);
|
|
548
|
+
};
|
|
549
|
+
var getCurrentStack = () => {
|
|
550
|
+
const stackLinesToSkip = 3;
|
|
551
|
+
const currentStack = joinLines2(splitLines2(new Error().stack || "").slice(stackLinesToSkip));
|
|
552
|
+
return currentStack;
|
|
553
|
+
};
|
|
554
|
+
var getNewLineIndex2 = (string2, startIndex = void 0) => {
|
|
555
|
+
return string2.indexOf(NewLine3, startIndex);
|
|
556
|
+
};
|
|
557
|
+
var getParentStack = (error) => {
|
|
558
|
+
let parentStack = error.stack || error.data || error.message || "";
|
|
559
|
+
if (parentStack.startsWith(" at")) {
|
|
560
|
+
parentStack = error.message + NewLine3 + parentStack;
|
|
561
|
+
}
|
|
562
|
+
return parentStack;
|
|
563
|
+
};
|
|
564
|
+
var MethodNotFound = -32601;
|
|
565
|
+
var Custom = -32001;
|
|
566
|
+
var restoreJsonRpcError = (error) => {
|
|
567
|
+
const currentStack = getCurrentStack();
|
|
568
|
+
if (error && error instanceof Error) {
|
|
569
|
+
if (typeof error.stack === "string") {
|
|
570
|
+
error.stack = error.stack + NewLine3 + currentStack;
|
|
571
|
+
}
|
|
572
|
+
return error;
|
|
573
|
+
}
|
|
574
|
+
if (error && error.code && error.code === MethodNotFound) {
|
|
575
|
+
const restoredError = new JsonRpcError(error.message);
|
|
576
|
+
const parentStack = getParentStack(error);
|
|
577
|
+
restoredError.stack = parentStack + NewLine3 + currentStack;
|
|
578
|
+
return restoredError;
|
|
579
|
+
}
|
|
580
|
+
if (error && error.message) {
|
|
581
|
+
const restoredError = constructError(error.message, error.type, error.name);
|
|
582
|
+
if (error.data) {
|
|
583
|
+
if (error.data.stack && error.data.type && error.message) {
|
|
584
|
+
restoredError.stack = error.data.type + ": " + error.message + NewLine3 + error.data.stack + NewLine3 + currentStack;
|
|
585
|
+
} else if (error.data.stack) {
|
|
586
|
+
restoredError.stack = error.data.stack;
|
|
587
|
+
}
|
|
588
|
+
if (error.data.codeFrame) {
|
|
589
|
+
restoredError.codeFrame = error.data.codeFrame;
|
|
590
|
+
}
|
|
591
|
+
if (error.data.code) {
|
|
592
|
+
restoredError.code = error.data.code;
|
|
593
|
+
}
|
|
594
|
+
if (error.data.type) {
|
|
595
|
+
restoredError.name = error.data.type;
|
|
596
|
+
}
|
|
597
|
+
} else {
|
|
598
|
+
if (error.stack) {
|
|
599
|
+
const lowerStack = restoredError.stack || "";
|
|
600
|
+
const indexNewLine = getNewLineIndex2(lowerStack);
|
|
601
|
+
const parentStack = getParentStack(error);
|
|
602
|
+
restoredError.stack = parentStack + lowerStack.slice(indexNewLine);
|
|
603
|
+
}
|
|
604
|
+
if (error.codeFrame) {
|
|
605
|
+
restoredError.codeFrame = error.codeFrame;
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
return restoredError;
|
|
609
|
+
}
|
|
610
|
+
if (typeof error === "string") {
|
|
611
|
+
return new Error(`JsonRpc Error: ${error}`);
|
|
612
|
+
}
|
|
613
|
+
return new Error(`JsonRpc Error: ${error}`);
|
|
614
|
+
};
|
|
615
|
+
var unwrapJsonRpcResult = (responseMessage) => {
|
|
616
|
+
if ("error" in responseMessage) {
|
|
617
|
+
const restoredError = restoreJsonRpcError(responseMessage.error);
|
|
618
|
+
throw restoredError;
|
|
619
|
+
}
|
|
620
|
+
if ("result" in responseMessage) {
|
|
621
|
+
return responseMessage.result;
|
|
622
|
+
}
|
|
623
|
+
throw new JsonRpcError("unexpected response message");
|
|
624
|
+
};
|
|
625
|
+
var warn = (...args) => {
|
|
626
|
+
console.warn(...args);
|
|
627
|
+
};
|
|
628
|
+
var resolve = (id2, response) => {
|
|
629
|
+
const fn = get(id2);
|
|
630
|
+
if (!fn) {
|
|
631
|
+
console.log(response);
|
|
632
|
+
warn(`callback ${id2} may already be disposed`);
|
|
633
|
+
return;
|
|
634
|
+
}
|
|
635
|
+
fn(response);
|
|
636
|
+
remove(id2);
|
|
637
|
+
};
|
|
638
|
+
var E_COMMAND_NOT_FOUND = "E_COMMAND_NOT_FOUND";
|
|
639
|
+
var getErrorType = (prettyError) => {
|
|
640
|
+
if (prettyError && prettyError.type) {
|
|
641
|
+
return prettyError.type;
|
|
642
|
+
}
|
|
643
|
+
if (prettyError && prettyError.constructor && prettyError.constructor.name) {
|
|
644
|
+
return prettyError.constructor.name;
|
|
645
|
+
}
|
|
646
|
+
return void 0;
|
|
647
|
+
};
|
|
648
|
+
var isAlreadyStack = (line) => {
|
|
649
|
+
return line.trim().startsWith("at ");
|
|
650
|
+
};
|
|
651
|
+
var getStack = (prettyError) => {
|
|
652
|
+
const stackString = prettyError.stack || "";
|
|
653
|
+
const newLineIndex = stackString.indexOf("\n");
|
|
654
|
+
if (newLineIndex !== -1 && !isAlreadyStack(stackString.slice(0, newLineIndex))) {
|
|
655
|
+
return stackString.slice(newLineIndex + 1);
|
|
656
|
+
}
|
|
657
|
+
return stackString;
|
|
658
|
+
};
|
|
659
|
+
var getErrorProperty = (error, prettyError) => {
|
|
660
|
+
if (error && error.code === E_COMMAND_NOT_FOUND) {
|
|
661
|
+
return {
|
|
662
|
+
code: MethodNotFound,
|
|
663
|
+
data: error.stack,
|
|
664
|
+
message: error.message
|
|
665
|
+
};
|
|
666
|
+
}
|
|
667
|
+
return {
|
|
668
|
+
code: Custom,
|
|
669
|
+
data: {
|
|
670
|
+
code: prettyError.code,
|
|
671
|
+
codeFrame: prettyError.codeFrame,
|
|
672
|
+
name: prettyError.name,
|
|
673
|
+
stack: getStack(prettyError),
|
|
674
|
+
type: getErrorType(prettyError)
|
|
675
|
+
},
|
|
676
|
+
message: prettyError.message
|
|
677
|
+
};
|
|
678
|
+
};
|
|
679
|
+
var create$1 = (id2, error) => {
|
|
680
|
+
return {
|
|
681
|
+
error,
|
|
682
|
+
id: id2,
|
|
683
|
+
jsonrpc: Two
|
|
684
|
+
};
|
|
685
|
+
};
|
|
686
|
+
var getErrorResponse = (id2, error, preparePrettyError2, logError2) => {
|
|
687
|
+
const prettyError = preparePrettyError2(error);
|
|
688
|
+
logError2(error, prettyError);
|
|
689
|
+
const errorProperty = getErrorProperty(error, prettyError);
|
|
690
|
+
return create$1(id2, errorProperty);
|
|
691
|
+
};
|
|
692
|
+
var create = (message, result) => {
|
|
693
|
+
return {
|
|
694
|
+
id: message.id,
|
|
695
|
+
jsonrpc: Two,
|
|
696
|
+
result: result ?? null
|
|
697
|
+
};
|
|
698
|
+
};
|
|
699
|
+
var getSuccessResponse = (message, result) => {
|
|
700
|
+
const resultProperty = result ?? null;
|
|
701
|
+
return create(message, resultProperty);
|
|
702
|
+
};
|
|
703
|
+
var getErrorResponseSimple = (id2, error) => {
|
|
704
|
+
return {
|
|
705
|
+
error: {
|
|
706
|
+
code: Custom,
|
|
707
|
+
data: error,
|
|
708
|
+
// @ts-ignore
|
|
709
|
+
message: error.message
|
|
710
|
+
},
|
|
711
|
+
id: id2,
|
|
712
|
+
jsonrpc: Two
|
|
713
|
+
};
|
|
714
|
+
};
|
|
715
|
+
var getResponse = async (message, ipc, execute2, preparePrettyError2, logError2, requiresSocket2) => {
|
|
716
|
+
try {
|
|
717
|
+
const result = requiresSocket2(message.method) ? await execute2(message.method, ipc, ...message.params) : await execute2(message.method, ...message.params);
|
|
718
|
+
return getSuccessResponse(message, result);
|
|
719
|
+
} catch (error) {
|
|
720
|
+
if (ipc.canUseSimpleErrorResponse) {
|
|
721
|
+
return getErrorResponseSimple(message.id, error);
|
|
722
|
+
}
|
|
723
|
+
return getErrorResponse(message.id, error, preparePrettyError2, logError2);
|
|
724
|
+
}
|
|
725
|
+
};
|
|
726
|
+
var defaultPreparePrettyError = (error) => {
|
|
727
|
+
return error;
|
|
728
|
+
};
|
|
729
|
+
var defaultLogError = () => {
|
|
730
|
+
};
|
|
731
|
+
var defaultRequiresSocket = () => {
|
|
732
|
+
return false;
|
|
733
|
+
};
|
|
734
|
+
var defaultResolve = resolve;
|
|
735
|
+
var normalizeParams = (args) => {
|
|
736
|
+
if (args.length === 1) {
|
|
737
|
+
const options = args[0];
|
|
738
|
+
return {
|
|
739
|
+
execute: options.execute,
|
|
740
|
+
ipc: options.ipc,
|
|
741
|
+
logError: options.logError || defaultLogError,
|
|
742
|
+
message: options.message,
|
|
743
|
+
preparePrettyError: options.preparePrettyError || defaultPreparePrettyError,
|
|
744
|
+
requiresSocket: options.requiresSocket || defaultRequiresSocket,
|
|
745
|
+
resolve: options.resolve || defaultResolve
|
|
746
|
+
};
|
|
747
|
+
}
|
|
748
|
+
return {
|
|
749
|
+
execute: args[2],
|
|
750
|
+
ipc: args[0],
|
|
751
|
+
logError: args[5],
|
|
752
|
+
message: args[1],
|
|
753
|
+
preparePrettyError: args[4],
|
|
754
|
+
requiresSocket: args[6],
|
|
755
|
+
resolve: args[3]
|
|
756
|
+
};
|
|
757
|
+
};
|
|
758
|
+
var handleJsonRpcMessage = async (...args) => {
|
|
759
|
+
const options = normalizeParams(args);
|
|
760
|
+
const {
|
|
761
|
+
execute: execute2,
|
|
762
|
+
ipc,
|
|
763
|
+
logError: logError2,
|
|
764
|
+
message,
|
|
765
|
+
preparePrettyError: preparePrettyError2,
|
|
766
|
+
requiresSocket: requiresSocket2,
|
|
767
|
+
resolve: resolve2
|
|
768
|
+
} = options;
|
|
769
|
+
if ("id" in message) {
|
|
770
|
+
if ("method" in message) {
|
|
771
|
+
const response = await getResponse(message, ipc, execute2, preparePrettyError2, logError2, requiresSocket2);
|
|
772
|
+
try {
|
|
773
|
+
ipc.send(response);
|
|
774
|
+
} catch (error) {
|
|
775
|
+
const errorResponse = getErrorResponse(message.id, error, preparePrettyError2, logError2);
|
|
776
|
+
ipc.send(errorResponse);
|
|
777
|
+
}
|
|
778
|
+
return;
|
|
779
|
+
}
|
|
780
|
+
resolve2(message.id, message);
|
|
781
|
+
return;
|
|
782
|
+
}
|
|
783
|
+
if ("method" in message) {
|
|
784
|
+
await getResponse(message, ipc, execute2, preparePrettyError2, logError2, requiresSocket2);
|
|
785
|
+
return;
|
|
786
|
+
}
|
|
787
|
+
throw new JsonRpcError("unexpected message");
|
|
788
|
+
};
|
|
789
|
+
|
|
790
|
+
// packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/JsonRpcVersion/JsonRpcVersion.js
|
|
791
|
+
var Two2 = "2.0";
|
|
792
|
+
|
|
793
|
+
// packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/JsonRpcEvent/JsonRpcEvent.js
|
|
794
|
+
var create2 = (method, params) => {
|
|
795
|
+
return {
|
|
796
|
+
jsonrpc: Two2,
|
|
797
|
+
method,
|
|
798
|
+
params
|
|
799
|
+
};
|
|
800
|
+
};
|
|
801
|
+
|
|
802
|
+
// packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/JsonRpcRequest/JsonRpcRequest.js
|
|
803
|
+
var create3 = (id2, method, params) => {
|
|
804
|
+
const message = {
|
|
805
|
+
id: id2,
|
|
806
|
+
jsonrpc: Two2,
|
|
807
|
+
method,
|
|
808
|
+
params
|
|
809
|
+
};
|
|
810
|
+
return message;
|
|
811
|
+
};
|
|
812
|
+
|
|
813
|
+
// packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/Id/Id.js
|
|
814
|
+
var id = 0;
|
|
815
|
+
var create4 = () => {
|
|
816
|
+
return ++id;
|
|
817
|
+
};
|
|
818
|
+
|
|
819
|
+
// packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/RegisterPromise/RegisterPromise.js
|
|
820
|
+
var registerPromise = (map) => {
|
|
821
|
+
const id2 = create4();
|
|
822
|
+
const { promise, resolve: resolve2 } = Promise.withResolvers();
|
|
823
|
+
map[id2] = resolve2;
|
|
824
|
+
return { id: id2, promise };
|
|
825
|
+
};
|
|
826
|
+
|
|
827
|
+
// packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/CreateRpc/CreateRpc.js
|
|
828
|
+
var invokeHelper = async (callbacks2, ipc, method, params, useSendAndTransfer) => {
|
|
829
|
+
const { id: id2, promise } = registerPromise(callbacks2);
|
|
830
|
+
const message = create3(id2, method, params);
|
|
831
|
+
if (useSendAndTransfer && ipc.sendAndTransfer) {
|
|
832
|
+
ipc.sendAndTransfer(message);
|
|
833
|
+
} else {
|
|
834
|
+
ipc.send(message);
|
|
835
|
+
}
|
|
836
|
+
const responseMessage = await promise;
|
|
837
|
+
return unwrapJsonRpcResult(responseMessage);
|
|
838
|
+
};
|
|
839
|
+
var createRpc = (ipc) => {
|
|
840
|
+
const callbacks2 = /* @__PURE__ */ Object.create(null);
|
|
841
|
+
ipc._resolve = (id2, response) => {
|
|
842
|
+
const fn = callbacks2[id2];
|
|
843
|
+
if (!fn) {
|
|
844
|
+
console.warn(`callback ${id2} may already be disposed`);
|
|
845
|
+
return;
|
|
846
|
+
}
|
|
847
|
+
fn(response);
|
|
848
|
+
delete callbacks2[id2];
|
|
849
|
+
};
|
|
850
|
+
const rpc2 = {
|
|
851
|
+
async dispose() {
|
|
852
|
+
await ipc?.dispose();
|
|
853
|
+
},
|
|
854
|
+
invoke(method, ...params) {
|
|
855
|
+
return invokeHelper(callbacks2, ipc, method, params, false);
|
|
856
|
+
},
|
|
857
|
+
invokeAndTransfer(method, ...params) {
|
|
858
|
+
return invokeHelper(callbacks2, ipc, method, params, true);
|
|
859
|
+
},
|
|
860
|
+
// @ts-ignore
|
|
861
|
+
ipc,
|
|
862
|
+
/**
|
|
863
|
+
* @deprecated
|
|
864
|
+
*/
|
|
865
|
+
send(method, ...params) {
|
|
866
|
+
const message = create2(method, params);
|
|
867
|
+
ipc.send(message);
|
|
868
|
+
}
|
|
869
|
+
};
|
|
870
|
+
return rpc2;
|
|
871
|
+
};
|
|
872
|
+
|
|
873
|
+
// packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/HandleMessage/HandleMessage.js
|
|
874
|
+
var requiresSocket = () => {
|
|
875
|
+
return false;
|
|
876
|
+
};
|
|
877
|
+
var preparePrettyError = (error) => {
|
|
878
|
+
return error;
|
|
879
|
+
};
|
|
880
|
+
var logError = () => {
|
|
881
|
+
};
|
|
882
|
+
var handleMessage = (event) => {
|
|
883
|
+
const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
|
|
884
|
+
const actualExecute = event?.target?.execute || execute;
|
|
885
|
+
return handleJsonRpcMessage(event.target, event.data, actualExecute, event.target._resolve, preparePrettyError, logError, actualRequiresSocket);
|
|
886
|
+
};
|
|
887
|
+
|
|
888
|
+
// packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/HandleIpc/HandleIpc.js
|
|
889
|
+
var handleIpc = (ipc) => {
|
|
890
|
+
if ("addEventListener" in ipc) {
|
|
891
|
+
ipc.addEventListener("message", handleMessage);
|
|
892
|
+
} else if ("on" in ipc) {
|
|
893
|
+
ipc.on("message", handleMessage);
|
|
894
|
+
}
|
|
895
|
+
};
|
|
896
|
+
|
|
897
|
+
// packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/IpcChildNode/IpcChildNode.js
|
|
898
|
+
var listen = async (module, options) => {
|
|
899
|
+
const rawIpc = await module.listen(options);
|
|
900
|
+
if (module.signal) {
|
|
901
|
+
module.signal(rawIpc);
|
|
902
|
+
}
|
|
903
|
+
const ipc = module.wrap(rawIpc);
|
|
904
|
+
return ipc;
|
|
905
|
+
};
|
|
906
|
+
|
|
907
|
+
// packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/PlainMessagePortRpc/PlainMessagePortRpc.js
|
|
908
|
+
var PlainMessagePortRpc_exports = {};
|
|
909
|
+
__export(PlainMessagePortRpc_exports, {
|
|
910
|
+
create: () => create5
|
|
911
|
+
});
|
|
912
|
+
var create5 = async ({ commandMap: commandMap5, isMessagePortOpen = true, messagePort }) => {
|
|
913
|
+
register(commandMap5);
|
|
914
|
+
const rawIpc = await IpcParentWithMessagePort$1.create({
|
|
915
|
+
isMessagePortOpen,
|
|
916
|
+
messagePort
|
|
917
|
+
});
|
|
918
|
+
const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
|
|
919
|
+
handleIpc(ipc);
|
|
920
|
+
const rpc2 = createRpc(ipc);
|
|
921
|
+
messagePort.start();
|
|
922
|
+
return rpc2;
|
|
923
|
+
};
|
|
924
|
+
|
|
925
|
+
// packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/WebWorkerRpcClient/WebWorkerRpcClient.js
|
|
926
|
+
var WebWorkerRpcClient_exports = {};
|
|
927
|
+
__export(WebWorkerRpcClient_exports, {
|
|
928
|
+
create: () => create6
|
|
929
|
+
});
|
|
930
|
+
var create6 = async ({ commandMap: commandMap5 }) => {
|
|
931
|
+
register(commandMap5);
|
|
932
|
+
const ipc = await listen(IpcChildWithModuleWorkerAndMessagePort$1);
|
|
933
|
+
handleIpc(ipc);
|
|
934
|
+
const rpc2 = createRpc(ipc);
|
|
935
|
+
return rpc2;
|
|
936
|
+
};
|
|
937
|
+
|
|
938
|
+
// packages/extension-api/src/parts/ExtensionApiError/ExtensionApiError.ts
|
|
939
|
+
var ExtensionApiError = class extends Error {
|
|
940
|
+
constructor(message) {
|
|
941
|
+
super(message);
|
|
942
|
+
this.name = "ExtensionApiError";
|
|
943
|
+
}
|
|
944
|
+
};
|
|
945
|
+
|
|
946
|
+
// packages/extension-api/src/parts/CommandRegistry/CommandRegistry.ts
|
|
947
|
+
var commands2 = /* @__PURE__ */ Object.create(null);
|
|
948
|
+
var assertCommand = (command) => {
|
|
949
|
+
if (!command) {
|
|
950
|
+
throw new ExtensionApiError("command is not defined");
|
|
951
|
+
}
|
|
952
|
+
if (typeof command.id !== "string" || command.id.length === 0) {
|
|
953
|
+
throw new ExtensionApiError("command is missing id");
|
|
954
|
+
}
|
|
955
|
+
if (typeof command.execute !== "function") {
|
|
956
|
+
throw new ExtensionApiError(`command ${command.id} is missing execute function`);
|
|
957
|
+
}
|
|
958
|
+
if (command.id in commands2) {
|
|
959
|
+
throw new ExtensionApiError(`command ${command.id} is already registered`);
|
|
960
|
+
}
|
|
961
|
+
};
|
|
962
|
+
var registerCommand = (command) => {
|
|
963
|
+
assertCommand(command);
|
|
964
|
+
commands2[command.id] = {
|
|
965
|
+
execute(...args) {
|
|
966
|
+
return command.execute(...args);
|
|
967
|
+
},
|
|
968
|
+
id: command.id
|
|
969
|
+
};
|
|
970
|
+
return {
|
|
971
|
+
dispose() {
|
|
972
|
+
delete commands2[command.id];
|
|
973
|
+
}
|
|
974
|
+
};
|
|
975
|
+
};
|
|
976
|
+
var getCommandRegistrySnapshot = () => {
|
|
977
|
+
return {
|
|
978
|
+
commands: Object.values(commands2)
|
|
979
|
+
};
|
|
980
|
+
};
|
|
981
|
+
var executeCommand = async (id2, ...args) => {
|
|
982
|
+
const command = commands2[id2];
|
|
983
|
+
if (!command) {
|
|
984
|
+
throw new ExtensionApiError(`command ${id2} not found`);
|
|
985
|
+
}
|
|
986
|
+
return command.execute(...args);
|
|
987
|
+
};
|
|
988
|
+
|
|
989
|
+
// packages/extension-api/src/parts/ProviderRegistry/ProviderRegistry.ts
|
|
990
|
+
var getProviderMethod = (provider, methodName) => {
|
|
991
|
+
const method = provider[methodName];
|
|
992
|
+
if (typeof method !== "function") {
|
|
993
|
+
return void 0;
|
|
994
|
+
}
|
|
995
|
+
return method;
|
|
996
|
+
};
|
|
997
|
+
var assertProviderMethod = (provider, providerName, providerId, methodName) => {
|
|
998
|
+
if (typeof provider[methodName] !== "function") {
|
|
999
|
+
throw new ExtensionApiError(`${providerName} ${providerId} is missing ${methodName} function`);
|
|
1000
|
+
}
|
|
1001
|
+
};
|
|
1002
|
+
var assertOptionalProviderMethod = (provider, providerName, providerId, methodName) => {
|
|
1003
|
+
if (provider[methodName] !== void 0 && typeof provider[methodName] !== "function") {
|
|
1004
|
+
throw new ExtensionApiError(`${providerName} ${providerId} has invalid ${methodName} function`);
|
|
1005
|
+
}
|
|
1006
|
+
};
|
|
1007
|
+
var createProviderRegistry = ({
|
|
1008
|
+
mapProvider,
|
|
1009
|
+
optionalMethods = [],
|
|
1010
|
+
providerName,
|
|
1011
|
+
requiredMethods,
|
|
1012
|
+
requireLanguageId = false
|
|
1013
|
+
}) => {
|
|
1014
|
+
const providers = /* @__PURE__ */ Object.create(null);
|
|
1015
|
+
const hasProvider = (id2) => {
|
|
1016
|
+
return id2 in providers;
|
|
1017
|
+
};
|
|
1018
|
+
const registerProvider = (provider) => {
|
|
1019
|
+
if (!provider) {
|
|
1020
|
+
throw new ExtensionApiError(`${providerName} is not defined`);
|
|
1021
|
+
}
|
|
1022
|
+
const providerRecord = provider;
|
|
1023
|
+
const { id: id2 } = providerRecord;
|
|
1024
|
+
if (typeof id2 !== "string" || id2.length === 0) {
|
|
1025
|
+
throw new ExtensionApiError(`${providerName} is missing id`);
|
|
1026
|
+
}
|
|
1027
|
+
if (requireLanguageId && (typeof providerRecord.languageId !== "string" || providerRecord.languageId.length === 0)) {
|
|
1028
|
+
throw new ExtensionApiError(`${providerName} ${id2} is missing languageId`);
|
|
1029
|
+
}
|
|
1030
|
+
for (const methodName of requiredMethods) {
|
|
1031
|
+
assertProviderMethod(providerRecord, providerName, id2, methodName);
|
|
1032
|
+
}
|
|
1033
|
+
for (const methodName of optionalMethods) {
|
|
1034
|
+
assertOptionalProviderMethod(providerRecord, providerName, id2, methodName);
|
|
1035
|
+
}
|
|
1036
|
+
if (hasProvider(id2)) {
|
|
1037
|
+
throw new ExtensionApiError(`${providerName} ${id2} is already registered`);
|
|
1038
|
+
}
|
|
1039
|
+
const registeredProvider = mapProvider(provider);
|
|
1040
|
+
providers[registeredProvider.id] = registeredProvider;
|
|
1041
|
+
return registeredProvider;
|
|
1042
|
+
};
|
|
1043
|
+
const deleteProvider = (id2) => {
|
|
1044
|
+
delete providers[id2];
|
|
1045
|
+
};
|
|
1046
|
+
const getProviders = () => {
|
|
1047
|
+
return Object.values(providers);
|
|
1048
|
+
};
|
|
1049
|
+
const getProviderByLanguageId = (languageId) => {
|
|
1050
|
+
return getProviders().find((provider) => {
|
|
1051
|
+
return "languageId" in provider && provider.languageId === languageId;
|
|
1052
|
+
});
|
|
1053
|
+
};
|
|
1054
|
+
const reset = () => {
|
|
1055
|
+
for (const id2 of Object.keys(providers)) {
|
|
1056
|
+
delete providers[id2];
|
|
1057
|
+
}
|
|
1058
|
+
};
|
|
1059
|
+
const executeProviderByLanguageId = async (languageId, methodName, args, validateResult) => {
|
|
1060
|
+
const provider = getProviderByLanguageId(languageId);
|
|
1061
|
+
if (!provider) {
|
|
1062
|
+
throw new ExtensionApiError(`No ${providerName} found for ${languageId}`);
|
|
1063
|
+
}
|
|
1064
|
+
const method = getProviderMethod(provider, methodName);
|
|
1065
|
+
if (!method) {
|
|
1066
|
+
throw new ExtensionApiError(`${providerName} ${provider.id} is missing ${methodName} function`);
|
|
1067
|
+
}
|
|
1068
|
+
const result = await method(...args);
|
|
1069
|
+
return validateResult ? validateResult(result) : result;
|
|
1070
|
+
};
|
|
1071
|
+
return {
|
|
1072
|
+
deleteProvider,
|
|
1073
|
+
executeProviderByLanguageId,
|
|
1074
|
+
getProviderByLanguageId,
|
|
1075
|
+
getProviders,
|
|
1076
|
+
hasProvider,
|
|
1077
|
+
registerProvider,
|
|
1078
|
+
reset
|
|
1079
|
+
};
|
|
1080
|
+
};
|
|
1081
|
+
|
|
1082
|
+
// packages/extension-api/src/parts/CompletionProviderRegistry/CompletionProviderRegistry.ts
|
|
1083
|
+
var getType = (value) => {
|
|
1084
|
+
if (value === null) {
|
|
1085
|
+
return "null";
|
|
1086
|
+
}
|
|
1087
|
+
if (typeof value === "string") {
|
|
1088
|
+
return JSON.stringify(value);
|
|
1089
|
+
}
|
|
1090
|
+
return typeof value;
|
|
1091
|
+
};
|
|
1092
|
+
var validateCompletionResult = (completion) => {
|
|
1093
|
+
if (!Array.isArray(completion)) {
|
|
1094
|
+
throw new ExtensionApiError(`invalid completion result: completion must be of type array but is ${getType(completion)}`);
|
|
1095
|
+
}
|
|
1096
|
+
for (const item of completion) {
|
|
1097
|
+
if (!item || typeof item !== "object" || Array.isArray(item)) {
|
|
1098
|
+
throw new ExtensionApiError(`invalid completion result: expected completion item to be of type object but was of type ${getType(item)}`);
|
|
1099
|
+
}
|
|
1100
|
+
}
|
|
1101
|
+
return completion;
|
|
1102
|
+
};
|
|
1103
|
+
var registry = createProviderRegistry({
|
|
1104
|
+
mapProvider(provider) {
|
|
1105
|
+
return {
|
|
1106
|
+
id: provider.id,
|
|
1107
|
+
languageId: provider.languageId,
|
|
1108
|
+
provideCompletions(textDocument, offset, ...args) {
|
|
1109
|
+
return provider.provideCompletions(textDocument, offset, ...args);
|
|
1110
|
+
},
|
|
1111
|
+
resolveCompletionItem: provider.resolveCompletionItem ? (textDocument, offset, name, completionItem, ...args) => provider.resolveCompletionItem?.(textDocument, offset, name, completionItem, ...args) : void 0
|
|
1112
|
+
};
|
|
1113
|
+
},
|
|
1114
|
+
optionalMethods: ["resolveCompletionItem"],
|
|
1115
|
+
providerName: "completion provider",
|
|
1116
|
+
requiredMethods: ["provideCompletions"],
|
|
1117
|
+
requireLanguageId: true
|
|
1118
|
+
});
|
|
1119
|
+
var hasCompletionProvider = registry.hasProvider;
|
|
1120
|
+
var registerCompletionProvider = (provider) => {
|
|
1121
|
+
const registeredProvider = registry.registerProvider(provider);
|
|
1122
|
+
return {
|
|
1123
|
+
dispose() {
|
|
1124
|
+
registry.deleteProvider(registeredProvider.id);
|
|
1125
|
+
}
|
|
1126
|
+
};
|
|
1127
|
+
};
|
|
1128
|
+
var executeCompletionProvider = async (textDocument, offset, ...args) => {
|
|
1129
|
+
return registry.executeProviderByLanguageId(
|
|
1130
|
+
textDocument.languageId,
|
|
1131
|
+
"provideCompletions",
|
|
1132
|
+
[textDocument, offset, ...args],
|
|
1133
|
+
validateCompletionResult
|
|
1134
|
+
);
|
|
1135
|
+
};
|
|
1136
|
+
var executeResolveCompletionItemProvider = async (textDocument, offset, name, completionItem, ...args) => {
|
|
1137
|
+
const provider = registry.getProviderByLanguageId(textDocument.languageId);
|
|
1138
|
+
if (!provider) {
|
|
1139
|
+
throw new ExtensionApiError(`No completion provider found for ${textDocument.languageId}`);
|
|
1140
|
+
}
|
|
1141
|
+
return provider.resolveCompletionItem?.(textDocument, offset, name, completionItem, ...args);
|
|
1142
|
+
};
|
|
1143
|
+
var getCompletionProviders = registry.getProviders;
|
|
1144
|
+
var getCompletionProviderRegistrySnapshot = () => {
|
|
1145
|
+
return {
|
|
1146
|
+
providers: registry.getProviders()
|
|
1147
|
+
};
|
|
1148
|
+
};
|
|
1149
|
+
var resetCompletionProviderRegistry = registry.reset;
|
|
1150
|
+
|
|
1151
|
+
// packages/extension-api/src/parts/FormattingProviderRegistry/FormattingProviderRegistry.ts
|
|
1152
|
+
var registry2 = createProviderRegistry({
|
|
1153
|
+
mapProvider(provider) {
|
|
1154
|
+
return {
|
|
1155
|
+
format(textDocument, ...args) {
|
|
1156
|
+
return provider.format(textDocument, ...args);
|
|
1157
|
+
},
|
|
1158
|
+
id: provider.id,
|
|
1159
|
+
languageId: provider.languageId
|
|
1160
|
+
};
|
|
1161
|
+
},
|
|
1162
|
+
providerName: "formatting provider",
|
|
1163
|
+
requiredMethods: ["format"],
|
|
1164
|
+
requireLanguageId: true
|
|
1165
|
+
});
|
|
1166
|
+
var hasFormattingProvider = registry2.hasProvider;
|
|
1167
|
+
var registerFormattingProvider = (provider) => {
|
|
1168
|
+
const registeredProvider = registry2.registerProvider(provider);
|
|
1169
|
+
return {
|
|
1170
|
+
dispose() {
|
|
1171
|
+
registry2.deleteProvider(registeredProvider.id);
|
|
1172
|
+
}
|
|
1173
|
+
};
|
|
1174
|
+
};
|
|
1175
|
+
var executeFormattingProvider = async (textDocument, ...args) => {
|
|
1176
|
+
return registry2.executeProviderByLanguageId(textDocument.languageId, "format", [textDocument, ...args]);
|
|
1177
|
+
};
|
|
1178
|
+
var getFormattingProviders = registry2.getProviders;
|
|
1179
|
+
var getFormattingProviderRegistrySnapshot = () => {
|
|
1180
|
+
return {
|
|
1181
|
+
providers: registry2.getProviders()
|
|
1182
|
+
};
|
|
1183
|
+
};
|
|
1184
|
+
var resetFormattingProviderRegistry = registry2.reset;
|
|
1185
|
+
|
|
1186
|
+
// packages/extension-api/src/parts/Rpc/Rpc.ts
|
|
1187
|
+
var rpc;
|
|
1188
|
+
var set = (value) => {
|
|
1189
|
+
rpc = value;
|
|
1190
|
+
};
|
|
1191
|
+
var invoke = async (method, ...params) => {
|
|
1192
|
+
if (!rpc) {
|
|
1193
|
+
return void 0;
|
|
1194
|
+
}
|
|
1195
|
+
return rpc.invoke(method, ...params);
|
|
1196
|
+
};
|
|
1197
|
+
|
|
1198
|
+
// packages/extension-api/src/parts/NotifyStatusBarChange/NotifyStatusBarChange.ts
|
|
1199
|
+
var notifyStatusBarChange = async (id2) => {
|
|
1200
|
+
await invoke("StatusBar.handleChange", id2);
|
|
1201
|
+
};
|
|
1202
|
+
|
|
1203
|
+
// packages/extension-api/src/parts/StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.ts
|
|
1204
|
+
var registry3 = createProviderRegistry({
|
|
1205
|
+
mapProvider(provider) {
|
|
1206
|
+
return {
|
|
1207
|
+
getStatusBarItem() {
|
|
1208
|
+
return provider.getStatusBarItem();
|
|
1209
|
+
},
|
|
1210
|
+
id: provider.id
|
|
1211
|
+
};
|
|
1212
|
+
},
|
|
1213
|
+
providerName: "status bar item provider",
|
|
1214
|
+
requiredMethods: ["getStatusBarItem"]
|
|
1215
|
+
});
|
|
1216
|
+
var getStatusBarItem = (provider) => {
|
|
1217
|
+
return provider.getStatusBarItem();
|
|
1218
|
+
};
|
|
1219
|
+
var isStatusBarItem = (item) => {
|
|
1220
|
+
return item !== void 0;
|
|
1221
|
+
};
|
|
1222
|
+
var hasStatusBarItemProvider = registry3.hasProvider;
|
|
1223
|
+
var registerStatusBarItemProvider = (provider) => {
|
|
1224
|
+
const registeredProvider = registry3.registerProvider(provider);
|
|
1225
|
+
void notifyStatusBarChange(registeredProvider.id);
|
|
1226
|
+
return {
|
|
1227
|
+
dispose() {
|
|
1228
|
+
registry3.deleteProvider(registeredProvider.id);
|
|
1229
|
+
void notifyStatusBarChange(registeredProvider.id);
|
|
1230
|
+
},
|
|
1231
|
+
async refresh() {
|
|
1232
|
+
await notifyStatusBarChange(registeredProvider.id);
|
|
1233
|
+
}
|
|
1234
|
+
};
|
|
1235
|
+
};
|
|
1236
|
+
var getStatusBarItemProviders = registry3.getProviders;
|
|
1237
|
+
var getStatusBarItems = () => {
|
|
1238
|
+
return registry3.getProviders().map(getStatusBarItem).filter(isStatusBarItem);
|
|
1239
|
+
};
|
|
1240
|
+
var getStatusBarItemProviderRegistrySnapshot = () => {
|
|
1241
|
+
return {
|
|
1242
|
+
providers: registry3.getProviders()
|
|
1243
|
+
};
|
|
1244
|
+
};
|
|
1245
|
+
var resetStatusBarItemProviderRegistry = registry3.reset;
|
|
1246
|
+
|
|
1247
|
+
// packages/extension-api/src/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.ts
|
|
1248
|
+
var commandMap = {
|
|
1249
|
+
"ExtensionApi.executeCommand": executeCommand,
|
|
1250
|
+
"ExtensionApi.executeCompletionProvider": executeCompletionProvider,
|
|
1251
|
+
"ExtensionApi.executeFormattingProvider": executeFormattingProvider,
|
|
1252
|
+
"ExtensionApi.executeResolveCompletionItemProvider": executeResolveCompletionItemProvider,
|
|
1253
|
+
"ExtensionApi.getCommandRegistrySnapshot": getCommandRegistrySnapshot,
|
|
1254
|
+
"ExtensionApi.getCompletionProviderRegistrySnapshot": getCompletionProviderRegistrySnapshot,
|
|
1255
|
+
"ExtensionApi.getFormattingProviderRegistrySnapshot": getFormattingProviderRegistrySnapshot,
|
|
1256
|
+
"ExtensionApi.getStatusBarItems": getStatusBarItems
|
|
1257
|
+
};
|
|
1258
|
+
|
|
1259
|
+
// packages/extension-api/src/parts/ExtensionApiWorkerHandleMessagePort/ExtensionApiWorkerHandleMessagePort.ts
|
|
1260
|
+
var commandMap2 = {
|
|
1261
|
+
...commandMap,
|
|
1262
|
+
async initialize(type, port) {
|
|
1263
|
+
if (type !== "message-port") {
|
|
1264
|
+
throw new Error(`unsupported initialize type ${type}`);
|
|
1265
|
+
}
|
|
1266
|
+
await handleExtensionManagementMessagePort(port);
|
|
1267
|
+
}
|
|
1268
|
+
};
|
|
1269
|
+
var handleExtensionManagementMessagePort = async (port) => {
|
|
1270
|
+
await PlainMessagePortRpc_exports.create({
|
|
1271
|
+
commandMap: commandMap2,
|
|
1272
|
+
isMessagePortOpen: true,
|
|
1273
|
+
messagePort: port
|
|
1274
|
+
});
|
|
1275
|
+
};
|
|
1276
|
+
|
|
1277
|
+
// packages/extension-api/src/parts/ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.ts
|
|
1278
|
+
var commandMap3 = {
|
|
1279
|
+
...commandMap,
|
|
1280
|
+
"HandleMessagePort.handleExtensionManagementMessagePort": handleExtensionManagementMessagePort,
|
|
1281
|
+
async initialize(type, port) {
|
|
1282
|
+
if (type !== "message-port") {
|
|
1283
|
+
throw new Error(`unsupported initialize type ${type}`);
|
|
1284
|
+
}
|
|
1285
|
+
await handleExtensionManagementMessagePort(port);
|
|
1286
|
+
}
|
|
1287
|
+
};
|
|
1288
|
+
|
|
1289
|
+
// packages/extension-api/src/parts/ExtensionApiWorkerListen/ExtensionApiWorkerListen.ts
|
|
1290
|
+
var listen2 = async () => {
|
|
1291
|
+
const rpc2 = WebWorkerRpcClient_exports.create({
|
|
1292
|
+
commandMap: commandMap3
|
|
1293
|
+
});
|
|
1294
|
+
return rpc2;
|
|
1295
|
+
};
|
|
1296
|
+
|
|
1297
|
+
// packages/extension-api/src/parts/Activation/Activation.ts
|
|
1298
|
+
var rpcPromise;
|
|
1299
|
+
var activate = async () => {
|
|
1300
|
+
if (!rpcPromise) {
|
|
1301
|
+
rpcPromise = listen2();
|
|
1302
|
+
}
|
|
1303
|
+
const rpc2 = await rpcPromise;
|
|
1304
|
+
set(rpc2);
|
|
1305
|
+
};
|
|
1306
|
+
|
|
1307
|
+
// packages/extension-api/src/parts/ExecuteCommand/ExecuteCommand.ts
|
|
1308
|
+
var executeCommand2 = async (id2, ...args) => {
|
|
1309
|
+
return invoke("Extensions.executeCommand", id2, ...args);
|
|
1310
|
+
};
|
|
1311
|
+
|
|
1312
|
+
// packages/extension-api/src/parts/QuickPick/QuickPick.ts
|
|
1313
|
+
var showQuickPick = async (options) => {
|
|
1314
|
+
return invoke("ExtensionHostQuickPick.showQuickPick", options);
|
|
1315
|
+
};
|
|
1316
|
+
|
|
1317
|
+
// packages/extension-api/src/parts/CommandMap/CommandMap.ts
|
|
1318
|
+
var commandMap4 = {
|
|
1319
|
+
...commandMap,
|
|
1320
|
+
async initialize(type, port) {
|
|
1321
|
+
if (type !== "message-port") {
|
|
1322
|
+
throw new Error(`unsupported initialize type ${type}`);
|
|
1323
|
+
}
|
|
1324
|
+
await handleExtensionManagementMessagePort(port);
|
|
1325
|
+
}
|
|
1326
|
+
};
|
|
1327
|
+
|
|
1328
|
+
// packages/extension-api/src/parts/HandleExtensionManagementMessagePort/HandleExtensionManagementMessagePort.ts
|
|
1329
|
+
var handleExtensionManagementMessagePort2 = async ({
|
|
1330
|
+
commandMap: commandMap5,
|
|
1331
|
+
createMessagePortRpcClient,
|
|
1332
|
+
port
|
|
1333
|
+
}) => {
|
|
1334
|
+
await createMessagePortRpcClient({
|
|
1335
|
+
commandMap: {
|
|
1336
|
+
...commandMap4,
|
|
1337
|
+
...commandMap5
|
|
1338
|
+
},
|
|
1339
|
+
messagePort: port
|
|
1340
|
+
});
|
|
1341
|
+
};
|
|
1342
|
+
export {
|
|
1343
|
+
activate,
|
|
1344
|
+
executeCommand2 as executeCommand,
|
|
1345
|
+
executeCompletionProvider,
|
|
1346
|
+
executeFormattingProvider,
|
|
1347
|
+
executeResolveCompletionItemProvider,
|
|
1348
|
+
getCompletionProviderRegistrySnapshot,
|
|
1349
|
+
getFormattingProviderRegistrySnapshot,
|
|
1350
|
+
getStatusBarItemProviderRegistrySnapshot,
|
|
1351
|
+
handleExtensionManagementMessagePort2 as handleExtensionManagementMessagePort,
|
|
1352
|
+
registerCommand,
|
|
1353
|
+
registerCompletionProvider,
|
|
1354
|
+
registerFormattingProvider,
|
|
1355
|
+
registerStatusBarItemProvider,
|
|
1356
|
+
resetCompletionProviderRegistry,
|
|
1357
|
+
resetFormattingProviderRegistry,
|
|
1358
|
+
resetStatusBarItemProviderRegistry,
|
|
1359
|
+
showQuickPick
|
|
1360
|
+
};
|