@lvce-editor/extension-host-worker 8.19.0 → 8.24.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.
Files changed (74) hide show
  1. package/dist/extension-api/index.js +470 -52
  2. package/dist/extension-api/parts/Activation/Activation.js +4 -2
  3. package/dist/extension-api/parts/Diagnostic/Diagnostic.js +10 -0
  4. package/dist/extension-api/parts/DiagnosticProvider/DiagnosticProvider.js +0 -0
  5. package/dist/extension-api/parts/DiagnosticProviderRegistry/DiagnosticProviderRegistry.js +66 -0
  6. package/dist/extension-api/parts/DiagnosticProviderRegistrySnapshot/DiagnosticProviderRegistrySnapshot.js +0 -0
  7. package/dist/extension-api/parts/DiagnosticResult/DiagnosticResult.js +0 -0
  8. package/dist/extension-api/parts/DiagnosticTextDocument/DiagnosticTextDocument.js +0 -0
  9. package/dist/extension-api/parts/ExecuteCommand/ExecuteCommand.js +2 -2
  10. package/dist/extension-api/parts/ExecuteDiagnosticProvider/ExecuteDiagnosticProvider.js +4 -0
  11. package/dist/extension-api/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.js +9 -1
  12. package/dist/extension-api/parts/GetDiagnosticProviderRegistrySnapshot/GetDiagnosticProviderRegistrySnapshot.js +4 -0
  13. package/dist/extension-api/parts/NotifyStatusBarChange/NotifyStatusBarChange.js +2 -2
  14. package/dist/extension-api/parts/OutputChannel/OutputChannel.js +71 -0
  15. package/dist/extension-api/parts/OutputChannelHandle/OutputChannelHandle.js +0 -0
  16. package/dist/extension-api/parts/OutputChannelRegistrySnapshot/OutputChannelRegistrySnapshot.js +0 -0
  17. package/dist/extension-api/parts/QuickPick/QuickPick.js +2 -2
  18. package/dist/extension-api/parts/RegisterDiagnosticProvider/RegisterDiagnosticProvider.js +4 -0
  19. package/dist/extension-api/parts/RegisteredDiagnosticProvider/RegisteredDiagnosticProvider.js +0 -0
  20. package/dist/extension-api/parts/RegisteredOutputChannel/RegisteredOutputChannel.js +0 -0
  21. package/dist/extension-api/parts/ResetDiagnosticProviderRegistry/ResetDiagnosticProviderRegistry.js +4 -0
  22. package/dist/extension-api/parts/View/View.js +0 -0
  23. package/dist/extension-api/parts/ViewRegistry/ViewRegistry.js +55 -0
  24. package/dist/extensionHostWorkerMain.js +142 -45
  25. package/extension-api/dist/index.d.ts +8 -0
  26. package/extension-api/dist/index.js +3 -0
  27. package/extension-api/dist/parts/Activation/Activation.js +4 -2
  28. package/extension-api/dist/parts/CommandMap/CommandMap.d.ts +5 -0
  29. package/extension-api/dist/parts/Diagnostic/Diagnostic.d.ts +9 -0
  30. package/extension-api/dist/parts/Diagnostic/Diagnostic.js +4 -0
  31. package/extension-api/dist/parts/DiagnosticProvider/DiagnosticProvider.d.ts +7 -0
  32. package/extension-api/dist/parts/DiagnosticProvider/DiagnosticProvider.js +1 -0
  33. package/extension-api/dist/parts/DiagnosticProviderRegistry/DiagnosticProviderRegistry.d.ts +12 -0
  34. package/extension-api/dist/parts/DiagnosticProviderRegistry/DiagnosticProviderRegistry.js +58 -0
  35. package/extension-api/dist/parts/DiagnosticProviderRegistrySnapshot/DiagnosticProviderRegistrySnapshot.d.ts +4 -0
  36. package/extension-api/dist/parts/DiagnosticProviderRegistrySnapshot/DiagnosticProviderRegistrySnapshot.js +1 -0
  37. package/extension-api/dist/parts/DiagnosticResult/DiagnosticResult.d.ts +11 -0
  38. package/extension-api/dist/parts/DiagnosticResult/DiagnosticResult.js +1 -0
  39. package/extension-api/dist/parts/DiagnosticTextDocument/DiagnosticTextDocument.d.ts +6 -0
  40. package/extension-api/dist/parts/DiagnosticTextDocument/DiagnosticTextDocument.js +1 -0
  41. package/extension-api/dist/parts/ExecuteCommand/ExecuteCommand.js +2 -2
  42. package/extension-api/dist/parts/ExecuteDiagnosticProvider/ExecuteDiagnosticProvider.d.ts +1 -0
  43. package/extension-api/dist/parts/ExecuteDiagnosticProvider/ExecuteDiagnosticProvider.js +1 -0
  44. package/extension-api/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.d.ts +5 -0
  45. package/extension-api/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.js +8 -0
  46. package/extension-api/dist/parts/ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.d.ts +5 -0
  47. package/extension-api/dist/parts/GetDiagnosticProviderRegistrySnapshot/GetDiagnosticProviderRegistrySnapshot.d.ts +1 -0
  48. package/extension-api/dist/parts/GetDiagnosticProviderRegistrySnapshot/GetDiagnosticProviderRegistrySnapshot.js +1 -0
  49. package/extension-api/dist/parts/NotifyStatusBarChange/NotifyStatusBarChange.js +2 -2
  50. package/extension-api/dist/parts/OutputChannel/OutputChannel.d.ts +9 -0
  51. package/extension-api/dist/parts/OutputChannel/OutputChannel.js +64 -0
  52. package/extension-api/dist/parts/OutputChannelHandle/OutputChannelHandle.d.ts +6 -0
  53. package/extension-api/dist/parts/OutputChannelHandle/OutputChannelHandle.js +1 -0
  54. package/extension-api/dist/parts/OutputChannelRegistrySnapshot/OutputChannelRegistrySnapshot.d.ts +4 -0
  55. package/extension-api/dist/parts/OutputChannelRegistrySnapshot/OutputChannelRegistrySnapshot.js +1 -0
  56. package/extension-api/dist/parts/QuickPick/QuickPick.js +2 -2
  57. package/extension-api/dist/parts/RegisterDiagnosticProvider/RegisterDiagnosticProvider.d.ts +1 -0
  58. package/extension-api/dist/parts/RegisterDiagnosticProvider/RegisterDiagnosticProvider.js +1 -0
  59. package/extension-api/dist/parts/RegisteredDiagnosticProvider/RegisteredDiagnosticProvider.d.ts +7 -0
  60. package/extension-api/dist/parts/RegisteredDiagnosticProvider/RegisteredDiagnosticProvider.js +1 -0
  61. package/extension-api/dist/parts/RegisteredOutputChannel/RegisteredOutputChannel.d.ts +3 -0
  62. package/extension-api/dist/parts/RegisteredOutputChannel/RegisteredOutputChannel.js +1 -0
  63. package/extension-api/dist/parts/ResetDiagnosticProviderRegistry/ResetDiagnosticProviderRegistry.d.ts +1 -0
  64. package/extension-api/dist/parts/ResetDiagnosticProviderRegistry/ResetDiagnosticProviderRegistry.js +1 -0
  65. package/extension-api/dist/parts/View/View.d.ts +14 -0
  66. package/extension-api/dist/parts/View/View.js +1 -0
  67. package/extension-api/dist/parts/ViewRegistry/ViewRegistry.d.ts +6 -0
  68. package/extension-api/dist/parts/ViewRegistry/ViewRegistry.js +49 -0
  69. package/extension-api/package.json +3 -2
  70. package/extension-api/tsconfig.tsbuildinfo +1 -1
  71. package/package.json +1 -1
  72. package/dist/extension-api/parts/Rpc/Rpc.js +0 -14
  73. package/extension-api/dist/parts/Rpc/Rpc.d.ts +0 -3
  74. package/extension-api/dist/parts/Rpc/Rpc.js +0 -10
