@lvce-editor/extension-management-worker 4.45.0 → 4.47.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.
|
@@ -2756,6 +2756,15 @@ const executeExtensionCommand = async (extensionsState, id, ...args) => {
|
|
|
2756
2756
|
};
|
|
2757
2757
|
};
|
|
2758
2758
|
|
|
2759
|
+
const getLanguageServerRootUri = async () => {
|
|
2760
|
+
try {
|
|
2761
|
+
const workspacePath = await invoke$2('Workspace.getPath');
|
|
2762
|
+
return typeof workspacePath === 'string' && workspacePath ? workspacePath : undefined;
|
|
2763
|
+
} catch {
|
|
2764
|
+
return undefined;
|
|
2765
|
+
}
|
|
2766
|
+
};
|
|
2767
|
+
|
|
2759
2768
|
/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
|
|
2760
2769
|
const warn = (...args) => {
|
|
2761
2770
|
console.warn(...args);
|
|
@@ -2824,10 +2833,14 @@ const executeLanguageServerCompletion = async (rpc, extension, textDocument, off
|
|
|
2824
2833
|
}
|
|
2825
2834
|
let result;
|
|
2826
2835
|
try {
|
|
2836
|
+
const rootUri = await getLanguageServerRootUri();
|
|
2827
2837
|
result = await invoke$1('LanguageServer.complete', {
|
|
2828
2838
|
argv: languageServer.argv,
|
|
2829
2839
|
id: languageServer.id,
|
|
2830
2840
|
offset,
|
|
2841
|
+
...(rootUri && {
|
|
2842
|
+
rootUri
|
|
2843
|
+
}),
|
|
2831
2844
|
textDocument,
|
|
2832
2845
|
uri: languageServer.uri
|
|
2833
2846
|
});
|
|
@@ -2869,7 +2882,7 @@ const contributesCompletionProvider = (extension, languageId) => {
|
|
|
2869
2882
|
const contributesLanguageServer$1 = (extension, languageId) => {
|
|
2870
2883
|
return Array.isArray(extension.languageServers) && extension.languageServers.some(languageServer => languageServer.languageId === languageId);
|
|
2871
2884
|
};
|
|
2872
|
-
const getMatchingExtensions$
|
|
2885
|
+
const getMatchingExtensions$6 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
2873
2886
|
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
2874
2887
|
return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && (contributesCompletionProvider(extension, textDocument.languageId) || contributesLanguageServer$1(extension, textDocument.languageId)));
|
|
2875
2888
|
};
|
|
@@ -2891,7 +2904,7 @@ const executeCompletionProvider = async (extensionsState, textDocument, ...args)
|
|
|
2891
2904
|
assetDir,
|
|
2892
2905
|
platform
|
|
2893
2906
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
2894
|
-
const extensions = await getMatchingExtensions$
|
|
2907
|
+
const extensions = await getMatchingExtensions$6(extensionsState, textDocument, assetDir, platform);
|
|
2895
2908
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2896
2909
|
const results = await Promise.all(rpcs.map((rpc, index) => executeExtensionCompletionProvider(rpc, extensions[index], textDocument, args)));
|
|
2897
2910
|
return results[0] || [];
|
|
@@ -2901,7 +2914,7 @@ const executeResolveCompletionItemProvider = async (extensionsState, textDocumen
|
|
|
2901
2914
|
assetDir,
|
|
2902
2915
|
platform
|
|
2903
2916
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
2904
|
-
const matchingExtensions = await getMatchingExtensions$
|
|
2917
|
+
const matchingExtensions = await getMatchingExtensions$6(extensionsState, textDocument, assetDir, platform);
|
|
2905
2918
|
const extensions = matchingExtensions.filter(extension => contributesCompletionProvider(extension, textDocument.languageId));
|
|
2906
2919
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2907
2920
|
const results = await Promise.all(rpcs.map(rpc => executeRpcResolveCompletionItemProvider(rpc, textDocument, args)));
|
|
@@ -2934,9 +2947,13 @@ const executeLanguageServerDiagnostic = async (rpc, extension, textDocument) =>
|
|
|
2934
2947
|
if (!languageServer) {
|
|
2935
2948
|
return [];
|
|
2936
2949
|
}
|
|
2950
|
+
const rootUri = await getLanguageServerRootUri();
|
|
2937
2951
|
const result = await invoke$1('LanguageServer.diagnostic', {
|
|
2938
2952
|
argv: languageServer.argv,
|
|
2939
2953
|
id: languageServer.id,
|
|
2954
|
+
...(rootUri && {
|
|
2955
|
+
rootUri
|
|
2956
|
+
}),
|
|
2940
2957
|
textDocument,
|
|
2941
2958
|
uri: languageServer.uri
|
|
2942
2959
|
});
|
|
@@ -2951,7 +2968,7 @@ const contributesDiagnosticProvider = (extension, languageId) => {
|
|
|
2951
2968
|
const contributesLanguageServer = (extension, languageId) => {
|
|
2952
2969
|
return Array.isArray(extension.languageServers) && extension.languageServers.some(languageServer => languageServer.languageId === languageId);
|
|
2953
2970
|
};
|
|
2954
|
-
const getMatchingExtensions$
|
|
2971
|
+
const getMatchingExtensions$5 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
2955
2972
|
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
2956
2973
|
return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && (contributesDiagnosticProvider(extension, textDocument.languageId) || contributesLanguageServer(extension, textDocument.languageId)));
|
|
2957
2974
|
};
|
|
@@ -2969,7 +2986,7 @@ const executeDiagnosticProvider = async (extensionsState, textDocument, ...args)
|
|
|
2969
2986
|
assetDir,
|
|
2970
2987
|
platform
|
|
2971
2988
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
2972
|
-
const extensions = await getMatchingExtensions$
|
|
2989
|
+
const extensions = await getMatchingExtensions$5(extensionsState, textDocument, assetDir, platform);
|
|
2973
2990
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
2974
2991
|
const results = await Promise.all(rpcs.map((rpc, index) => executeExtensionDiagnosticProvider(rpc, extensions[index], textDocument, args)));
|
|
2975
2992
|
return results.flat();
|
|
@@ -3023,7 +3040,7 @@ const executeFileSystemProviderReadFile = (extensionsState, providerId, uri) =>
|
|
|
3023
3040
|
const contributesFormattingProvider = (extension, languageId) => {
|
|
3024
3041
|
return Array.isArray(extension.formattingProviders) && extension.formattingProviders.some(provider => provider.languageId === languageId);
|
|
3025
3042
|
};
|
|
3026
|
-
const getMatchingExtensions$
|
|
3043
|
+
const getMatchingExtensions$4 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
3027
3044
|
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
3028
3045
|
return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && contributesFormattingProvider(extension, textDocument.languageId));
|
|
3029
3046
|
};
|
|
@@ -3035,7 +3052,7 @@ const executeFormattingProvider = async (extensionsState, textDocument, ...args)
|
|
|
3035
3052
|
assetDir,
|
|
3036
3053
|
platform
|
|
3037
3054
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
3038
|
-
const extensions = await getMatchingExtensions$
|
|
3055
|
+
const extensions = await getMatchingExtensions$4(extensionsState, textDocument, assetDir, platform);
|
|
3039
3056
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
3040
3057
|
const results = await Promise.all(rpcs.map(rpc => executeRpcFormattingProvider(rpc, textDocument, args)));
|
|
3041
3058
|
return results[0] || [];
|
|
@@ -3046,7 +3063,7 @@ const executeFormattingProvider = async (extensionsState, textDocument, ...args)
|
|
|
3046
3063
|
const contributesHoverProvider = (extension, languageId) => {
|
|
3047
3064
|
return Array.isArray(extension.hoverProviders) && extension.hoverProviders.some(provider => provider.languageId === languageId);
|
|
3048
3065
|
};
|
|
3049
|
-
const getMatchingExtensions$
|
|
3066
|
+
const getMatchingExtensions$3 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
3050
3067
|
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
3051
3068
|
return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && contributesHoverProvider(extension, textDocument.languageId));
|
|
3052
3069
|
};
|
|
@@ -3058,7 +3075,7 @@ const executeHoverProvider = async (extensionsState, textDocument, ...args) => {
|
|
|
3058
3075
|
assetDir,
|
|
3059
3076
|
platform
|
|
3060
3077
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
3061
|
-
const extensions = await getMatchingExtensions$
|
|
3078
|
+
const extensions = await getMatchingExtensions$3(extensionsState, textDocument, assetDir, platform);
|
|
3062
3079
|
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
3063
3080
|
const results = await Promise.all(rpcs.map(rpc => executeRpcHoverProvider(rpc, textDocument, args)));
|
|
3064
3081
|
return results[0];
|
|
@@ -3080,7 +3097,7 @@ const contributesLanguageProvider = (extension, kind, languageId) => {
|
|
|
3080
3097
|
const activationEvent = activationEventByKind[kind] || 'onLanguage';
|
|
3081
3098
|
return Array.isArray(extension.activation) && extension.activation.includes(`${activationEvent}:${languageId}`);
|
|
3082
3099
|
};
|
|
3083
|
-
const getMatchingExtensions$
|
|
3100
|
+
const getMatchingExtensions$2 = async (extensionsState, kind, textDocument, assetDir, platform) => {
|
|
3084
3101
|
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
3085
3102
|
return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && contributesLanguageProvider(extension, kind, textDocument.languageId));
|
|
3086
3103
|
};
|
|
@@ -3092,7 +3109,7 @@ const executeLanguageProvider = async (extensionsState, kind, methodName, textDo
|
|
|
3092
3109
|
assetDir,
|
|
3093
3110
|
platform
|
|
3094
3111
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
3095
|
-
const extensions = await getMatchingExtensions$
|
|
3112
|
+
const extensions = await getMatchingExtensions$2(extensionsState, kind, textDocument, assetDir, platform);
|
|
3096
3113
|
if (extensions.length === 0) {
|
|
3097
3114
|
return {
|
|
3098
3115
|
found: false
|
|
@@ -3110,7 +3127,7 @@ const executeOrganizeImportsProvider = async (extensionsState, textDocument) =>
|
|
|
3110
3127
|
assetDir,
|
|
3111
3128
|
platform
|
|
3112
3129
|
} = await getRuntimeContext('', extensionsState.platform);
|
|
3113
|
-
const extensions = await getMatchingExtensions$
|
|
3130
|
+
const extensions = await getMatchingExtensions$2(extensionsState, 'code action', textDocument, assetDir, platform);
|
|
3114
3131
|
if (extensions.length === 0) {
|
|
3115
3132
|
return {
|
|
3116
3133
|
found: false
|
|
@@ -3126,6 +3143,29 @@ const executeOrganizeImportsProvider = async (extensionsState, textDocument) =>
|
|
|
3126
3143
|
|
|
3127
3144
|
/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
|
|
3128
3145
|
|
|
3146
|
+
const contributesSignatureHelpProvider = (extension, languageId) => {
|
|
3147
|
+
return Array.isArray(extension.signatureHelpProviders) && extension.signatureHelpProviders.some(provider => provider.languageId === languageId);
|
|
3148
|
+
};
|
|
3149
|
+
const getMatchingExtensions$1 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
3150
|
+
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
3151
|
+
return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && contributesSignatureHelpProvider(extension, textDocument.languageId));
|
|
3152
|
+
};
|
|
3153
|
+
const executeRpcSignatureHelpProvider = async (rpc, textDocument, args) => {
|
|
3154
|
+
return rpc.invoke('ExtensionApi.executeSignatureHelpProvider', textDocument, ...args);
|
|
3155
|
+
};
|
|
3156
|
+
const executeSignatureHelpProvider = async (extensionsState, textDocument, ...args) => {
|
|
3157
|
+
const {
|
|
3158
|
+
assetDir,
|
|
3159
|
+
platform
|
|
3160
|
+
} = await getRuntimeContext('', extensionsState.platform);
|
|
3161
|
+
const extensions = await getMatchingExtensions$1(extensionsState, textDocument, assetDir, platform);
|
|
3162
|
+
const rpcs = await Promise.all(extensions.map(extension => getRpc$1(extension, assetDir, platform)));
|
|
3163
|
+
const results = await Promise.all(rpcs.map(rpc => executeRpcSignatureHelpProvider(rpc, textDocument, args)));
|
|
3164
|
+
return results[0];
|
|
3165
|
+
};
|
|
3166
|
+
|
|
3167
|
+
/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
|
|
3168
|
+
|
|
3129
3169
|
const getProviderIds = extension => {
|
|
3130
3170
|
if (!Array.isArray(extension.sourceControlProviders)) {
|
|
3131
3171
|
return [];
|
|
@@ -4111,6 +4151,7 @@ const commandMap = {
|
|
|
4111
4151
|
'Extensions.executeLanguageProvider': wrapCommand(executeLanguageProvider),
|
|
4112
4152
|
'Extensions.executeOrganizeImportsProvider': wrapCommand(executeOrganizeImportsProvider),
|
|
4113
4153
|
'Extensions.executeResolveCompletionItemProvider': wrapCommand(executeResolveCompletionItemProvider),
|
|
4154
|
+
'Extensions.executeSignatureHelpProvider': wrapCommand(executeSignatureHelpProvider),
|
|
4114
4155
|
'Extensions.executeSourceControlProvider': wrapCommand(executeSourceControlProvider),
|
|
4115
4156
|
'Extensions.getAccessToken': getAccessToken,
|
|
4116
4157
|
'Extensions.getAllExtensions': getAllExtensions,
|