@codingame/monaco-vscode-extensions-service-override 1.83.8 → 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,227 @@
1
+ import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
+ import { illegalArgument } from 'monaco-editor/esm/vs/base/common/errors.js';
3
+ import { DisposableStore, dispose } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
4
+ import { equals } from 'monaco-editor/esm/vs/base/common/objects.js';
5
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
6
+ import { ICodeEditorService } from 'monaco-editor/esm/vs/editor/browser/services/codeEditorService.js';
7
+ import { CommandsRegistry } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
8
+ import { EditorActivation, EditorResolution } from 'monaco-editor/esm/vs/platform/editor/common/editor.js';
9
+ import { ExtHostContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
10
+ import { editorGroupToColumn, columnToEditorGroup } from 'vscode/vscode/vs/workbench/services/editor/common/editorGroupColumn';
11
+ import { IEditorService } from 'vscode/vscode/vs/workbench/services/editor/common/editorService';
12
+ import { IEditorGroupsService } from 'vscode/vscode/vs/workbench/services/editor/common/editorGroupsService';
13
+ import { IEnvironmentService } from 'monaco-editor/esm/vs/platform/environment/common/environment.js';
14
+ import { IWorkingCopyService } from 'vscode/vscode/vs/workbench/services/workingCopy/common/workingCopyService';
15
+ import { getCodeEditor } from 'monaco-editor/esm/vs/editor/browser/editorBrowser.js';
16
+ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
17
+
18
+ var MainThreadTextEditors_1;
19
+ let MainThreadTextEditors = class MainThreadTextEditors {
20
+ static { MainThreadTextEditors_1 = this; }
21
+ static { this.INSTANCE_COUNT = 0; }
22
+ constructor(_editorLocator, extHostContext, _codeEditorService, _editorService, _editorGroupService, _configurationService) {
23
+ this._editorLocator = _editorLocator;
24
+ this._codeEditorService = _codeEditorService;
25
+ this._editorService = _editorService;
26
+ this._editorGroupService = _editorGroupService;
27
+ this._configurationService = _configurationService;
28
+ this._toDispose = ( new DisposableStore());
29
+ this._instanceId = String(++MainThreadTextEditors_1.INSTANCE_COUNT);
30
+ this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostEditors));
31
+ this._textEditorsListenersMap = Object.create(null);
32
+ this._editorPositionData = null;
33
+ this._toDispose.add(this._editorService.onDidVisibleEditorsChange(() => this._updateActiveAndVisibleTextEditors()));
34
+ this._toDispose.add(this._editorGroupService.onDidRemoveGroup(() => this._updateActiveAndVisibleTextEditors()));
35
+ this._toDispose.add(this._editorGroupService.onDidMoveGroup(() => this._updateActiveAndVisibleTextEditors()));
36
+ this._registeredDecorationTypes = Object.create(null);
37
+ }
38
+ dispose() {
39
+ ( Object.keys(this._textEditorsListenersMap)).forEach((editorId) => {
40
+ dispose(this._textEditorsListenersMap[editorId]);
41
+ });
42
+ this._textEditorsListenersMap = Object.create(null);
43
+ this._toDispose.dispose();
44
+ for (const decorationType in this._registeredDecorationTypes) {
45
+ this._codeEditorService.removeDecorationType(decorationType);
46
+ }
47
+ this._registeredDecorationTypes = Object.create(null);
48
+ }
49
+ handleTextEditorAdded(textEditor) {
50
+ const id = textEditor.getId();
51
+ const toDispose = [];
52
+ toDispose.push(textEditor.onPropertiesChanged((data) => {
53
+ this._proxy.$acceptEditorPropertiesChanged(id, data);
54
+ }));
55
+ this._textEditorsListenersMap[id] = toDispose;
56
+ }
57
+ handleTextEditorRemoved(id) {
58
+ dispose(this._textEditorsListenersMap[id]);
59
+ delete this._textEditorsListenersMap[id];
60
+ }
61
+ _updateActiveAndVisibleTextEditors() {
62
+ const editorPositionData = this._getTextEditorPositionData();
63
+ if (!equals(this._editorPositionData, editorPositionData)) {
64
+ this._editorPositionData = editorPositionData;
65
+ this._proxy.$acceptEditorPositionData(this._editorPositionData);
66
+ }
67
+ }
68
+ _getTextEditorPositionData() {
69
+ const result = Object.create(null);
70
+ for (const editorPane of this._editorService.visibleEditorPanes) {
71
+ const id = this._editorLocator.findTextEditorIdFor(editorPane);
72
+ if (id) {
73
+ result[id] = editorGroupToColumn(this._editorGroupService, editorPane.group);
74
+ }
75
+ }
76
+ return result;
77
+ }
78
+ async $tryShowTextDocument(resource, options) {
79
+ const uri = URI.revive(resource);
80
+ const editorOptions = {
81
+ preserveFocus: options.preserveFocus,
82
+ pinned: options.pinned,
83
+ selection: options.selection,
84
+ activation: options.preserveFocus ? EditorActivation.RESTORE : undefined,
85
+ override: EditorResolution.EXCLUSIVE_ONLY
86
+ };
87
+ const input = {
88
+ resource: uri,
89
+ options: editorOptions
90
+ };
91
+ const editor = await this._editorService.openEditor(input, columnToEditorGroup(this._editorGroupService, this._configurationService, options.position));
92
+ if (!editor) {
93
+ return undefined;
94
+ }
95
+ const editorControl = editor.getControl();
96
+ const codeEditor = getCodeEditor(editorControl);
97
+ return codeEditor ? this._editorLocator.getIdOfCodeEditor(codeEditor) : undefined;
98
+ }
99
+ async $tryShowEditor(id, position) {
100
+ const mainThreadEditor = this._editorLocator.getEditor(id);
101
+ if (mainThreadEditor) {
102
+ const model = mainThreadEditor.getModel();
103
+ await this._editorService.openEditor({
104
+ resource: model.uri,
105
+ options: { preserveFocus: false }
106
+ }, columnToEditorGroup(this._editorGroupService, this._configurationService, position));
107
+ return;
108
+ }
109
+ }
110
+ async $tryHideEditor(id) {
111
+ const mainThreadEditor = this._editorLocator.getEditor(id);
112
+ if (mainThreadEditor) {
113
+ const editorPanes = this._editorService.visibleEditorPanes;
114
+ for (const editorPane of editorPanes) {
115
+ if (mainThreadEditor.matches(editorPane)) {
116
+ await editorPane.group.closeEditor(editorPane.input);
117
+ return;
118
+ }
119
+ }
120
+ }
121
+ }
122
+ $trySetSelections(id, selections) {
123
+ const editor = this._editorLocator.getEditor(id);
124
+ if (!editor) {
125
+ return Promise.reject(illegalArgument(`TextEditor(${id})`));
126
+ }
127
+ editor.setSelections(selections);
128
+ return Promise.resolve(undefined);
129
+ }
130
+ $trySetDecorations(id, key, ranges) {
131
+ key = `${this._instanceId}-${key}`;
132
+ const editor = this._editorLocator.getEditor(id);
133
+ if (!editor) {
134
+ return Promise.reject(illegalArgument(`TextEditor(${id})`));
135
+ }
136
+ editor.setDecorations(key, ranges);
137
+ return Promise.resolve(undefined);
138
+ }
139
+ $trySetDecorationsFast(id, key, ranges) {
140
+ key = `${this._instanceId}-${key}`;
141
+ const editor = this._editorLocator.getEditor(id);
142
+ if (!editor) {
143
+ return Promise.reject(illegalArgument(`TextEditor(${id})`));
144
+ }
145
+ editor.setDecorationsFast(key, ranges);
146
+ return Promise.resolve(undefined);
147
+ }
148
+ $tryRevealRange(id, range, revealType) {
149
+ const editor = this._editorLocator.getEditor(id);
150
+ if (!editor) {
151
+ return Promise.reject(illegalArgument(`TextEditor(${id})`));
152
+ }
153
+ editor.revealRange(range, revealType);
154
+ return Promise.resolve();
155
+ }
156
+ $trySetOptions(id, options) {
157
+ const editor = this._editorLocator.getEditor(id);
158
+ if (!editor) {
159
+ return Promise.reject(illegalArgument(`TextEditor(${id})`));
160
+ }
161
+ editor.setConfiguration(options);
162
+ return Promise.resolve(undefined);
163
+ }
164
+ $tryApplyEdits(id, modelVersionId, edits, opts) {
165
+ const editor = this._editorLocator.getEditor(id);
166
+ if (!editor) {
167
+ return Promise.reject(illegalArgument(`TextEditor(${id})`));
168
+ }
169
+ return Promise.resolve(editor.applyEdits(modelVersionId, edits, opts));
170
+ }
171
+ $tryInsertSnippet(id, modelVersionId, template, ranges, opts) {
172
+ const editor = this._editorLocator.getEditor(id);
173
+ if (!editor) {
174
+ return Promise.reject(illegalArgument(`TextEditor(${id})`));
175
+ }
176
+ return Promise.resolve(editor.insertSnippet(modelVersionId, template, ranges, opts));
177
+ }
178
+ $registerTextEditorDecorationType(extensionId, key, options) {
179
+ key = `${this._instanceId}-${key}`;
180
+ this._registeredDecorationTypes[key] = true;
181
+ this._codeEditorService.registerDecorationType(`exthost-api-${extensionId}`, key, options);
182
+ }
183
+ $removeTextEditorDecorationType(key) {
184
+ key = `${this._instanceId}-${key}`;
185
+ delete this._registeredDecorationTypes[key];
186
+ this._codeEditorService.removeDecorationType(key);
187
+ }
188
+ $getDiffInformation(id) {
189
+ const editor = this._editorLocator.getEditor(id);
190
+ if (!editor) {
191
+ return Promise.reject(( new Error('No such TextEditor')));
192
+ }
193
+ const codeEditor = editor.getCodeEditor();
194
+ if (!codeEditor) {
195
+ return Promise.reject(( new Error('No such CodeEditor')));
196
+ }
197
+ const codeEditorId = codeEditor.getId();
198
+ const diffEditors = this._codeEditorService.listDiffEditors();
199
+ const [diffEditor] = diffEditors.filter(d => d.getOriginalEditor().getId() === codeEditorId || d.getModifiedEditor().getId() === codeEditorId);
200
+ if (diffEditor) {
201
+ return Promise.resolve(diffEditor.getLineChanges() || []);
202
+ }
203
+ const dirtyDiffContribution = codeEditor.getContribution('editor.contrib.dirtydiff');
204
+ if (dirtyDiffContribution) {
205
+ return Promise.resolve(dirtyDiffContribution.getChanges());
206
+ }
207
+ return Promise.resolve([]);
208
+ }
209
+ };
210
+ MainThreadTextEditors = MainThreadTextEditors_1 = ( __decorate([
211
+ ( __param(2, ICodeEditorService)),
212
+ ( __param(3, IEditorService)),
213
+ ( __param(4, IEditorGroupsService)),
214
+ ( __param(5, IConfigurationService))
215
+ ], MainThreadTextEditors));
216
+ CommandsRegistry.registerCommand('_workbench.revertAllDirty', async function (accessor) {
217
+ const environmentService = accessor.get(IEnvironmentService);
218
+ if (!environmentService.extensionTestsLocationURI) {
219
+ throw new Error('Command is only available when running extension tests.');
220
+ }
221
+ const workingCopyService = accessor.get(IWorkingCopyService);
222
+ for (const workingCopy of workingCopyService.dirtyWorkingCopies) {
223
+ await workingCopy.revert({ soft: true });
224
+ }
225
+ });
226
+
227
+ export { MainThreadTextEditors };
@@ -0,0 +1,24 @@
1
+ import { __decorate } from '../../../../../../external/tslib/tslib.es6.js';
2
+ import { ErrorNoTelemetry, onUnexpectedError } from 'monaco-editor/esm/vs/base/common/errors.js';
3
+ import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
4
+ import { MainContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
5
+
6
+ let MainThreadErrors = class MainThreadErrors {
7
+ dispose() {
8
+ }
9
+ $onUnexpectedError(err) {
10
+ if (err && err.$isError) {
11
+ const { name, message, stack } = err;
12
+ err = err.noTelemetry ? ( new ErrorNoTelemetry()) : ( new Error());
13
+ err.message = message;
14
+ err.name = name;
15
+ err.stack = stack;
16
+ }
17
+ onUnexpectedError(err);
18
+ }
19
+ };
20
+ MainThreadErrors = __decorate([
21
+ extHostNamedCustomer(MainContext.MainThreadErrors)
22
+ ], MainThreadErrors);
23
+
24
+ export { MainThreadErrors };
@@ -0,0 +1,317 @@
1
+ import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
+ import { Action } from 'monaco-editor/esm/vs/base/common/actions.js';
3
+ import { CancellationToken } from 'monaco-editor/esm/vs/base/common/cancellation.js';
4
+ import { FileAccess } from 'monaco-editor/esm/vs/base/common/network.js';
5
+ import Severity from 'monaco-editor/esm/vs/base/common/severity.js';
6
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
7
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
8
+ import { ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
9
+ import { areSameExtensions } from 'vscode/vscode/vs/platform/extensionManagement/common/extensionManagementUtil';
10
+ import { INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
11
+ import { WebSocketRemoteConnection, ManagedRemoteConnection } from 'vscode/vscode/vs/platform/remote/common/remoteAuthorityResolver';
12
+ import { MainContext, ExtHostContext } from 'vscode/vscode/vs/workbench/api/common/extHost.protocol';
13
+ import { IExtensionsWorkbenchService } from 'vscode/vscode/vs/workbench/contrib/extensions/common/extensions';
14
+ import { IWorkbenchEnvironmentService } from 'vscode/vscode/vs/workbench/services/environment/common/environmentService';
15
+ import { IWorkbenchExtensionEnablementService } from 'vscode/vscode/vs/workbench/services/extensionManagement/common/extensionManagement';
16
+ import { IExtensionService } from 'vscode/vscode/vs/workbench/services/extensions/common/extensions';
17
+ import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
18
+ import { IHostService } from 'vscode/vscode/vs/workbench/services/host/browser/host';
19
+ import { ITimerService } from 'vscode/vscode/vs/workbench/services/timer/browser/timerService';
20
+
21
+ let MainThreadExtensionService = class MainThreadExtensionService {
22
+ constructor(extHostContext, _extensionService, _notificationService, _extensionsWorkbenchService, _hostService, _extensionEnablementService, _timerService, _commandService, _environmentService) {
23
+ this._extensionService = _extensionService;
24
+ this._notificationService = _notificationService;
25
+ this._extensionsWorkbenchService = _extensionsWorkbenchService;
26
+ this._hostService = _hostService;
27
+ this._extensionEnablementService = _extensionEnablementService;
28
+ this._timerService = _timerService;
29
+ this._commandService = _commandService;
30
+ this._environmentService = _environmentService;
31
+ this._extensionHostKind = extHostContext.extensionHostKind;
32
+ const internalExtHostContext = extHostContext;
33
+ this._internalExtensionService = internalExtHostContext.internalExtensionService;
34
+ internalExtHostContext._setExtensionHostProxy(( new ExtensionHostProxy(( extHostContext.getProxy(ExtHostContext.ExtHostExtensionService)))));
35
+ internalExtHostContext._setAllMainProxyIdentifiers(( ( Object.keys(MainContext)).map((key) => MainContext[key])));
36
+ }
37
+ dispose() {
38
+ }
39
+ $getExtension(extensionId) {
40
+ return this._extensionService.getExtension(extensionId);
41
+ }
42
+ $activateExtension(extensionId, reason) {
43
+ return this._internalExtensionService._activateById(extensionId, reason);
44
+ }
45
+ async $onWillActivateExtension(extensionId) {
46
+ this._internalExtensionService._onWillActivateExtension(extensionId);
47
+ }
48
+ $onDidActivateExtension(extensionId, codeLoadingTime, activateCallTime, activateResolvedTime, activationReason) {
49
+ this._internalExtensionService._onDidActivateExtension(extensionId, codeLoadingTime, activateCallTime, activateResolvedTime, activationReason);
50
+ }
51
+ $onExtensionRuntimeError(extensionId, data) {
52
+ const error = ( new Error());
53
+ error.name = data.name;
54
+ error.message = data.message;
55
+ error.stack = data.stack;
56
+ this._internalExtensionService._onExtensionRuntimeError(extensionId, error);
57
+ console.error(`[${extensionId.value}]${error.message}`);
58
+ console.error(error.stack);
59
+ }
60
+ async $onExtensionActivationError(extensionId, data, missingExtensionDependency) {
61
+ const error = ( new Error());
62
+ error.name = data.name;
63
+ error.message = data.message;
64
+ error.stack = data.stack;
65
+ this._internalExtensionService._onDidActivateExtensionError(extensionId, error);
66
+ if (missingExtensionDependency) {
67
+ const extension = await this._extensionService.getExtension(extensionId.value);
68
+ if (extension) {
69
+ const local = await this._extensionsWorkbenchService.queryLocal();
70
+ const installedDependency = local.find(i => areSameExtensions(i.identifier, { id: missingExtensionDependency.dependency }));
71
+ if (installedDependency?.local) {
72
+ await this._handleMissingInstalledDependency(extension, installedDependency.local);
73
+ return;
74
+ }
75
+ else {
76
+ await this._handleMissingNotInstalledDependency(extension, missingExtensionDependency.dependency);
77
+ return;
78
+ }
79
+ }
80
+ }
81
+ const isDev = !this._environmentService.isBuilt || this._environmentService.isExtensionDevelopment;
82
+ if (isDev) {
83
+ this._notificationService.error(error);
84
+ return;
85
+ }
86
+ console.error(error.message);
87
+ }
88
+ async _handleMissingInstalledDependency(extension, missingInstalledDependency) {
89
+ const extName = extension.displayName || extension.name;
90
+ if (this._extensionEnablementService.isEnabled(missingInstalledDependency)) {
91
+ this._notificationService.notify({
92
+ severity: Severity.Error,
93
+ message: ( localizeWithPath(
94
+ 'vs/workbench/api/browser/mainThreadExtensionService',
95
+ 'reload window',
96
+ "Cannot activate the '{0}' extension because it depends on the '{1}' extension, which is not loaded. Would you like to reload the window to load the extension?",
97
+ extName,
98
+ missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
99
+ )),
100
+ actions: {
101
+ primary: [( new Action('reload', ( localizeWithPath(
102
+ 'vs/workbench/api/browser/mainThreadExtensionService',
103
+ 'reload',
104
+ "Reload Window"
105
+ )), '', true, () => this._hostService.reload()))]
106
+ }
107
+ });
108
+ }
109
+ else {
110
+ const enablementState = this._extensionEnablementService.getEnablementState(missingInstalledDependency);
111
+ if (enablementState === 4 ) {
112
+ this._notificationService.notify({
113
+ severity: Severity.Error,
114
+ message: ( localizeWithPath(
115
+ 'vs/workbench/api/browser/mainThreadExtensionService',
116
+ 'notSupportedInWorkspace',
117
+ "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in the current workspace",
118
+ extName,
119
+ missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
120
+ )),
121
+ });
122
+ }
123
+ else if (enablementState === 0 ) {
124
+ this._notificationService.notify({
125
+ severity: Severity.Error,
126
+ message: ( localizeWithPath(
127
+ 'vs/workbench/api/browser/mainThreadExtensionService',
128
+ 'restrictedMode',
129
+ "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is not supported in Restricted Mode",
130
+ extName,
131
+ missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
132
+ )),
133
+ actions: {
134
+ primary: [( new Action('manageWorkspaceTrust', ( localizeWithPath(
135
+ 'vs/workbench/api/browser/mainThreadExtensionService',
136
+ 'manageWorkspaceTrust',
137
+ "Manage Workspace Trust"
138
+ )), '', true, () => this._commandService.executeCommand('workbench.trust.manage')))]
139
+ }
140
+ });
141
+ }
142
+ else if (this._extensionEnablementService.canChangeEnablement(missingInstalledDependency)) {
143
+ this._notificationService.notify({
144
+ severity: Severity.Error,
145
+ message: ( localizeWithPath(
146
+ 'vs/workbench/api/browser/mainThreadExtensionService',
147
+ 'disabledDep',
148
+ "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is disabled. Would you like to enable the extension and reload the window?",
149
+ extName,
150
+ missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
151
+ )),
152
+ actions: {
153
+ primary: [( new Action('enable', ( localizeWithPath(
154
+ 'vs/workbench/api/browser/mainThreadExtensionService',
155
+ 'enable dep',
156
+ "Enable and Reload"
157
+ )), '', true, () => this._extensionEnablementService.setEnablement([missingInstalledDependency], enablementState === 6 ? 8 : 9 )
158
+ .then(() => this._hostService.reload(), e => this._notificationService.error(e))))]
159
+ }
160
+ });
161
+ }
162
+ else {
163
+ this._notificationService.notify({
164
+ severity: Severity.Error,
165
+ message: ( localizeWithPath(
166
+ 'vs/workbench/api/browser/mainThreadExtensionService',
167
+ 'disabledDepNoAction',
168
+ "Cannot activate the '{0}' extension because it depends on the '{1}' extension which is disabled.",
169
+ extName,
170
+ missingInstalledDependency.manifest.displayName || missingInstalledDependency.manifest.name
171
+ )),
172
+ });
173
+ }
174
+ }
175
+ }
176
+ async _handleMissingNotInstalledDependency(extension, missingDependency) {
177
+ const extName = extension.displayName || extension.name;
178
+ let dependencyExtension = null;
179
+ try {
180
+ dependencyExtension = (await this._extensionsWorkbenchService.getExtensions([{ id: missingDependency }], CancellationToken.None))[0];
181
+ }
182
+ catch (err) {
183
+ }
184
+ if (dependencyExtension) {
185
+ this._notificationService.notify({
186
+ severity: Severity.Error,
187
+ message: ( localizeWithPath(
188
+ 'vs/workbench/api/browser/mainThreadExtensionService',
189
+ 'uninstalledDep',
190
+ "Cannot activate the '{0}' extension because it depends on the '{1}' extension from '{2}', which is not installed. Would you like to install the extension and reload the window?",
191
+ extName,
192
+ dependencyExtension.displayName,
193
+ dependencyExtension.publisherDisplayName
194
+ )),
195
+ actions: {
196
+ primary: [( new Action('install', ( localizeWithPath(
197
+ 'vs/workbench/api/browser/mainThreadExtensionService',
198
+ 'install missing dep',
199
+ "Install and Reload"
200
+ )), '', true, () => this._extensionsWorkbenchService.install(dependencyExtension)
201
+ .then(() => this._hostService.reload(), e => this._notificationService.error(e))))]
202
+ }
203
+ });
204
+ }
205
+ else {
206
+ this._notificationService.error(( localizeWithPath(
207
+ 'vs/workbench/api/browser/mainThreadExtensionService',
208
+ 'unknownDep',
209
+ "Cannot activate the '{0}' extension because it depends on an unknown '{1}' extension.",
210
+ extName,
211
+ missingDependency
212
+ )));
213
+ }
214
+ }
215
+ async $setPerformanceMarks(marks) {
216
+ if (this._extensionHostKind === 1 ) {
217
+ this._timerService.setPerformanceMarks('localExtHost', marks);
218
+ }
219
+ else if (this._extensionHostKind === 2 ) {
220
+ this._timerService.setPerformanceMarks('workerExtHost', marks);
221
+ }
222
+ else {
223
+ this._timerService.setPerformanceMarks('remoteExtHost', marks);
224
+ }
225
+ }
226
+ async $asBrowserUri(uri) {
227
+ return FileAccess.uriToBrowserUri(URI.revive(uri));
228
+ }
229
+ async $getAllStaticBrowserUris() {
230
+ return Array.from(FileAccess.getRegisteredBrowserUris(), uri => [
231
+ uri,
232
+ FileAccess.uriToBrowserUri(uri)
233
+ ]);
234
+ }
235
+ };
236
+ MainThreadExtensionService = __decorate([
237
+ extHostNamedCustomer(MainContext.MainThreadExtensionService),
238
+ ( __param(1, IExtensionService)),
239
+ ( __param(2, INotificationService)),
240
+ ( __param(3, IExtensionsWorkbenchService)),
241
+ ( __param(4, IHostService)),
242
+ ( __param(5, IWorkbenchExtensionEnablementService)),
243
+ ( __param(6, ITimerService)),
244
+ ( __param(7, ICommandService)),
245
+ ( __param(8, IWorkbenchEnvironmentService))
246
+ ], MainThreadExtensionService);
247
+ class ExtensionHostProxy {
248
+ constructor(_actual) {
249
+ this._actual = _actual;
250
+ }
251
+ async resolveAuthority(remoteAuthority, resolveAttempt) {
252
+ const resolved = reviveResolveAuthorityResult(await this._actual.$resolveAuthority(remoteAuthority, resolveAttempt));
253
+ return resolved;
254
+ }
255
+ async getCanonicalURI(remoteAuthority, uri) {
256
+ const uriComponents = await this._actual.$getCanonicalURI(remoteAuthority, uri);
257
+ return (uriComponents ? URI.revive(uriComponents) : uriComponents);
258
+ }
259
+ startExtensionHost(extensionsDelta) {
260
+ return this._actual.$startExtensionHost(extensionsDelta);
261
+ }
262
+ extensionTestsExecute() {
263
+ return this._actual.$extensionTestsExecute();
264
+ }
265
+ activateByEvent(activationEvent, activationKind) {
266
+ return this._actual.$activateByEvent(activationEvent, activationKind);
267
+ }
268
+ activate(extensionId, reason) {
269
+ return this._actual.$activate(extensionId, reason);
270
+ }
271
+ setRemoteEnvironment(env) {
272
+ return this._actual.$setRemoteEnvironment(env);
273
+ }
274
+ updateRemoteConnectionData(connectionData) {
275
+ return this._actual.$updateRemoteConnectionData(connectionData);
276
+ }
277
+ deltaExtensions(extensionsDelta) {
278
+ return this._actual.$deltaExtensions(extensionsDelta);
279
+ }
280
+ test_latency(n) {
281
+ return this._actual.$test_latency(n);
282
+ }
283
+ test_up(b) {
284
+ return this._actual.$test_up(b);
285
+ }
286
+ test_down(size) {
287
+ return this._actual.$test_down(size);
288
+ }
289
+ }
290
+ function reviveResolveAuthorityResult(result) {
291
+ if (result.type === 'ok') {
292
+ return {
293
+ type: 'ok',
294
+ value: {
295
+ ...result.value,
296
+ authority: reviveResolvedAuthority(result.value.authority),
297
+ }
298
+ };
299
+ }
300
+ else {
301
+ return result;
302
+ }
303
+ }
304
+ function reviveResolvedAuthority(resolvedAuthority) {
305
+ return {
306
+ ...resolvedAuthority,
307
+ connectTo: reviveConnection(resolvedAuthority.connectTo),
308
+ };
309
+ }
310
+ function reviveConnection(connection) {
311
+ if (connection.type === 0 ) {
312
+ return ( new WebSocketRemoteConnection(connection.host, connection.port));
313
+ }
314
+ return ( new ManagedRemoteConnection(connection.id));
315
+ }
316
+
317
+ export { MainThreadExtensionService };