@@ -847,7 +847,7 @@ var createRpc = (ipc) => {
847
847
  fn(response);
848
848
  delete callbacks2[id2];
849
849
  };
850
- const rpc2 = {
850
+ const rpc = {
851
851
  async dispose() {
852
852
  await ipc?.dispose();
853
853
  },
@@ -867,7 +867,7 @@ var createRpc = (ipc) => {
867
867
  ipc.send(message);
868
868
  }
869
869
  };
870
- return rpc2;
870
+ return rpc;
871
871
  };
872
872
 
873
873
  // packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/HandleMessage/HandleMessage.js
@@ -917,9 +917,9 @@ var create5 = async ({ commandMap: commandMap5, isMessagePortOpen = true, messag
917
917
  });
918
918
  const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
919
919
  handleIpc(ipc);
920
- const rpc2 = createRpc(ipc);
920
+ const rpc = createRpc(ipc);
921
921
  messagePort.start();
922
- return rpc2;
922
+ return rpc;
923
923
  };
924
924
 
925
925
  // packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/WebWorkerRpcClient/WebWorkerRpcClient.js
@@ -931,8 +931,248 @@ var create6 = async ({ commandMap: commandMap5 }) => {
931
931
  register(commandMap5);
932
932
  const ipc = await listen(IpcChildWithModuleWorkerAndMessagePort$1);
933
933
  handleIpc(ipc);
934
- const rpc2 = createRpc(ipc);
935
- return rpc2;
934
+ const rpc = createRpc(ipc);
935
+ return rpc;
936
+ };
937
+
938
+ // packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/CreateMockRpc/CreateMockRpc.js
939
+ var createMockRpc = ({ commandMap: commandMap5 }) => {
940
+ const invocations = [];
941
+ const invoke2 = (method, ...params) => {
942
+ invocations.push([method, ...params]);
943
+ const command = commandMap5[method];
944
+ if (!command) {
945
+ throw new Error(`command ${method} not found`);
946
+ }
947
+ return command(...params);
948
+ };
949
+ const mockRpc = {
950
+ invocations,
951
+ invoke: invoke2,
952
+ invokeAndTransfer: invoke2
953
+ };
954
+ return mockRpc;
955
+ };
956
+
957
+ // packages/extension-api/node_modules/@lvce-editor/rpc-registry/dist/parts/RpcRegistry/RpcRegistry.js
958
+ var rpcs = /* @__PURE__ */ Object.create(null);
959
+ var set = (id2, rpc) => {
960
+ rpcs[id2] = rpc;
961
+ };
962
+ var get2 = (id2) => {
963
+ return rpcs[id2];
964
+ };
965
+ var remove2 = (id2) => {
966
+ delete rpcs[id2];
967
+ };
968
+
969
+ // packages/extension-api/node_modules/@lvce-editor/rpc-registry/dist/parts/RpcFactory/RpcFactory.js
970
+ var create7 = (rpcId) => {
971
+ return {
972
+ async dispose() {
973
+ const rpc = get2(rpcId);
974
+ await rpc.dispose();
975
+ },
976
+ // @ts-ignore
977
+ invoke(method, ...params) {
978
+ const rpc = get2(rpcId);
979
+ return rpc.invoke(method, ...params);
980
+ },
981
+ // @ts-ignore
982
+ invokeAndTransfer(method, ...params) {
983
+ const rpc = get2(rpcId);
984
+ return rpc.invokeAndTransfer(method, ...params);
985
+ },
986
+ registerMockRpc(commandMap5) {
987
+ const mockRpc = createMockRpc({ commandMap: commandMap5 });
988
+ set(rpcId, mockRpc);
989
+ mockRpc[Symbol.dispose] = () => {
990
+ remove2(rpcId);
991
+ };
992
+ return mockRpc;
993
+ },
994
+ set(rpc) {
995
+ set(rpcId, rpc);
996
+ }
997
+ };
998
+ };
999
+
1000
+ // packages/extension-api/node_modules/@lvce-editor/constants/dist/parts/RpcId/RpcId.js
1001
+ var RpcId_exports = {};
1002
+ __export(RpcId_exports, {
1003
+ AuthProcess: () => AuthProcess,
1004
+ AuthWorker: () => AuthWorker,
1005
+ BlobWorker: () => BlobWorker,
1006
+ ChatCoordinatorWorker: () => ChatCoordinatorWorker,
1007
+ ChatDebugWorker: () => ChatDebugWorker,
1008
+ ChatMathWorker: () => ChatMathWorker,
1009
+ ChatMessageParsingWorker: () => ChatMessageParsingWorker,
1010
+ ChatNetworkWorker: () => ChatNetworkWorker,
1011
+ ChatStorageWorker: () => ChatStorageWorker,
1012
+ ChatToolWorker: () => ChatToolWorker,
1013
+ ChatViewModelWorker: () => ChatViewModelWorker,
1014
+ Cli: () => Cli,
1015
+ ClipBoardProcess: () => ClipBoardProcess,
1016
+ ClipBoardWorker: () => ClipBoardWorker,
1017
+ ColorPickerWorker: () => ColorPickerWorker,
1018
+ CompletionWorker: () => CompletionWorker,
1019
+ DebugWorker: () => DebugWorker,
1020
+ EditorWorker: () => EditorWorker,
1021
+ EmbedsProcess: () => EmbedsProcess,
1022
+ EmbedsWorker: () => EmbedsWorker,
1023
+ ErrorWorker: () => ErrorWorker,
1024
+ ExtensionDetailWorker: () => ExtensionDetailWorker,
1025
+ ExtensionHostHelperProcess: () => ExtensionHostHelperProcess,
1026
+ ExtensionHostWorker: () => ExtensionHostWorker,
1027
+ ExtensionManagementWorker: () => ExtensionManagementWorker,
1028
+ FileSearchWorker: () => FileSearchWorker,
1029
+ FileSystemProcess: () => FileSystemProcess,
1030
+ FileSystemWorker: () => FileSystemWorker,
1031
+ FileWatcherProcess: () => FileWatcherProcess,
1032
+ FindWidgetWorker: () => FindWidgetWorker,
1033
+ GithubWorker: () => GithubWorker,
1034
+ HoverWorker: () => HoverWorker,
1035
+ IconThemeWorker: () => IconThemeWorker,
1036
+ IframeWorker: () => IframeWorker,
1037
+ MainAreaWorker: () => MainAreaWorker,
1038
+ MainProcess: () => MainProcess,
1039
+ MarkdownWorker: () => MarkdownWorker,
1040
+ OpenerWorker: () => OpenerWorker,
1041
+ OutputWorker: () => OutputWorker,
1042
+ PreviewSandBoxWorker: () => PreviewSandBoxWorker,
1043
+ PreviewWorker: () => PreviewWorker,
1044
+ ProblemsWorker: () => ProblemsWorker,
1045
+ ProcessExplorerRenderer: () => ProcessExplorerRenderer,
1046
+ QuickPickWorker: () => QuickPickWorker,
1047
+ RenameWorker: () => RenameWorker,
1048
+ RendererProcess: () => RendererProcess,
1049
+ RendererWorker: () => RendererWorker,
1050
+ SearchProcess: () => SearchProcess,
1051
+ SearchProcessElectron: () => SearchProcessElectron,
1052
+ SettingsWorker: () => SettingsWorker,
1053
+ SharedProcess: () => SharedProcess,
1054
+ SourceActionWorker: () => SourceActionWorker,
1055
+ SourceControlWorker: () => SourceControlWorker,
1056
+ StatusBarWorker: () => StatusBarWorker,
1057
+ SyntaxHighlightingWorker: () => SyntaxHighlightingWorker,
1058
+ TemplateWorker: () => TemplateWorker,
1059
+ TerminalProcess: () => TerminalProcess,
1060
+ TestWithPlaywrightCli: () => TestWithPlaywrightCli,
1061
+ TestWithPlaywrightWorker: () => TestWithPlaywrightWorker,
1062
+ TestWorker: () => TestWorker,
1063
+ TextMeasurementWorker: () => TextMeasurementWorker,
1064
+ TextSearchWorker: () => TextSearchWorker,
1065
+ TypescriptCompileProcess: () => TypescriptCompileProcess
1066
+ });
1067
+ var AuthProcess = 6040;
1068
+ var AuthWorker = 6010;
1069
+ var BlobWorker = 19e3;
1070
+ var ChatCoordinatorWorker = 6008;
1071
+ var ChatDebugWorker = 6006;
1072
+ var ChatMathWorker = 6007;
1073
+ var ChatMessageParsingWorker = 6009;
1074
+ var ChatNetworkWorker = 6002;
1075
+ var ChatStorageWorker = 6003;
1076
+ var ChatToolWorker = 6005;
1077
+ var ChatViewModelWorker = 6022;
1078
+ var Cli = 6004;
1079
+ var ClipBoardProcess = 3401;
1080
+ var ClipBoardWorker = 3400;
1081
+ var ColorPickerWorker = 302;
1082
+ var CompletionWorker = 301;
1083
+ var DebugWorker = 55;
1084
+ var EditorWorker = 99;
1085
+ var EmbedsProcess = 207;
1086
+ var EmbedsWorker = 208;
1087
+ var ErrorWorker = 3308;
1088
+ var ExtensionDetailWorker = 3402;
1089
+ var ExtensionHostHelperProcess = 3;
1090
+ var ExtensionHostWorker = 44;
1091
+ var ExtensionManagementWorker = 9006;
1092
+ var FileSearchWorker = 7013;
1093
+ var FileSystemProcess = 210;
1094
+ var FileSystemWorker = 209;
1095
+ var FileWatcherProcess = 220;
1096
+ var FindWidgetWorker = 9002;
1097
+ var GithubWorker = 4444;
1098
+ var HoverWorker = 9003;
1099
+ var IconThemeWorker = 7009;
1100
+ var IframeWorker = 344;
1101
+ var MainAreaWorker = 82221;
1102
+ var MainProcess = -5;
1103
+ var MarkdownWorker = 300;
1104
+ var OpenerWorker = 4561;
1105
+ var OutputWorker = 7001;
1106
+ var PreviewSandBoxWorker = 3212;
1107
+ var PreviewWorker = 3211;
1108
+ var ProblemsWorker = 3403;
1109
+ var ProcessExplorerRenderer = 33;
1110
+ var QuickPickWorker = 1e4;
1111
+ var RenameWorker = 9004;
1112
+ var RendererProcess = 1670;
1113
+ var RendererWorker = 1;
1114
+ var SearchProcess = 77;
1115
+ var SearchProcessElectron = 2;
1116
+ var SettingsWorker = 11010;
1117
+ var SharedProcess = 1492;
1118
+ var SourceActionWorker = 303;
1119
+ var SourceControlWorker = 66;
1120
+ var StatusBarWorker = 7201;
1121
+ var SyntaxHighlightingWorker = 3309;
1122
+ var TemplateWorker = 4445;
1123
+ var TerminalProcess = 7;
1124
+ var TestWithPlaywrightCli = 6e3;
1125
+ var TestWithPlaywrightWorker = 6001;
1126
+ var TestWorker = 9001;
1127
+ var TextMeasurementWorker = 7011;
1128
+ var TextSearchWorker = 7010;
1129
+ var TypescriptCompileProcess = 221;
1130
+
1131
+ // packages/extension-api/node_modules/@lvce-editor/rpc-registry/dist/parts/ExtensionManagementWorker/ExtensionManagementWorker.js
1132
+ var ExtensionManagementWorker_exports = {};
1133
+ __export(ExtensionManagementWorker_exports, {
1134
+ disable: () => disable,
1135
+ disable2: () => disable2,
1136
+ dispose: () => dispose,
1137
+ enable: () => enable,
1138
+ enable2: () => enable2,
1139
+ getExtension: () => getExtension,
1140
+ getLanguages: () => getLanguages,
1141
+ install: () => install,
1142
+ invalidateExtensionsCache: () => invalidateExtensionsCache,
1143
+ invoke: () => invoke,
1144
+ invokeAndTransfer: () => invokeAndTransfer,
1145
+ registerMockRpc: () => registerMockRpc,
1146
+ set: () => set2,
1147
+ uninstall: () => uninstall
1148
+ });
1149
+ var { dispose, invoke, invokeAndTransfer, registerMockRpc, set: set2 } = create7(RpcId_exports.ExtensionManagementWorker);
1150
+ var enable = (id2) => {
1151
+ return invoke(`Extensions.enable`, id2);
1152
+ };
1153
+ var enable2 = (id2, platform) => {
1154
+ return invoke(`Extensions.enable2`, id2, platform);
1155
+ };
1156
+ var disable = (id2) => {
1157
+ return invoke(`Extensions.disable`, id2);
1158
+ };
1159
+ var disable2 = (id2, platform) => {
1160
+ return invoke(`Extensions.disable2`, id2, platform);
1161
+ };
1162
+ var getExtension = (id2) => {
1163
+ return invoke(`Extensions.getExtension`, id2);
1164
+ };
1165
+ var getLanguages = (platform, assetDir) => {
1166
+ return invoke("Extensions.getLanguages", platform, assetDir);
1167
+ };
1168
+ var install = (id2) => {
1169
+ return invoke(`Extensions.install`, id2);
1170
+ };
1171
+ var uninstall = (id2) => {
1172
+ return invoke(`Extensions.uninstall`, id2);
1173
+ };
1174
+ var invalidateExtensionsCache = () => {
1175
+ return invoke(`Extensions.invalidateExtensionsCache`);
936
1176
  };
