@lvce-editor/extension-management-worker 4.44.1 → 4.46.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.
|
@@ -594,7 +594,7 @@ let CommandNotFoundError$1 = class CommandNotFoundError extends Error {
|
|
|
594
594
|
}
|
|
595
595
|
};
|
|
596
596
|
const commands = Object.create(null);
|
|
597
|
-
const register = commandMap => {
|
|
597
|
+
const register$1 = commandMap => {
|
|
598
598
|
Object.assign(commands, commandMap);
|
|
599
599
|
};
|
|
600
600
|
const getCommand = key => {
|
|
@@ -1089,7 +1089,7 @@ const create$8 = async ({
|
|
|
1089
1089
|
messagePort
|
|
1090
1090
|
}) => {
|
|
1091
1091
|
// TODO create a commandMap per rpc instance
|
|
1092
|
-
register(commandMap);
|
|
1092
|
+
register$1(commandMap);
|
|
1093
1093
|
const rawIpc = await IpcParentWithMessagePort$1.create({
|
|
1094
1094
|
isMessagePortOpen,
|
|
1095
1095
|
messagePort
|
|
@@ -1185,7 +1185,7 @@ const create$5 = async ({
|
|
|
1185
1185
|
webSocket
|
|
1186
1186
|
}) => {
|
|
1187
1187
|
// TODO create a commandMap per rpc instance
|
|
1188
|
-
register(commandMap);
|
|
1188
|
+
register$1(commandMap);
|
|
1189
1189
|
let rawIpc;
|
|
1190
1190
|
try {
|
|
1191
1191
|
rawIpc = await IpcParentWithWebSocket$1.create({
|
|
@@ -1260,7 +1260,7 @@ const create$3 = async ({
|
|
|
1260
1260
|
messagePort
|
|
1261
1261
|
}) => {
|
|
1262
1262
|
// TODO create a commandMap per rpc instance
|
|
1263
|
-
register(commandMap);
|
|
1263
|
+
register$1(commandMap);
|
|
1264
1264
|
const rawIpc = await IpcParentWithMessagePort$1.create({
|
|
1265
1265
|
isMessagePortOpen,
|
|
1266
1266
|
messagePort
|
|
@@ -1275,7 +1275,7 @@ const create$2 = async ({
|
|
|
1275
1275
|
commandMap
|
|
1276
1276
|
}) => {
|
|
1277
1277
|
// TODO create a commandMap per rpc instance
|
|
1278
|
-
register(commandMap);
|
|
1278
|
+
register$1(commandMap);
|
|
1279
1279
|
const ipc = await listen$1(IpcChildWithModuleWorkerAndMessagePort$1);
|
|
1280
1280
|
handleIpc(ipc);
|
|
1281
1281
|
const rpc = createRpc(ipc);
|
|
@@ -1696,6 +1696,17 @@ const activateExtension2 = async (extensionId, extension, absolutePath, extensio
|
|
|
1696
1696
|
|
|
1697
1697
|
const commandMapRef = {};
|
|
1698
1698
|
|
|
1699
|
+
const extensionIds = new Set();
|
|
1700
|
+
const register = extensionId => {
|
|
1701
|
+
extensionIds.add(extensionId);
|
|
1702
|
+
};
|
|
1703
|
+
const unregister = extensionId => {
|
|
1704
|
+
extensionIds.delete(extensionId);
|
|
1705
|
+
};
|
|
1706
|
+
const getRegisteredExtensionIds = () => {
|
|
1707
|
+
return [...extensionIds];
|
|
1708
|
+
};
|
|
1709
|
+
|
|
1699
1710
|
const extensions = Object.create(null);
|
|
1700
1711
|
const get$4 = extensionId => {
|
|
1701
1712
|
return extensions[extensionId];
|
|
@@ -1819,8 +1830,14 @@ const createExtensionCommandMap = extensionId => {
|
|
|
1819
1830
|
'Extensions.getSecret'(key) {
|
|
1820
1831
|
return getSecret(extensionId, key);
|
|
1821
1832
|
},
|
|
1833
|
+
'Extensions.registerFileChangeHandler'() {
|
|
1834
|
+
register(extensionId);
|
|
1835
|
+
},
|
|
1822
1836
|
'Extensions.storeSecret'(key, value) {
|
|
1823
1837
|
return storeSecret(extensionId, key, value);
|
|
1838
|
+
},
|
|
1839
|
+
'Extensions.unregisterFileChangeHandler'() {
|
|
1840
|
+
unregister(extensionId);
|
|
1824
1841
|
}
|
|
1825
1842
|
};
|
|
1826
1843
|
};
|
|
@@ -2561,6 +2578,7 @@ const createWebViewWorkerRpc = async (rpcInfo, port) => {
|
|
|
2561
2578
|
};
|
|
2562
2579
|
|
|
2563
2580
|
const disposeIsolatedExtensionHostWorker = async (extensionId, invoke$1 = invoke) => {
|
|
2581
|
+
unregister(extensionId);
|
|
2564
2582
|
const rpc = remove$1(extensionId);
|
|
2565
2583
|
if (!rpc) {
|
|
2566
2584
|
return false;
|
|
@@ -2851,7 +2869,7 @@ const contributesCompletionProvider = (extension, languageId) => {
|
|
|
2851
2869
|
const contributesLanguageServer$1 = (extension, languageId) => {
|
|
2852
2870
|
return Array.isArray(extension.languageServers) && extension.languageServers.some(languageServer => languageServer.languageId === languageId);
|
|
2853
2871
|
};
|
|
2854
|
-
const getMatchingExtensions$
|
|
2872
|
+
const getMatchingExtensions$6 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
2855
2873
|
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
2856
2874
|
return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && (contributesCompletionProvider(extension, textDocument.languageId) || contributesLanguageServer$1(extension, textDocument.languageId)));
|
|
2857
2875
|
};
|
|
@@ -2873,7 +2891,7 @@ const executeCompletionProvider = async (extensionsState, textDocument, ...args)
|
|
|
2873
2891
|
assetDir,
|
|
2874
2892
|
platform
|
|
2875
2893
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
2876
|
-
const extensions = await getMatchingExtensions$
|
|
2894
|
+
const extensions = await getMatchingExtensions$6(extensionsState, textDocument, assetDir, platform);
|
|
2877
2895
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2878
2896
|
const results = await Promise.all(rpcs.map((rpc, index) => executeExtensionCompletionProvider(rpc, extensions[index], textDocument, args)));
|
|
2879
2897
|
return results[0] || [];
|
|
@@ -2883,7 +2901,7 @@ const executeResolveCompletionItemProvider = async (extensionsState, textDocumen
|
|
|
2883
2901
|
assetDir,
|
|
2884
2902
|
platform
|
|
2885
2903
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
2886
|
-
const matchingExtensions = await getMatchingExtensions$
|
|
2904
|
+
const matchingExtensions = await getMatchingExtensions$6(extensionsState, textDocument, assetDir, platform);
|
|
2887
2905
|
const extensions = matchingExtensions.filter(extension => contributesCompletionProvider(extension, textDocument.languageId));
|
|
2888
2906
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2889
2907
|
const results = await Promise.all(rpcs.map(rpc => executeRpcResolveCompletionItemProvider(rpc, textDocument, args)));
|
|
@@ -2933,7 +2951,7 @@ const contributesDiagnosticProvider = (extension, languageId) => {
|
|
|
2933
2951
|
const contributesLanguageServer = (extension, languageId) => {
|
|
2934
2952
|
return Array.isArray(extension.languageServers) && extension.languageServers.some(languageServer => languageServer.languageId === languageId);
|
|
2935
2953
|
};
|
|
2936
|
-
const getMatchingExtensions$
|
|
2954
|
+
const getMatchingExtensions$5 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
2937
2955
|
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
2938
2956
|
return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && (contributesDiagnosticProvider(extension, textDocument.languageId) || contributesLanguageServer(extension, textDocument.languageId)));
|
|
2939
2957
|
};
|
|
@@ -2951,7 +2969,7 @@ const executeDiagnosticProvider = async (extensionsState, textDocument, ...args)
|
|
|
2951
2969
|
assetDir,
|
|
2952
2970
|
platform
|
|
2953
2971
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
2954
|
-
const extensions = await getMatchingExtensions$
|
|
2972
|
+
const extensions = await getMatchingExtensions$5(extensionsState, textDocument, assetDir, platform);
|
|
2955
2973
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2956
2974
|
const results = await Promise.all(rpcs.map((rpc, index) => executeExtensionDiagnosticProvider(rpc, extensions[index], textDocument, args)));
|
|
2957
2975
|
return results.flat();
|
|
@@ -3005,7 +3023,7 @@ const executeFileSystemProviderReadFile = (extensionsState, providerId, uri) =>
|
|
|
3005
3023
|
const contributesFormattingProvider = (extension, languageId) => {
|
|
3006
3024
|
return Array.isArray(extension.formattingProviders) && extension.formattingProviders.some(provider => provider.languageId === languageId);
|
|
3007
3025
|
};
|
|
3008
|
-
const getMatchingExtensions$
|
|
3026
|
+
const getMatchingExtensions$4 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
3009
3027
|
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
3010
3028
|
return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && contributesFormattingProvider(extension, textDocument.languageId));
|
|
3011
3029
|
};
|
|
@@ -3017,7 +3035,7 @@ const executeFormattingProvider = async (extensionsState, textDocument, ...args)
|
|
|
3017
3035
|
assetDir,
|
|
3018
3036
|
platform
|
|
3019
3037
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
3020
|
-
const extensions = await getMatchingExtensions$
|
|
3038
|
+
const extensions = await getMatchingExtensions$4(extensionsState, textDocument, assetDir, platform);
|
|
3021
3039
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
3022
3040
|
const results = await Promise.all(rpcs.map(rpc => executeRpcFormattingProvider(rpc, textDocument, args)));
|
|
3023
3041
|
return results[0] || [];
|
|
@@ -3028,7 +3046,7 @@ const executeFormattingProvider = async (extensionsState, textDocument, ...args)
|
|
|
3028
3046
|
const contributesHoverProvider = (extension, languageId) => {
|
|
3029
3047
|
return Array.isArray(extension.hoverProviders) && extension.hoverProviders.some(provider => provider.languageId === languageId);
|
|
3030
3048
|
};
|
|
3031
|
-
const getMatchingExtensions$
|
|
3049
|
+
const getMatchingExtensions$3 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
3032
3050
|
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
3033
3051
|
return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && contributesHoverProvider(extension, textDocument.languageId));
|
|
3034
3052
|
};
|
|
@@ -3040,7 +3058,7 @@ const executeHoverProvider = async (extensionsState, textDocument, ...args) => {
|
|
|
3040
3058
|
assetDir,
|
|
3041
3059
|
platform
|
|
3042
3060
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
3043
|
-
const extensions = await getMatchingExtensions$
|
|
3061
|
+
const extensions = await getMatchingExtensions$3(extensionsState, textDocument, assetDir, platform);
|
|
3044
3062
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
3045
3063
|
const results = await Promise.all(rpcs.map(rpc => executeRpcHoverProvider(rpc, textDocument, args)));
|
|
3046
3064
|
return results[0];
|
|
@@ -3062,7 +3080,7 @@ const contributesLanguageProvider = (extension, kind, languageId) => {
|
|
|
3062
3080
|
const activationEvent = activationEventByKind[kind] || 'onLanguage';
|
|
3063
3081
|
return Array.isArray(extension.activation) && extension.activation.includes(`${activationEvent}:${languageId}`);
|
|
3064
3082
|
};
|
|
3065
|
-
const getMatchingExtensions$
|
|
3083
|
+
const getMatchingExtensions$2 = async (extensionsState, kind, textDocument, assetDir, platform) => {
|
|
3066
3084
|
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
3067
3085
|
return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && contributesLanguageProvider(extension, kind, textDocument.languageId));
|
|
3068
3086
|
};
|
|
@@ -3074,7 +3092,7 @@ const executeLanguageProvider = async (extensionsState, kind, methodName, textDo
|
|
|
3074
3092
|
assetDir,
|
|
3075
3093
|
platform
|
|
3076
3094
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
3077
|
-
const extensions = await getMatchingExtensions$
|
|
3095
|
+
const extensions = await getMatchingExtensions$2(extensionsState, kind, textDocument, assetDir, platform);
|
|
3078
3096
|
if (extensions.length === 0) {
|
|
3079
3097
|
return {
|
|
3080
3098
|
found: false
|
|
@@ -3092,7 +3110,7 @@ const executeOrganizeImportsProvider = async (extensionsState, textDocument) =>
|
|
|
3092
3110
|
assetDir,
|
|
3093
3111
|
platform
|
|
3094
3112
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
3095
|
-
const extensions = await getMatchingExtensions$
|
|
3113
|
+
const extensions = await getMatchingExtensions$2(extensionsState, 'code action', textDocument, assetDir, platform);
|
|
3096
3114
|
if (extensions.length === 0) {
|
|
3097
3115
|
return {
|
|
3098
3116
|
found: false
|
|
@@ -3108,6 +3126,29 @@ const executeOrganizeImportsProvider = async (extensionsState, textDocument) =>
|
|
|
3108
3126
|
|
|
3109
3127
|
/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
|
|
3110
3128
|
|
|
3129
|
+
const contributesSignatureHelpProvider = (extension, languageId) => {
|
|
3130
|
+
return Array.isArray(extension.signatureHelpProviders) && extension.signatureHelpProviders.some(provider => provider.languageId === languageId);
|
|
3131
|
+
};
|
|
3132
|
+
const getMatchingExtensions$1 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
3133
|
+
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
3134
|
+
return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && contributesSignatureHelpProvider(extension, textDocument.languageId));
|
|
3135
|
+
};
|
|
3136
|
+
const executeRpcSignatureHelpProvider = async (rpc, textDocument, args) => {
|
|
3137
|
+
return rpc.invoke('ExtensionApi.executeSignatureHelpProvider', textDocument, ...args);
|
|
3138
|
+
};
|
|
3139
|
+
const executeSignatureHelpProvider = async (extensionsState, textDocument, ...args) => {
|
|
3140
|
+
const {
|
|
3141
|
+
assetDir,
|
|
3142
|
+
platform
|
|
3143
|
+
} = await getRuntimeContext('', extensionsState.platform);
|
|
3144
|
+
const extensions = await getMatchingExtensions$1(extensionsState, textDocument, assetDir, platform);
|
|
3145
|
+
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
3146
|
+
const results = await Promise.all(rpcs.map(rpc => executeRpcSignatureHelpProvider(rpc, textDocument, args)));
|
|
3147
|
+
return results[0];
|
|
3148
|
+
};
|
|
3149
|
+
|
|
3150
|
+
/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
|
|
3151
|
+
|
|
3111
3152
|
const getProviderIds = extension => {
|
|
3112
3153
|
if (!Array.isArray(extension.sourceControlProviders)) {
|
|
3113
3154
|
return [];
|
|
@@ -3899,6 +3940,19 @@ const getViews = async (assetDir, platform) => {
|
|
|
3899
3940
|
|
|
3900
3941
|
const handleData = () => {};
|
|
3901
3942
|
|
|
3943
|
+
const invokeHandler = async (extensionId, changes) => {
|
|
3944
|
+
const rpc = get$3(extensionId);
|
|
3945
|
+
if (!rpc) {
|
|
3946
|
+
unregister(extensionId);
|
|
3947
|
+
return;
|
|
3948
|
+
}
|
|
3949
|
+
await rpc.invoke('ExtensionApi.handleFileChanges', changes);
|
|
3950
|
+
};
|
|
3951
|
+
const handleFileChanges = async (changes = {}) => {
|
|
3952
|
+
const extensionIds = getRegisteredExtensionIds();
|
|
3953
|
+
await Promise.allSettled(extensionIds.map(async extensionId => invokeHandler(extensionId, changes)));
|
|
3954
|
+
};
|
|
3955
|
+
|
|
3902
3956
|
const handleMessagePort = async (port, rpcId) => {
|
|
3903
3957
|
await create$8({
|
|
3904
3958
|
commandMap: commandMapRef,
|
|
@@ -4080,6 +4134,7 @@ const commandMap = {
|
|
|
4080
4134
|
'Extensions.executeLanguageProvider': wrapCommand(executeLanguageProvider),
|
|
4081
4135
|
'Extensions.executeOrganizeImportsProvider': wrapCommand(executeOrganizeImportsProvider),
|
|
4082
4136
|
'Extensions.executeResolveCompletionItemProvider': wrapCommand(executeResolveCompletionItemProvider),
|
|
4137
|
+
'Extensions.executeSignatureHelpProvider': wrapCommand(executeSignatureHelpProvider),
|
|
4083
4138
|
'Extensions.executeSourceControlProvider': wrapCommand(executeSourceControlProvider),
|
|
4084
4139
|
'Extensions.getAccessToken': getAccessToken,
|
|
4085
4140
|
'Extensions.getAllExtensions': getAllExtensions,
|
|
@@ -4103,6 +4158,7 @@ const commandMap = {
|
|
|
4103
4158
|
'Extensions.getViewMenuEntries': getViewMenuEntries,
|
|
4104
4159
|
'Extensions.getViews': getViews,
|
|
4105
4160
|
'Extensions.handleData': handleData,
|
|
4161
|
+
'Extensions.handleFileChanges': handleFileChanges,
|
|
4106
4162
|
'Extensions.handleMessagePort': handleMessagePort,
|
|
4107
4163
|
'Extensions.handleUncaughtExtensionError': handleUncaughtExtensionError,
|
|
4108
4164
|
'Extensions.handleViewContextChange': handleViewContextChange,
|