@lvce-editor/extension-management-worker 4.88.3 → 4.88.4
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.
|
@@ -2187,7 +2187,7 @@ const getAllExtensionsWithState = async (extensionsState, assetDir, platform, fi
|
|
|
2187
2187
|
const compatibleExtensions = [...webExtensions, ...meta].filter(extension => isExtensionCompatible(extension, resolvedPlatform));
|
|
2188
2188
|
extensions = await getExtensionsWithState(compatibleExtensions, extensionsState, resolvedPlatform);
|
|
2189
2189
|
} else {
|
|
2190
|
-
const local = await invoke$3('ExtensionManagement.getAllExtensions');
|
|
2190
|
+
const local = fields === undefined ? await invoke$3('ExtensionManagement.getAllExtensions') : await invoke$3('ExtensionManagement.getAllExtensions', [...new Set([...fields, 'id', 'disabled'])]);
|
|
2191
2191
|
extensions = await getExtensionsWithState([...local, ...meta], extensionsState, resolvedPlatform);
|
|
2192
2192
|
}
|
|
2193
2193
|
if (fields === undefined) {
|
|
@@ -3916,6 +3916,9 @@ const executeLanguageServerCompletion = async (rpc, extension, textDocument, off
|
|
|
3916
3916
|
return result.map(sanitizeCompletionItem).filter(item => item !== undefined);
|
|
3917
3917
|
};
|
|
3918
3918
|
|
|
3919
|
+
// Preserve provider activation, RPC permissions, application identity and language-server metadata.
|
|
3920
|
+
const languageProviderManifestFields = ['applicationGeneration', 'applicationId', 'browser', 'builtin', 'completionProviders', 'contentSecurityPolicy', 'diagnosticProviders', 'disabled', 'id', 'isolated', 'isWeb', 'languageServers', 'path', 'rpc', 'uri', 'workerName'];
|
|
3921
|
+
|
|
3919
3922
|
/* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
|
|
3920
3923
|
|
|
3921
3924
|
const contributesCompletionProvider = (extension, languageId) => {
|
|
@@ -3925,7 +3928,7 @@ const contributesLanguageServer$3 = (extension, languageId) => {
|
|
|
3925
3928
|
return Array.isArray(extension.languageServers) && extension.languageServers.some(languageServer => languageServer.languageId === languageId);
|
|
3926
3929
|
};
|
|
3927
3930
|
const getMatchingExtensions$6 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
3928
|
-
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
3931
|
+
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform, languageProviderManifestFields);
|
|
3929
3932
|
return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && (contributesCompletionProvider(extension, textDocument.languageId) || contributesLanguageServer$3(extension, textDocument.languageId)));
|
|
3930
3933
|
};
|
|
3931
3934
|
const executeRpcCompletionProvider = async (rpc, textDocument, args) => {
|
|
@@ -4015,7 +4018,7 @@ const contributesLanguageServer$2 = (extension, languageId) => {
|
|
|
4015
4018
|
return Array.isArray(extension.languageServers) && extension.languageServers.some(languageServer => languageServer.languageId === languageId);
|
|
4016
4019
|
};
|
|
4017
4020
|
const getMatchingExtensions$5 = async (extensionsState, textDocument, assetDir, platform) => {
|
|
4018
|
-
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
|
|
4021
|
+
const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform, languageProviderManifestFields);
|
|
4019
4022
|
return extensions.filter(extension => !extension.disabled && isExtensionIsolated(extension) && (contributesDiagnosticProvider(extension, textDocument.languageId) || contributesLanguageServer$2(extension, textDocument.languageId)));
|
|
4020
4023
|
};
|
|
4021
4024
|
const executeRpcDiagnosticProvider = async (rpc, textDocument, args) => {
|