@codingame/monaco-vscode-extensions-service-override 1.83.7 → 1.83.9

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 (183) hide show
  1. package/assets/webWorkerExtensionHostIframe.html +123 -0
  2. package/extensions.d.ts +12 -13
  3. package/extensions.js +456 -0
  4. package/external/rollup-plugin-styles/dist/runtime/inject-css.js +3 -0
  5. package/external/tslib/tslib.es6.js +11 -0
  6. package/index.d.ts +1 -1
  7. package/index.js +2 -2
  8. package/override/vs/platform/dialogs/common/dialogs.js +8 -0
  9. package/override/vs/workbench/browser/parts/editor/textEditor.weak.js +8 -0
  10. package/override/vs/workbench/contrib/notebook/common/notebookEditorInput.js +3 -0
  11. package/package.json +5 -3
  12. package/tools/url.js +10 -0
  13. package/tools.js +5 -0
  14. package/vscode/src/vs/base/common/console.js +59 -0
  15. package/vscode/src/vs/base/common/prefixTree.js +131 -0
  16. package/vscode/src/vs/platform/files/common/watcher.js +71 -0
  17. package/vscode/src/vs/platform/lifecycle/common/lifecycle.js +27 -0
  18. package/vscode/src/vs/platform/log/browser/log.js +26 -0
  19. package/vscode/src/vs/platform/remote/common/managedSocket.js +98 -0
  20. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +31 -0
  21. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +35 -0
  22. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +330 -0
  23. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +68 -0
  24. package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +174 -0
  25. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents.js +52 -0
  26. package/vscode/src/vs/workbench/api/browser/mainThreadChatProvider.js +61 -0
  27. package/vscode/src/vs/workbench/api/browser/mainThreadChatSlashCommands.js +49 -0
  28. package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +31 -0
  29. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +24 -0
  30. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +107 -0
  31. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +94 -0
  32. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +541 -0
  33. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +80 -0
  34. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +35 -0
  35. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +578 -0
  36. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +387 -0
  37. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +102 -0
  38. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +69 -0
  39. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +68 -0
  40. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +75 -0
  41. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +249 -0
  42. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +370 -0
  43. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +22 -0
  44. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +41 -0
  45. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +411 -0
  46. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +475 -0
  47. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +227 -0
  48. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +24 -0
  49. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +317 -0
  50. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +280 -0
  51. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +283 -0
  52. package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +68 -0
  53. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +28 -0
  54. package/vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js +33 -0
  55. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +27 -0
  56. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +947 -0
  57. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +78 -0
  58. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +35 -0
  59. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +78 -0
  60. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +93 -0
  61. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +118 -0
  62. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +158 -0
  63. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +123 -0
  64. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +188 -0
  65. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +129 -0
  66. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +131 -0
  67. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +341 -0
  68. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +25 -0
  69. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +48 -0
  70. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +76 -0
  71. package/vscode/src/vs/workbench/api/browser/mainThreadProfilContentHandlers.js +38 -0
  72. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +68 -0
  73. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +49 -0
  74. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +185 -0
  75. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +30 -0
  76. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +463 -0
  77. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +49 -0
  78. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +148 -0
  79. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +70 -0
  80. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +50 -0
  81. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +53 -0
  82. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +72 -0
  83. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +731 -0
  84. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +53 -0
  85. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +412 -0
  86. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +182 -0
  87. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +24 -0
  88. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +55 -0
  89. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +313 -0
  90. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +223 -0
  91. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +110 -0
  92. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +61 -0
  93. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +29 -0
  94. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +283 -0
  95. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +100 -0
  96. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +135 -0
  97. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +57 -0
  98. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +273 -0
  99. package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHost.api.impl.d.ts +2 -2
  100. package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostConfiguration.d.ts +3 -3
  101. package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostExtensionService.d.ts +3 -4
  102. package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostManagedSockets.d.ts +2 -2
  103. package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostTerminalService.d.ts +19 -20
  104. package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostTunnelService.d.ts +7 -8
  105. package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostWorkspace.d.ts +25 -26
  106. package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +35 -0
  107. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +217 -0
  108. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +57 -0
  109. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +51 -0
  110. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +92 -0
  111. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +648 -0
  112. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +297 -0
  113. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +62 -0
  114. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +249 -0
  115. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +109 -0
  116. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadRangeDecorator.js +109 -0
  117. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +331 -0
  118. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +380 -0
  119. package/vscode/src/vs/workbench/contrib/comments/browser/comments.js +5 -0
  120. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +1196 -0
  121. package/vscode/src/vs/workbench/contrib/comments/browser/commentsFilterOptions.js +19 -0
  122. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +334 -0
  123. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +543 -0
  124. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +178 -0
  125. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +6 -0
  126. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +6 -0
  127. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +101 -0
  128. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +57 -0
  129. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +145 -0
  130. package/vscode/src/vs/workbench/contrib/comments/common/commentsConfiguration.js +3 -0
  131. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +73 -0
  132. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +83 -0
  133. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +179 -0
  134. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveHistoryService.js +5 -0
  135. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +144 -0
  136. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +482 -0
  137. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +6 -0
  138. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +85 -0
  139. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/editing.js +56 -0
  140. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +110 -0
  141. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +260 -0
  142. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +616 -0
  143. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +309 -0
  144. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +38 -0
  145. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +167 -0
  146. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/telemetry.js +80 -0
  147. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +70 -0
  148. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +3 -0
  149. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +108 -0
  150. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +506 -0
  151. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +132 -0
  152. package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +103 -0
  153. package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +28 -0
  154. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +25 -0
  155. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +336 -0
  156. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +46 -0
  157. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +283 -0
  158. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +273 -0
  159. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +52 -0
  160. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +1093 -0
  161. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +41 -0
  162. package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.js +25 -0
  163. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +643 -0
  164. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +274 -0
  165. package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +58 -0
  166. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +80 -0
  167. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +64 -0
  168. package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.js +49 -0
  169. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +220 -0
  170. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +5 -0
  171. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +79 -0
  172. package/vscode-proposed.d.ts +0 -3872
  173. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHost.protocol.d.ts +0 -0
  174. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostExtensionActivator.d.ts +0 -0
  175. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostFileSystemInfo.d.ts +0 -0
  176. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostInitDataService.d.ts +0 -0
  177. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostLocalizationService.d.ts +0 -0
  178. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostRpcService.d.ts +0 -0
  179. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostStoragePaths.d.ts +0 -0
  180. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostTypes.d.ts +0 -0
  181. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/common/extHostUriTransformerService.d.ts +0 -0
  182. /package/{dist/main/vscode → vscode}/src/vs/workbench/api/worker/extHostExtensionService.d.ts +0 -0
  183. /package/{dist/main/vscode → vscode}/src/vs/workbench/services/search/common/queryBuilder.d.ts +0 -0
