@lvce-editor/extension-management-worker 4.46.0 → 4.48.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.
@@ -2395,7 +2395,7 @@ const resetExtensionActivation = extensionId => {
2395
2395
  delete activatingExtensions[extensionId];
2396
2396
  delete runningExtensions[extensionId];
2397
2397
  };
2398
- const matchesEvent = (extension, event) => {
2398
+ const matchesEvent$1 = (extension, event) => {
2399
2399
  return !extension.disabled && isExtensionIsolated(extension) && Array.isArray(extension.activation) && extension.activation.includes(event);
2400
2400
  };
2401
2401
  const getExtensionId$3 = extension => {
@@ -2444,7 +2444,7 @@ const activateByEvent = async (event, assetDir, platform) => {
2444
2444
  platform: resolvedPlatform
2445
2445
  } = await getRuntimeContext(assetDir, platform);
2446
2446
  const extensions = await getAllExtensions(resolvedAssetDir, resolvedPlatform);
2447
- const matchingExtensions = extensions.filter(extension => matchesEvent(extension, event));
2447
+ const matchingExtensions = extensions.filter(extension => matchesEvent$1(extension, event));
2448
2448
  for (const extension of matchingExtensions) {
2449
2449
  await activateExtension(extension, event, resolvedAssetDir, resolvedPlatform);
2450
2450
  }
@@ -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
  });
@@ -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
  });
@@ -3126,6 +3143,22 @@ const executeOrganizeImportsProvider = async (extensionsState, textDocument) =>
3126
3143
 
3127
3144
  /* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
3128
3145
 
3146
+ const matchesEvent = (extension, event) => {
3147
+ return !extension.disabled && isExtensionIsolated(extension) && Array.isArray(extension.activation) && extension.activation.includes(event);
3148
+ };
3149
+ const executeProvidersByEvent = async (extensionsState, event, method, ...params) => {
3150
+ const {
3151
+ assetDir,
3152
+ platform
3153
+ } = await getRuntimeContext('', extensionsState.platform);
3154
+ const extensions = await getAllExtensionsWithState(extensionsState, assetDir, platform);
3155
+ const matchingExtensions = extensions.filter(extension => matchesEvent(extension, event));
3156
+ const rpcs = await Promise.all(matchingExtensions.map(extension => getRpc$1(extension, assetDir, platform)));
3157
+ return Promise.all(rpcs.map(rpc => rpc.invoke(method, ...params)));
3158
+ };
3159
+
3160
+ /* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
3161
+
3129
3162
  const contributesSignatureHelpProvider = (extension, languageId) => {
3130
3163
  return Array.isArray(extension.signatureHelpProviders) && extension.signatureHelpProviders.some(provider => provider.languageId === languageId);
3131
3164
  };
@@ -4133,6 +4166,7 @@ const commandMap = {
4133
4166
  'Extensions.executeHoverProvider': wrapCommand(executeHoverProvider),
4134
4167
  'Extensions.executeLanguageProvider': wrapCommand(executeLanguageProvider),
4135
4168
  'Extensions.executeOrganizeImportsProvider': wrapCommand(executeOrganizeImportsProvider),
4169
+ 'Extensions.executeProvidersByEvent': wrapCommand(executeProvidersByEvent),
4136
4170
  'Extensions.executeResolveCompletionItemProvider': wrapCommand(executeResolveCompletionItemProvider),
4137
4171
  'Extensions.executeSignatureHelpProvider': wrapCommand(executeSignatureHelpProvider),
4138
4172
  'Extensions.executeSourceControlProvider': wrapCommand(executeSourceControlProvider),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-management-worker",
3
- "version": "4.46.0",
3
+ "version": "4.48.0",
4
4
  "description": "Webworker for the Extension Management functionality in Lvce Editor.",
5
5
  "keywords": [
6
6
  "web-worker"