@lvce-editor/extension-host-worker 8.44.0 → 8.45.1

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.
@@ -666,7 +666,7 @@ const register$1 = commandMap => {
666
666
  const getCommand = key => {
667
667
  return commands[key];
668
668
  };
669
- const execute = (command, ...args) => {
669
+ const execute$1 = (command, ...args) => {
670
670
  const fn = getCommand(command);
671
671
  if (!fn) {
672
672
  throw new CommandNotFoundError(command);
@@ -1086,7 +1086,7 @@ const logError = () => {
1086
1086
  };
1087
1087
  const handleMessage = event => {
1088
1088
  const actualRequiresSocket = event?.target?.requiresSocket || requiresSocket;
1089
- const actualExecute = event?.target?.execute || execute;
1089
+ const actualExecute = event?.target?.execute || execute$1;
1090
1090
  return handleJsonRpcMessage(event.target, event.data, actualExecute, event.target._resolve, preparePrettyError, logError, actualRequiresSocket);
1091
1091
  };
1092
1092
 
@@ -1328,15 +1328,15 @@ const ExtensionManagementWorker = 9006;
1328
1328
  const RendererWorker$1 = 1;
1329
1329
 
1330
1330
  const {
1331
- invoke: invoke$6} = create$7(DebugWorker$1);
1331
+ invoke: invoke$7} = create$7(DebugWorker$1);
1332
1332
 
1333
1333
  const DebugWorker = {
1334
1334
  __proto__: null,
1335
- invoke: invoke$6
1335
+ invoke: invoke$7
1336
1336
  };
1337
1337
 
1338
1338
  const {
1339
- invoke: invoke$5,
1339
+ invoke: invoke$6,
1340
1340
  invokeAndTransfer: invokeAndTransfer$3,
1341
1341
  set: set$c
1342
1342
  } = create$7(ExtensionManagementWorker);
@@ -1346,12 +1346,12 @@ const {
1346
1346
  } = create$7(7013);
1347
1347
 
1348
1348
  const {
1349
- invoke: invoke$4,
1349
+ invoke: invoke$5,
1350
1350
  set: set$a
1351
1351
  } = create$7(10_000);
1352
1352
 
1353
1353
  const {
1354
- invoke: invoke$3,
1354
+ invoke: invoke$4,
1355
1355
  invokeAndTransfer: invokeAndTransfer$2} = create$7(RendererWorker$1);
1356
1356
  const sendMessagePortToFileSearchWorker = async (port, rpcId = 0) => {
1357
1357
  const command = 'QuickPick.handleMessagePort';
@@ -1375,12 +1375,12 @@ const isCommandNotFoundError = error => {
1375
1375
  };
1376
1376
  const executeCommand$2 = async (id, ...args) => {
1377
1377
  try {
1378
- return await invoke$5('Extensions.executeCommand', id, ...args);
1378
+ return await invoke$6('Extensions.executeCommand', id, ...args);
1379
1379
  } catch (error) {
1380
1380
  if (!isCommandNotFoundError(error)) {
1381
1381
  throw error;
1382
1382
  }
1383
- return invoke$3(id, ...args);
1383
+ return invoke$4(id, ...args);
1384
1384
  }
1385
1385
  };
1386
1386
 
@@ -1395,21 +1395,6 @@ const getJson$1 = async url => {
1395
1395
  throw new DepecratedError(`vscode.getJson is deprecated, use createNodeRpc instead`);
1396
1396
  };
1397
1397
 
1398
- class NonError extends Error {
1399
- name = 'NonError';
1400
- constructor(message) {
1401
- super(message);
1402
- }
1403
- }
1404
-
1405
- // ensureError based on https://github.com/sindresorhus/ensure-error/blob/main/index.ts (License MIT)
1406
- const ensureError = input => {
1407
- if (!(input instanceof Error)) {
1408
- return new NonError(input);
1409
- }
1410
- return input;
1411
- };
1412
-
1413
1398
  const state$c = {
1414
1399
  /** @type{any[]} */
1415
1400
  onDidChangeTextDocumentListeners: [],
@@ -1638,6 +1623,65 @@ const setLanguageId = (textDocumentId, languageId) => {
1638
1623
  runListenersSafe(getDidOpenListeners(), newTextDocument);
1639
1624
  };
1640
1625
 
1626
+ const hasLegacyProvider = (getProvider, textDocumentId) => {
1627
+ const textDocument = get$a(textDocumentId);
1628
+ return Boolean(textDocument && getProvider(textDocument.languageId));
1629
+ };
1630
+ const executeLegacy = (executeProvider, textDocumentId, args) => {
1631
+ return executeProvider(textDocumentId, ...args);
1632
+ };
1633
+ const isUnavailableError = error => {
1634
+ return error instanceof Error && error.name === 'CommandNotFoundError' || error instanceof TypeError && error.message === "Cannot read properties of undefined (reading 'invoke')";
1635
+ };
1636
+ const invoke$3 = async (method, ...args) => {
1637
+ try {
1638
+ return await invoke$6(method, ...args);
1639
+ } catch (error) {
1640
+ if (isUnavailableError(error)) {
1641
+ return {
1642
+ found: false
1643
+ };
1644
+ }
1645
+ throw error;
1646
+ }
1647
+ };
1648
+ const execute = async (kind, methodName, textDocumentId, ...args) => {
1649
+ const textDocument = get$a(textDocumentId);
1650
+ if (!textDocument) {
1651
+ return {
1652
+ found: false
1653
+ };
1654
+ }
1655
+ return invoke$3('Extensions.executeLanguageProvider', kind, methodName, textDocument, ...args);
1656
+ };
1657
+ const executeWithTextDocument = (kind, methodName, textDocument, ...args) => {
1658
+ return invoke$3('Extensions.executeLanguageProvider', kind, methodName, textDocument, ...args);
1659
+ };
1660
+ const executeOrganizeImports$1 = async textDocumentId => {
1661
+ const textDocument = get$a(textDocumentId);
1662
+ if (!textDocument) {
1663
+ return {
1664
+ found: false
1665
+ };
1666
+ }
1667
+ return invoke$3('Extensions.executeOrganizeImportsProvider', textDocument);
1668
+ };
1669
+
1670
+ class NonError extends Error {
1671
+ name = 'NonError';
1672
+ constructor(message) {
1673
+ super(message);
1674
+ }
1675
+ }
1676
+
1677
+ // ensureError based on https://github.com/sindresorhus/ensure-error/blob/main/index.ts (License MIT)
1678
+ const ensureError = input => {
1679
+ if (!(input instanceof Error)) {
1680
+ return new NonError(input);
1681
+ }
1682
+ return input;
1683
+ };
1684
+
1641
1685
  const E_NO_PROVIDER_FOUND = 'E_NO_PROVIDER_FOUND';
1642
1686
  const BABEL_PARSER_SYNTAX_ERROR = 'BABEL_PARSER_SYNTAX_ERROR';
1643
1687
 
@@ -1876,16 +1920,25 @@ const Object$1 = 'object';
1876
1920
  const String$1 = 'string';
1877
1921
 
1878
1922
  const {
1879
- executeBraceCompletionProvider,
1923
+ executeBraceCompletionProvider: executeLegacyBraceCompletionProvider,
1924
+ getProvider: getProvider$d,
1880
1925
  registerBraceCompletionProvider} = create$6({
1881
1926
  name: 'BraceCompletion',
1882
1927
  resultShape: {
1883
1928
  type: Boolean$1
1884
1929
  }
1885
1930
  });
1931
+ const executeBraceCompletionProvider = async (textDocumentId, ...args) => {
1932
+ if (hasLegacyProvider(getProvider$d, textDocumentId)) {
1933
+ return executeLegacy(executeLegacyBraceCompletionProvider, textDocumentId, args);
1934
+ }
1935
+ const isolated = await execute('brace completion', 'provideBraceCompletion', textDocumentId, ...args);
1936
+ return isolated.found ? isolated.result : executeLegacy(executeLegacyBraceCompletionProvider, textDocumentId, args);
1937
+ };
1886
1938
 
1887
1939
  const {
1888
- executeClosingTagProvider,
1940
+ executeClosingTagProvider: executeLegacyClosingTagProvider,
1941
+ getProvider: getProvider$c,
1889
1942
  registerClosingTagProvider
1890
1943
  } = create$6({
1891
1944
  name: 'ClosingTag',
@@ -1895,9 +1948,17 @@ const {
1895
1948
  },
1896
1949
  returnUndefinedWhenNoProviderFound: true
1897
1950
  });
1951
+ const executeClosingTagProvider = async (textDocumentId, ...args) => {
1952
+ if (hasLegacyProvider(getProvider$c, textDocumentId)) {
1953
+ return executeLegacy(executeLegacyClosingTagProvider, textDocumentId, args);
1954
+ }
1955
+ const isolated = await execute('closing tag', 'provideClosingTag', textDocumentId, ...args);
1956
+ return isolated.found ? isolated.result : executeLegacy(executeLegacyClosingTagProvider, textDocumentId, args);
1957
+ };
1898
1958
 
1899
1959
  const {
1900
1960
  executeCodeActionProvider,
1961
+ getProvider: getProvider$b,
1901
1962
  registerCodeActionProvider
1902
1963
  } = create$6({
1903
1964
  name: 'CodeAction',
@@ -1914,6 +1975,12 @@ const isOrganizeImports = action => {
1914
1975
 
1915
1976
  // TODO handle case when multiple organize imports providers are registered
1916
1977
  const executeOrganizeImports = async uid => {
1978
+ if (!hasLegacyProvider(getProvider$b, uid)) {
1979
+ const isolated = await executeOrganizeImports$1(uid);
1980
+ if (isolated.found) {
1981
+ return isolated.result;
1982
+ }
1983
+ }
1917
1984
  const actions = await executeCodeActionProvider(uid);
1918
1985
  // @ts-ignore
1919
1986
  if (!actions || actions.length === 0) {
@@ -1982,7 +2049,8 @@ const getRegisteredCommandIds$1 = () => {
1982
2049
  };
1983
2050
 
1984
2051
  const {
1985
- executeCommentProvider,
2052
+ executeCommentProvider: executeLegacyCommentProvider,
2053
+ getProvider: getProvider$a,
1986
2054
  registerCommentProvider
1987
2055
  } = create$6({
1988
2056
  name: 'Comment',
@@ -1990,6 +2058,13 @@ const {
1990
2058
  return '';
1991
2059
  }
1992
2060
  });
2061
+ const executeCommentProvider = async (textDocumentId, ...args) => {
2062
+ if (hasLegacyProvider(getProvider$a, textDocumentId)) {
2063
+ return executeLegacy(executeLegacyCommentProvider, textDocumentId, args);
2064
+ }
2065
+ const isolated = await execute('comment', 'provideComment', textDocumentId, ...args);
2066
+ return isolated.found ? isolated.result : executeLegacy(executeLegacyCommentProvider, textDocumentId, args);
2067
+ };
1993
2068
 
1994
2069
  const {
1995
2070
  executeCompletionProvider,
@@ -2217,7 +2292,8 @@ const setPauseOnExceptions = async (protocol, value) => {
2217
2292
  };
2218
2293
 
2219
2294
  const {
2220
- executeDefinitionProvider,
2295
+ executeDefinitionProvider: executeLegacyDefinitionProvider,
2296
+ getProvider: getProvider$9,
2221
2297
  registerDefinitionProvider} = create$6({
2222
2298
  name: 'Definition',
2223
2299
  resultShape: {
@@ -2236,6 +2312,13 @@ const {
2236
2312
  type: Object$1
2237
2313
  }
2238
2314
  });
2315
+ const executeDefinitionProvider = async (textDocumentId, ...args) => {
2316
+ if (hasLegacyProvider(getProvider$9, textDocumentId)) {
2317
+ return executeLegacy(executeLegacyDefinitionProvider, textDocumentId, args);
2318
+ }
2319
+ const isolated = await execute('definition', 'provideDefinition', textDocumentId, ...args);
2320
+ return isolated.found ? isolated.result : executeLegacy(executeLegacyDefinitionProvider, textDocumentId, args);
2321
+ };
2239
2322
 
2240
2323
  const {
2241
2324
  executeDiagnosticProvider,
@@ -2404,7 +2487,7 @@ const isReadonly = async protocol => {
2404
2487
 
2405
2488
  const {
2406
2489
  executeFormattingProvider: executeRegisteredFormattingProvider,
2407
- getProvider: getProvider$3,
2490
+ getProvider: getProvider$8,
2408
2491
  getProviders: getProviders$1,
2409
2492
  registerFormattingProvider} = create$6({
2410
2493
  executeKey: 'format',
@@ -2434,7 +2517,7 @@ const executeFormattingProvider = async (textDocumentId, ...params) => {
2434
2517
  if (!textDocument) {
2435
2518
  throw new VError(`Failed to execute formatting provider: textDocument with id ${textDocumentId} not found`);
2436
2519
  }
2437
- const provider = getProvider$3(textDocument.languageId);
2520
+ const provider = getProvider$8(textDocument.languageId);
2438
2521
  if (!provider) {
2439
2522
  throw new VError(`No formatting provider found for ${textDocument.languageId}`, 'Failed to execute formatting provider');
2440
2523
  }
@@ -2496,7 +2579,8 @@ const getRegisteredHoverProviderIds$1 = () => {
2496
2579
  };
2497
2580
 
2498
2581
  const {
2499
- executeImplementationProvider,
2582
+ executeImplementationProvider: executeLegacyImplementationProvider,
2583
+ getProvider: getProvider$7,
2500
2584
  registerImplementationProvider} = create$6({
2501
2585
  name: 'Implementation',
2502
2586
  resultShape: {
@@ -2506,6 +2590,13 @@ const {
2506
2590
  type: Array$1
2507
2591
  }
2508
2592
  });
2593
+ const executeImplementationProvider = async (textDocumentId, ...args) => {
2594
+ if (hasLegacyProvider(getProvider$7, textDocumentId)) {
2595
+ return executeLegacy(executeLegacyImplementationProvider, textDocumentId, args);
2596
+ }
2597
+ const isolated = await execute('implementation', 'provideImplementations', textDocumentId, ...args);
2598
+ return isolated.found ? isolated.result : executeLegacy(executeLegacyImplementationProvider, textDocumentId, args);
2599
+ };
2509
2600
 
2510
2601
  const WebSocket$1 = 5;
2511
2602
  const ElectronMessagePort = 6;
@@ -2839,16 +2930,16 @@ const showQuickPick = async ({
2839
2930
  for (const item of items) {
2840
2931
  validateQuickPickItem(item);
2841
2932
  }
2842
- return invoke$4('QuickPick.showQuickPick', {
2933
+ return invoke$5('QuickPick.showQuickPick', {
2843
2934
  items,
2844
2935
  placeholder
2845
2936
  });
2846
2937
  };
2847
2938
 
2848
2939
  const {
2849
- executefileReferenceProvider,
2850
- executeReferenceProvider,
2851
- getProvider: getProvider$2,
2940
+ executefileReferenceProvider: executeLegacyFileReferenceProvider,
2941
+ executeReferenceProvider: executeLegacyReferenceProvider,
2942
+ getProvider: getProvider$6,
2852
2943
  registerReferenceProvider} = create$6({
2853
2944
  additionalMethodNames: [
2854
2945
  // @ts-ignore
@@ -2870,13 +2961,41 @@ const {
2870
2961
  type: Array$1
2871
2962
  }
2872
2963
  });
2873
- const executeReferenceProvider2 = (uri, languageId, offset, position) => {
2874
- const provider = getProvider$2(languageId);
2875
- return provider.provideReferences2({
2964
+ const executeReferenceProvider = async (textDocumentId, ...args) => {
2965
+ if (hasLegacyProvider(getProvider$6, textDocumentId)) {
2966
+ return executeLegacy(executeLegacyReferenceProvider, textDocumentId, args);
2967
+ }
2968
+ const isolated = await execute('reference', 'provideReferences', textDocumentId, ...args);
2969
+ return isolated.found ? isolated.result : executeLegacy(executeLegacyReferenceProvider, textDocumentId, args);
2970
+ };
2971
+ const executefileReferenceProvider = async (textDocumentId, ...args) => {
2972
+ if (hasLegacyProvider(getProvider$6, textDocumentId)) {
2973
+ return executeLegacy(executeLegacyFileReferenceProvider, textDocumentId, args);
2974
+ }
2975
+ const isolated = await execute('reference', 'provideFileReferences', textDocumentId, ...args);
2976
+ return isolated.found ? isolated.result : executeLegacy(executeLegacyFileReferenceProvider, textDocumentId, args);
2977
+ };
2978
+ const executeReferenceProvider2 = async (uri, languageId, offset, position) => {
2979
+ const provider = getProvider$6(languageId);
2980
+ if (provider) {
2981
+ return provider.provideReferences2({
2982
+ offset,
2983
+ position,
2984
+ uri
2985
+ });
2986
+ }
2987
+ const isolated = await executeWithTextDocument('reference', 'provideReferences2', {
2988
+ languageId,
2989
+ uri
2990
+ }, {
2876
2991
  offset,
2877
2992
  position,
2878
2993
  uri
2879
2994
  });
2995
+ if (isolated.found) {
2996
+ return isolated.result;
2997
+ }
2998
+ return undefined;
2880
2999
  };
2881
3000
 
2882
3001
  const validateResult = renameResult => {
@@ -2909,8 +3028,9 @@ const validateResult = renameResult => {
2909
3028
  return '';
2910
3029
  };
2911
3030
  const {
2912
- executeprepareRenameProvider,
2913
- executeRenameProvider,
3031
+ executeprepareRenameProvider: executeLegacyPrepareRenameProvider,
3032
+ executeRenameProvider: executeLegacyRenameProvider,
3033
+ getProvider: getProvider$5,
2914
3034
  registerRenameProvider} = create$6({
2915
3035
  additionalMethodNames: [
2916
3036
  // @ts-ignore
@@ -2925,6 +3045,20 @@ const {
2925
3045
  name: 'Rename',
2926
3046
  resultShape: validateResult
2927
3047
  });
3048
+ const executeRenameProvider = async (textDocumentId, ...args) => {
3049
+ if (hasLegacyProvider(getProvider$5, textDocumentId)) {
3050
+ return executeLegacy(executeLegacyRenameProvider, textDocumentId, args);
3051
+ }
3052
+ const isolated = await execute('rename', 'provideRename', textDocumentId, ...args);
3053
+ return isolated.found ? isolated.result : executeLegacy(executeLegacyRenameProvider, textDocumentId, args);
3054
+ };
3055
+ const executeprepareRenameProvider = async (textDocumentId, ...args) => {
3056
+ if (hasLegacyProvider(getProvider$5, textDocumentId)) {
3057
+ return executeLegacy(executeLegacyPrepareRenameProvider, textDocumentId, args);
3058
+ }
3059
+ const isolated = await execute('rename', 'prepareRename', textDocumentId, ...args);
3060
+ return isolated.found ? isolated.result : executeLegacy(executeLegacyPrepareRenameProvider, textDocumentId, args);
3061
+ };
2928
3062
 
2929
3063
  const getExtensionHostSubWorkerUrl = () => {
2930
3064
  return new URL('../../../../extension-host-sub-worker/src/extensionHostSubWorkerMain.js', import.meta.url).toString();
@@ -3067,7 +3201,8 @@ const createRpc = ({
3067
3201
  };
3068
3202
 
3069
3203
  const {
3070
- executeSelectionProvider,
3204
+ executeSelectionProvider: executeLegacySelectionProvider,
3205
+ getProvider: getProvider$4,
3071
3206
  registerSelectionProvider} = create$6({
3072
3207
  name: 'Selection',
3073
3208
  resultShape: {
@@ -3078,6 +3213,13 @@ const {
3078
3213
  type: Array$1
3079
3214
  }
3080
3215
  });
3216
+ const executeSelectionProvider = async (textDocumentId, ...args) => {
3217
+ if (hasLegacyProvider(getProvider$4, textDocumentId)) {
3218
+ return executeLegacy(executeLegacySelectionProvider, textDocumentId, args);
3219
+ }
3220
+ const isolated = await execute('selection', 'provideSelections', textDocumentId, ...args);
3221
+ return isolated.found ? isolated.result : executeLegacy(executeLegacySelectionProvider, textDocumentId, args);
3222
+ };
3081
3223
 
3082
3224
  const RE_PROTOCOL = /^([a-z-]+):\/\//;
3083
3225
  const getProtocol = uri => {
@@ -3089,7 +3231,7 @@ const getProtocol = uri => {
3089
3231
  };
3090
3232
 
3091
3233
  const getRemoteUrlForWebView = async (uri, options = {}) => {
3092
- return await invoke$5('Extensions.getRemoteUrlForWebView', uri, options);
3234
+ return await invoke$6('Extensions.getRemoteUrlForWebView', uri, options);
3093
3235
  };
3094
3236
 
3095
3237
  const isFileProtocol = protocol => {
@@ -3170,7 +3312,7 @@ const getSharedProcessExtensions = () => {
3170
3312
  return invoke$1(/* ExtensionManagement.getExtensions */'ExtensionManagement.getExtensions');
3171
3313
  };
3172
3314
  const doGetExtensions = async () => {
3173
- const meta = await invoke$5('Extensions.getDynamicWebExtensions');
3315
+ const meta = await invoke$6('Extensions.getDynamicWebExtensions');
3174
3316
  if (platform === Web) {
3175
3317
  const webExtensions = await getWebExtensions();
3176
3318
  return [...webExtensions, ...meta];
@@ -3219,7 +3361,7 @@ const registerSourceControlProvider = provider => {
3219
3361
  const getRegisteredSourceControlProviderIds$1 = () => {
3220
3362
  return Object.keys(state$8.providers);
3221
3363
  };
3222
- const getProvider$1 = providerId => {
3364
+ const getProvider$3 = providerId => {
3223
3365
  const provider = state$8.providers[providerId];
3224
3366
  if (!provider) {
3225
3367
  throw new Error('no source control provider found');
@@ -3230,13 +3372,13 @@ const getFilesFromProvider = provider => {
3230
3372
  return provider.getChangedFiles();
3231
3373
  };
3232
3374
  const getChangedFiles = async providerId => {
3233
- const provider = getProvider$1(providerId);
3375
+ const provider = getProvider$3(providerId);
3234
3376
  const changedFiles = await getFilesFromProvider(provider);
3235
3377
  const flattenedChangedFiles = changedFiles;
3236
3378
  return flattenedChangedFiles;
3237
3379
  };
3238
3380
  const getBadgeCount = async providerId => {
3239
- const provider = getProvider$1(providerId);
3381
+ const provider = getProvider$3(providerId);
3240
3382
  if (typeof provider.getBadgeCount === 'function') {
3241
3383
  return provider.getBadgeCount();
3242
3384
  }
@@ -3246,7 +3388,7 @@ const getBadgeCount = async providerId => {
3246
3388
  const getFileBefore = async (providerId, uri) => {
3247
3389
  string(providerId);
3248
3390
  string(uri);
3249
- const provider = getProvider$1(providerId);
3391
+ const provider = getProvider$3(providerId);
3250
3392
  return provider.getFileBefore(uri);
3251
3393
  };
3252
3394
  const getGroupsFromProvider = async (provider, cwd) => {
@@ -3265,23 +3407,23 @@ const getGroupsFromProvider = async (provider, cwd) => {
3265
3407
  throw new Error('source control provider is missing required function getGroups');
3266
3408
  };
3267
3409
  const getGroups = async (providerId, cwd) => {
3268
- const provider = getProvider$1(providerId);
3410
+ const provider = getProvider$3(providerId);
3269
3411
  const groups = await getGroupsFromProvider(provider, cwd);
3270
3412
  return groups;
3271
3413
  };
3272
3414
  const acceptInput = async (providerId, value) => {
3273
- const provider = getProvider$1(providerId);
3415
+ const provider = getProvider$3(providerId);
3274
3416
  await provider.acceptInput(value);
3275
3417
  };
3276
3418
  const generateCommitMessage = async providerId => {
3277
- const provider = getProvider$1(providerId);
3419
+ const provider = getProvider$3(providerId);
3278
3420
  if (typeof provider.generateCommitMessage !== 'function') {
3279
3421
  throw new TypeError('source control provider is missing required function generateCommitMessage');
3280
3422
  }
3281
3423
  return provider.generateCommitMessage();
3282
3424
  };
3283
3425
  const getFeatures = async providerId => {
3284
- const provider = getProvider$1(providerId);
3426
+ const provider = getProvider$3(providerId);
3285
3427
  if (typeof provider.getFeatures === 'function') {
3286
3428
  return provider.getFeatures();
3287
3429
  }
@@ -3332,7 +3474,7 @@ const getEnabledProviderIds = async (scheme, root) => {
3332
3474
  };
3333
3475
  const getIconDefinitions = async providerId => {
3334
3476
  const extensions = await getExtensions();
3335
- const webextensions = await invoke$5(`Extensions.getDynamicWebExtensions`);
3477
+ const webextensions = await invoke$6(`Extensions.getDynamicWebExtensions`);
3336
3478
  const allExtensions = [...extensions, ...webextensions];
3337
3479
  for (const extension of allExtensions) {
3338
3480
  const id = extension.id.split('.');
@@ -3476,7 +3618,8 @@ const registerStatuBarItemProvider = provider => {
3476
3618
  };
3477
3619
 
3478
3620
  const {
3479
- executeTabCompletionProvider,
3621
+ executeTabCompletionProvider: executeLegacyTabCompletionProvider,
3622
+ getProvider: getProvider$2,
3480
3623
  registerTabCompletionProvider} = create$6({
3481
3624
  name: 'TabCompletion',
3482
3625
  resultShape: {
@@ -3484,6 +3627,13 @@ const {
3484
3627
  type: Object$1
3485
3628
  }
3486
3629
  });
3630
+ const executeTabCompletionProvider = async (textDocumentId, ...args) => {
3631
+ if (hasLegacyProvider(getProvider$2, textDocumentId)) {
3632
+ return executeLegacy(executeLegacyTabCompletionProvider, textDocumentId, args);
3633
+ }
3634
+ const isolated = await execute('tab completion', 'provideTabCompletion', textDocumentId, ...args);
3635
+ return isolated.found ? isolated.result : executeLegacy(executeLegacyTabCompletionProvider, textDocumentId, args);
3636
+ };
3487
3637
 
3488
3638
  const state$7 = {
3489
3639
  textSearchProviders: Object.create(null)
@@ -3515,7 +3665,8 @@ const executeTextSearchProvider = async (scheme, query) => {
3515
3665
  };
3516
3666
 
3517
3667
  const {
3518
- executeTypeDefinitionProvider,
3668
+ executeTypeDefinitionProvider: executeLegacyTypeDefinitionProvider,
3669
+ getProvider: getProvider$1,
3519
3670
  registerTypeDefinitionProvider} = create$6({
3520
3671
  name: 'TypeDefinition',
3521
3672
  resultShape: {
@@ -3534,6 +3685,13 @@ const {
3534
3685
  type: Object$1
3535
3686
  }
3536
3687
  });
3688
+ const executeTypeDefinitionProvider = async (textDocumentId, ...args) => {
3689
+ if (hasLegacyProvider(getProvider$1, textDocumentId)) {
3690
+ return executeLegacy(executeLegacyTypeDefinitionProvider, textDocumentId, args);
3691
+ }
3692
+ const isolated = await execute('type definition', 'provideTypeDefinition', textDocumentId, ...args);
3693
+ return isolated.found ? isolated.result : executeLegacy(executeLegacyTypeDefinitionProvider, textDocumentId, args);
3694
+ };
3537
3695
 
3538
3696
  const SetText = 1;
3539
3697
  const Replace = 2;
@@ -4027,7 +4185,7 @@ const getWorkspaceFolder = path => {
4027
4185
  };
4028
4186
  const handleWorkspaceRefresh = async () => {
4029
4187
  // @ts-ignore
4030
- await invoke$3('Layout.handleWorkspaceRefresh');
4188
+ await invoke$4('Layout.handleWorkspaceRefresh');
4031
4189
  };
4032
4190
 
4033
4191
  class FormattingError extends Error {
@@ -5019,7 +5177,7 @@ const activateExtension = async (extension, absolutePath, activationEvent) => {
5019
5177
  };
5020
5178
 
5021
5179
  const addWebExtension = async path => {
5022
- const manifest = await invoke$5('Extensions.addWebExtension', path);
5180
+ const manifest = await invoke$6('Extensions.addWebExtension', path);
5023
5181
  return manifest;
5024
5182
  };
5025
5183
 
@@ -6244,7 +6402,7 @@ const getIconThemeJson = async iconThemeId => {
6244
6402
  };
6245
6403
 
6246
6404
  const getRpcInfo = async rpcId => {
6247
- return await invoke$5('Extensions.getRpcInfo', rpcId);
6405
+ return await invoke$6('Extensions.getRpcInfo', rpcId);
6248
6406
  };
6249
6407
 
6250
6408
  const emptyStatus = {
@@ -9,6 +9,8 @@ export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, regis
9
9
  export { exists, mkdir, readDirWithFileTypes, readFile, remove, stat, writeFile } from './parts/FileSystem/FileSystem.ts';
10
10
  export { confirm, getWorkspaceFolder, handleWorkspaceRefresh, openUri } from './parts/Host/Host.ts';
11
11
  export { executeHoverProvider, getHoverProviderRegistrySnapshot, registerHoverProvider, resetHoverProviderRegistry } from './parts/Hover/Hover.ts';
12
+ export { registerBraceCompletionProvider, registerClosingTagProvider, registerCodeActionsProvider, registerCommentProvider, registerDefinitionProvider, registerImplementationProvider, registerReferenceProvider, registerRenameProvider, registerSelectionProvider, registerTabCompletionProvider, registerTypeDefinitionProvider, resetLanguageProviderRegistry, } from './parts/LanguageProvider/LanguageProvider.ts';
13
+ export type { LanguageProvider } from './parts/LanguageProvider/LanguageProvider.ts';
12
14
  export { executeSourceControlAcceptInput, executeSourceControlAdd, executeSourceControlDiscard, executeSourceControlGenerateCommitMessage, executeSourceControlGetBadgeCount, executeSourceControlGetChangedFiles, executeSourceControlGetFeatures, executeSourceControlGetFileBefore, executeSourceControlGetFileDecorations, executeSourceControlGetGroups, executeSourceControlIsActive, registerSourceControlProvider, resetSourceControlProviderRegistry, } from './parts/SourceControl/SourceControl.ts';
13
15
  export { createViewInstance, dispatchViewEvent, disposeViewInstance, executeViewProvider, getViewRegistrySnapshot, renderViewInstance, registerView, resetViewRegistry, saveViewInstanceState, } from './parts/ViewRegistry/ViewRegistry.ts';
14
16
  export { createOutputChannel, getOutputChannelRegistrySnapshot, resetOutputChannelRegistry } from './parts/OutputChannel/OutputChannel.ts';
@@ -9,6 +9,7 @@ export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, regis
9
9
  export { exists, mkdir, readDirWithFileTypes, readFile, remove, stat, writeFile } from "./parts/FileSystem/FileSystem.js";
10
10
  export { confirm, getWorkspaceFolder, handleWorkspaceRefresh, openUri } from "./parts/Host/Host.js";
11
11
  export { executeHoverProvider, getHoverProviderRegistrySnapshot, registerHoverProvider, resetHoverProviderRegistry } from "./parts/Hover/Hover.js";
12
+ export { registerBraceCompletionProvider, registerClosingTagProvider, registerCodeActionsProvider, registerCommentProvider, registerDefinitionProvider, registerImplementationProvider, registerReferenceProvider, registerRenameProvider, registerSelectionProvider, registerTabCompletionProvider, registerTypeDefinitionProvider, resetLanguageProviderRegistry, } from "./parts/LanguageProvider/LanguageProvider.js";
12
13
  export { executeSourceControlAcceptInput, executeSourceControlAdd, executeSourceControlDiscard, executeSourceControlGenerateCommitMessage, executeSourceControlGetBadgeCount, executeSourceControlGetChangedFiles, executeSourceControlGetFeatures, executeSourceControlGetFileBefore, executeSourceControlGetFileDecorations, executeSourceControlGetGroups, executeSourceControlIsActive, registerSourceControlProvider, resetSourceControlProviderRegistry, } from "./parts/SourceControl/SourceControl.js";
13
14
  export { createViewInstance, dispatchViewEvent, disposeViewInstance, executeViewProvider, getViewRegistrySnapshot, renderViewInstance, registerView, resetViewRegistry, saveViewInstanceState, } from "./parts/ViewRegistry/ViewRegistry.js";
14
15
  export { createOutputChannel, getOutputChannelRegistrySnapshot, resetOutputChannelRegistry } from "./parts/OutputChannel/OutputChannel.js";
@@ -8,6 +8,12 @@ export declare const commandMap: {
8
8
  'ExtensionApi.executeDiagnosticProvider': (textDocument: import("../DiagnosticTextDocument/DiagnosticTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../DiagnosticResult/DiagnosticResult.ts").Diagnostic[]>;
9
9
  'ExtensionApi.executeFormattingProvider': (textDocument: import("../FormattingTextDocument/FormattingTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../FormattingEdit/FormattingEdit.ts").FormattingEdit[]>;
10
10
  'ExtensionApi.executeHoverProvider': (textDocument: import("../HoverTextDocument/HoverTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<import("../HoverResult/HoverResult.ts").HoverResult | undefined>;
11
+ 'ExtensionApi.executeLanguageProvider': (kind: string, methodName: string, textDocument: {
12
+ readonly languageId: string;
13
+ }, ...args: readonly unknown[]) => Promise<unknown>;
14
+ 'ExtensionApi.executeOrganizeImportsProvider': (textDocument: {
15
+ readonly languageId: string;
16
+ }) => Promise<unknown>;
11
17
  'ExtensionApi.executeResolveCompletionItemProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, name: string, completionItem: import("../CompletionItem/CompletionItem.ts").CompletionItem, ...args: readonly unknown[]) => Promise<import("../CompletionItem/CompletionItem.ts").CompletionItem | undefined>;
12
18
  'ExtensionApi.executeSourceControlAcceptInput': (id: string, value: string) => Promise<unknown>;
13
19
  'ExtensionApi.executeSourceControlAdd': (id: string, path: string) => Promise<unknown>;
@@ -7,6 +7,12 @@ export declare const commandMap: {
7
7
  'ExtensionApi.executeDiagnosticProvider': (textDocument: import("../DiagnosticTextDocument/DiagnosticTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../DiagnosticResult/DiagnosticResult.ts").Diagnostic[]>;
8
8
  'ExtensionApi.executeFormattingProvider': (textDocument: import("../FormattingTextDocument/FormattingTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../FormattingEdit/FormattingEdit.ts").FormattingEdit[]>;
9
9
  'ExtensionApi.executeHoverProvider': (textDocument: import("../HoverTextDocument/HoverTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<import("../HoverResult/HoverResult.ts").HoverResult | undefined>;
10
+ 'ExtensionApi.executeLanguageProvider': (kind: string, methodName: string, textDocument: {
11
+ readonly languageId: string;
12
+ }, ...args: readonly unknown[]) => Promise<unknown>;
13
+ 'ExtensionApi.executeOrganizeImportsProvider': (textDocument: {
14
+ readonly languageId: string;
15
+ }) => Promise<unknown>;
10
16
  'ExtensionApi.executeResolveCompletionItemProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, name: string, completionItem: import("../CompletionItem/CompletionItem.ts").CompletionItem, ...args: readonly unknown[]) => Promise<import("../CompletionItem/CompletionItem.ts").CompletionItem | undefined>;
11
17
  'ExtensionApi.executeSourceControlAcceptInput': (id: string, value: string) => Promise<unknown>;
12
18
  'ExtensionApi.executeSourceControlAdd': (id: string, path: string) => Promise<unknown>;
@@ -4,6 +4,7 @@ import { executeDiagnosticProvider, getDiagnosticProviderRegistrySnapshot } from
4
4
  import { executeFormattingProvider, getFormattingProviderRegistrySnapshot } from "../Formatting/Formatting.js";
5
5
  import { getStatusBarItems } from "../GetStatusBarItems/GetStatusBarItems.js";
6
6
  import { executeHoverProvider, getHoverProviderRegistrySnapshot } from "../Hover/Hover.js";
7
+ import { executeLanguageProvider, executeOrganizeImportsProvider } from "../LanguageProvider/LanguageProvider.js";
7
8
  import { getOutputChannelRegistrySnapshot } from "../OutputChannel/OutputChannel.js";
8
9
  import { executeSourceControlAcceptInput, executeSourceControlAdd, executeSourceControlDiscard, executeSourceControlGenerateCommitMessage, executeSourceControlGetBadgeCount, executeSourceControlGetChangedFiles, executeSourceControlGetFeatures, executeSourceControlGetFileBefore, executeSourceControlGetFileDecorations, executeSourceControlGetGroups, executeSourceControlIsActive, getSourceControlProviderRegistrySnapshot, } from "../SourceControl/SourceControl.js";
9
10
  import { createViewInstance, dispatchViewEvent, disposeViewInstance, executeViewProvider, getViewActions, getViewMenuEntries, getViewRegistrySnapshot, renderViewInstance, saveViewInstanceState, } from "../ViewRegistry/ViewRegistry.js";
@@ -16,6 +17,8 @@ export const commandMap = {
16
17
  'ExtensionApi.executeDiagnosticProvider': executeDiagnosticProvider,
17
18
  'ExtensionApi.executeFormattingProvider': executeFormattingProvider,
18
19
  'ExtensionApi.executeHoverProvider': executeHoverProvider,
20
+ 'ExtensionApi.executeLanguageProvider': executeLanguageProvider,
21
+ 'ExtensionApi.executeOrganizeImportsProvider': executeOrganizeImportsProvider,
19
22
  'ExtensionApi.executeResolveCompletionItemProvider': executeResolveCompletionItemProvider,
20
23
  'ExtensionApi.executeSourceControlAcceptInput': executeSourceControlAcceptInput,
21
24
  'ExtensionApi.executeSourceControlAdd': executeSourceControlAdd,
@@ -9,6 +9,12 @@ export declare const commandMap: {
9
9
  'ExtensionApi.executeDiagnosticProvider': (textDocument: import("../DiagnosticTextDocument/DiagnosticTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../DiagnosticResult/DiagnosticResult.ts").Diagnostic[]>;
10
10
  'ExtensionApi.executeFormattingProvider': (textDocument: import("../FormattingTextDocument/FormattingTextDocument.ts").TextDocument, ...args: readonly unknown[]) => Promise<readonly import("../FormattingEdit/FormattingEdit.ts").FormattingEdit[]>;
11
11
  'ExtensionApi.executeHoverProvider': (textDocument: import("../HoverTextDocument/HoverTextDocument.ts").TextDocument, offset: number, ...args: readonly unknown[]) => Promise<import("../HoverResult/HoverResult.ts").HoverResult | undefined>;
12
+ 'ExtensionApi.executeLanguageProvider': (kind: string, methodName: string, textDocument: {
13
+ readonly languageId: string;
14
+ }, ...args: readonly unknown[]) => Promise<unknown>;
15
+ 'ExtensionApi.executeOrganizeImportsProvider': (textDocument: {
16
+ readonly languageId: string;
17
+ }) => Promise<unknown>;
12
18
  'ExtensionApi.executeResolveCompletionItemProvider': (textDocument: import("../CompletionTextDocument/CompletionTextDocument.ts").TextDocument, offset: number, name: string, completionItem: import("../CompletionItem/CompletionItem.ts").CompletionItem, ...args: readonly unknown[]) => Promise<import("../CompletionItem/CompletionItem.ts").CompletionItem | undefined>;
13
19
  'ExtensionApi.executeSourceControlAcceptInput': (id: string, value: string) => Promise<unknown>;
14
20
  'ExtensionApi.executeSourceControlAdd': (id: string, path: string) => Promise<unknown>;