@lvce-editor/extension-management-worker 4.23.0 → 4.24.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.
|
@@ -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,72 @@ 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
|
+
|
|
2423
2483
|
const instances = Object.create(null);
|
|
2424
2484
|
const set$1 = (uid, instance) => {
|
|
2425
2485
|
instances[uid] = instance;
|
|
@@ -2909,6 +2969,28 @@ const getRpcInfo = rpcId => {
|
|
|
2909
2969
|
return info;
|
|
2910
2970
|
};
|
|
2911
2971
|
|
|
2972
|
+
const getRunningExtensionsFromState = (extensions, runtimeStatuses) => {
|
|
2973
|
+
return extensions.flatMap(extension => {
|
|
2974
|
+
const runtimeStatus = runtimeStatuses[extension.id];
|
|
2975
|
+
if (!runtimeStatus || runtimeStatus.status !== Activated) {
|
|
2976
|
+
return [];
|
|
2977
|
+
}
|
|
2978
|
+
return [{
|
|
2979
|
+
...extension,
|
|
2980
|
+
activationEvent: runtimeStatus.activationEvent,
|
|
2981
|
+
activationTime: runtimeStatus.activationTime
|
|
2982
|
+
}];
|
|
2983
|
+
}).toSorted((a, b) => b.activationTime - a.activationTime);
|
|
2984
|
+
};
|
|
2985
|
+
|
|
2986
|
+
const getRunningExtensions = async (assetDir, platform) => {
|
|
2987
|
+
const extensions = await getAllExtensions(assetDir, platform);
|
|
2988
|
+
const {
|
|
2989
|
+
runtimeStatuses
|
|
2990
|
+
} = get$4();
|
|
2991
|
+
return getRunningExtensionsFromState(extensions, runtimeStatuses);
|
|
2992
|
+
};
|
|
2993
|
+
|
|
2912
2994
|
const emptyStatus = {
|
|
2913
2995
|
activationEndTime: 0,
|
|
2914
2996
|
activationEvent: '',
|
|
@@ -3195,6 +3277,8 @@ const commandMap = {
|
|
|
3195
3277
|
'Extensions.executeExtensionCommand': wrapCommand(executeExtensionCommand),
|
|
3196
3278
|
'Extensions.executeFormattingProvider': wrapCommand(executeFormattingProvider),
|
|
3197
3279
|
'Extensions.executeHoverProvider': wrapCommand(executeHoverProvider),
|
|
3280
|
+
'Extensions.executeLanguageProvider': wrapCommand(executeLanguageProvider),
|
|
3281
|
+
'Extensions.executeOrganizeImportsProvider': wrapCommand(executeOrganizeImportsProvider),
|
|
3198
3282
|
'Extensions.executeResolveCompletionItemProvider': wrapCommand(executeResolveCompletionItemProvider),
|
|
3199
3283
|
'Extensions.getAllExtensions': getAllExtensions,
|
|
3200
3284
|
'Extensions.getColorThemeCss': getColorThemeCss,
|
|
@@ -3208,6 +3292,7 @@ const commandMap = {
|
|
|
3208
3292
|
'Extensions.getPreference': getPreference,
|
|
3209
3293
|
'Extensions.getRemoteUrlForWebView': getRemoteUrlForWebView,
|
|
3210
3294
|
'Extensions.getRpcInfo': getRpcInfo,
|
|
3295
|
+
'Extensions.getRunningExtensions': getRunningExtensions,
|
|
3211
3296
|
'Extensions.getRuntimeStatus': getRuntimeStatus,
|
|
3212
3297
|
'Extensions.getStatusBarItems': getStatusBarItems,
|
|
3213
3298
|
'Extensions.getViewActions': getViewActions,
|