@lvce-editor/editor-worker 14.4.0 → 15.0.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/editorWorkerMain.js +92 -52
- package/package.json +1 -1
package/dist/editorWorkerMain.js
CHANGED
|
@@ -249,8 +249,8 @@ const getModuleNotFoundError = stderr => {
|
|
|
249
249
|
const messageIndex = lines.findIndex(isModuleNotFoundMessage);
|
|
250
250
|
const message = lines[messageIndex];
|
|
251
251
|
return {
|
|
252
|
-
|
|
253
|
-
|
|
252
|
+
code: ERR_MODULE_NOT_FOUND,
|
|
253
|
+
message
|
|
254
254
|
};
|
|
255
255
|
};
|
|
256
256
|
const isModuleNotFoundError = stderr => {
|
|
@@ -273,14 +273,14 @@ const isUnhelpfulNativeModuleError = stderr => {
|
|
|
273
273
|
const getNativeModuleErrorMessage = stderr => {
|
|
274
274
|
const message = getMessageCodeBlock(stderr);
|
|
275
275
|
return {
|
|
276
|
-
|
|
277
|
-
|
|
276
|
+
code: E_INCOMPATIBLE_NATIVE_MODULE,
|
|
277
|
+
message: `Incompatible native node module: ${message}`
|
|
278
278
|
};
|
|
279
279
|
};
|
|
280
280
|
const getModuleSyntaxError = () => {
|
|
281
281
|
return {
|
|
282
|
-
|
|
283
|
-
|
|
282
|
+
code: E_MODULES_NOT_SUPPORTED_IN_ELECTRON,
|
|
283
|
+
message: `ES Modules are not supported in electron`
|
|
284
284
|
};
|
|
285
285
|
};
|
|
286
286
|
const getHelpfulChildProcessError = (stdout, stderr) => {
|
|
@@ -299,8 +299,8 @@ const getHelpfulChildProcessError = (stdout, stderr) => {
|
|
|
299
299
|
rest
|
|
300
300
|
} = getDetails(lines);
|
|
301
301
|
return {
|
|
302
|
-
message: actualMessage,
|
|
303
302
|
code: '',
|
|
303
|
+
message: actualMessage,
|
|
304
304
|
stack: rest
|
|
305
305
|
};
|
|
306
306
|
};
|
|
@@ -310,8 +310,8 @@ class IpcError extends VError {
|
|
|
310
310
|
if (stdout || stderr) {
|
|
311
311
|
// @ts-ignore
|
|
312
312
|
const {
|
|
313
|
-
message,
|
|
314
313
|
code,
|
|
314
|
+
message,
|
|
315
315
|
stack
|
|
316
316
|
} = getHelpfulChildProcessError(stdout, stderr);
|
|
317
317
|
const cause = new Error(message);
|
|
@@ -372,8 +372,8 @@ const wrap$f = global => {
|
|
|
372
372
|
};
|
|
373
373
|
const waitForFirstMessage = async port => {
|
|
374
374
|
const {
|
|
375
|
-
|
|
376
|
-
|
|
375
|
+
promise,
|
|
376
|
+
resolve
|
|
377
377
|
} = Promise.withResolvers();
|
|
378
378
|
port.addEventListener('message', resolve, {
|
|
379
379
|
once: true
|
|
@@ -393,8 +393,8 @@ const listen$6 = async () => {
|
|
|
393
393
|
const type = firstMessage.params[0];
|
|
394
394
|
if (type === 'message-port') {
|
|
395
395
|
parentIpc.send({
|
|
396
|
-
jsonrpc: '2.0',
|
|
397
396
|
id: firstMessage.id,
|
|
397
|
+
jsonrpc: '2.0',
|
|
398
398
|
result: null
|
|
399
399
|
});
|
|
400
400
|
parentIpc.dispose();
|
|
@@ -451,8 +451,8 @@ const removeListener = (emitter, type, callback) => {
|
|
|
451
451
|
};
|
|
452
452
|
const getFirstEvent = (eventEmitter, eventMap) => {
|
|
453
453
|
const {
|
|
454
|
-
|
|
455
|
-
|
|
454
|
+
promise,
|
|
455
|
+
resolve
|
|
456
456
|
} = Promise.withResolvers();
|
|
457
457
|
const listenerMap = Object.create(null);
|
|
458
458
|
const cleanup = value => {
|
|
@@ -464,8 +464,8 @@ const getFirstEvent = (eventEmitter, eventMap) => {
|
|
|
464
464
|
for (const [event, type] of Object.entries(eventMap)) {
|
|
465
465
|
const listener = event => {
|
|
466
466
|
cleanup({
|
|
467
|
-
|
|
468
|
-
|
|
467
|
+
event,
|
|
468
|
+
type
|
|
469
469
|
});
|
|
470
470
|
};
|
|
471
471
|
addListener(eventEmitter, event, listener);
|
|
@@ -475,8 +475,8 @@ const getFirstEvent = (eventEmitter, eventMap) => {
|
|
|
475
475
|
};
|
|
476
476
|
const Message$1 = 3;
|
|
477
477
|
const create$5$2 = async ({
|
|
478
|
-
|
|
479
|
-
|
|
478
|
+
isMessagePortOpen,
|
|
479
|
+
messagePort
|
|
480
480
|
}) => {
|
|
481
481
|
if (!isMessagePort(messagePort)) {
|
|
482
482
|
throw new IpcError('port must be of type MessagePort');
|
|
@@ -489,8 +489,8 @@ const create$5$2 = async ({
|
|
|
489
489
|
});
|
|
490
490
|
messagePort.start();
|
|
491
491
|
const {
|
|
492
|
-
|
|
493
|
-
|
|
492
|
+
event,
|
|
493
|
+
type
|
|
494
494
|
} = await eventPromise;
|
|
495
495
|
if (type !== Message$1) {
|
|
496
496
|
throw new IpcError('Failed to wait for ipc message');
|
|
@@ -539,7 +539,7 @@ const create$4$2 = (method, params) => {
|
|
|
539
539
|
};
|
|
540
540
|
};
|
|
541
541
|
const callbacks = Object.create(null);
|
|
542
|
-
const set$
|
|
542
|
+
const set$d = (id, fn) => {
|
|
543
543
|
callbacks[id] = fn;
|
|
544
544
|
};
|
|
545
545
|
const get$8 = id => {
|
|
@@ -558,7 +558,7 @@ const registerPromise = () => {
|
|
|
558
558
|
resolve,
|
|
559
559
|
promise
|
|
560
560
|
} = Promise.withResolvers();
|
|
561
|
-
set$
|
|
561
|
+
set$d(id, resolve);
|
|
562
562
|
return {
|
|
563
563
|
id,
|
|
564
564
|
promise
|
|
@@ -903,7 +903,7 @@ const send$1 = (transport, method, ...params) => {
|
|
|
903
903
|
const message = create$4$2(method, params);
|
|
904
904
|
transport.send(message);
|
|
905
905
|
};
|
|
906
|
-
const invoke$
|
|
906
|
+
const invoke$e = (ipc, method, ...params) => {
|
|
907
907
|
return invokeHelper(ipc, method, params, false);
|
|
908
908
|
};
|
|
909
909
|
const invokeAndTransfer$3 = (ipc, method, ...params) => {
|
|
@@ -942,7 +942,7 @@ const createRpc = ipc => {
|
|
|
942
942
|
send$1(ipc, method, ...params);
|
|
943
943
|
},
|
|
944
944
|
invoke(method, ...params) {
|
|
945
|
-
return invoke$
|
|
945
|
+
return invoke$e(ipc, method, ...params);
|
|
946
946
|
},
|
|
947
947
|
invokeAndTransfer(method, ...params) {
|
|
948
948
|
return invokeAndTransfer$3(ipc, method, ...params);
|
|
@@ -1140,6 +1140,7 @@ const CompletionWorker = 301;
|
|
|
1140
1140
|
const DebugWorker = 55;
|
|
1141
1141
|
const EditorWorker = 99;
|
|
1142
1142
|
const ExtensionHostWorker = 44;
|
|
1143
|
+
const ExtensionManagementWorker = 9006;
|
|
1143
1144
|
const MarkdownWorker = 300;
|
|
1144
1145
|
const RendererWorker = 1;
|
|
1145
1146
|
const TextMeasurementWorker = 7011;
|
|
@@ -1147,7 +1148,7 @@ const TextMeasurementWorker = 7011;
|
|
|
1147
1148
|
const FocusEditorText$1 = 12;
|
|
1148
1149
|
|
|
1149
1150
|
const rpcs = Object.create(null);
|
|
1150
|
-
const set$
|
|
1151
|
+
const set$c = (id, rpc) => {
|
|
1151
1152
|
rpcs[id] = rpc;
|
|
1152
1153
|
};
|
|
1153
1154
|
const get$7 = id => {
|
|
@@ -1159,6 +1160,10 @@ const remove$8 = id => {
|
|
|
1159
1160
|
|
|
1160
1161
|
const create$9 = rpcId => {
|
|
1161
1162
|
return {
|
|
1163
|
+
async dispose() {
|
|
1164
|
+
const rpc = get$7(rpcId);
|
|
1165
|
+
await rpc.dispose();
|
|
1166
|
+
},
|
|
1162
1167
|
// @ts-ignore
|
|
1163
1168
|
invoke(method, ...params) {
|
|
1164
1169
|
const rpc = get$7(rpcId);
|
|
@@ -1172,38 +1177,34 @@ const create$9 = rpcId => {
|
|
|
1172
1177
|
return rpc.invokeAndTransfer(method, ...params);
|
|
1173
1178
|
},
|
|
1174
1179
|
set(rpc) {
|
|
1175
|
-
set$
|
|
1176
|
-
},
|
|
1177
|
-
async dispose() {
|
|
1178
|
-
const rpc = get$7(rpcId);
|
|
1179
|
-
await rpc.dispose();
|
|
1180
|
+
set$c(rpcId, rpc);
|
|
1180
1181
|
}
|
|
1181
1182
|
};
|
|
1182
1183
|
};
|
|
1183
1184
|
|
|
1184
1185
|
const {
|
|
1185
|
-
|
|
1186
|
+
dispose: dispose$2,
|
|
1187
|
+
invoke: invoke$d,
|
|
1186
1188
|
invokeAndTransfer: invokeAndTransfer$2,
|
|
1187
|
-
set: set$
|
|
1188
|
-
dispose: dispose$2
|
|
1189
|
+
set: set$b
|
|
1189
1190
|
} = create$9(ExtensionHostWorker);
|
|
1190
1191
|
const executeReferenceProvider = async (id, offset) => {
|
|
1191
1192
|
// @ts-ignore
|
|
1192
|
-
return invoke$
|
|
1193
|
+
return invoke$d('ExtensionHostReference.executeReferenceProvider', id, offset);
|
|
1193
1194
|
};
|
|
1194
1195
|
const executeFileReferenceProvider = async id => {
|
|
1195
1196
|
// @ts-ignore
|
|
1196
|
-
return invoke$
|
|
1197
|
+
return invoke$d('ExtensionHostReference.executeFileReferenceProvider', id);
|
|
1197
1198
|
};
|
|
1198
1199
|
const getRuntimeStatus = async extensionId => {
|
|
1199
1200
|
// @ts-ignore
|
|
1200
|
-
return invoke$
|
|
1201
|
+
return invoke$d('ExtensionHost.getRuntimeStatus', extensionId);
|
|
1201
1202
|
};
|
|
1202
1203
|
const registerMockRpc = commandMap => {
|
|
1203
1204
|
const mockRpc = createMockRpc({
|
|
1204
1205
|
commandMap
|
|
1205
1206
|
});
|
|
1206
|
-
set$
|
|
1207
|
+
set$b(mockRpc);
|
|
1207
1208
|
return mockRpc;
|
|
1208
1209
|
};
|
|
1209
1210
|
|
|
@@ -1213,16 +1214,22 @@ const ExtensionHost = {
|
|
|
1213
1214
|
executeFileReferenceProvider,
|
|
1214
1215
|
executeReferenceProvider,
|
|
1215
1216
|
getRuntimeStatus,
|
|
1216
|
-
invoke: invoke$
|
|
1217
|
+
invoke: invoke$d,
|
|
1217
1218
|
invokeAndTransfer: invokeAndTransfer$2,
|
|
1218
1219
|
registerMockRpc,
|
|
1219
|
-
set: set$
|
|
1220
|
+
set: set$b
|
|
1220
1221
|
};
|
|
1221
1222
|
|
|
1223
|
+
const {
|
|
1224
|
+
invoke: invoke$c,
|
|
1225
|
+
set: set$a
|
|
1226
|
+
} = create$9(ExtensionManagementWorker);
|
|
1227
|
+
|
|
1222
1228
|
const {
|
|
1223
1229
|
invoke: invoke$b,
|
|
1224
1230
|
invokeAndTransfer: invokeAndTransfer$1,
|
|
1225
|
-
set: set$9
|
|
1231
|
+
set: set$9
|
|
1232
|
+
} = create$9(RendererWorker);
|
|
1226
1233
|
const showContextMenu2 = async (uid, menuId, x, y, args) => {
|
|
1227
1234
|
number(uid);
|
|
1228
1235
|
number(menuId);
|
|
@@ -1236,12 +1243,16 @@ const sendMessagePortToTextMeasurementWorker = async port => {
|
|
|
1236
1243
|
// @ts-ignore
|
|
1237
1244
|
await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToTextMeasurementWorker', port, command, 0);
|
|
1238
1245
|
};
|
|
1246
|
+
const sendMessagePortToExtensionManagementWorker = async (port, rpcId) => {
|
|
1247
|
+
const command = 'Extensions.handleMessagePort';
|
|
1248
|
+
await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionManagementWorker', port, command, rpcId);
|
|
1249
|
+
};
|
|
1239
1250
|
|
|
1240
1251
|
const {
|
|
1252
|
+
dispose: dispose$1,
|
|
1241
1253
|
invoke: invoke$a,
|
|
1242
1254
|
invokeAndTransfer,
|
|
1243
|
-
set: set$8
|
|
1244
|
-
dispose: dispose$1
|
|
1255
|
+
set: set$8
|
|
1245
1256
|
} = create$9(MarkdownWorker);
|
|
1246
1257
|
|
|
1247
1258
|
const SyntaxHighlightingWorker = {
|
|
@@ -1257,7 +1268,7 @@ const createLazyRpc = rpcId => {
|
|
|
1257
1268
|
let factory;
|
|
1258
1269
|
const createRpc = async () => {
|
|
1259
1270
|
const rpc = await factory();
|
|
1260
|
-
set$
|
|
1271
|
+
set$c(rpcId, rpc);
|
|
1261
1272
|
};
|
|
1262
1273
|
const ensureRpc = async () => {
|
|
1263
1274
|
if (!rpcPromise) {
|
|
@@ -1266,13 +1277,18 @@ const createLazyRpc = rpcId => {
|
|
|
1266
1277
|
await rpcPromise;
|
|
1267
1278
|
};
|
|
1268
1279
|
return {
|
|
1269
|
-
setFactory(value) {
|
|
1270
|
-
factory = value;
|
|
1271
|
-
},
|
|
1272
1280
|
async invoke(method, ...params) {
|
|
1273
1281
|
await ensureRpc();
|
|
1274
1282
|
const rpc = get$7(rpcId);
|
|
1275
1283
|
return rpc.invoke(method, ...params);
|
|
1284
|
+
},
|
|
1285
|
+
async invokeAndTransfer(method, ...params) {
|
|
1286
|
+
await ensureRpc();
|
|
1287
|
+
const rpc = get$7(rpcId);
|
|
1288
|
+
return rpc.invokeAndTransfer(method, ...params);
|
|
1289
|
+
},
|
|
1290
|
+
setFactory(value) {
|
|
1291
|
+
factory = value;
|
|
1276
1292
|
}
|
|
1277
1293
|
};
|
|
1278
1294
|
};
|
|
@@ -3111,9 +3127,8 @@ const getLanguageId$1 = (uri, languages) => {
|
|
|
3111
3127
|
return 'unknown';
|
|
3112
3128
|
};
|
|
3113
3129
|
|
|
3114
|
-
const getLanguages = async () => {
|
|
3115
|
-
|
|
3116
|
-
const languages = await invoke$6('Languages.getLanguages');
|
|
3130
|
+
const getLanguages = async (platform, assetDir) => {
|
|
3131
|
+
const languages = await invoke$c('Languages.getLanguages', platform, assetDir);
|
|
3117
3132
|
return languages;
|
|
3118
3133
|
};
|
|
3119
3134
|
|
|
@@ -3235,6 +3250,7 @@ const updateDiagnostics = async newState => {
|
|
|
3235
3250
|
};
|
|
3236
3251
|
|
|
3237
3252
|
const createEditor = async ({
|
|
3253
|
+
assetDir,
|
|
3238
3254
|
columnToReveal,
|
|
3239
3255
|
completionTriggerCharacters,
|
|
3240
3256
|
content,
|
|
@@ -3256,6 +3272,7 @@ const createEditor = async ({
|
|
|
3256
3272
|
lineNumbers,
|
|
3257
3273
|
lineToReveal,
|
|
3258
3274
|
links,
|
|
3275
|
+
platform,
|
|
3259
3276
|
rowHeight,
|
|
3260
3277
|
savedDeltaY,
|
|
3261
3278
|
savedSelections,
|
|
@@ -3269,7 +3286,7 @@ const createEditor = async ({
|
|
|
3269
3286
|
string(content);
|
|
3270
3287
|
// TODO support overwriting language id by setting it explicitly or via settings
|
|
3271
3288
|
const charWidth = await measureCharacterWidth(fontWeight, fontSize, fontFamily, letterSpacing);
|
|
3272
|
-
const languages = await getLanguages();
|
|
3289
|
+
const languages = await getLanguages(platform, assetDir);
|
|
3273
3290
|
const computedlanguageId = getLanguageId$1(uri, languages);
|
|
3274
3291
|
const editor = {
|
|
3275
3292
|
charWidth,
|
|
@@ -6268,7 +6285,7 @@ const launch = async () => {
|
|
|
6268
6285
|
return;
|
|
6269
6286
|
}
|
|
6270
6287
|
const rpc = await launchFindWidgetWorker();
|
|
6271
|
-
set$
|
|
6288
|
+
set$c(rpcId, rpc);
|
|
6272
6289
|
};
|
|
6273
6290
|
const invoke$3 = async (method, ...params) => {
|
|
6274
6291
|
const rpc = get$7(rpcId);
|
|
@@ -9759,7 +9776,7 @@ const handleMessagePort = async (port, rpcId) => {
|
|
|
9759
9776
|
messagePort: port
|
|
9760
9777
|
});
|
|
9761
9778
|
if (rpcId) {
|
|
9762
|
-
set$
|
|
9779
|
+
set$c(rpcId, rpc);
|
|
9763
9780
|
}
|
|
9764
9781
|
};
|
|
9765
9782
|
|
|
@@ -9891,6 +9908,29 @@ const initializeExtensionHost = async () => {
|
|
|
9891
9908
|
set$1(extensionHostRpc);
|
|
9892
9909
|
};
|
|
9893
9910
|
|
|
9911
|
+
const createExtensionManagementWorkerRpc = async () => {
|
|
9912
|
+
try {
|
|
9913
|
+
const rpc = await TransferMessagePortRpcParent.create({
|
|
9914
|
+
commandMap: {},
|
|
9915
|
+
async send(port) {
|
|
9916
|
+
await sendMessagePortToExtensionManagementWorker(port, EditorWorker);
|
|
9917
|
+
}
|
|
9918
|
+
});
|
|
9919
|
+
return rpc;
|
|
9920
|
+
} catch (error) {
|
|
9921
|
+
throw new VError(error, `Failed to create extension management worker rpc`);
|
|
9922
|
+
}
|
|
9923
|
+
};
|
|
9924
|
+
|
|
9925
|
+
const initializeExtensionManagementWorker = async () => {
|
|
9926
|
+
try {
|
|
9927
|
+
const rpc = await createExtensionManagementWorkerRpc();
|
|
9928
|
+
set$a(rpc);
|
|
9929
|
+
} catch {
|
|
9930
|
+
// ignore
|
|
9931
|
+
}
|
|
9932
|
+
};
|
|
9933
|
+
|
|
9894
9934
|
const sendMessagePortToSyntaxHighlightingWorker = async port => {
|
|
9895
9935
|
try {
|
|
9896
9936
|
await invokeAndTransfer$1(
|
|
@@ -9936,7 +9976,7 @@ const launchCompletionWorker = async () => {
|
|
|
9936
9976
|
|
|
9937
9977
|
const intialize = async (syntaxHighlightingEnabled, syncIncremental) => {
|
|
9938
9978
|
setFactory(launchCompletionWorker);
|
|
9939
|
-
await Promise.all([initializeSyntaxHighlighting(syntaxHighlightingEnabled, syncIncremental), initializeExtensionHost()]);
|
|
9979
|
+
await Promise.all([initializeSyntaxHighlighting(syntaxHighlightingEnabled, syncIncremental), initializeExtensionHost(), initializeExtensionManagementWorker()]);
|
|
9940
9980
|
};
|
|
9941
9981
|
|
|
9942
9982
|
// TODO move cursor
|