@@ -0,0 +1,387 @@
1
+ import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
+ import { DisposableStore, DisposableMap, toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
3
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
4
+ import { IDebugService } from 'vscode/vscode/vs/workbench/contrib/debug/common/debug';
5
+ import { MainContext, ExtHostContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
6
+ import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
7
+ import Severity from 'monaco-editor/esm/vs/base/common/severity.js';
8
+ import { AbstractDebugAdapter } from 'vscode/vscode/vs/workbench/contrib/debug/common/abstractDebugAdapter';
9
+ import { isSessionAttach, convertToVSCPaths, convertToDAPaths } from 'vscode/vscode/vs/workbench/contrib/debug/common/debugUtils';
10
+ import { ErrorNoTelemetry } from 'monaco-editor/esm/vs/base/common/errors.js';
11
+
12
+ let MainThreadDebugService = class MainThreadDebugService {
13
+ constructor(extHostContext, debugService) {
14
+ this.debugService = debugService;
15
+ this._toDispose = ( new DisposableStore());
16
+ this._debugAdaptersHandleCounter = 1;
17
+ this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostDebugService));
18
+ const sessionListeners = ( new DisposableMap());
19
+ this._toDispose.add(sessionListeners);
20
+ this._toDispose.add(debugService.onDidNewSession(session => {
21
+ this._proxy.$acceptDebugSessionStarted(this.getSessionDto(session));
22
+ const store = sessionListeners.get(session);
23
+ store.add(session.onDidChangeName(name => {
24
+ this._proxy.$acceptDebugSessionNameChanged(this.getSessionDto(session), name);
25
+ }));
26
+ }));
27
+ this._toDispose.add(debugService.onWillNewSession(session => {
28
+ let store = sessionListeners.get(session);
29
+ if (!store) {
30
+ store = ( new DisposableStore());
31
+ sessionListeners.set(session, store);
32
+ }
33
+ store.add(session.onDidCustomEvent(event => this._proxy.$acceptDebugSessionCustomEvent(this.getSessionDto(session), event)));
34
+ }));
35
+ this._toDispose.add(debugService.onDidEndSession(session => {
36
+ this._proxy.$acceptDebugSessionTerminated(this.getSessionDto(session));
37
+ this._sessions.delete(session.getId());
38
+ for (const [handle, value] of this._debugAdapters) {
39
+ if (value.session === session) {
40
+ this._debugAdapters.delete(handle);
41
+ }
42
+ }
43
+ sessionListeners.deleteAndDispose(session);
44
+ }));
45
+ this._toDispose.add(debugService.getViewModel().onDidFocusSession(session => {
46
+ this._proxy.$acceptDebugSessionActiveChanged(this.getSessionDto(session));
47
+ }));
48
+ this._toDispose.add(toDisposable(() => {
49
+ for (const [handle, da] of this._debugAdapters) {
50
+ da.fireError(handle, ( new Error('Extension host shut down')));
51
+ }
52
+ }));
53
+ this._debugAdapters = ( new Map());
54
+ this._debugConfigurationProviders = ( new Map());
55
+ this._debugAdapterDescriptorFactories = ( new Map());
56
+ this._sessions = ( new Set());
57
+ this._toDispose.add(this.debugService.getViewModel().onDidFocusThread(({ thread, explicit, session }) => {
58
+ if (session) {
59
+ const dto = {
60
+ kind: 'thread',
61
+ threadId: thread?.threadId,
62
+ sessionId: session.getId(),
63
+ };
64
+ this._proxy.$acceptStackFrameFocus(dto);
65
+ }
66
+ }));
67
+ this._toDispose.add(this.debugService.getViewModel().onDidFocusStackFrame(({ stackFrame, explicit, session }) => {
68
+ if (session) {
69
+ const dto = {
70
+ kind: 'stackFrame',
71
+ threadId: stackFrame?.thread.threadId,
72
+ frameId: stackFrame?.frameId,
73
+ sessionId: session.getId(),
74
+ };
75
+ this._proxy.$acceptStackFrameFocus(dto);
76
+ }
77
+ }));
78
+ this.sendBreakpointsAndListen();
79
+ }
80
+ sendBreakpointsAndListen() {
81
+ this._toDispose.add(this.debugService.getModel().onDidChangeBreakpoints(e => {
82
+ if (e && !e.sessionOnly) {
83
+ const delta = {};
84
+ if (e.added) {
85
+ delta.added = this.convertToDto(e.added);
86
+ }
87
+ if (e.removed) {
88
+ delta.removed = ( e.removed.map(x => x.getId()));
89
+ }
90
+ if (e.changed) {
91
+ delta.changed = this.convertToDto(e.changed);
92
+ }
93
+ if (delta.added || delta.removed || delta.changed) {
94
+ this._proxy.$acceptBreakpointsDelta(delta);
95
+ }
96
+ }
97
+ }));
98
+ const bps = this.debugService.getModel().getBreakpoints();
99
+ const fbps = this.debugService.getModel().getFunctionBreakpoints();
100
+ const dbps = this.debugService.getModel().getDataBreakpoints();
101
+ if (bps.length > 0 || fbps.length > 0) {
102
+ this._proxy.$acceptBreakpointsDelta({
103
+ added: this.convertToDto(bps).concat(this.convertToDto(fbps)).concat(this.convertToDto(dbps))
104
+ });
105
+ }
106
+ }
107
+ dispose() {
108
+ this._toDispose.dispose();
109
+ }
110
+ createDebugAdapter(session) {
111
+ const handle = this._debugAdaptersHandleCounter++;
112
+ const da = ( new ExtensionHostDebugAdapter(this, handle, this._proxy, session));
113
+ this._debugAdapters.set(handle, da);
114
+ return da;
115
+ }
116
+ substituteVariables(folder, config) {
117
+ return Promise.resolve(this._proxy.$substituteVariables(folder ? folder.uri : undefined, config));
118
+ }
119
+ runInTerminal(args, sessionId) {
120
+ return this._proxy.$runInTerminal(args, sessionId);
121
+ }
122
+ $registerDebugTypes(debugTypes) {
123
+ this._toDispose.add(this.debugService.getAdapterManager().registerDebugAdapterFactory(debugTypes, this));
124
+ }
125
+ $registerBreakpoints(DTOs) {
126
+ for (const dto of DTOs) {
127
+ if (dto.type === 'sourceMulti') {
128
+ const rawbps = ( dto.lines.map(l => ({
129
+ id: l.id,
130
+ enabled: l.enabled,
131
+ lineNumber: l.line + 1,
132
+ column: l.character > 0 ? l.character + 1 : undefined,
133
+ condition: l.condition,
134
+ hitCondition: l.hitCondition,
135
+ logMessage: l.logMessage
136
+ })));
137
+ this.debugService.addBreakpoints(URI.revive(dto.uri), rawbps);
138
+ }
139
+ else if (dto.type === 'function') {
140
+ this.debugService.addFunctionBreakpoint(dto.functionName, dto.id);
141
+ }
142
+ else if (dto.type === 'data') {
143
+ this.debugService.addDataBreakpoint(dto.label, dto.dataId, dto.canPersist, dto.accessTypes, dto.accessType);
144
+ }
145
+ }
146
+ return Promise.resolve();
147
+ }
148
+ $unregisterBreakpoints(breakpointIds, functionBreakpointIds, dataBreakpointIds) {
149
+ breakpointIds.forEach(id => this.debugService.removeBreakpoints(id));
150
+ functionBreakpointIds.forEach(id => this.debugService.removeFunctionBreakpoints(id));
151
+ dataBreakpointIds.forEach(id => this.debugService.removeDataBreakpoints(id));
152
+ return Promise.resolve();
153
+ }
154
+ $registerDebugConfigurationProvider(debugType, providerTriggerKind, hasProvide, hasResolve, hasResolve2, handle) {
155
+ const provider = {
156
+ type: debugType,
157
+ triggerKind: providerTriggerKind
158
+ };
159
+ if (hasProvide) {
160
+ provider.provideDebugConfigurations = (folder, token) => {
161
+ return this._proxy.$provideDebugConfigurations(handle, folder, token);
162
+ };
163
+ }
164
+ if (hasResolve) {
165
+ provider.resolveDebugConfiguration = (folder, config, token) => {
166
+ return this._proxy.$resolveDebugConfiguration(handle, folder, config, token);
167
+ };
168
+ }
169
+ if (hasResolve2) {
170
+ provider.resolveDebugConfigurationWithSubstitutedVariables = (folder, config, token) => {
171
+ return this._proxy.$resolveDebugConfigurationWithSubstitutedVariables(handle, folder, config, token);
172
+ };
173
+ }
174
+ this._debugConfigurationProviders.set(handle, provider);
175
+ this._toDispose.add(this.debugService.getConfigurationManager().registerDebugConfigurationProvider(provider));
176
+ return Promise.resolve(undefined);
177
+ }
178
+ $unregisterDebugConfigurationProvider(handle) {
179
+ const provider = this._debugConfigurationProviders.get(handle);
180
+ if (provider) {
181
+ this._debugConfigurationProviders.delete(handle);
182
+ this.debugService.getConfigurationManager().unregisterDebugConfigurationProvider(provider);
183
+ }
184
+ }
185
+ $registerDebugAdapterDescriptorFactory(debugType, handle) {
186
+ const provider = {
187
+ type: debugType,
188
+ createDebugAdapterDescriptor: session => {
189
+ return Promise.resolve(this._proxy.$provideDebugAdapter(handle, this.getSessionDto(session)));
190
+ }
191
+ };
192
+ this._debugAdapterDescriptorFactories.set(handle, provider);
193
+ this._toDispose.add(this.debugService.getAdapterManager().registerDebugAdapterDescriptorFactory(provider));
194
+ return Promise.resolve(undefined);
195
+ }
196
+ $unregisterDebugAdapterDescriptorFactory(handle) {
197
+ const provider = this._debugAdapterDescriptorFactories.get(handle);
198
+ if (provider) {
199
+ this._debugAdapterDescriptorFactories.delete(handle);
200
+ this.debugService.getAdapterManager().unregisterDebugAdapterDescriptorFactory(provider);
201
+ }
202
+ }
203
+ getSession(sessionId) {
204
+ if (sessionId) {
205
+ return this.debugService.getModel().getSession(sessionId, true);
206
+ }
207
+ return undefined;
208
+ }
209
+ async $startDebugging(folder, nameOrConfig, options) {
210
+ const folderUri = folder ? URI.revive(folder) : undefined;
211
+ const launch = this.debugService.getConfigurationManager().getLaunch(folderUri);
212
+ const parentSession = this.getSession(options.parentSessionID);
213
+ const saveBeforeStart = typeof options.suppressSaveBeforeStart === 'boolean' ? !options.suppressSaveBeforeStart : undefined;
214
+ const debugOptions = {
215
+ noDebug: options.noDebug,
216
+ parentSession,
217
+ lifecycleManagedByParent: options.lifecycleManagedByParent,
218
+ repl: options.repl,
219
+ compact: options.compact,
220
+ compoundRoot: parentSession?.compoundRoot,
221
+ saveBeforeRestart: saveBeforeStart,
222
+ suppressDebugStatusbar: options.suppressDebugStatusbar,
223
+ suppressDebugToolbar: options.suppressDebugToolbar,
224
+ suppressDebugView: options.suppressDebugView,
225
+ };
226
+ try {
227
+ return this.debugService.startDebugging(launch, nameOrConfig, debugOptions, saveBeforeStart);
228
+ }
229
+ catch (err) {
230
+ throw new ErrorNoTelemetry(err && err.message ? err.message : 'cannot start debugging');
231
+ }
232
+ }
233
+ $setDebugSessionName(sessionId, name) {
234
+ const session = this.debugService.getModel().getSession(sessionId);
235
+ session?.setName(name);
236
+ }
237
+ $customDebugAdapterRequest(sessionId, request, args) {
238
+ const session = this.debugService.getModel().getSession(sessionId, true);
239
+ if (session) {
240
+ return session.customRequest(request, args).then(response => {
241
+ if (response && response.success) {
242
+ return response.body;
243
+ }
244
+ else {
245
+ return Promise.reject(( new ErrorNoTelemetry(response ? response.message : 'custom request failed')));
246
+ }
247
+ });
248
+ }
249
+ return Promise.reject(( new ErrorNoTelemetry('debug session not found')));
250
+ }
251
+ $getDebugProtocolBreakpoint(sessionId, breakpoinId) {
252
+ const session = this.debugService.getModel().getSession(sessionId, true);
253
+ if (session) {
254
+ return Promise.resolve(session.getDebugProtocolBreakpoint(breakpoinId));
255
+ }
256
+ return Promise.reject(( new ErrorNoTelemetry('debug session not found')));
257
+ }
258
+ $stopDebugging(sessionId) {
259
+ if (sessionId) {
260
+ const session = this.debugService.getModel().getSession(sessionId, true);
261
+ if (session) {
262
+ return this.debugService.stopSession(session, isSessionAttach(session));
263
+ }
264
+ }
265
+ else {
266
+ return this.debugService.stopSession(undefined);
267
+ }
268
+ return Promise.reject(( new ErrorNoTelemetry('debug session not found')));
269
+ }
270
+ $appendDebugConsole(value) {
271
+ const session = this.debugService.getViewModel().focusedSession;
272
+ session?.appendToRepl({ output: value, sev: Severity.Warning });
273
+ }
274
+ $acceptDAMessage(handle, message) {
275
+ this.getDebugAdapter(handle).acceptMessage(convertToVSCPaths(message, false));
276
+ }
277
+ $acceptDAError(handle, name, message, stack) {
278
+ this.getDebugAdapter(handle).fireError(handle, ( new Error(`${name}: ${message}\n${stack}`)));
279
+ }
280
+ $acceptDAExit(handle, code, signal) {
281
+ this.getDebugAdapter(handle).fireExit(handle, code, signal);
282
+ }
283
+ getDebugAdapter(handle) {
284
+ const adapter = this._debugAdapters.get(handle);
285
+ if (!adapter) {
286
+ throw new Error('Invalid debug adapter');
287
+ }
288
+ return adapter;
289
+ }
290
+ $sessionCached(sessionID) {
291
+ this._sessions.add(sessionID);
292
+ }
293
+ getSessionDto(session) {
294
+ if (session) {
295
+ const sessionID = session.getId();
296
+ if (( this._sessions.has(sessionID))) {
297
+ return sessionID;
298
+ }
299
+ else {
300
+ return {
301
+ id: sessionID,
302
+ type: session.configuration.type,
303
+ name: session.name,
304
+ folderUri: session.root ? session.root.uri : undefined,
305
+ configuration: session.configuration,
306
+ parent: session.parentSession?.getId(),
307
+ };
308
+ }
309
+ }
310
+ return undefined;
311
+ }
312
+ convertToDto(bps) {
313
+ return ( bps.map(bp => {
314
+ if ('name' in bp) {
315
+ const fbp = bp;
316
+ return {
317
+ type: 'function',
318
+ id: fbp.getId(),
319
+ enabled: fbp.enabled,
320
+ condition: fbp.condition,
321
+ hitCondition: fbp.hitCondition,
322
+ logMessage: fbp.logMessage,
323
+ functionName: fbp.name
324
+ };
325
+ }
326
+ else if ('dataId' in bp) {
327
+ const dbp = bp;
328
+ return {
329
+ type: 'data',
330
+ id: dbp.getId(),
331
+ dataId: dbp.dataId,
332
+ enabled: dbp.enabled,
333
+ condition: dbp.condition,
334
+ hitCondition: dbp.hitCondition,
335
+ logMessage: dbp.logMessage,
336
+ label: dbp.description,
337
+ canPersist: dbp.canPersist
338
+ };
339
+ }
340
+ else {
341
+ const sbp = bp;
342
+ return {
343
+ type: 'source',
344
+ id: sbp.getId(),
345
+ enabled: sbp.enabled,
346
+ condition: sbp.condition,
347
+ hitCondition: sbp.hitCondition,
348
+ logMessage: sbp.logMessage,
349
+ uri: sbp.uri,
350
+ line: sbp.lineNumber > 0 ? sbp.lineNumber - 1 : 0,
351
+ character: (typeof sbp.column === 'number' && sbp.column > 0) ? sbp.column - 1 : 0,
352
+ };
353
+ }
354
+ }));
355
+ }
356
+ };
357
+ MainThreadDebugService = __decorate([
358
+ extHostNamedCustomer(MainContext.MainThreadDebugService),
359
+ ( __param(1, IDebugService))
360
+ ], MainThreadDebugService);
361
+ class ExtensionHostDebugAdapter extends AbstractDebugAdapter {
362
+ constructor(_ds, _handle, _proxy, session) {
363
+ super();
364
+ this._ds = _ds;
365
+ this._handle = _handle;
366
+ this._proxy = _proxy;
367
+ this.session = session;
368
+ }
369
+ fireError(handle, err) {
370
+ this._onError.fire(err);
371
+ }
372
+ fireExit(handle, code, signal) {
373
+ this._onExit.fire(code);
374
+ }
375
+ startSession() {
376
+ return Promise.resolve(this._proxy.$startDASession(this._handle, this._ds.getSessionDto(this.session)));
377
+ }
378
+ sendMessage(message) {
379
+ this._proxy.$sendDAMessage(this._handle, convertToDAPaths(message, true));
380
+ }
381
+ async stopSession() {
382
+ await this.cancelPendingRequests();
383
+ return Promise.resolve(this._proxy.$stopDASession(this._handle));
384
+ }
385
+ }
386
+
387
+ export { MainThreadDebugService };
@@ -0,0 +1,102 @@
1
+ import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
3
+ import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
4
+ import { dispose } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
5
+ import { MainContext, ExtHostContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
6
+ import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
7
+ import { IDecorationsService } from 'vscode/vscode/vs/workbench/services/decorations/common/decorations';
8
+ import { CancellationToken } from 'monaco-editor/esm/vs/base/common/cancellation.js';
9
+
10
+ class DecorationRequestsQueue {
11
+ constructor(_proxy, _handle) {
12
+ this._proxy = _proxy;
13
+ this._handle = _handle;
14
+ this._idPool = 0;
15
+ this._requests = ( new Map());
16
+ this._resolver = ( new Map());
17
+ }
18
+ enqueue(uri, token) {
19
+ const id = ++this._idPool;
20
+ const result = ( new Promise(resolve => {
21
+ this._requests.set(id, { id, uri });
22
+ this._resolver.set(id, resolve);
23
+ this._processQueue();
24
+ }));
25
+ const sub = token.onCancellationRequested(() => {
26
+ this._requests.delete(id);
27
+ this._resolver.delete(id);
28
+ });
29
+ return result.finally(() => sub.dispose());
30
+ }
31
+ _processQueue() {
32
+ if (typeof this._timer === 'number') {
33
+ return;
34
+ }
35
+ this._timer = setTimeout(() => {
36
+ const requests = this._requests;
37
+ const resolver = this._resolver;
38
+ this._proxy.$provideDecorations(this._handle, [...( requests.values())], CancellationToken.None).then(data => {
39
+ for (const [id, resolve] of resolver) {
40
+ resolve(data[id]);
41
+ }
42
+ });
43
+ this._requests = ( new Map());
44
+ this._resolver = ( new Map());
45
+ this._timer = undefined;
46
+ }, 0);
47
+ }
48
+ }
49
+ let MainThreadDecorations = class MainThreadDecorations {
50
+ constructor(context, _decorationsService) {
51
+ this._decorationsService = _decorationsService;
52
+ this._provider = ( new Map());
53
+ this._proxy = ( context.getProxy(ExtHostContext.ExtHostDecorations));
54
+ }
55
+ dispose() {
56
+ this._provider.forEach(value => dispose(value));
57
+ this._provider.clear();
58
+ }
59
+ $registerDecorationProvider(handle, label) {
60
+ const emitter = ( new Emitter());
61
+ const queue = ( new DecorationRequestsQueue(this._proxy, handle));
62
+ const registration = this._decorationsService.registerDecorationsProvider({
63
+ label,
64
+ onDidChange: emitter.event,
65
+ provideDecorations: async (uri, token) => {
66
+ const data = await queue.enqueue(uri, token);
67
+ if (!data) {
68
+ return undefined;
69
+ }
70
+ const [bubble, tooltip, letter, themeColor] = data;
71
+ return {
72
+ weight: 10,
73
+ bubble: bubble ?? false,
74
+ color: themeColor?.id,
75
+ tooltip,
76
+ letter
77
+ };
78
+ }
79
+ });
80
+ this._provider.set(handle, [emitter, registration]);
81
+ }
82
+ $onDidChange(handle, resources) {
83
+ const provider = this._provider.get(handle);
84
+ if (provider) {
85
+ const [emitter] = provider;
86
+ emitter.fire(resources && ( resources.map(r => URI.revive(r))));
87
+ }
88
+ }
89
+ $unregisterDecorationProvider(handle) {
90
+ const provider = this._provider.get(handle);
91
+ if (provider) {
92
+ dispose(provider);
93
+ this._provider.delete(handle);
94
+ }
95
+ }
96
+ };
97
+ MainThreadDecorations = __decorate([
98
+ extHostNamedCustomer(MainContext.MainThreadDecorations),
99
+ ( __param(1, IDecorationsService))
100
+ ], MainThreadDecorations);
101
+
102
+ export { MainThreadDecorations };
@@ -0,0 +1,69 @@
1
+ import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
+ import { IMarkerService } from 'monaco-editor/esm/vs/platform/markers/common/markers.js';
3
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
4
+ import { MainContext, ExtHostContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
5
+ import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
6
+ import { IUriIdentityService } from 'monaco-editor/esm/vs/platform/uriIdentity/common/uriIdentity.js';
7
+
8
+ let MainThreadDiagnostics = class MainThreadDiagnostics {
9
+ constructor(extHostContext, _markerService, _uriIdentService) {
10
+ this._markerService = _markerService;
11
+ this._uriIdentService = _uriIdentService;
12
+ this._activeOwners = ( new Set());
13
+ this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostDiagnostics));
14
+ this._markerListener = this._markerService.onMarkerChanged(this._forwardMarkers, this);
15
+ }
16
+ dispose() {
17
+ this._markerListener.dispose();
18
+ this._activeOwners.forEach(owner => this._markerService.changeAll(owner, []));
19
+ this._activeOwners.clear();
20
+ }
21
+ _forwardMarkers(resources) {
22
+ const data = [];
23
+ for (const resource of resources) {
24
+ const allMarkerData = this._markerService.read({ resource });
25
+ if (allMarkerData.length === 0) {
26
+ data.push([resource, []]);
27
+ }
28
+ else {
29
+ const forgeinMarkerData = allMarkerData.filter(marker => !( this._activeOwners.has(marker.owner)));
30
+ if (forgeinMarkerData.length > 0) {
31
+ data.push([resource, forgeinMarkerData]);
32
+ }
33
+ }
34
+ }
35
+ if (data.length > 0) {
36
+ this._proxy.$acceptMarkersChange(data);
37
+ }
38
+ }
39
+ $changeMany(owner, entries) {
40
+ for (const entry of entries) {
41
+ const [uri, markers] = entry;
42
+ if (markers) {
43
+ for (const marker of markers) {
44
+ if (marker.relatedInformation) {
45
+ for (const relatedInformation of marker.relatedInformation) {
46
+ relatedInformation.resource = URI.revive(relatedInformation.resource);
47
+ }
48
+ }
49
+ if (marker.code && typeof marker.code !== 'string') {
50
+ marker.code.target = URI.revive(marker.code.target);
51
+ }
52
+ }
53
+ }
54
+ this._markerService.changeOne(owner, this._uriIdentService.asCanonicalUri(URI.revive(uri)), markers);
55
+ }
56
+ this._activeOwners.add(owner);
57
+ }
58
+ $clear(owner) {
59
+ this._markerService.changeAll(owner, []);
60
+ this._activeOwners.delete(owner);
61
+ }
62
+ };
63
+ MainThreadDiagnostics = __decorate([
64
+ extHostNamedCustomer(MainContext.MainThreadDiagnostics),
65
+ ( __param(1, IMarkerService)),
66
+ ( __param(2, IUriIdentityService))
67
+ ], MainThreadDiagnostics);
68
+
69
+ export { MainThreadDiagnostics };
@@ -0,0 +1,68 @@
1
+ import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
3
+ import { MainContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
4
+ import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
5
+ import '../../../../../../override/vs/platform/dialogs/common/dialogs.js';
6
+ import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
7
+ import { IFileDialogService } from 'vscode/vscode/vs/platform/dialogs/common/dialogs';
8
+
9
+ var MainThreadDialogs_1;
10
+ let MainThreadDialogs = MainThreadDialogs_1 = class MainThreadDialogs {
11
+ constructor(context, _fileDialogService) {
12
+ this._fileDialogService = _fileDialogService;
13
+ }
14
+ dispose() {
15
+ }
16
+ async $showOpenDialog(options) {
17
+ const convertedOptions = MainThreadDialogs_1._convertOpenOptions(options);
18
+ if (!convertedOptions.defaultUri) {
19
+ convertedOptions.defaultUri = await this._fileDialogService.defaultFilePath();
20
+ }
21
+ return Promise.resolve(this._fileDialogService.showOpenDialog(convertedOptions));
22
+ }
23
+ async $showSaveDialog(options) {
24
+ const convertedOptions = MainThreadDialogs_1._convertSaveOptions(options);
25
+ if (!convertedOptions.defaultUri) {
26
+ convertedOptions.defaultUri = await this._fileDialogService.defaultFilePath();
27
+ }
28
+ return Promise.resolve(this._fileDialogService.showSaveDialog(convertedOptions));
29
+ }
30
+ static _convertOpenOptions(options) {
31
+ const result = {
32
+ openLabel: options?.openLabel || undefined,
33
+ canSelectFiles: options?.canSelectFiles || (!options?.canSelectFiles && !options?.canSelectFolders),
34
+ canSelectFolders: options?.canSelectFolders,
35
+ canSelectMany: options?.canSelectMany,
36
+ defaultUri: options?.defaultUri ? URI.revive(options.defaultUri) : undefined,
37
+ title: options?.title || undefined,
38
+ availableFileSystems: options?.allowUIResources ? [Schemas.vscodeRemote, Schemas.file] : []
39
+ };
40
+ if (options?.filters) {
41
+ result.filters = [];
42
+ for (const [key, value] of Object.entries(options.filters)) {
43
+ result.filters.push({ name: key, extensions: value });
44
+ }
45
+ }
46
+ return result;
47
+ }
48
+ static _convertSaveOptions(options) {
49
+ const result = {
50
+ defaultUri: options?.defaultUri ? URI.revive(options.defaultUri) : undefined,
51
+ saveLabel: options?.saveLabel || undefined,
52
+ title: options?.title || undefined
53
+ };
54
+ if (options?.filters) {
55
+ result.filters = [];
56
+ for (const [key, value] of Object.entries(options.filters)) {
57
+ result.filters.push({ name: key, extensions: value });
58
+ }
59
+ }
60
+ return result;
61
+ }
62
+ };
63
+ MainThreadDialogs = MainThreadDialogs_1 = __decorate([
64
+ extHostNamedCustomer(MainContext.MainThreadDialogs),
65
+ ( __param(1, IFileDialogService))
66
+ ], MainThreadDialogs);
67
+
68
+ export { MainThreadDialogs };