937
1177
 
938
1178
  // packages/extension-api/src/parts/ExtensionApiError/ExtensionApiError.ts
@@ -1148,8 +1388,66 @@ var getCompletionProviderRegistrySnapshot = () => {
1148
1388
  };
1149
1389
  var resetCompletionProviderRegistry = registry.reset;
1150
1390
 
1151
- // packages/extension-api/src/parts/FormattingProviderRegistry/FormattingProviderRegistry.ts
1391
+ // packages/extension-api/src/parts/DiagnosticProviderRegistry/DiagnosticProviderRegistry.ts
1392
+ var getType2 = (value) => {
1393
+ if (value === null) {
1394
+ return "null";
1395
+ }
1396
+ if (typeof value === "string") {
1397
+ return JSON.stringify(value);
1398
+ }
1399
+ if (Array.isArray(value)) {
1400
+ return "array";
1401
+ }
1402
+ return typeof value;
1403
+ };
1404
+ var validateDiagnosticResult = (diagnostics) => {
1405
+ if (!Array.isArray(diagnostics)) {
1406
+ throw new ExtensionApiError(`invalid diagnostic result: diagnostic must be of type array but is ${getType2(diagnostics)}`);
1407
+ }
1408
+ for (const item of diagnostics) {
1409
+ if (!item || typeof item !== "object" || Array.isArray(item)) {
1410
+ throw new ExtensionApiError(`invalid diagnostic result: expected diagnostic item to be of type object but was of type ${getType2(item)}`);
1411
+ }
1412
+ }
1413
+ return diagnostics;
1414
+ };
1152
1415
  var registry2 = createProviderRegistry({
1416
+ mapProvider(provider) {
1417
+ return {
1418
+ id: provider.id,
1419
+ languageId: provider.languageId,
1420
+ provideDiagnostics(textDocument, ...args) {
1421
+ return provider.provideDiagnostics(textDocument, ...args);
1422
+ }
1423
+ };
1424
+ },
1425
+ providerName: "diagnostic provider",
1426
+ requiredMethods: ["provideDiagnostics"],
1427
+ requireLanguageId: true
1428
+ });
1429
+ var hasDiagnosticProvider = registry2.hasProvider;
1430
+ var registerDiagnosticProvider = (provider) => {
1431
+ const registeredProvider = registry2.registerProvider(provider);
1432
+ return {
1433
+ dispose() {
1434
+ registry2.deleteProvider(registeredProvider.id);
1435
+ }
1436
+ };
1437
+ };
1438
+ var executeDiagnosticProvider = async (textDocument, ...args) => {
1439
+ return registry2.executeProviderByLanguageId(textDocument.languageId, "provideDiagnostics", [textDocument, ...args], validateDiagnosticResult);
1440
+ };
1441
+ var getDiagnosticProviders = registry2.getProviders;
1442
+ var getDiagnosticProviderRegistrySnapshot = () => {
1443
+ return {
1444
+ providers: registry2.getProviders()
1445
+ };
1446
+ };
1447
+ var resetDiagnosticProviderRegistry = registry2.reset;
1448
+
1449
+ // packages/extension-api/src/parts/FormattingProviderRegistry/FormattingProviderRegistry.ts
1450
+ var registry3 = createProviderRegistry({
1153
1451
  mapProvider(provider) {
1154
1452
  return {
1155
1453
  format(textDocument, ...args) {
@@ -1163,45 +1461,33 @@ var registry2 = createProviderRegistry({
1163
1461
  requiredMethods: ["format"],
1164
1462
  requireLanguageId: true
1165
1463
  });
1166
- var hasFormattingProvider = registry2.hasProvider;
1464
+ var hasFormattingProvider = registry3.hasProvider;
1167
1465
  var registerFormattingProvider = (provider) => {
1168
- const registeredProvider = registry2.registerProvider(provider);
1466
+ const registeredProvider = registry3.registerProvider(provider);
1169
1467
  return {
1170
1468
  dispose() {
1171
- registry2.deleteProvider(registeredProvider.id);
1469
+ registry3.deleteProvider(registeredProvider.id);
1172
1470
  }
1173
1471
  };
1174
1472
  };
1175
1473
  var executeFormattingProvider = async (textDocument, ...args) => {
1176
- return registry2.executeProviderByLanguageId(textDocument.languageId, "format", [textDocument, ...args]);
1474
+ return registry3.executeProviderByLanguageId(textDocument.languageId, "format", [textDocument, ...args]);
1177
1475
  };
1178
- var getFormattingProviders = registry2.getProviders;
1476
+ var getFormattingProviders = registry3.getProviders;
1179
1477
  var getFormattingProviderRegistrySnapshot = () => {
1180
1478
  return {
1181
- providers: registry2.getProviders()
1479
+ providers: registry3.getProviders()
1182
1480
  };
1183
1481
  };
1184
- var resetFormattingProviderRegistry = registry2.reset;
1185
-
1186
- // packages/extension-api/src/parts/Rpc/Rpc.ts
1187
- var rpc;
1188
- var set = (value) => {
1189
- rpc = value;
1190
- };
1191
- var invoke = async (method, ...params) => {
1192
- if (!rpc) {
1193
- return void 0;
1194
- }
1195
- return rpc.invoke(method, ...params);
1196
- };
1482
+ var resetFormattingProviderRegistry = registry3.reset;
1197
1483
 
1198
1484
  // packages/extension-api/src/parts/NotifyStatusBarChange/NotifyStatusBarChange.ts
1199
1485
  var notifyStatusBarChange = async (id2) => {
1200
- await invoke("StatusBar.handleChange", id2);
1486
+ await ExtensionManagementWorker_exports.invoke("StatusBar.handleChange", id2);
1201
1487
  };
1202
1488
 
1203
1489
  // packages/extension-api/src/parts/StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.ts
1204
- var registry3 = createProviderRegistry({
1490
+ var registry4 = createProviderRegistry({
1205
1491
  mapProvider(provider) {
1206
1492
  return {
1207
1493
  getStatusBarItem() {
@@ -1219,13 +1505,13 @@ var getStatusBarItem = (provider) => {
1219
1505
  var isStatusBarItem = (item) => {
1220
1506
  return item !== void 0;
1221
1507
  };
1222
- var hasStatusBarItemProvider = registry3.hasProvider;
1508
+ var hasStatusBarItemProvider = registry4.hasProvider;
1223
1509
  var registerStatusBarItemProvider = (provider) => {
1224
- const registeredProvider = registry3.registerProvider(provider);
1510
+ const registeredProvider = registry4.registerProvider(provider);
1225
1511
  void notifyStatusBarChange(registeredProvider.id);
1226
1512
  return {
1227
1513
  dispose() {
1228
- registry3.deleteProvider(registeredProvider.id);
1514
+ registry4.deleteProvider(registeredProvider.id);
1229
1515
  void notifyStatusBarChange(registeredProvider.id);
1230
1516
  },
1231
1517
  async refresh() {
@@ -1233,19 +1519,19 @@ var registerStatusBarItemProvider = (provider) => {
1233
1519
  }
1234
1520
  };
1235
1521
  };
1236
- var getStatusBarItemProviders = registry3.getProviders;
1522
+ var getStatusBarItemProviders = registry4.getProviders;
1237
1523
  var getStatusBarItems = () => {
1238
- return registry3.getProviders().map(getStatusBarItem).filter(isStatusBarItem);
1524
+ return registry4.getProviders().map(getStatusBarItem).filter(isStatusBarItem);
1239
1525
  };
1240
1526
  var getStatusBarItemProviderRegistrySnapshot = () => {
1241
1527
  return {
1242
- providers: registry3.getProviders()
1528
+ providers: registry4.getProviders()
1243
1529
  };
1244
1530
  };
1245
- var resetStatusBarItemProviderRegistry = registry3.reset;
1531
+ var resetStatusBarItemProviderRegistry = registry4.reset;
1246
1532
 
1247
1533
  // packages/extension-api/src/parts/HoverProviderRegistry/HoverProviderRegistry.ts
1248
- var getType2 = (value) => {
1534
+ var getType3 = (value) => {
1249
1535
  if (value === null) {
1250
1536
  return "null";
1251
1537
  }
@@ -1262,11 +1548,11 @@ var validateHoverResult = (hover) => {
1262
1548
  return void 0;
1263
1549
  }
1264
1550
  if (!hover || typeof hover !== "object" || Array.isArray(hover)) {
1265
- throw new ExtensionApiError(`invalid hover result: hover must be of type object or undefined but is ${getType2(hover)}`);
1551
+ throw new ExtensionApiError(`invalid hover result: hover must be of type object or undefined but is ${getType3(hover)}`);
1266
1552
  }
1267
1553
  return hover;
1268
1554
  };
1269
- var registry4 = createProviderRegistry({
1555
+ var registry5 = createProviderRegistry({
1270
1556
  mapProvider(provider) {
1271
1557
  return {
1272
1558
  id: provider.id,
@@ -1280,38 +1566,158 @@ var registry4 = createProviderRegistry({
1280
1566
  requiredMethods: ["provideHover"],
1281
1567
  requireLanguageId: true
1282
1568
  });
1283
- var hasHoverProvider = registry4.hasProvider;
1569
+ var hasHoverProvider = registry5.hasProvider;
1284
1570
  var registerHoverProvider = (provider) => {
1285
- const registeredProvider = registry4.registerProvider(provider);
1571
+ const registeredProvider = registry5.registerProvider(provider);
1286
1572
  return {
1287
1573
  dispose() {
1288
- registry4.deleteProvider(registeredProvider.id);
1574
+ registry5.deleteProvider(registeredProvider.id);
1289
1575
  }
1290
1576
  };
1291
1577
  };
1292
1578
  var executeHoverProvider = async (textDocument, offset, ...args) => {
1293
- return registry4.executeProviderByLanguageId(textDocument.languageId, "provideHover", [textDocument, offset, ...args], validateHoverResult);
1579
+ return registry5.executeProviderByLanguageId(textDocument.languageId, "provideHover", [textDocument, offset, ...args], validateHoverResult);
1294
1580
  };
1295
- var getHoverProviders = registry4.getProviders;
1581
+ var getHoverProviders = registry5.getProviders;
1296
1582
  var getHoverProviderRegistrySnapshot = () => {
1297
1583
  return {
1298
- providers: registry4.getProviders()
1584
+ providers: registry5.getProviders()
1585
+ };
1586
+ };
1587
+ var resetHoverProviderRegistry = registry5.reset;
1588
+
1589
+ // packages/extension-api/src/parts/OutputChannel/OutputChannel.ts
1590
+ var outputChannels = /* @__PURE__ */ Object.create(null);
1591
+ var isActivated = false;
1592
+ var RE_DASH_CASE = /^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/;
1593
+ var assertOutputChannelId = (id2) => {
1594
+ if (typeof id2 !== "string" || id2.length === 0) {
1595
+ throw new ExtensionApiError("output channel id is required");
1596
+ }
1597
+ if (!RE_DASH_CASE.test(id2)) {
1598
+ throw new ExtensionApiError(`output channel id ${id2} must be dash-case`);
1599
+ }
1600
+ };
1601
+ var assertCanWrite = (id2) => {
1602
+ if (!isActivated) {
1603
+ throw new ExtensionApiError(`output channel ${id2} cannot be written before activate`);
1604
+ }
1605
+ };
1606
+ var ExtensionOutputChannel = class {
1607
+ #id;
1608
+ constructor(id2) {
1609
+ this.#id = id2;
1610
+ }
1611
+ async append(text) {
1612
+ assertCanWrite(this.#id);
1613
+ await ExtensionManagementWorker_exports.invoke("ExtensionApi.appendOutputChannel", this.#id, text);
1614
+ }
1615
+ async appendLine(text) {
1616
+ assertCanWrite(this.#id);
1617
+ await ExtensionManagementWorker_exports.invoke("ExtensionApi.appendOutputChannel", this.#id, `${text}
1618
+ `);
1619
+ }
1620
+ async clear() {
1621
+ assertCanWrite(this.#id);
1622
+ await ExtensionManagementWorker_exports.invoke("ExtensionApi.clearOutputChannel", this.#id);
1623
+ }
1624
+ async replace(text) {
1625
+ assertCanWrite(this.#id);
1626
+ await ExtensionManagementWorker_exports.invoke("ExtensionApi.replaceOutputChannel", this.#id, text);
1627
+ }
1628
+ };
1629
+ var activateOutputChannels = () => {
1630
+ isActivated = true;
1631
+ };
1632
+ var createOutputChannel = (id2) => {
1633
+ assertOutputChannelId(id2);
1634
+ if (id2 in outputChannels) {
1635
+ throw new ExtensionApiError(`output channel ${id2} is already created`);
1636
+ }
1637
+ outputChannels[id2] = {
1638
+ id: id2
1639
+ };
1640
+ return new ExtensionOutputChannel(id2);
1641
+ };
1642
+ var getOutputChannelRegistrySnapshot = () => {
1643
+ return {
1644
+ outputChannels: Object.values(outputChannels)
1645
+ };
1646
+ };
1647
+ var resetOutputChannelRegistry = () => {
1648
+ for (const id2 of Object.keys(outputChannels)) {
1649
+ delete outputChannels[id2];
1650
+ }
1651
+ isActivated = false;
1652
+ };
1653
+
1654
+ // packages/extension-api/src/parts/ViewRegistry/ViewRegistry.ts
1655
+ var views = /* @__PURE__ */ Object.create(null);
1656
+ var assertView = (view) => {
1657
+ if (!view) {
1658
+ throw new ExtensionApiError("view is not defined");
1659
+ }
1660
+ if (typeof view.id !== "string" || view.id.length === 0) {
1661
+ throw new ExtensionApiError("view is missing id");
1662
+ }
1663
+ if (typeof view.create !== "function") {
1664
+ throw new ExtensionApiError(`view ${view.id} is missing create function`);
1665
+ }
1666
+ if (view.id in views) {
1667
+ throw new ExtensionApiError(`view ${view.id} is already registered`);
1668
+ }
1669
+ };
1670
+ var toRegisteredView = (view) => {
1671
+ return {
1672
+ icon: view.icon,
1673
+ id: view.id,
1674
+ title: view.title
1675
+ };
1676
+ };
1677
+ var registerView = (view) => {
1678
+ assertView(view);
1679
+ views[view.id] = view;
1680
+ return {
1681
+ dispose() {
1682
+ delete views[view.id];
1683
+ }
1299
1684
  };
1300
1685
  };
1301
- var resetHoverProviderRegistry = registry4.reset;
1686
+ var executeViewProvider = (id2) => {
1687
+ const view = views[id2];
1688
+ if (!view) {
1689
+ throw new ExtensionApiError(`view ${id2} not found`);
1690
+ }
1691
+ return view.create();
1692
+ };
1693
+ var getViewRegistrySnapshot = () => {
1694
+ return {
1695
+ views: Object.values(views).map(toRegisteredView)
1696
+ };
1697
+ };
1698
+ var resetViewRegistry = () => {
1699
+ for (const id2 of Object.keys(views)) {
1700
+ delete views[id2];
1701
+ }
1702
+ };
1302
1703
 
1303
1704
  // packages/extension-api/src/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.ts
1304
1705
  var commandMap = {
1305
1706
  "ExtensionApi.executeCommand": executeCommand,
1306
1707
  "ExtensionApi.executeCompletionProvider": executeCompletionProvider,
1708
+ "ExtensionApi.executeDiagnosticProvider": executeDiagnosticProvider,
1307
1709
  "ExtensionApi.executeFormattingProvider": executeFormattingProvider,
1308
1710
  "ExtensionApi.executeHoverProvider": executeHoverProvider,
1309
1711
  "ExtensionApi.executeResolveCompletionItemProvider": executeResolveCompletionItemProvider,
1712
+ "ExtensionApi.executeViewProvider": executeViewProvider,
1310
1713
  "ExtensionApi.getCommandRegistrySnapshot": getCommandRegistrySnapshot,
1311
1714
  "ExtensionApi.getCompletionProviderRegistrySnapshot": getCompletionProviderRegistrySnapshot,
1715
+ "ExtensionApi.getDiagnosticProviderRegistrySnapshot": getDiagnosticProviderRegistrySnapshot,
1312
1716
  "ExtensionApi.getFormattingProviderRegistrySnapshot": getFormattingProviderRegistrySnapshot,
1313
1717
  "ExtensionApi.getHoverProviderRegistrySnapshot": getHoverProviderRegistrySnapshot,
1314
- "ExtensionApi.getStatusBarItems": getStatusBarItems
1718
+ "ExtensionApi.getOutputChannelRegistrySnapshot": getOutputChannelRegistrySnapshot,
1719
+ "ExtensionApi.getStatusBarItems": getStatusBarItems,
1720
+ "ExtensionApi.getViewRegistrySnapshot": getViewRegistrySnapshot
1315
1721
  };
1316
1722
 
1317
1723
  // packages/extension-api/src/parts/ExtensionApiWorkerHandleMessagePort/ExtensionApiWorkerHandleMessagePort.ts
@@ -1346,10 +1752,10 @@ var commandMap3 = {
1346
1752
 
1347
1753
  // packages/extension-api/src/parts/ExtensionApiWorkerListen/ExtensionApiWorkerListen.ts
1348
1754
  var listen2 = async () => {
1349
- const rpc2 = WebWorkerRpcClient_exports.create({
1755
+ const rpc = WebWorkerRpcClient_exports.create({
1350
1756
  commandMap: commandMap3
1351
1757
  });
1352
- return rpc2;
1758
+ return rpc;
1353
1759
  };
1354
1760
 
1355
1761
  // packages/extension-api/src/parts/Activation/Activation.ts
@@ -1358,18 +1764,19 @@ var activate = async () => {
1358
1764
  if (!rpcPromise) {
1359
1765
  rpcPromise = listen2();
1360
1766
  }
1361
- const rpc2 = await rpcPromise;
1362
- set(rpc2);
1767
+ const rpc = await rpcPromise;
1768
+ ExtensionManagementWorker_exports.set(rpc);
1769
+ activateOutputChannels();
1363
1770
  };
1364
1771
 
1365
1772
  // packages/extension-api/src/parts/ExecuteCommand/ExecuteCommand.ts
1366
1773
  var executeCommand2 = async (id2, ...args) => {
1367
- return invoke("Extensions.executeCommand", id2, ...args);
1774
+ return ExtensionManagementWorker_exports.invoke("Extensions.executeCommand", id2, ...args);
1368
1775
  };
1369
1776
 
1370
1777
  // packages/extension-api/src/parts/QuickPick/QuickPick.ts
1371
1778
  var showQuickPick = async (options) => {
1372
- return invoke("ExtensionHostQuickPick.showQuickPick", options);
1779
+ return ExtensionManagementWorker_exports.invoke("ExtensionHostQuickPick.showQuickPick", options);
1373
1780
  };
1374
1781
 
1375
1782
  // packages/extension-api/src/parts/CommandMap/CommandMap.ts
@@ -1399,24 +1806,35 @@ var handleExtensionManagementMessagePort2 = async ({
1399
1806
  };
1400
1807
  export {
1401
1808
  activate,
1809
+ createOutputChannel,
1402
1810
  executeCommand2 as executeCommand,
1403
1811
  executeCompletionProvider,
1812
+ executeDiagnosticProvider,
1404
1813
  executeFormattingProvider,
1405
1814
  executeHoverProvider,
1406
1815
  executeResolveCompletionItemProvider,
1816
+ executeViewProvider,
1407
1817
  getCompletionProviderRegistrySnapshot,
1818
+ getDiagnosticProviderRegistrySnapshot,
1408
1819
  getFormattingProviderRegistrySnapshot,
1409
1820
  getHoverProviderRegistrySnapshot,
1821
+ getOutputChannelRegistrySnapshot,
1410
1822
  getStatusBarItemProviderRegistrySnapshot,
1823
+ getViewRegistrySnapshot,
1411
1824
  handleExtensionManagementMessagePort2 as handleExtensionManagementMessagePort,
1412
1825
  registerCommand,
1413
1826
  registerCompletionProvider,
1827
+ registerDiagnosticProvider,
1414
1828
  registerFormattingProvider,
1415
1829
  registerHoverProvider,
1416
1830
  registerStatusBarItemProvider,
1831
+ registerView,
1417
1832
  resetCompletionProviderRegistry,
1833
+ resetDiagnosticProviderRegistry,
1418
1834
  resetFormattingProviderRegistry,
1419
1835
  resetHoverProviderRegistry,
1836
+ resetOutputChannelRegistry,
1420
1837
  resetStatusBarItemProviderRegistry,
1838
+ resetViewRegistry,
1421
1839
  showQuickPick
1422
1840
  };