@lvce-editor/extension-management-worker 4.23.0 → 4.24.1
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.
|
@@ -1310,7 +1310,7 @@ const {
|
|
|
1310
1310
|
invoke: invoke$4,
|
|
1311
1311
|
set: set$7
|
|
1312
1312
|
} = create$1(FileSystemWorker);
|
|
1313
|
-
const readFile = async uri => {
|
|
1313
|
+
const readFile$1 = async uri => {
|
|
1314
1314
|
return invoke$4('FileSystem.readFile', uri);
|
|
1315
1315
|
};
|
|
1316
1316
|
const writeFile = async (uri, content) => {
|
|
@@ -1842,7 +1842,7 @@ const readDisabledExtensionIdsFromUri = async uri => {
|
|
|
1842
1842
|
if (!exists$1) {
|
|
1843
1843
|
return [];
|
|
1844
1844
|
}
|
|
1845
|
-
const content = await readFile(uri);
|
|
1845
|
+
const content = await readFile$1(uri);
|
|
1846
1846
|
return parseDisabledExtensions(content);
|
|
1847
1847
|
};
|
|
1848
1848
|
const readDisabledExtensionIds = async () => {
|
|
@@ -2214,7 +2214,7 @@ const enableExtension2 = async (id, platform) => {
|
|
|
2214
2214
|
if (!exists$1) {
|
|
2215
2215
|
return undefined;
|
|
2216
2216
|
}
|
|
2217
|
-
const content = await readFile(disabledExtensionsJsonPath);
|
|
2217
|
+
const content = await readFile$1(disabledExtensionsJsonPath);
|
|
2218
2218
|
const parsed = JSON.parse(content);
|
|
2219
2219
|
const oldDisabled = parsed.disabledExtensions || [];
|
|
2220
2220
|
const newDisabled = oldDisabled.filter(item => item !== id);
|
|
@@ -2320,7 +2320,7 @@ const getRpc$1 = async (extension, assetDir, platform) => {
|
|
|
2320
2320
|
const contributesCompletionProvider = (extension, languageId) => {
|
|
2321
2321
|
return Array.isArray(extension.completionProviders) && extension.completionProviders.some(provider => provider.languageId === languageId);
|
|
2322
2322
|
};
|
|
2323
|
-
const getMatchingExtensions$
|
|
2323
|
+
const getMatchingExtensions$4 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
2324
2324
|
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
2325
2325
|
return extensions.filter(extension => isExtensionIsolated(extension) && contributesCompletionProvider(extension, textDocument.languageId));
|
|
2326
2326
|
};
|
|
@@ -2335,7 +2335,7 @@ const executeCompletionProvider = async (extensionsState, textDocument, ...args)
|
|
|
2335
2335
|
assetDir,
|
|
2336
2336
|
platform
|
|
2337
2337
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
2338
|
-
const extensions = await getMatchingExtensions$
|
|
2338
|
+
const extensions = await getMatchingExtensions$4(extensionsState, textDocument, assetDir, platform);
|
|
2339
2339
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2340
2340
|
const results = await Promise.all(rpcs.map(rpc => executeRpcCompletionProvider(rpc, textDocument, args)));
|
|
2341
2341
|
return results[0] || [];
|
|
@@ -2345,7 +2345,7 @@ const executeResolveCompletionItemProvider = async (extensionsState, textDocumen
|
|
|
2345
2345
|
assetDir,
|
|
2346
2346
|
platform
|
|
2347
2347
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
2348
|
-
const extensions = await getMatchingExtensions$
|
|
2348
|
+
const extensions = await getMatchingExtensions$4(extensionsState, textDocument, assetDir, platform);
|
|
2349
2349
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2350
2350
|
const results = await Promise.all(rpcs.map(rpc => executeRpcResolveCompletionItemProvider(rpc, textDocument, args)));
|
|
2351
2351
|
return results[0];
|
|
@@ -2356,7 +2356,7 @@ const executeResolveCompletionItemProvider = async (extensionsState, textDocumen
|
|
|
2356
2356
|
const contributesDiagnosticProvider = (extension, languageId) => {
|
|
2357
2357
|
return Array.isArray(extension.diagnosticProviders) && extension.diagnosticProviders.some(provider => provider.languageId === languageId);
|
|
2358
2358
|
};
|
|
2359
|
-
const getMatchingExtensions$
|
|
2359
|
+
const getMatchingExtensions$3 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
2360
2360
|
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
2361
2361
|
return extensions.filter(extension => isExtensionIsolated(extension) && contributesDiagnosticProvider(extension, textDocument.languageId));
|
|
2362
2362
|
};
|
|
@@ -2368,7 +2368,7 @@ const executeDiagnosticProvider = async (extensionsState, textDocument, ...args)
|
|
|
2368
2368
|
assetDir,
|
|
2369
2369
|
platform
|
|
2370
2370
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
2371
|
-
const extensions = await getMatchingExtensions$
|
|
2371
|
+
const extensions = await getMatchingExtensions$3(extensionsState, textDocument, assetDir, platform);
|
|
2372
2372
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2373
2373
|
const results = await Promise.all(rpcs.map(rpc => executeRpcDiagnosticProvider(rpc, textDocument, args)));
|
|
2374
2374
|
return results[0] || [];
|
|
@@ -2379,7 +2379,7 @@ const executeDiagnosticProvider = async (extensionsState, textDocument, ...args)
|
|
|
2379
2379
|
const contributesFormattingProvider = (extension, languageId) => {
|
|
2380
2380
|
return Array.isArray(extension.formattingProviders) && extension.formattingProviders.some(provider => provider.languageId === languageId);
|
|
2381
2381
|
};
|
|
2382
|
-
const getMatchingExtensions$
|
|
2382
|
+
const getMatchingExtensions$2 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
2383
2383
|
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
2384
2384
|
return extensions.filter(extension => isExtensionIsolated(extension) && contributesFormattingProvider(extension, textDocument.languageId));
|
|
2385
2385
|
};
|
|
@@ -2391,7 +2391,7 @@ const executeFormattingProvider = async (extensionsState, textDocument, ...args)
|
|
|
2391
2391
|
assetDir,
|
|
2392
2392
|
platform
|
|
2393
2393
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
2394
|
-
const extensions = await getMatchingExtensions$
|
|
2394
|
+
const extensions = await getMatchingExtensions$2(extensionsState, textDocument, assetDir, platform);
|
|
2395
2395
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2396
2396
|
const results = await Promise.all(rpcs.map(rpc => executeRpcFormattingProvider(rpc, textDocument, args)));
|
|
2397
2397
|
return results[0] || [];
|
|
@@ -2402,7 +2402,7 @@ const executeFormattingProvider = async (extensionsState, textDocument, ...args)
|
|
|
2402
2402
|
const contributesHoverProvider = (extension, languageId) => {
|
|
2403
2403
|
return Array.isArray(extension.hoverProviders) && extension.hoverProviders.some(provider => provider.languageId === languageId);
|
|
2404
2404
|
};
|
|
2405
|
-
const getMatchingExtensions = async (extensionsState, textDocument, assetDir, platform) => {
|
|
2405
|
+
const getMatchingExtensions$1 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
2406
2406
|
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
2407
2407
|
return extensions.filter(extension => isExtensionIsolated(extension) && contributesHoverProvider(extension, textDocument.languageId));
|
|
2408
2408
|
};
|
|
@@ -2414,12 +2414,76 @@ const executeHoverProvider = async (extensionsState, textDocument, ...args) => {
|
|
|
2414
2414
|
assetDir,
|
|
2415
2415
|
platform
|
|
2416
2416
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
2417
|
-
const extensions = await getMatchingExtensions(extensionsState, textDocument, assetDir, platform);
|
|
2417
|
+
const extensions = await getMatchingExtensions$1(extensionsState, textDocument, assetDir, platform);
|
|
2418
2418
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2419
2419
|
const results = await Promise.all(rpcs.map(rpc => executeRpcHoverProvider(rpc, textDocument, args)));
|
|
2420
2420
|
return results[0];
|
|
2421
2421
|
};
|
|
2422
2422
|
|
|
2423
|
+
/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
|
|
2424
|
+
|
|
2425
|
+
const activationEventByKind = {
|
|
2426
|
+
'brace completion': 'onBraceCompletion',
|
|
2427
|
+
'closing tag': 'onClosingTag',
|
|
2428
|
+
definition: 'onDefinition',
|
|
2429
|
+
implementation: 'onImplementation',
|
|
2430
|
+
reference: 'onReferences',
|
|
2431
|
+
rename: 'onRename',
|
|
2432
|
+
'tab completion': 'onTabCompletion',
|
|
2433
|
+
'type definition': 'onTypeDefinition'
|
|
2434
|
+
};
|
|
2435
|
+
const contributesLanguageProvider = (extension, kind, languageId) => {
|
|
2436
|
+
const activationEvent = activationEventByKind[kind] || 'onLanguage';
|
|
2437
|
+
return Array.isArray(extension.activation) && extension.activation.includes(`${activationEvent}:${languageId}`);
|
|
2438
|
+
};
|
|
2439
|
+
const getMatchingExtensions = async (extensionsState, kind, textDocument, assetDir, platform) => {
|
|
2440
|
+
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
2441
|
+
return extensions.filter(extension => isExtensionIsolated(extension) && contributesLanguageProvider(extension, kind, textDocument.languageId));
|
|
2442
|
+
};
|
|
2443
|
+
const executeRpcLanguageProvider = async (rpc, kind, methodName, textDocument, args) => {
|
|
2444
|
+
return rpc.invoke('ExtensionApi.executeLanguageProvider', kind, methodName, textDocument, ...args);
|
|
2445
|
+
};
|
|
2446
|
+
const executeLanguageProvider = async (extensionsState, kind, methodName, textDocument, ...args) => {
|
|
2447
|
+
const {
|
|
2448
|
+
assetDir,
|
|
2449
|
+
platform
|
|
2450
|
+
} = await getRuntimeContext('', extensionsState.platform);
|
|
2451
|
+
const extensions = await getMatchingExtensions(extensionsState, kind, textDocument, assetDir, platform);
|
|
2452
|
+
if (extensions.length === 0) {
|
|
2453
|
+
return {
|
|
2454
|
+
found: false
|
|
2455
|
+
};
|
|
2456
|
+
}
|
|
2457
|
+
const rpc = await getRpc$1(extensions[0], assetDir, platform);
|
|
2458
|
+
const result = await executeRpcLanguageProvider(rpc, kind, methodName, textDocument, args);
|
|
2459
|
+
return {
|
|
2460
|
+
found: true,
|
|
2461
|
+
result
|
|
2462
|
+
};
|
|
2463
|
+
};
|
|
2464
|
+
const executeOrganizeImportsProvider = async (extensionsState, textDocument) => {
|
|
2465
|
+
const {
|
|
2466
|
+
assetDir,
|
|
2467
|
+
platform
|
|
2468
|
+
} = await getRuntimeContext('', extensionsState.platform);
|
|
2469
|
+
const extensions = await getMatchingExtensions(extensionsState, 'code action', textDocument, assetDir, platform);
|
|
2470
|
+
if (extensions.length === 0) {
|
|
2471
|
+
return {
|
|
2472
|
+
found: false
|
|
2473
|
+
};
|
|
2474
|
+
}
|
|
2475
|
+
const rpc = await getRpc$1(extensions[0], assetDir, platform);
|
|
2476
|
+
const result = await rpc.invoke('ExtensionApi.executeOrganizeImportsProvider', textDocument);
|
|
2477
|
+
return {
|
|
2478
|
+
found: true,
|
|
2479
|
+
result
|
|
2480
|
+
};
|
|
2481
|
+
};
|
|
2482
|
+
|
|
2483
|
+
const readFile = uri => {
|
|
2484
|
+
return readFile$1(uri);
|
|
2485
|
+
};
|
|
2486
|
+
|
|
2423
2487
|
const instances = Object.create(null);
|
|
2424
2488
|
const set$1 = (uid, instance) => {
|
|
2425
2489
|
instances[uid] = instance;
|
|
@@ -2909,6 +2973,28 @@ const getRpcInfo = rpcId => {
|
|
|
2909
2973
|
return info;
|
|
2910
2974
|
};
|
|
2911
2975
|
|
|
2976
|
+
const getRunningExtensionsFromState = (extensions, runtimeStatuses) => {
|
|
2977
|
+
return extensions.flatMap(extension => {
|
|
2978
|
+
const runtimeStatus = runtimeStatuses[extension.id];
|
|
2979
|
+
if (!runtimeStatus || runtimeStatus.status !== Activated) {
|
|
2980
|
+
return [];
|
|
2981
|
+
}
|
|
2982
|
+
return [{
|
|
2983
|
+
...extension,
|
|
2984
|
+
activationEvent: runtimeStatus.activationEvent,
|
|
2985
|
+
activationTime: runtimeStatus.activationTime
|
|
2986
|
+
}];
|
|
2987
|
+
}).toSorted((a, b) => b.activationTime - a.activationTime);
|
|
2988
|
+
};
|
|
2989
|
+
|
|
2990
|
+
const getRunningExtensions = async (assetDir, platform) => {
|
|
2991
|
+
const extensions = await getAllExtensions(assetDir, platform);
|
|
2992
|
+
const {
|
|
2993
|
+
runtimeStatuses
|
|
2994
|
+
} = get$4();
|
|
2995
|
+
return getRunningExtensionsFromState(extensions, runtimeStatuses);
|
|
2996
|
+
};
|
|
2997
|
+
|
|
2912
2998
|
const emptyStatus = {
|
|
2913
2999
|
activationEndTime: 0,
|
|
2914
3000
|
activationEvent: '',
|
|
@@ -3174,6 +3260,7 @@ const wrapCommand = command => {
|
|
|
3174
3260
|
};
|
|
3175
3261
|
};
|
|
3176
3262
|
const commandMap = {
|
|
3263
|
+
'ExtensionApi.readFile': readFile,
|
|
3177
3264
|
'Extensions.activate2': activateExtension2,
|
|
3178
3265
|
'Extensions.activate3': activateExtension3,
|
|
3179
3266
|
'Extensions.activateByEvent': activateByEvent,
|
|
@@ -3195,6 +3282,8 @@ const commandMap = {
|
|
|
3195
3282
|
'Extensions.executeExtensionCommand': wrapCommand(executeExtensionCommand),
|
|
3196
3283
|
'Extensions.executeFormattingProvider': wrapCommand(executeFormattingProvider),
|
|
3197
3284
|
'Extensions.executeHoverProvider': wrapCommand(executeHoverProvider),
|
|
3285
|
+
'Extensions.executeLanguageProvider': wrapCommand(executeLanguageProvider),
|
|
3286
|
+
'Extensions.executeOrganizeImportsProvider': wrapCommand(executeOrganizeImportsProvider),
|
|
3198
3287
|
'Extensions.executeResolveCompletionItemProvider': wrapCommand(executeResolveCompletionItemProvider),
|
|
3199
3288
|
'Extensions.getAllExtensions': getAllExtensions,
|
|
3200
3289
|
'Extensions.getColorThemeCss': getColorThemeCss,
|
|
@@ -3208,6 +3297,7 @@ const commandMap = {
|
|
|
3208
3297
|
'Extensions.getPreference': getPreference,
|
|
3209
3298
|
'Extensions.getRemoteUrlForWebView': getRemoteUrlForWebView,
|
|
3210
3299
|
'Extensions.getRpcInfo': getRpcInfo,
|
|
3300
|
+
'Extensions.getRunningExtensions': getRunningExtensions,
|
|
3211
3301
|
'Extensions.getRuntimeStatus': getRuntimeStatus,
|
|
3212
3302
|
'Extensions.getStatusBarItems': getStatusBarItems,
|
|
3213
3303
|
'Extensions.getViewActions': getViewActions,
|