@lvce-editor/extension-host-worker 8.63.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.
- package/dist/extension-api/index.js +179 -67
- package/dist/extension-api/parts/Debug/Debug.js +114 -0
- package/dist/extension-api/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.js +25 -1
- package/extension-api/dist/index.d.ts +2 -0
- package/extension-api/dist/index.js +1 -0
- package/extension-api/dist/parts/CommandMap/CommandMap.d.ts +11 -0
- package/extension-api/dist/parts/Debug/Debug.d.ts +34 -0
- package/extension-api/dist/parts/Debug/Debug.js +98 -0
- package/extension-api/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.d.ts +11 -0
- package/extension-api/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.js +12 -0
- package/extension-api/dist/parts/ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.d.ts +11 -0
- package/extension-api/package.json +1 -1
- package/extension-api/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -362,18 +362,18 @@ var IpcChildWithModuleWorkerAndMessagePort$1 = {
|
|
|
362
362
|
listen: listen$6,
|
|
363
363
|
wrap: wrap$e
|
|
364
364
|
};
|
|
365
|
-
var addListener = (
|
|
366
|
-
if ("addEventListener" in
|
|
367
|
-
|
|
365
|
+
var addListener = (emitter2, type, callback) => {
|
|
366
|
+
if ("addEventListener" in emitter2) {
|
|
367
|
+
emitter2.addEventListener(type, callback);
|
|
368
368
|
} else {
|
|
369
|
-
|
|
369
|
+
emitter2.on(type, callback);
|
|
370
370
|
}
|
|
371
371
|
};
|
|
372
|
-
var removeListener = (
|
|
373
|
-
if ("removeEventListener" in
|
|
374
|
-
|
|
372
|
+
var removeListener = (emitter2, type, callback) => {
|
|
373
|
+
if ("removeEventListener" in emitter2) {
|
|
374
|
+
emitter2.removeEventListener(type, callback);
|
|
375
375
|
} else {
|
|
376
|
-
|
|
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
|
|
1576
|
+
const providers5 = /* @__PURE__ */ Object.create(null);
|
|
1577
1577
|
const hasProvider = (id2) => {
|
|
1578
|
-
return id2 in
|
|
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
|
|
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
|
-
|
|
1602
|
+
providers5[registeredProvider.id] = registeredProvider;
|
|
1603
1603
|
return registeredProvider;
|
|
1604
1604
|
};
|
|
1605
1605
|
const deleteProvider = (id2) => {
|
|
1606
|
-
delete
|
|
1606
|
+
delete providers5[id2];
|
|
1607
1607
|
};
|
|
1608
1608
|
const getProviders = () => {
|
|
1609
|
-
return Object.values(
|
|
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(
|
|
1618
|
-
delete
|
|
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
|
|
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
|
|
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
|
|
1827
|
-
const provider =
|
|
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
|
|
1938
|
+
return getProvider2(id2).readFile(uri);
|
|
1835
1939
|
};
|
|
1836
1940
|
var executeFileSystemProviderReadDirWithFileTypes = async (id2, uri) => {
|
|
1837
|
-
const provider =
|
|
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
|
|
1948
|
+
return getProvider2(id2).pathSeparator || "/";
|
|
1845
1949
|
};
|
|
1846
1950
|
var executeFileSystemProviderIsReadonly = async (id2) => {
|
|
1847
|
-
const provider =
|
|
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(
|
|
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
|
-
|
|
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
|
|
1972
|
+
delete providers2[provider.id];
|
|
1869
1973
|
}
|
|
1870
1974
|
};
|
|
1871
1975
|
};
|
|
1872
1976
|
var resetFileSystemProviderRegistry = () => {
|
|
1873
|
-
for (const id2 of Object.keys(
|
|
1874
|
-
delete
|
|
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
|
|
2028
|
-
var
|
|
2029
|
-
return
|
|
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,
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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(
|
|
2100
|
-
delete
|
|
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
|
|
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
|
|
2363
|
+
if (id2 in providers4) {
|
|
2260
2364
|
throw new ExtensionApiError(`source control provider ${id2} is already registered`);
|
|
2261
2365
|
}
|
|
2262
2366
|
};
|
|
2263
|
-
var
|
|
2264
|
-
const provider =
|
|
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
|
-
|
|
2416
|
+
providers4[provider.id] = mapSourceControlProvider(provider);
|
|
2313
2417
|
return {
|
|
2314
2418
|
dispose() {
|
|
2315
|
-
delete
|
|
2419
|
+
delete providers4[provider.id];
|
|
2316
2420
|
}
|
|
2317
2421
|
};
|
|
2318
2422
|
};
|
|
2319
2423
|
var executeSourceControlAcceptInput = async (id2, value) => {
|
|
2320
|
-
return
|
|
2424
|
+
return getProvider4(id2).acceptInput?.(value);
|
|
2321
2425
|
};
|
|
2322
2426
|
var executeSourceControlAdd = async (id2, path) => {
|
|
2323
|
-
return
|
|
2427
|
+
return getProvider4(id2).add?.(path);
|
|
2324
2428
|
};
|
|
2325
2429
|
var executeSourceControlDiscard = async (id2, path) => {
|
|
2326
|
-
return
|
|
2430
|
+
return getProvider4(id2).discard?.(path);
|
|
2327
2431
|
};
|
|
2328
2432
|
var executeSourceControlGenerateCommitMessage = async (id2) => {
|
|
2329
|
-
return
|
|
2433
|
+
return getProvider4(id2).generateCommitMessage?.();
|
|
2330
2434
|
};
|
|
2331
2435
|
var executeSourceControlGetChangedFiles = async (id2) => {
|
|
2332
|
-
return
|
|
2436
|
+
return getProvider4(id2).getChangedFiles();
|
|
2333
2437
|
};
|
|
2334
2438
|
var executeSourceControlGetBadgeCount = async (id2) => {
|
|
2335
|
-
const provider =
|
|
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
|
|
2447
|
+
return getProvider4(id2).getFeatures?.() ?? {};
|
|
2344
2448
|
};
|
|
2345
2449
|
var executeSourceControlGetFileBefore = async (id2, uri) => {
|
|
2346
|
-
return
|
|
2450
|
+
return getProvider4(id2).getFileBefore?.(uri);
|
|
2347
2451
|
};
|
|
2348
2452
|
var executeSourceControlGetFileBeforeUri = async (id2, uri) => {
|
|
2349
|
-
const provider =
|
|
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
|
|
2467
|
+
return getProvider4(id2).getFileDecorations?.(uris) ?? [];
|
|
2364
2468
|
};
|
|
2365
2469
|
var executeSourceControlGetGroups = async (id2, cwd) => {
|
|
2366
|
-
const provider =
|
|
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
|
|
2483
|
+
return Boolean(await getProvider4(id2).isActive?.(scheme, root));
|
|
2380
2484
|
};
|
|
2381
2485
|
var getSourceControlProviderRegistrySnapshot = () => {
|
|
2382
2486
|
return {
|
|
2383
|
-
providers: Object.values(
|
|
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(
|
|
2390
|
-
delete
|
|
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);
|
|
@@ -3661,6 +3771,7 @@ export {
|
|
|
3661
3771
|
registerCommand,
|
|
3662
3772
|
registerCommentProvider,
|
|
3663
3773
|
registerCompletionProvider,
|
|
3774
|
+
registerDebugProvider,
|
|
3664
3775
|
registerDefinitionProvider,
|
|
3665
3776
|
registerDiagnosticProvider,
|
|
3666
3777
|
registerFileSystemProvider,
|
|
@@ -3679,6 +3790,7 @@ export {
|
|
|
3679
3790
|
remove4 as remove,
|
|
3680
3791
|
renderViewInstance,
|
|
3681
3792
|
resetCompletionProviderRegistry,
|
|
3793
|
+
resetDebugProviderRegistry,
|
|
3682
3794
|
resetDiagnosticProviderRegistry,
|
|
3683
3795
|
resetFileSystemProviderRegistry,
|
|
3684
3796
|
resetFormattingProviderRegistry,
|
|
@@ -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
|
|
@@ -5,6 +5,7 @@ export { executeCommand } from './parts/ExecuteCommand/ExecuteCommand.ts';
|
|
|
5
5
|
export { showQuickPick } from './parts/QuickPick/QuickPick.ts';
|
|
6
6
|
export { getPreference, setPreference } from './parts/Preferences/Preferences.ts';
|
|
7
7
|
export { registerCommand } from './parts/CommandRegistry/CommandRegistry.ts';
|
|
8
|
+
export { registerDebugProvider, resetDebugProviderRegistry } from './parts/Debug/Debug.ts';
|
|
8
9
|
export { executeCompletionProvider, executeResolveCompletionItemProvider, getCompletionProviderRegistrySnapshot, registerCompletionProvider, resetCompletionProviderRegistry, } from './parts/Completion/Completion.ts';
|
|
9
10
|
export { executeDiagnosticProvider, getDiagnosticProviderRegistrySnapshot, registerDiagnosticProvider, resetDiagnosticProviderRegistry, } from './parts/Diagnostic/Diagnostic.ts';
|
|
10
11
|
export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, registerFormattingProvider, resetFormattingProviderRegistry, } from './parts/Formatting/Formatting.ts';
|
|
@@ -28,6 +29,7 @@ export type { CommandCallback } from './parts/CommandCallback/CommandCallback.ts
|
|
|
28
29
|
export type { CommandRegistrySnapshot } from './parts/CommandRegistrySnapshot/CommandRegistrySnapshot.ts';
|
|
29
30
|
export type { CompletionItem, CompletionProvider, CompletionProviderRegistrySnapshot, RegisteredCompletionProvider, } from './parts/Completion/Completion.ts';
|
|
30
31
|
export type { Diagnostic, DiagnosticProvider, DiagnosticProviderRegistrySnapshot, RegisteredDiagnosticProvider, } from './parts/Diagnostic/Diagnostic.ts';
|
|
32
|
+
export type { DebugEmitter, DebugProvider } from './parts/Debug/Debug.ts';
|
|
31
33
|
export type { Disposable } from './parts/Disposable/Disposable.ts';
|
|
32
34
|
export type { CreateElectronWebContentsViewOptions, ElectronWebContentsView, ElectronWebContentsViewStats, } from './parts/ElectronWebContentsView/ElectronWebContentsView.ts';
|
|
33
35
|
export type { FormattingEdit, FormattingProvider, FormattingProviderRegistrySnapshot, RegisteredFormattingProvider, } from './parts/Formatting/Formatting.ts';
|
|
@@ -5,6 +5,7 @@ export { executeCommand } from "./parts/ExecuteCommand/ExecuteCommand.js";
|
|
|
5
5
|
export { showQuickPick } from "./parts/QuickPick/QuickPick.js";
|
|
6
6
|
export { getPreference, setPreference } from "./parts/Preferences/Preferences.js";
|
|
7
7
|
export { registerCommand } from "./parts/CommandRegistry/CommandRegistry.js";
|
|
8
|
+
export { registerDebugProvider, resetDebugProviderRegistry } from "./parts/Debug/Debug.js";
|
|
8
9
|
export { executeCompletionProvider, executeResolveCompletionItemProvider, getCompletionProviderRegistrySnapshot, registerCompletionProvider, resetCompletionProviderRegistry, } from "./parts/Completion/Completion.js";
|
|
9
10
|
export { executeDiagnosticProvider, getDiagnosticProviderRegistrySnapshot, registerDiagnosticProvider, resetDiagnosticProviderRegistry, } from "./parts/Diagnostic/Diagnostic.js";
|
|
10
11
|
export { executeFormattingProvider, getFormattingProviderRegistrySnapshot, registerFormattingProvider, resetFormattingProviderRegistry, } from "./parts/Formatting/Formatting.js";
|