@lvce-editor/extension-host-worker 8.62.0 → 8.64.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.
@@ -362,18 +362,18 @@ var IpcChildWithModuleWorkerAndMessagePort$1 = {
362
362
  listen: listen$6,
363
363
  wrap: wrap$e
364
364
  };
365
- var addListener = (emitter, type, callback) => {
366
- if ("addEventListener" in emitter) {
367
- emitter.addEventListener(type, callback);
365
+ var addListener = (emitter2, type, callback) => {
366
+ if ("addEventListener" in emitter2) {
367
+ emitter2.addEventListener(type, callback);
368
368
  } else {
369
- emitter.on(type, callback);
369
+ emitter2.on(type, callback);
370
370
  }
371
371
  };
372
- var removeListener = (emitter, type, callback) => {
373
- if ("removeEventListener" in emitter) {
374
- emitter.removeEventListener(type, callback);
372
+ var removeListener = (emitter2, type, callback) => {
373
+ if ("removeEventListener" in emitter2) {
374
+ emitter2.removeEventListener(type, callback);
375
375
  } else {
376
- emitter.off(type, callback);
376
+ emitter2.off(type, callback);
377
377
  }
378
378
  };
379
379
  var getFirstEvent = (eventEmitter, eventMap) => {
@@ -1570,12 +1570,12 @@ var createProviderRegistry = ({
1570
1570
  mapProvider,
1571
1571
  optionalMethods: optionalMethods2 = [],
1572
1572
  providerName,
1573
- requiredMethods,
1573
+ requiredMethods: requiredMethods2,
1574
1574
  requireLanguageId = false
1575
1575
  }) => {
1576
- const providers4 = /* @__PURE__ */ Object.create(null);
1576
+ const providers5 = /* @__PURE__ */ Object.create(null);
1577
1577
  const hasProvider = (id2) => {
1578
- return id2 in providers4;
1578
+ return id2 in providers5;
1579
1579
  };
1580
1580
  const registerProvider2 = (provider) => {
1581
1581
  if (!provider) {
@@ -1589,7 +1589,7 @@ var createProviderRegistry = ({
1589
1589
  if (requireLanguageId && (typeof providerRecord.languageId !== "string" || providerRecord.languageId.length === 0)) {
1590
1590
  throw new ExtensionApiError(`${providerName} ${id2} is missing languageId`);
1591
1591
  }
1592
- for (const methodName of requiredMethods) {
1592
+ for (const methodName of requiredMethods2) {
1593
1593
  assertProviderMethod(providerRecord, providerName, id2, methodName);
1594
1594
  }
1595
1595
  for (const methodName of optionalMethods2) {
@@ -1599,14 +1599,14 @@ var createProviderRegistry = ({
1599
1599
  throw new ExtensionApiError(`${providerName} ${id2} is already registered`);
1600
1600
  }
1601
1601
  const registeredProvider = mapProvider(provider);
1602
- providers4[registeredProvider.id] = registeredProvider;
1602
+ providers5[registeredProvider.id] = registeredProvider;
1603
1603
  return registeredProvider;
1604
1604
  };
1605
1605
  const deleteProvider = (id2) => {
1606
- delete providers4[id2];
1606
+ delete providers5[id2];
1607
1607
  };
1608
1608
  const getProviders = () => {
1609
- return Object.values(providers4);
1609
+ return Object.values(providers5);
1610
1610
  };
1611
1611
  const getProviderByLanguageId = (languageId) => {
1612
1612
  return getProviders().find((provider) => {
@@ -1614,8 +1614,8 @@ var createProviderRegistry = ({
1614
1614
  });
1615
1615
  };
1616
1616
  const reset = () => {
1617
- for (const id2 of Object.keys(providers4)) {
1618
- delete providers4[id2];
1617
+ for (const id2 of Object.keys(providers5)) {
1618
+ delete providers5[id2];
1619
1619
  }
1620
1620
  };
1621
1621
  const executeProviderByLanguageId = async (languageId, methodName, args, validateResult) => {
@@ -1737,6 +1737,110 @@ var getCompletionProviderRegistrySnapshot = () => {
1737
1737
  };
1738
1738
  var resetCompletionProviderRegistry = registry.reset;
1739
1739
 
1740
+ // packages/extension-api/src/parts/ExecuteCommand/ExecuteCommand.ts
1741
+ var executeCommand2 = async (id2, ...args) => {
1742
+ return ExtensionManagementWorker_exports.invoke("Extensions.executeCommand", id2, ...args);
1743
+ };
1744
+
1745
+ // packages/extension-api/src/parts/Debug/Debug.ts
1746
+ var providers = /* @__PURE__ */ Object.create(null);
1747
+ var requiredMethods = [
1748
+ "evaluate",
1749
+ "getProperties",
1750
+ "listProcesses",
1751
+ "pause",
1752
+ "resume",
1753
+ "setPauseOnExceptions",
1754
+ "start",
1755
+ "step",
1756
+ "stepInto",
1757
+ "stepOut",
1758
+ "stepOver"
1759
+ ];
1760
+ var assertDebugProvider = (provider) => {
1761
+ if (!provider) {
1762
+ throw new ExtensionApiError("debug provider is not defined");
1763
+ }
1764
+ if (typeof provider.id !== "string" || provider.id.length === 0) {
1765
+ throw new ExtensionApiError("debug provider is missing id");
1766
+ }
1767
+ for (const methodName of requiredMethods) {
1768
+ if (typeof provider[methodName] !== "function") {
1769
+ throw new ExtensionApiError(`debug provider ${provider.id} is missing ${methodName} function`);
1770
+ }
1771
+ }
1772
+ if (provider.id in providers) {
1773
+ throw new ExtensionApiError(`debug provider ${provider.id} is already registered`);
1774
+ }
1775
+ };
1776
+ var getProvider = (id2) => {
1777
+ const provider = providers[id2];
1778
+ if (!provider) {
1779
+ throw new ExtensionApiError(`debug provider ${id2} not found`);
1780
+ }
1781
+ return provider;
1782
+ };
1783
+ var emitter = {
1784
+ async handleChange() {
1785
+ },
1786
+ async handlePaused(params) {
1787
+ await executeCommand2("Debug.paused", params);
1788
+ },
1789
+ async handleResumed() {
1790
+ await executeCommand2("Debug.resumed");
1791
+ },
1792
+ async handleScriptParsed(script) {
1793
+ await executeCommand2("Debug.scriptParsed", script);
1794
+ }
1795
+ };
1796
+ var registerDebugProvider = (provider) => {
1797
+ assertDebugProvider(provider);
1798
+ providers[provider.id] = provider;
1799
+ return {
1800
+ dispose() {
1801
+ delete providers[provider.id];
1802
+ }
1803
+ };
1804
+ };
1805
+ var executeDebugStart = async (id2, path) => {
1806
+ return getProvider(id2).start(emitter, path);
1807
+ };
1808
+ var executeDebugListProcesses = async (id2, path) => {
1809
+ return getProvider(id2).listProcesses(path);
1810
+ };
1811
+ var executeDebugResume = async (id2) => {
1812
+ return getProvider(id2).resume();
1813
+ };
1814
+ var executeDebugPause = async (id2) => {
1815
+ return getProvider(id2).pause();
1816
+ };
1817
+ var executeDebugStepOver = async (id2) => {
1818
+ return getProvider(id2).stepOver();
1819
+ };
1820
+ var executeDebugStepInto = async (id2) => {
1821
+ return getProvider(id2).stepInto();
1822
+ };
1823
+ var executeDebugStepOut = async (id2) => {
1824
+ return getProvider(id2).stepOut();
1825
+ };
1826
+ var executeDebugStep = async (id2) => {
1827
+ return getProvider(id2).step();
1828
+ };
1829
+ var executeDebugSetPauseOnExceptions = async (id2, value) => {
1830
+ return getProvider(id2).setPauseOnExceptions(value);
1831
+ };
1832
+ var executeDebugGetProperties = async (id2, objectId) => {
1833
+ return getProvider(id2).getProperties(objectId);
1834
+ };
1835
+ var executeDebugEvaluate = async (id2, expression, callFrameId) => {
1836
+ return getProvider(id2).evaluate(expression, callFrameId);
1837
+ };
1838
+ var resetDebugProviderRegistry = () => {
1839
+ for (const id2 of Object.keys(providers)) {
1840
+ delete providers[id2];
1841
+ }
1842
+ };
1843
+
1740
1844
  // packages/extension-api/src/parts/DiagnosticProviderRegistry/DiagnosticProviderRegistry.ts
1741
1845
  var getType2 = (value) => {
1742
1846
  if (value === null) {
@@ -1799,7 +1903,7 @@ var getDiagnosticProviderRegistrySnapshot = () => {
1799
1903
  var resetDiagnosticProviderRegistry = registry2.reset;
1800
1904
 
1801
1905
  // packages/extension-api/src/parts/FileSystemProviderRegistry/FileSystemProviderRegistry.ts
1802
- var providers = /* @__PURE__ */ Object.create(null);
1906
+ var providers2 = /* @__PURE__ */ Object.create(null);
1803
1907
  var assertFileSystemProvider = (provider) => {
1804
1908
  if (!provider) {
1805
1909
  throw new ExtensionApiError("file system provider is not defined");
@@ -1819,44 +1923,44 @@ var assertFileSystemProvider = (provider) => {
1819
1923
  if (provider.pathSeparator !== void 0 && typeof provider.pathSeparator !== "string") {
1820
1924
  throw new ExtensionApiError(`file system provider ${provider.id} has invalid pathSeparator`);
1821
1925
  }
1822
- if (provider.id in providers) {
1926
+ if (provider.id in providers2) {
1823
1927
  throw new ExtensionApiError(`file system provider ${provider.id} is already registered`);
1824
1928
  }
1825
1929
  };
1826
- var getProvider = (id2) => {
1827
- const provider = providers[id2];
1930
+ var getProvider2 = (id2) => {
1931
+ const provider = providers2[id2];
1828
1932
  if (!provider) {
1829
1933
  throw new ExtensionApiError(`file system provider ${id2} not found`);
1830
1934
  }
1831
1935
  return provider;
1832
1936
  };
1833
1937
  var executeFileSystemProviderReadFile = async (id2, uri) => {
1834
- return getProvider(id2).readFile(uri);
1938
+ return getProvider2(id2).readFile(uri);
1835
1939
  };
1836
1940
  var executeFileSystemProviderReadDirWithFileTypes = async (id2, uri) => {
1837
- const provider = getProvider(id2);
1941
+ const provider = getProvider2(id2);
1838
1942
  if (!provider.readDirWithFileTypes) {
1839
1943
  throw new ExtensionApiError(`file system provider ${id2} is missing readDirWithFileTypes function`);
1840
1944
  }
1841
1945
  return provider.readDirWithFileTypes(uri);
1842
1946
  };
1843
1947
  var executeFileSystemProviderGetPathSeparator = (id2) => {
1844
- return getProvider(id2).pathSeparator || "/";
1948
+ return getProvider2(id2).pathSeparator || "/";
1845
1949
  };
1846
1950
  var executeFileSystemProviderIsReadonly = async (id2) => {
1847
- const provider = getProvider(id2);
1951
+ const provider = getProvider2(id2);
1848
1952
  return provider.isReadonly ? provider.isReadonly() : false;
1849
1953
  };
1850
1954
  var getFileSystemProviderRegistrySnapshot = () => {
1851
1955
  return {
1852
- providers: Object.values(providers).map((provider) => ({
1956
+ providers: Object.values(providers2).map((provider) => ({
1853
1957
  id: provider.id
1854
1958
  }))
1855
1959
  };
1856
1960
  };
1857
1961
  var registerFileSystemProvider = (provider) => {
1858
1962
  assertFileSystemProvider(provider);
1859
- providers[provider.id] = {
1963
+ providers2[provider.id] = {
1860
1964
  id: provider.id,
1861
1965
  isReadonly: provider.isReadonly,
1862
1966
  pathSeparator: provider.pathSeparator,
@@ -1865,13 +1969,13 @@ var registerFileSystemProvider = (provider) => {
1865
1969
  };
1866
1970
  return {
1867
1971
  dispose() {
1868
- delete providers[provider.id];
1972
+ delete providers2[provider.id];
1869
1973
  }
1870
1974
  };
1871
1975
  };
1872
1976
  var resetFileSystemProviderRegistry = () => {
1873
- for (const id2 of Object.keys(providers)) {
1874
- delete providers[id2];
1977
+ for (const id2 of Object.keys(providers2)) {
1978
+ delete providers2[id2];
1875
1979
  }
1876
1980
  };
1877
1981
 
@@ -2024,11 +2128,11 @@ var getHoverProviderRegistrySnapshot = () => {
2024
2128
  var resetHoverProviderRegistry = registry5.reset;
2025
2129
 
2026
2130
  // packages/extension-api/src/parts/LanguageProvider/LanguageProvider.ts
2027
- var providers2 = /* @__PURE__ */ Object.create(null);
2028
- var getProvider2 = (kind, languageId) => {
2029
- return providers2[kind]?.find((provider) => provider.languageId === languageId);
2131
+ var providers3 = /* @__PURE__ */ Object.create(null);
2132
+ var getProvider3 = (kind, languageId) => {
2133
+ return providers3[kind]?.find((provider) => provider.languageId === languageId);
2030
2134
  };
2031
- var registerProvider = (kind, provider, requiredMethods) => {
2135
+ var registerProvider = (kind, provider, requiredMethods2) => {
2032
2136
  if (!provider || typeof provider !== "object") {
2033
2137
  throw new ExtensionApiError(`${kind} provider is not defined`);
2034
2138
  }
@@ -2038,12 +2142,12 @@ var registerProvider = (kind, provider, requiredMethods) => {
2038
2142
  if (typeof provider.languageId !== "string" || provider.languageId.length === 0) {
2039
2143
  throw new ExtensionApiError(`${kind} provider ${provider.id} is missing languageId`);
2040
2144
  }
2041
- for (const methodName of requiredMethods) {
2145
+ for (const methodName of requiredMethods2) {
2042
2146
  if (typeof provider[methodName] !== "function") {
2043
2147
  throw new ExtensionApiError(`${kind} provider ${provider.id} is missing ${methodName} function`);
2044
2148
  }
2045
2149
  }
2046
- const kindProviders = providers2[kind] ||= [];
2150
+ const kindProviders = providers3[kind] ||= [];
2047
2151
  if (kindProviders.some((registeredProvider) => registeredProvider.id === provider.id)) {
2048
2152
  throw new ExtensionApiError(`${kind} provider ${provider.id} is already registered`);
2049
2153
  }
@@ -2058,7 +2162,7 @@ var registerProvider = (kind, provider, requiredMethods) => {
2058
2162
  };
2059
2163
  };
2060
2164
  var executeLanguageProvider = async (kind, methodName, textDocument, ...args) => {
2061
- const provider = getProvider2(kind, textDocument.languageId);
2165
+ const provider = getProvider3(kind, textDocument.languageId);
2062
2166
  if (!provider) {
2063
2167
  throw new ExtensionApiError(`No ${kind} provider found for ${textDocument.languageId}`);
2064
2168
  }
@@ -2069,7 +2173,7 @@ var executeLanguageProvider = async (kind, methodName, textDocument, ...args) =>
2069
2173
  return method(textDocument, ...args);
2070
2174
  };
2071
2175
  var executeOrganizeImportsProvider = async (textDocument) => {
2072
- const provider = getProvider2("code action", textDocument.languageId);
2176
+ const provider = getProvider3("code action", textDocument.languageId);
2073
2177
  if (!provider) {
2074
2178
  throw new ExtensionApiError(`No code action provider found for ${textDocument.languageId}`);
2075
2179
  }
@@ -2096,8 +2200,8 @@ var registerSelectionProvider = (provider) => registerProvider("selection", prov
2096
2200
  var registerTabCompletionProvider = (provider) => registerProvider("tab completion", provider, ["provideTabCompletion"]);
2097
2201
  var registerTypeDefinitionProvider = (provider) => registerProvider("type definition", provider, ["provideTypeDefinition"]);
2098
2202
  var resetLanguageProviderRegistry = () => {
2099
- for (const kind of Object.keys(providers2)) {
2100
- delete providers2[kind];
2203
+ for (const kind of Object.keys(providers3)) {
2204
+ delete providers3[kind];
2101
2205
  }
2102
2206
  };
2103
2207
 
@@ -2222,7 +2326,7 @@ var resetOutputChannelRegistry = () => {
2222
2326
  };
2223
2327
 
2224
2328
  // packages/extension-api/src/parts/SourceControlProviderRegistry/SourceControlProviderRegistry.ts
2225
- var providers3 = /* @__PURE__ */ Object.create(null);
2329
+ var providers4 = /* @__PURE__ */ Object.create(null);
2226
2330
  var optionalMethods = [
2227
2331
  "acceptInput",
2228
2332
  "add",
@@ -2256,12 +2360,12 @@ var assertSourceControlProvider = (provider) => {
2256
2360
  for (const methodName of optionalMethods) {
2257
2361
  assertOptionalProviderMethod2(providerRecord, id2, methodName);
2258
2362
  }
2259
- if (id2 in providers3) {
2363
+ if (id2 in providers4) {
2260
2364
  throw new ExtensionApiError(`source control provider ${id2} is already registered`);
2261
2365
  }
2262
2366
  };
2263
- var getProvider3 = (id2) => {
2264
- const provider = providers3[id2];
2367
+ var getProvider4 = (id2) => {
2368
+ const provider = providers4[id2];
2265
2369
  if (!provider) {
2266
2370
  throw new ExtensionApiError(`source control provider ${id2} not found`);
2267
2371
  }
@@ -2309,30 +2413,30 @@ var mapSourceControlProvider = (provider) => {
2309
2413
  };
2310
2414
  var registerSourceControlProvider = (provider) => {
2311
2415
  assertSourceControlProvider(provider);
2312
- providers3[provider.id] = mapSourceControlProvider(provider);
2416
+ providers4[provider.id] = mapSourceControlProvider(provider);
2313
2417
  return {
2314
2418
  dispose() {
2315
- delete providers3[provider.id];
2419
+ delete providers4[provider.id];
2316
2420
  }
2317
2421
  };
2318
2422
  };
2319
2423
  var executeSourceControlAcceptInput = async (id2, value) => {
2320
- return getProvider3(id2).acceptInput?.(value);
2424
+ return getProvider4(id2).acceptInput?.(value);
2321
2425
  };
2322
2426
  var executeSourceControlAdd = async (id2, path) => {
2323
- return getProvider3(id2).add?.(path);
2427
+ return getProvider4(id2).add?.(path);
2324
2428
  };
2325
2429
  var executeSourceControlDiscard = async (id2, path) => {
2326
- return getProvider3(id2).discard?.(path);
2430
+ return getProvider4(id2).discard?.(path);
2327
2431
  };
2328
2432
  var executeSourceControlGenerateCommitMessage = async (id2) => {
2329
- return getProvider3(id2).generateCommitMessage?.();
2433
+ return getProvider4(id2).generateCommitMessage?.();
2330
2434
  };
2331
2435
  var executeSourceControlGetChangedFiles = async (id2) => {
2332
- return getProvider3(id2).getChangedFiles();
2436
+ return getProvider4(id2).getChangedFiles();
2333
2437
  };
2334
2438
  var executeSourceControlGetBadgeCount = async (id2) => {
2335
- const provider = getProvider3(id2);
2439
+ const provider = getProvider4(id2);
2336
2440
  if (provider.getBadgeCount) {
2337
2441
  return provider.getBadgeCount();
2338
2442
  }
@@ -2340,13 +2444,13 @@ var executeSourceControlGetBadgeCount = async (id2) => {
2340
2444
  return files.length;
2341
2445
  };
2342
2446
  var executeSourceControlGetFeatures = async (id2) => {
2343
- return getProvider3(id2).getFeatures?.() ?? {};
2447
+ return getProvider4(id2).getFeatures?.() ?? {};
2344
2448
  };
2345
2449
  var executeSourceControlGetFileBefore = async (id2, uri) => {
2346
- return getProvider3(id2).getFileBefore?.(uri);
2450
+ return getProvider4(id2).getFileBefore?.(uri);
2347
2451
  };
2348
2452
  var executeSourceControlGetFileBeforeUri = async (id2, uri) => {
2349
- const provider = getProvider3(id2);
2453
+ const provider = getProvider4(id2);
2350
2454
  if (provider.getFileBeforeUri) {
2351
2455
  return provider.getFileBeforeUri(uri);
2352
2456
  }
@@ -2360,10 +2464,10 @@ var executeSourceControlGetFileBeforeUri = async (id2, uri) => {
2360
2464
  return `data://${content}`;
2361
2465
  };
2362
2466
  var executeSourceControlGetFileDecorations = async (id2, uris) => {
2363
- return getProvider3(id2).getFileDecorations?.(uris) ?? [];
2467
+ return getProvider4(id2).getFileDecorations?.(uris) ?? [];
2364
2468
  };
2365
2469
  var executeSourceControlGetGroups = async (id2, cwd) => {
2366
- const provider = getProvider3(id2);
2470
+ const provider = getProvider4(id2);
2367
2471
  if (provider.getGroups) {
2368
2472
  return provider.getGroups(cwd);
2369
2473
  }
@@ -2376,18 +2480,18 @@ var executeSourceControlGetGroups = async (id2, cwd) => {
2376
2480
  ];
2377
2481
  };
2378
2482
  var executeSourceControlIsActive = async (id2, scheme, root) => {
2379
- return Boolean(await getProvider3(id2).isActive?.(scheme, root));
2483
+ return Boolean(await getProvider4(id2).isActive?.(scheme, root));
2380
2484
  };
2381
2485
  var getSourceControlProviderRegistrySnapshot = () => {
2382
2486
  return {
2383
- providers: Object.values(providers3).map((provider) => ({
2487
+ providers: Object.values(providers4).map((provider) => ({
2384
2488
  id: provider.id
2385
2489
  }))
2386
2490
  };
2387
2491
  };
2388
2492
  var resetSourceControlProviderRegistry = () => {
2389
- for (const id2 of Object.keys(providers3)) {
2390
- delete providers3[id2];
2493
+ for (const id2 of Object.keys(providers4)) {
2494
+ delete providers4[id2];
2391
2495
  }
2392
2496
  };
2393
2497
 
@@ -3247,7 +3351,18 @@ var commandMap = {
3247
3351
  "ExtensionApi.getViewMenuEntries": getViewMenuEntries,
3248
3352
  "ExtensionApi.getViewRegistrySnapshot": getViewRegistrySnapshot,
3249
3353
  "ExtensionApi.renderViewInstance": renderViewInstance,
3250
- "ExtensionApi.saveViewInstanceState": saveViewInstanceState
3354
+ "ExtensionApi.saveViewInstanceState": saveViewInstanceState,
3355
+ "ExtensionHostDebug.evaluate": executeDebugEvaluate,
3356
+ "ExtensionHostDebug.getProperties": executeDebugGetProperties,
3357
+ "ExtensionHostDebug.listProcesses": executeDebugListProcesses,
3358
+ "ExtensionHostDebug.pause": executeDebugPause,
3359
+ "ExtensionHostDebug.resume": executeDebugResume,
3360
+ "ExtensionHostDebug.setPauseOnExceptions": executeDebugSetPauseOnExceptions,
3361
+ "ExtensionHostDebug.start": executeDebugStart,
3362
+ "ExtensionHostDebug.step": executeDebugStep,
3363
+ "ExtensionHostDebug.stepInto": executeDebugStepInto,
3364
+ "ExtensionHostDebug.stepOut": executeDebugStepOut,
3365
+ "ExtensionHostDebug.stepOver": executeDebugStepOver
3251
3366
  };
3252
3367
 
3253
3368
  // packages/extension-api/src/parts/ExtensionApiWorkerHandleMessagePort/ExtensionApiWorkerHandleMessagePort.ts
@@ -3446,11 +3561,6 @@ var createElectronWebContentsView = async ({ url } = {}) => {
3446
3561
  };
3447
3562
  };
3448
3563
 
3449
- // packages/extension-api/src/parts/ExecuteCommand/ExecuteCommand.ts
3450
- var executeCommand2 = async (id2, ...args) => {
3451
- return ExtensionManagementWorker_exports.invoke("Extensions.executeCommand", id2, ...args);
3452
- };
3453
-
3454
3564
  // packages/extension-api/src/parts/QuickPick/QuickPick.ts
3455
3565
  var showQuickPick = async (options) => {
3456
3566
  return ExtensionManagementWorker_exports.invoke("ExtensionHostQuickPick.showQuickPick", options);
@@ -3510,6 +3620,9 @@ var handleWorkspaceRefresh = async () => {
3510
3620
  var openUri = async (uri) => {
3511
3621
  await executeCommand2("Main.openUri", uri);
3512
3622
  };
3623
+ var showNotification = async (type, message) => {
3624
+ await executeCommand2("Notification.create", type, message);
3625
+ };
3513
3626
 
3514
3627
  // packages/extension-api/src/parts/Platform/Platform.ts
3515
3628
  var getPlatform = async () => {
@@ -3658,6 +3771,7 @@ export {
3658
3771
  registerCommand,
3659
3772
  registerCommentProvider,
3660
3773
  registerCompletionProvider,
3774
+ registerDebugProvider,
3661
3775
  registerDefinitionProvider,
3662
3776
  registerDiagnosticProvider,
3663
3777
  registerFileSystemProvider,
@@ -3676,6 +3790,7 @@ export {
3676
3790
  remove4 as remove,
3677
3791
  renderViewInstance,
3678
3792
  resetCompletionProviderRegistry,
3793
+ resetDebugProviderRegistry,
3679
3794
  resetDiagnosticProviderRegistry,
3680
3795
  resetFileSystemProviderRegistry,
3681
3796
  resetFormattingProviderRegistry,
@@ -3688,6 +3803,7 @@ export {
3688
3803
  resetViewRegistry,
3689
3804
  saveViewInstanceState,
3690
3805
  setPreference,
3806
+ showNotification,
3691
3807
  showQuickPick,
3692
3808
  stat2 as stat,
3693
3809
  writeFile2 as writeFile
@@ -0,0 +1,114 @@
1
+ import { executeCommand } from "../ExecuteCommand/ExecuteCommand.js";
2
+ import { ExtensionApiError } from "../ExtensionApiError/ExtensionApiError.js";
3
+ const providers = /* @__PURE__ */ Object.create(null);
4
+ const requiredMethods = [
5
+ "evaluate",
6
+ "getProperties",
7
+ "listProcesses",
8
+ "pause",
9
+ "resume",
10
+ "setPauseOnExceptions",
11
+ "start",
12
+ "step",
13
+ "stepInto",
14
+ "stepOut",
15
+ "stepOver"
16
+ ];
17
+ const assertDebugProvider = (provider) => {
18
+ if (!provider) {
19
+ throw new ExtensionApiError("debug provider is not defined");
20
+ }
21
+ if (typeof provider.id !== "string" || provider.id.length === 0) {
22
+ throw new ExtensionApiError("debug provider is missing id");
23
+ }
24
+ for (const methodName of requiredMethods) {
25
+ if (typeof provider[methodName] !== "function") {
26
+ throw new ExtensionApiError(`debug provider ${provider.id} is missing ${methodName} function`);
27
+ }
28
+ }
29
+ if (provider.id in providers) {
30
+ throw new ExtensionApiError(`debug provider ${provider.id} is already registered`);
31
+ }
32
+ };
33
+ const getProvider = (id) => {
34
+ const provider = providers[id];
35
+ if (!provider) {
36
+ throw new ExtensionApiError(`debug provider ${id} not found`);
37
+ }
38
+ return provider;
39
+ };
40
+ const emitter = {
41
+ async handleChange() {
42
+ },
43
+ async handlePaused(params) {
44
+ await executeCommand("Debug.paused", params);
45
+ },
46
+ async handleResumed() {
47
+ await executeCommand("Debug.resumed");
48
+ },
49
+ async handleScriptParsed(script) {
50
+ await executeCommand("Debug.scriptParsed", script);
51
+ }
52
+ };
53
+ const registerDebugProvider = (provider) => {
54
+ assertDebugProvider(provider);
55
+ providers[provider.id] = provider;
56
+ return {
57
+ dispose() {
58
+ delete providers[provider.id];
59
+ }
60
+ };
61
+ };
62
+ const executeDebugStart = async (id, path) => {
63
+ return getProvider(id).start(emitter, path);
64
+ };
65
+ const executeDebugListProcesses = async (id, path) => {
66
+ return getProvider(id).listProcesses(path);
67
+ };
68
+ const executeDebugResume = async (id) => {
69
+ return getProvider(id).resume();
70
+ };
71
+ const executeDebugPause = async (id) => {
72
+ return getProvider(id).pause();
73
+ };
74
+ const executeDebugStepOver = async (id) => {
75
+ return getProvider(id).stepOver();
76
+ };
77
+ const executeDebugStepInto = async (id) => {
78
+ return getProvider(id).stepInto();
79
+ };
80
+ const executeDebugStepOut = async (id) => {
81
+ return getProvider(id).stepOut();
82
+ };
83
+ const executeDebugStep = async (id) => {
84
+ return getProvider(id).step();
85
+ };
86
+ const executeDebugSetPauseOnExceptions = async (id, value) => {
87
+ return getProvider(id).setPauseOnExceptions(value);
88
+ };
89
+ const executeDebugGetProperties = async (id, objectId) => {
90
+ return getProvider(id).getProperties(objectId);
91
+ };
92
+ const executeDebugEvaluate = async (id, expression, callFrameId) => {
93
+ return getProvider(id).evaluate(expression, callFrameId);
94
+ };
95
+ const resetDebugProviderRegistry = () => {
96
+ for (const id of Object.keys(providers)) {
97
+ delete providers[id];
98
+ }
99
+ };
100
+ export {
101
+ executeDebugEvaluate,
102
+ executeDebugGetProperties,
103
+ executeDebugListProcesses,
104
+ executeDebugPause,
105
+ executeDebugResume,
106
+ executeDebugSetPauseOnExceptions,
107
+ executeDebugStart,
108
+ executeDebugStep,
109
+ executeDebugStepInto,
110
+ executeDebugStepOut,
111
+ executeDebugStepOver,
112
+ registerDebugProvider,
113
+ resetDebugProviderRegistry
114
+ };
@@ -1,5 +1,18 @@
1
1
  import { executeCommand, getCommandRegistrySnapshot } from "../CommandRegistry/CommandRegistry.js";
2
2
  import { executeCompletionProvider, executeResolveCompletionItemProvider, getCompletionProviderRegistrySnapshot } from "../Completion/Completion.js";
3
+ import {
4
+ executeDebugEvaluate,
5
+ executeDebugGetProperties,
6
+ executeDebugListProcesses,
7
+ executeDebugPause,
8
+ executeDebugResume,
9
+ executeDebugSetPauseOnExceptions,
10
+ executeDebugStart,
11
+ executeDebugStep,
12
+ executeDebugStepInto,
13
+ executeDebugStepOut,
14
+ executeDebugStepOver
15
+ } from "../Debug/Debug.js";
3
16
  import { executeDiagnosticProvider, getDiagnosticProviderRegistrySnapshot } from "../Diagnostic/Diagnostic.js";
4
17
  import {
5
18
  executeFileSystemProviderGetPathSeparator,
@@ -85,7 +98,18 @@ const commandMap = {
85
98
  "ExtensionApi.getViewMenuEntries": getViewMenuEntries,
86
99
  "ExtensionApi.getViewRegistrySnapshot": getViewRegistrySnapshot,
87
100
  "ExtensionApi.renderViewInstance": renderViewInstance,
88
- "ExtensionApi.saveViewInstanceState": saveViewInstanceState
101
+ "ExtensionApi.saveViewInstanceState": saveViewInstanceState,
102
+ "ExtensionHostDebug.evaluate": executeDebugEvaluate,
103
+ "ExtensionHostDebug.getProperties": executeDebugGetProperties,
104
+ "ExtensionHostDebug.listProcesses": executeDebugListProcesses,
105
+ "ExtensionHostDebug.pause": executeDebugPause,
106
+ "ExtensionHostDebug.resume": executeDebugResume,
107
+ "ExtensionHostDebug.setPauseOnExceptions": executeDebugSetPauseOnExceptions,
108
+ "ExtensionHostDebug.start": executeDebugStart,
109
+ "ExtensionHostDebug.step": executeDebugStep,
110
+ "ExtensionHostDebug.stepInto": executeDebugStepInto,
111
+ "ExtensionHostDebug.stepOut": executeDebugStepOut,
112
+ "ExtensionHostDebug.stepOver": executeDebugStepOver
89
113
  };
90
114
  export {
91
115
  commandMap
@@ -14,10 +14,14 @@ const handleWorkspaceRefresh = async () => {
14
14
  const openUri = async (uri) => {
15
15
  await executeCommand("Main.openUri", uri);
16
16
  };
17
+ const showNotification = async (type, message) => {
18
+ await executeCommand("Notification.create", type, message);
19
+ };
17
20
  export {
18
21
  confirm,
19
22
  getWorkspaceFolder,
20
23
  getWorkspaceUri,
21
24
  handleWorkspaceRefresh,
22
- openUri
25
+ openUri,
26
+ showNotification
23
27
  };