@codingame/monaco-vscode-api 1.82.6 → 1.83.1

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 (199) hide show
  1. package/api.js +5 -5
  2. package/assets/index-no-csp.html +2 -1
  3. package/assets/index.html +3 -2
  4. package/extensions.js +17 -14
  5. package/external/xterm/typings/xterm.d.ts +171 -109
  6. package/missing-services.js +33 -22
  7. package/monaco-editor-treemending.patch +1371 -1254
  8. package/monaco-treemending.js +2 -2
  9. package/monaco.js +2 -2
  10. package/package.json +2 -2
  11. package/service-override/extensions.js +10 -11
  12. package/services.d.ts +1 -1
  13. package/vscode/src/vs/base/browser/ui/menu/menubar.js +1 -1
  14. package/vscode/src/vs/base/common/event.d.ts +13 -17
  15. package/vscode/src/vs/base/common/keyCodes.d.ts +18 -18
  16. package/vscode/src/vs/base/common/lifecycle.d.ts +9 -0
  17. package/vscode/src/vs/base/common/observableInternal/base.d.ts +2 -0
  18. package/vscode/src/vs/base/common/product.d.ts +1 -0
  19. package/vscode/src/vs/base/parts/ipc/common/ipc.js +6 -2
  20. package/vscode/src/vs/base/parts/storage/common/storage.d.ts +1 -0
  21. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +12 -3
  22. package/vscode/src/vs/editor/common/core/lineRange.d.ts +0 -5
  23. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +9 -2
  24. package/vscode/src/vs/editor/common/diff/documentDiffProvider.d.ts +6 -20
  25. package/vscode/src/vs/editor/common/diff/legacyLinesDiffComputer.d.ts +2 -2
  26. package/vscode/src/vs/editor/common/diff/linesDiffComputer.d.ts +5 -55
  27. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +55 -0
  28. package/vscode/src/vs/editor/common/languages.d.ts +7 -10
  29. package/vscode/src/vs/editor/common/model.d.ts +1 -1
  30. package/vscode/src/vs/platform/actions/common/actions.d.ts +1 -0
  31. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +5 -5
  32. package/vscode/src/vs/platform/files/common/fileService.js +46 -40
  33. package/vscode/src/vs/platform/files/common/files.d.ts +46 -1
  34. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +45 -0
  35. package/vscode/src/vs/platform/storage/common/storage.d.ts +5 -0
  36. package/vscode/src/vs/platform/storage/common/storage.js +4 -0
  37. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +4 -1
  38. package/vscode/src/vs/platform/terminal/common/terminal.js +1 -3
  39. package/vscode/src/vs/platform/tunnel/common/tunnel.d.ts +1 -1
  40. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.d.ts +1 -0
  41. package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +11 -0
  42. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents.js +50 -0
  43. package/vscode/src/vs/workbench/api/browser/mainThreadChatSlashCommands.js +3 -2
  44. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +16 -11
  45. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +20 -6
  46. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +2 -2
  47. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +1 -1
  48. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +8 -8
  49. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +3 -2
  50. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +93 -0
  51. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +3 -166
  52. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +3 -0
  53. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +18 -11
  54. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +14 -9
  55. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -1
  56. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +11 -2
  57. package/vscode/src/vs/workbench/api/common/extHostChat.js +10 -1
  58. package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +62 -0
  59. package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +13 -4
  60. package/vscode/src/vs/workbench/api/common/extHostCommands.js +4 -4
  61. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
  62. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +36 -4
  63. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +6 -29
  64. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +24 -12
  65. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +0 -2
  66. package/vscode/src/vs/workbench/api/common/extHostRequireInterceptor.js +0 -63
  67. package/vscode/src/vs/workbench/api/common/extHostSCM.js +80 -0
  68. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +24 -0
  69. package/vscode/src/vs/workbench/api/common/extHostTesting.js +14 -10
  70. package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +4 -4
  71. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +11 -7
  72. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +34 -16
  73. package/vscode/src/vs/workbench/api/common/extHostTypes.js +31 -13
  74. package/vscode/src/vs/workbench/api/common/extHostWebview.js +14 -2
  75. package/vscode/src/vs/workbench/api/common/extHostWebviewPanels.js +11 -5
  76. package/vscode/src/vs/workbench/api/common/extensionHostMain.js +1 -1
  77. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +32 -9
  78. package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +3 -1
  79. package/vscode/src/vs/workbench/browser/codeeditor.js +1 -1
  80. package/vscode/src/vs/workbench/browser/dnd.js +7 -6
  81. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  82. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +7 -10
  83. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +7 -1
  84. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +9 -3
  85. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +1 -1
  86. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +9 -2
  87. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +44 -14
  88. package/vscode/src/vs/workbench/browser/parts/editor/media/editorplaceholder.css.js +1 -1
  89. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +3 -19
  90. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +1 -1
  91. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +9 -3
  92. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +1 -1
  93. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +10 -9
  94. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +2 -0
  95. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +2 -2
  96. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +6 -5
  97. package/vscode/src/vs/workbench/browser/web.api.d.ts +0 -6
  98. package/vscode/src/vs/workbench/browser/workbench.contribution.js +34 -3
  99. package/vscode/src/vs/workbench/common/contextkeys.js +2 -1
  100. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +4 -4
  101. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +0 -1
  102. package/vscode/src/vs/workbench/common/editor/editorInput.js +2 -4
  103. package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +0 -1
  104. package/vscode/src/vs/workbench/common/editor/editorModel.js +1 -3
  105. package/vscode/src/vs/workbench/common/editor.d.ts +2 -0
  106. package/vscode/src/vs/workbench/common/theme.js +21 -1
  107. package/vscode/src/vs/workbench/common/views.d.ts +1 -1
  108. package/vscode/src/vs/workbench/common/views.js +1 -2
  109. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +12 -4
  110. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +335 -0
  111. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +81 -27
  112. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +1 -1
  113. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +22 -14
  114. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +2 -0
  115. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +136 -0
  116. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +14 -3
  117. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +78 -1
  118. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +43 -17
  119. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +30 -26
  120. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +1 -1
  121. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +23 -18
  122. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +8 -8
  123. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +55 -20
  124. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +26 -10
  125. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +7 -6
  126. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +58 -9
  127. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +9 -6
  128. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +171 -0
  129. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +204 -33
  130. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +3 -7
  131. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +2 -2
  132. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
  133. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +21 -4
  134. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +22 -0
  135. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +5 -2
  136. package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +2 -1
  137. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +1 -1
  138. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +2 -2
  139. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +4 -4
  140. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +7 -4
  142. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -1
  143. package/vscode/src/vs/workbench/contrib/files/common/files.js +7 -5
  144. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -2
  145. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +2 -2
  146. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +2 -1
  147. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +17 -17
  148. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +2 -2
  149. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +4 -1
  150. package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +22 -19
  151. package/vscode/src/vs/workbench/contrib/output/browser/outputServices.js +2 -38
  152. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +14 -1
  153. package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +3 -8
  154. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +10 -12
  155. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +2 -2
  156. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +2 -2
  157. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +0 -16
  158. package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +2 -1
  159. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +8 -6
  160. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +2 -4
  161. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +2 -4
  162. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +7 -3
  163. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +2 -6
  164. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +18 -20
  165. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +9 -13
  166. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -1
  167. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +47 -15
  168. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.d.ts +14 -4
  169. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +22 -3
  170. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +1 -1
  171. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +15 -14
  172. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +12 -7
  173. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +10 -6
  174. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +27 -11
  175. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +2 -5
  176. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +7 -11
  177. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +20 -4
  178. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +24 -16
  179. package/vscode/src/vs/workbench/services/output/common/output.js +1 -2
  180. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +6 -6
  181. package/vscode/src/vs/workbench/services/preferences/common/preferences.js +4 -3
  182. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.d.ts +0 -1
  183. package/vscode/src/vs/workbench/services/search/common/fileSearchManager.js +3 -1
  184. package/vscode/src/vs/workbench/services/search/common/search.js +2 -1
  185. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +1 -2
  186. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +2 -2
  187. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileService.js +3 -8
  188. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +3 -4
  189. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +1 -0
  190. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +2 -1
  191. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyService.js +4 -2
  192. package/vscode/src/vs/editor/browser/widget/diffEditorWidget2/diffEditorWidget2.contribution.js +0 -180
  193. package/vscode/src/vs/platform/credentials/common/credentials.d.ts +0 -13
  194. package/vscode/src/vs/platform/credentials/common/credentials.js +0 -3
  195. package/vscode/src/vs/workbench/api/browser/mainThreadKeytar.js +0 -31
  196. package/vscode/src/vs/workbench/browser/iframe.js +0 -16
  197. package/vscode/src/vs/workbench/browser/parts/editor/accessibilityStatus.js +0 -90
  198. package/vscode/src/vs/workbench/browser/parts/editor/tabFocus.js +0 -77
  199. package/vscode/src/vs/workbench/contrib/output/browser/logViewer.js +0 -67
@@ -1,7 +1,7 @@
1
1
  import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
2
2
  import { mixin, equals } from 'monaco-editor/esm/vs/base/common/objects.js';
3
3
  import { Range, Selection as Selection$1, CodeActionTriggerKind, Diagnostic, WorkspaceEdit, DocumentSelector, DocumentSymbol as DocumentSymbol$1, SymbolKind, SymbolTag, Position, Hover, EvaluatableExpression, InlineValueContext, InlineValue, DocumentHighlight, location, DataTransfer, TextEdit, WorkspaceSymbol, CompletionContext, CompletionItemKind, CompletionItemTag, MarkdownString, SignatureHelp, InlayHintKind, DocumentLink, Color, ColorPresentation, FoldingRange, SelectionRange, CallHierarchyItem, TypeHierarchyItem, DefinitionLink } from './extHostTypeConverters.js';
4
- import { CodeActionKind, CodeActionTriggerKind as CodeActionTriggerKind$1, Disposable, DocumentSymbol, Range as Range$2, InternalDataTransferItem, SemanticTokens, SemanticTokensEdits, SemanticTokensEdit, SnippetString, Location, CompletionList, InlineCompletionTriggerKind } from './extHostTypes.js';
4
+ import { CodeActionKind, Disposable, SyntaxTokenType, DocumentSymbol, Range as Range$2, InternalDataTransferItem, SemanticTokens, SemanticTokensEdits, SemanticTokensEdit, SnippetString, Location, CompletionList, InlineCompletionTriggerKind } from './extHostTypes.js';
5
5
  import * as languages from 'monaco-editor/esm/vs/editor/common/languages.js';
6
6
  import { MainContext } from './extHost.protocol.js';
7
7
  import { regExpLeadsToEndlessLoop } from 'monaco-editor/esm/vs/base/common/strings.js';
@@ -18,7 +18,7 @@ import { Cache } from './cache.js';
18
18
  import { StopWatch } from 'monaco-editor/esm/vs/base/common/stopwatch.js';
19
19
  import { isCancellationError, NotImplementedError } from 'monaco-editor/esm/vs/base/common/errors.js';
20
20
  import { raceCancellationError } from 'monaco-editor/esm/vs/base/common/async.js';
21
- import { isProposedApiEnabled, checkProposedApiEnabled } from '../../services/extensions/common/extensions.js';
21
+ import { isProposedApiEnabled } from '../../services/extensions/common/extensions.js';
22
22
  import { localize } from 'monaco-editor/esm/vs/nls.js';
23
23
  class DocumentSymbolAdapter {
24
24
  constructor(_documents, _provider) {
@@ -316,7 +316,6 @@ class CodeActionAdapter {
316
316
  this._apiDeprecation = _apiDeprecation;
317
317
  this._cache = ( (new Cache('CodeAction')));
318
318
  this._disposables = ( (new Map()));
319
- this.nbKind = ( (new CodeActionKind('notebook')));
320
319
  }
321
320
  async provideCodeActions(resource, rangeOrSelection, context, token) {
322
321
  const doc = this._documents.getDocument(resource);
@@ -359,9 +358,6 @@ class CodeActionAdapter {
359
358
  });
360
359
  }
361
360
  else {
362
- if (codeActionContext.triggerKind !== CodeActionTriggerKind$1.Invoke && candidate.kind && this.nbKind.contains(candidate.kind)) {
363
- continue;
364
- }
365
361
  if (codeActionContext.only) {
366
362
  if (!candidate.kind) {
367
363
  this._logService.warn(`${this._extension.identifier.value} - Code actions of kind '${codeActionContext.only.value} 'requested but returned code action does not have a 'kind'. Code action will be dropped. Please set 'CodeAction.kind'.`);
@@ -1542,9 +1538,16 @@ class MappedEditsAdapter {
1542
1538
  async provideMappedEdits(resource, codeBlocks, context, token) {
1543
1539
  const uri = URI.revive(resource);
1544
1540
  const doc = this._documents.getDocument(uri);
1541
+ const usedContext = ( (context.documents.map((docSubArray) => ( (docSubArray.map((r) => {
1542
+ return {
1543
+ uri: URI.revive(r.uri),
1544
+ version: r.version,
1545
+ ranges: ( (r.ranges.map((range) => Range.to(range)))),
1546
+ };
1547
+ }))))));
1545
1548
  const ctx = {
1546
- selections: ( (context.selections.map(s => Selection$1.to(s)))),
1547
- related: ( (context.related.map(r => ({ uri: URI.revive(r.uri), range: Range.to(r.range) })))),
1549
+ documents: usedContext,
1550
+ selections: usedContext[0]?.[0]?.ranges ?? []
1548
1551
  };
1549
1552
  const mappedEdits = await this._provider.provideMappedEdits(doc, codeBlocks, ctx, token);
1550
1553
  return mappedEdits ? WorkspaceEdit.from(mappedEdits) : null;
@@ -2089,6 +2092,18 @@ class ExtHostLanguageFeatures {
2089
2092
  (onEnterRules.map(ExtHostLanguageFeatures._serializeOnEnterRule))
2090
2093
  );
2091
2094
  }
2095
+ static _serializeAutoClosingPair(autoClosingPair) {
2096
+ return {
2097
+ open: autoClosingPair.open,
2098
+ close: autoClosingPair.close,
2099
+ notIn: autoClosingPair.notIn ? ( (autoClosingPair.notIn.map(v => ( (SyntaxTokenType.toString(v)))))) : undefined,
2100
+ };
2101
+ }
2102
+ static _serializeAutoClosingPairs(autoClosingPairs) {
2103
+ return (
2104
+ (autoClosingPairs.map(ExtHostLanguageFeatures._serializeAutoClosingPair))
2105
+ );
2106
+ }
2092
2107
  setLanguageConfiguration(extension, languageId, configuration) {
2093
2108
  const { wordPattern } = configuration;
2094
2109
  if (wordPattern && regExpLeadsToEndlessLoop(wordPattern)) {
@@ -2106,9 +2121,6 @@ class ExtHostLanguageFeatures {
2106
2121
  if (configuration.__characterPairSupport) {
2107
2122
  this._apiDeprecation.report('LanguageConfiguration.__characterPairSupport', extension, `Do not use.`);
2108
2123
  }
2109
- if (configuration.autoClosingPairs) {
2110
- checkProposedApiEnabled(extension, 'languageConfigurationAutoClosingPairs');
2111
- }
2112
2124
  const handle = this._nextHandle();
2113
2125
  const serializedConfiguration = {
2114
2126
  comments: configuration.comments,
@@ -2118,7 +2130,7 @@ class ExtHostLanguageFeatures {
2118
2130
  onEnterRules: configuration.onEnterRules ? ExtHostLanguageFeatures._serializeOnEnterRules(configuration.onEnterRules) : undefined,
2119
2131
  __electricCharacterSupport: configuration.__electricCharacterSupport,
2120
2132
  __characterPairSupport: configuration.__characterPairSupport,
2121
- autoClosingPairs: configuration.autoClosingPairs
2133
+ autoClosingPairs: configuration.autoClosingPairs ? ExtHostLanguageFeatures._serializeAutoClosingPairs(configuration.autoClosingPairs) : undefined,
2122
2134
  };
2123
2135
  this._proxy.$setLanguageConfiguration(handle, languageId, serializedConfiguration);
2124
2136
  return this._createDisposable(handle);
@@ -72,7 +72,6 @@ let ExtHostNotebookKernels = class ExtHostNotebookKernels {
72
72
  this._logService.trace(`NotebookController[${handle}], CREATED by ${extension.identifier.value}, ${id}`);
73
73
  const _defaultExecutHandler = () => console.warn(`NO execute handler from notebook controller '${data.id}' of extension: '${extension.identifier}'`);
74
74
  let isDisposed = false;
75
- const commandDisposables = ( new DisposableStore());
76
75
  const onDidChangeSelection = ( new Emitter());
77
76
  const onDidReceiveMessage = ( new Emitter());
78
77
  const data = {
@@ -184,7 +183,6 @@ let ExtHostNotebookKernels = class ExtHostNotebookKernels {
184
183
  this._logService.trace(`NotebookController[${handle}], DISPOSED`);
185
184
  isDisposed = true;
186
185
  this._kernelData.delete(handle);
187
- commandDisposables.dispose();
188
186
  onDidChangeSelection.dispose();
189
187
  onDidReceiveMessage.dispose();
190
188
  this._proxy.$removeKernel(handle);
@@ -9,7 +9,6 @@ import { IExtHostRpcService } from './extHostRpcService.js';
9
9
  import { IExtHostInitDataService } from './extHostInitDataService.js';
10
10
  import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
11
11
  import { IExtHostExtensionService } from './extHostExtensionService.js';
12
- import { platform } from 'monaco-editor/esm/vs/base/common/process.js';
13
12
  import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
14
13
  import { escapeRegExpCharacters } from 'monaco-editor/esm/vs/base/common/strings.js';
15
14
  var NodeModuleAliasingModuleFactory_1;
@@ -38,7 +37,6 @@ let RequireInterceptor = class RequireInterceptor {
38
37
  configProvider,
39
38
  this._logService
40
39
  )));
41
- this.register(this._instaService.createInstance(KeytarNodeModuleFactory, extensionPaths));
42
40
  this.register(this._instaService.createInstance(NodeModuleAliasingModuleFactory));
43
41
  if (this._initData.remote.isRemote) {
44
42
  this.register(this._instaService.createInstance(OpenNodeModuleFactory, extensionPaths, this._initData.environment.appUriScheme));
@@ -136,67 +134,6 @@ class VSCodeNodeModuleFactory {
136
134
  return this._defaultApiImpl;
137
135
  }
138
136
  }
139
- let KeytarNodeModuleFactory = class KeytarNodeModuleFactory {
140
- constructor(_extensionPaths, rpcService, initData) {
141
- this._extensionPaths = _extensionPaths;
142
- this.nodeModuleName = 'keytar';
143
- this._mainThreadTelemetry = ( rpcService.getProxy(MainContext.MainThreadTelemetry));
144
- const { environment } = initData;
145
- const mainThreadKeytar = ( rpcService.getProxy(MainContext.MainThreadKeytar));
146
- if (environment.appRoot) {
147
- let appRoot = environment.appRoot.fsPath;
148
- if (platform === 'win32') {
149
- appRoot = appRoot.replace(/\\/g, '/');
150
- }
151
- if (appRoot[appRoot.length - 1] === '/') {
152
- appRoot = appRoot.substr(0, appRoot.length - 1);
153
- }
154
- this.alternativeNames = ( new Set());
155
- this.alternativeNames.add(`${appRoot}/node_modules.asar/keytar`);
156
- this.alternativeNames.add(`${appRoot}/node_modules/keytar`);
157
- }
158
- this._impl = {
159
- getPassword: (service, account) => {
160
- return mainThreadKeytar.$getPassword(service, account);
161
- },
162
- setPassword: (service, account, password) => {
163
- return mainThreadKeytar.$setPassword(service, account, password);
164
- },
165
- deletePassword: (service, account) => {
166
- return mainThreadKeytar.$deletePassword(service, account);
167
- },
168
- findPassword: (service) => {
169
- return mainThreadKeytar.$findPassword(service);
170
- },
171
- findCredentials(service) {
172
- return mainThreadKeytar.$findCredentials(service);
173
- }
174
- };
175
- }
176
- load(_request, parent) {
177
- const ext = this._extensionPaths.findSubstr(parent);
178
- this._mainThreadTelemetry.$publicLog2('shimming.keytar', { extension: ext?.identifier.value ?? 'unknown_extension' });
179
- return this._impl;
180
- }
181
- alternativeModuleName(name) {
182
- const length = name.length;
183
- if (length <= 7 || !this.alternativeNames) {
184
- return undefined;
185
- }
186
- const sep = length - 7;
187
- if ((name.charAt(sep) === '/' || name.charAt(sep) === '\\') && name.endsWith('keytar')) {
188
- name = name.replace(/\\/g, '/');
189
- if (( this.alternativeNames.has(name))) {
190
- return 'keytar';
191
- }
192
- }
193
- return undefined;
194
- }
195
- };
196
- KeytarNodeModuleFactory = ( __decorate([
197
- ( __param(1, IExtHostRpcService)),
198
- ( __param(2, IExtHostInitDataService))
199
- ], KeytarNodeModuleFactory));
200
137
  let OpenNodeModuleFactory = class OpenNodeModuleFactory {
201
138
  constructor(_extensionPaths, _appUriScheme, rpcService) {
202
139
  this._extensionPaths = _extensionPaths;
@@ -31,6 +31,21 @@ function getIconResource(decorations) {
31
31
  return undefined;
32
32
  }
33
33
  }
34
+ function getHistoryItemIconDto(historyItem) {
35
+ if (!historyItem.icon) {
36
+ return undefined;
37
+ }
38
+ else if (URI.isUri(historyItem.icon)) {
39
+ return historyItem.icon;
40
+ }
41
+ else if (ThemeIcon.isThemeIcon(historyItem.icon)) {
42
+ return historyItem.icon;
43
+ }
44
+ else {
45
+ const icon = historyItem.icon;
46
+ return { light: icon.light, dark: icon.dark };
47
+ }
48
+ }
34
49
  function compareResourceThemableDecorations(a, b) {
35
50
  if (!a.iconPath && !b.iconPath) {
36
51
  return 0;
@@ -168,6 +183,15 @@ function commandEquals(a, b) {
168
183
  function commandListEquals(a, b) {
169
184
  return equals(a, b, commandEquals);
170
185
  }
186
+ function historyItemGroupEquals(a, b) {
187
+ if (a === b) {
188
+ return true;
189
+ }
190
+ if (!a || !b) {
191
+ return false;
192
+ }
193
+ return a.id === b.id && a.label === b.label && a.upstream?.id === b.upstream?.id && a.upstream?.label === b.upstream?.label;
194
+ }
171
195
  class ExtHostSCMInputBox {
172
196
  #proxy;
173
197
  #extHostDocuments;
@@ -395,6 +419,36 @@ class ExtHostSourceControl {
395
419
  }
396
420
  this.#proxy.$updateSourceControl(this.handle, { hasQuickDiffProvider: !!quickDiffProvider, quickDiffLabel });
397
421
  }
422
+ get historyProvider() {
423
+ checkProposedApiEnabled(this._extension, 'scmHistoryProvider');
424
+ return this._historyProvider;
425
+ }
426
+ set historyProvider(historyProvider) {
427
+ checkProposedApiEnabled(this._extension, 'scmHistoryProvider');
428
+ this._historyProvider = historyProvider;
429
+ this._historyProviderDisposable.value = ( (new DisposableStore()));
430
+ this.#proxy.$updateSourceControl(this.handle, { hasHistoryProvider: !!historyProvider });
431
+ if (historyProvider) {
432
+ this._historyProviderDisposable.value.add(historyProvider.onDidChangeCurrentHistoryItemGroup(() => {
433
+ if (historyItemGroupEquals(this._historyProviderCurrentHistoryItemGroup, historyProvider?.currentHistoryItemGroup)) {
434
+ return;
435
+ }
436
+ this._historyProviderCurrentHistoryItemGroup = historyProvider?.currentHistoryItemGroup;
437
+ this.#proxy.$onDidChangeHistoryProviderCurrentHistoryItemGroup(this.handle, this._historyProviderCurrentHistoryItemGroup);
438
+ }));
439
+ this._historyProviderDisposable.value.add(historyProvider.onDidChangeActionButton(() => {
440
+ checkProposedApiEnabled(this._extension, 'scmActionButton');
441
+ this._historyProviderActionButtonDisposable.value = ( (new DisposableStore()));
442
+ const internal = historyProvider.actionButton !== undefined ?
443
+ {
444
+ command: this._commands.converter.toInternal(historyProvider.actionButton.command, this._historyProviderActionButtonDisposable.value),
445
+ description: historyProvider.actionButton.description,
446
+ enabled: historyProvider.actionButton.enabled
447
+ } : undefined;
448
+ this.#proxy.$onDidChangeHistoryProviderActionButton(this.handle, internal ?? null);
449
+ }));
450
+ }
451
+ }
398
452
  get commitTemplate() {
399
453
  return this._commitTemplate;
400
454
  }
@@ -463,6 +517,8 @@ class ExtHostSourceControl {
463
517
  this._groups = ( (new Map()));
464
518
  this._count = undefined;
465
519
  this._quickDiffProvider = undefined;
520
+ this._historyProviderDisposable = ( (new MutableDisposable()));
521
+ this._historyProviderActionButtonDisposable = ( (new MutableDisposable()));
466
522
  this._commitTemplate = undefined;
467
523
  this._acceptInputDisposables = ( (new MutableDisposable()));
468
524
  this._acceptInputCommand = undefined;
@@ -690,6 +746,30 @@ let ExtHostSCM = class ExtHostSCM {
690
746
  this._selectedSourceControlHandle = selectedSourceControlHandle;
691
747
  return Promise.resolve(undefined);
692
748
  }
749
+ async $resolveHistoryItemGroupBase(sourceControlHandle, historyItemGroupId, token) {
750
+ const historyProvider = this._sourceControls.get(sourceControlHandle)?.historyProvider;
751
+ return (await historyProvider?.resolveHistoryItemGroupBase(historyItemGroupId, token)) ?? undefined;
752
+ }
753
+ async $resolveHistoryItemGroupCommonAncestor(sourceControlHandle, historyItemGroupId1, historyItemGroupId2, token) {
754
+ const historyProvider = this._sourceControls.get(sourceControlHandle)?.historyProvider;
755
+ return (await historyProvider?.resolveHistoryItemGroupCommonAncestor(historyItemGroupId1, historyItemGroupId2, token)) ?? undefined;
756
+ }
757
+ async $provideHistoryItems(sourceControlHandle, historyItemGroupId, options, token) {
758
+ const historyProvider = this._sourceControls.get(sourceControlHandle)?.historyProvider;
759
+ const historyItems = await historyProvider?.provideHistoryItems(historyItemGroupId, options, token);
760
+ return historyItems?.map(item => ({
761
+ id: item.id,
762
+ parentIds: item.parentIds,
763
+ label: item.label,
764
+ description: item.description,
765
+ icon: getHistoryItemIconDto(item),
766
+ timestamp: item.timestamp,
767
+ })) ?? undefined;
768
+ }
769
+ async $provideHistoryItemChanges(sourceControlHandle, historyItemId, token) {
770
+ const historyProvider = this._sourceControls.get(sourceControlHandle)?.historyProvider;
771
+ return (await historyProvider?.provideHistoryItemChanges(historyItemId, token)) ?? undefined;
772
+ }
693
773
  };
694
774
  ExtHostSCM = ExtHostSCM_1 = ( (__decorate([
695
775
  ( (__param(3, ILogService)))
@@ -284,6 +284,30 @@ let BaseExtHostTerminalService = class BaseExtHostTerminalService extends Dispos
284
284
  this._proxy = ( extHostRpc.getProxy(MainContext.MainThreadTerminalService));
285
285
  this._bufferer = ( new TerminalDataBufferer(this._proxy.$sendProcessData));
286
286
  this._proxy.$registerProcessSupport(supportsProcesses);
287
+ this._extHostCommands.registerArgumentProcessor({
288
+ processArgument: arg => {
289
+ const deserialize = (arg) => {
290
+ const cast = arg;
291
+ return this._getTerminalById(cast.instanceId)?.value;
292
+ };
293
+ switch (arg?.$mid) {
294
+ case 15 : return deserialize(arg);
295
+ default: {
296
+ if (Array.isArray(arg)) {
297
+ for (let i = 0; i < arg.length; i++) {
298
+ if (arg[i].$mid === 15 ) {
299
+ arg[i] = deserialize(arg[i]);
300
+ }
301
+ else {
302
+ break;
303
+ }
304
+ }
305
+ }
306
+ return arg;
307
+ }
308
+ }
309
+ }
310
+ });
287
311
  this._register({
288
312
  dispose: () => {
289
313
  for (const [_, terminalProcess] of this._terminalProcesses) {
@@ -1,10 +1,10 @@
1
1
  import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
- import { mapFind } from 'monaco-editor/esm/vs/base/common/arrays.js';
2
+ import { mapFindFirst } from 'monaco-editor/esm/vs/base/common/arraysFind.js';
3
3
  import { RunOnceScheduler } from 'monaco-editor/esm/vs/base/common/async.js';
4
4
  import { VSBuffer } from 'monaco-editor/esm/vs/base/common/buffer.js';
5
5
  import { CancellationToken, CancellationTokenSource } from 'monaco-editor/esm/vs/base/common/cancellation.js';
6
6
  import { Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
7
- import { once } from 'monaco-editor/esm/vs/base/common/functional.js';
7
+ import { createSingleCallFunction } from 'monaco-editor/esm/vs/base/common/functional.js';
8
8
  import { hash } from 'monaco-editor/esm/vs/base/common/hash.js';
9
9
  import { toDisposable, DisposableStore, Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
10
10
  import { deepFreeze } from 'monaco-editor/esm/vs/base/common/objects.js';
@@ -32,13 +32,13 @@ let ExtHostTesting = class ExtHostTesting {
32
32
  commands.registerArgumentProcessor({
33
33
  processArgument: arg => {
34
34
  switch (arg?.$mid) {
35
- case 15 : {
35
+ case 16 : {
36
36
  const cast = arg;
37
37
  const targetTest = cast.tests[cast.tests.length - 1].item.extId;
38
38
  const controller = this.controllers.get(TestId.root(targetTest));
39
39
  return controller?.collection.tree.get(targetTest)?.actual ?? toItemFromContext(arg);
40
40
  }
41
- case 17 : {
41
+ case 18 : {
42
42
  const { extId, message } = arg;
43
43
  return {
44
44
  test: this.controllers.get(TestId.root(extId))?.collection.tree.get(extId)?.actual,
@@ -174,11 +174,11 @@ let ExtHostTesting = class ExtHostTesting {
174
174
  return Promise.resolve();
175
175
  }
176
176
  $provideFileCoverage(runId, taskId, token) {
177
- const coverage = mapFind(this.runTracker.trackers, t => t.id === runId ? t.getCoverage(taskId) : undefined);
177
+ const coverage = mapFindFirst(this.runTracker.trackers, t => t.id === runId ? t.getCoverage(taskId) : undefined);
178
178
  return coverage?.provideFileCoverage(token) ?? Promise.resolve([]);
179
179
  }
180
180
  $resolveFileCoverage(runId, taskId, fileIndex, token) {
181
- const coverage = mapFind(this.runTracker.trackers, t => t.id === runId ? t.getCoverage(taskId) : undefined);
181
+ const coverage = mapFindFirst(this.runTracker.trackers, t => t.id === runId ? t.getCoverage(taskId) : undefined);
182
182
  return coverage?.resolveFileCoverage(fileIndex, token) ?? Promise.resolve([]);
183
183
  }
184
184
  $configureRunProfile(controllerId, profileId) {
@@ -429,6 +429,10 @@ class TestRunTracker extends Disposable {
429
429
  }
430
430
  this.proxy.$addTestsToRun(this.dto.controllerId, this.dto.id, chain);
431
431
  }
432
+ dispose() {
433
+ this.markEnded();
434
+ super.dispose();
435
+ }
432
436
  }
433
437
  class TestRunCoordinator {
434
438
  get trackers() {
@@ -471,7 +475,7 @@ class TestRunCoordinator {
471
475
  persist
472
476
  });
473
477
  const tracker = this.getTracker(request, dto, extension);
474
- tracker.onEnd(() => {
478
+ Event.once(tracker.onEnd)(() => {
475
479
  this.proxy.$finishedExtensionTestRun(dto.id);
476
480
  tracker.dispose();
477
481
  });
@@ -480,7 +484,7 @@ class TestRunCoordinator {
480
484
  getTracker(req, dto, extension, token) {
481
485
  const tracker = ( new TestRunTracker(dto, this.proxy, extension, token));
482
486
  this.tracked.set(req, tracker);
483
- tracker.onEnd(() => this.tracked.delete(req));
487
+ Event.once(tracker.onEnd)(() => this.tracked.delete(req));
484
488
  return tracker;
485
489
  }
486
490
  }
@@ -631,7 +635,7 @@ class MirroredTestCollection extends AbstractIncrementalTestCollection {
631
635
  this.onDidChangeTests = this.changeEmitter.event;
632
636
  }
633
637
  get rootTests() {
634
- return super.roots;
638
+ return this.roots;
635
639
  }
636
640
  getMirroredTestDataById(itemId) {
637
641
  return this.items.get(itemId);
@@ -664,7 +668,7 @@ class TestObservers {
664
668
  return {
665
669
  onDidChangeTest: current.tests.onDidChangeTests,
666
670
  get tests() { return ( [...current.tests.rootTests].map(t => t.revived)); },
667
- dispose: once(() => {
671
+ dispose: createSingleCallFunction(() => {
668
672
  if (--current.observers === 0) {
669
673
  this.proxy.$unsubscribeFromDiffs();
670
674
  this.current = undefined;
@@ -1,5 +1,5 @@
1
1
  import { ok } from 'monaco-editor/esm/vs/base/common/assert.js';
2
- import { readonly, illegalArgument } from 'monaco-editor/esm/vs/base/common/errors.js';
2
+ import { ReadonlyError, illegalArgument } from 'monaco-editor/esm/vs/base/common/errors.js';
3
3
  import { IdGenerator } from 'monaco-editor/esm/vs/base/common/idGenerator.js';
4
4
  import { DecorationRenderOptions, Position as Position$1, Range as Range$1, isDecorationOptionsArr, fromRangeOrRangeWithMessage, ViewColumn, EndOfLine, TextEditorLineNumbersStyle, Selection as Selection$1 } from './extHostTypeConverters.js';
5
5
  import { Selection, Position, Range, TextEditorRevealType, EndOfLine as EndOfLine$1 } from './extHostTypes.js';
@@ -314,7 +314,7 @@ class ExtHostTextEditor {
314
314
  return document.value;
315
315
  },
316
316
  set document(_value) {
317
- throw readonly('document');
317
+ throw new ReadonlyError('document');
318
318
  },
319
319
  get selection() {
320
320
  return that._selections && that._selections[0];
@@ -340,7 +340,7 @@ class ExtHostTextEditor {
340
340
  return that._visibleRanges;
341
341
  },
342
342
  set visibleRanges(_value) {
343
- throw readonly('visibleRanges');
343
+ throw new ReadonlyError('visibleRanges');
344
344
  },
345
345
  get options() {
346
346
  return that._options.value;
@@ -354,7 +354,7 @@ class ExtHostTextEditor {
354
354
  return that._viewColumn;
355
355
  },
356
356
  set viewColumn(_value) {
357
- throw readonly('viewColumn');
357
+ throw new ReadonlyError('viewColumn');
358
358
  },
359
359
  edit(callback, options = { undoStopBefore: true, undoStopAfter: true }) {
360
360
  if (that._disposed) {
@@ -1,11 +1,11 @@
1
1
  import { localize } from 'monaco-editor/esm/vs/nls.js';
2
- import { TreeItemCheckboxState, MarkdownString as MarkdownString$1, TreeItem, TreeItemCollapsibleState, ThemeIcon, DataTransfer as DataTransfer$1, ViewBadge as ViewBadge$1 } from './extHostTypes.js';
3
2
  import { basename } from 'monaco-editor/esm/vs/base/common/resources.js';
4
3
  import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
5
4
  import { Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
6
5
  import { Disposable, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
7
6
  import { NoTreeViewError } from '../../common/views.js';
8
7
  import { asPromise } from 'monaco-editor/esm/vs/base/common/async.js';
8
+ import { TreeItemCheckboxState, MarkdownString as MarkdownString$1, TreeItem, TreeItemCollapsibleState, ThemeIcon, DataTransfer as DataTransfer$1, ViewBadge as ViewBadge$1 } from './extHostTypes.js';
9
9
  import { isUndefinedOrNull, isString } from 'monaco-editor/esm/vs/base/common/types.js';
10
10
  import { equals, coalesce } from 'monaco-editor/esm/vs/base/common/arrays.js';
11
11
  import { MarkdownString, ViewBadge, DataTransfer } from './extHostTypeConverters.js';
@@ -29,8 +29,9 @@ function toTreeItemLabel(label, extension) {
29
29
  }
30
30
  return undefined;
31
31
  }
32
- class ExtHostTreeViews {
32
+ class ExtHostTreeViews extends Disposable {
33
33
  constructor(_proxy, commands, logService) {
34
+ super();
34
35
  this._proxy = _proxy;
35
36
  this.commands = commands;
36
37
  this.logService = logService;
@@ -131,6 +132,7 @@ class ExtHostTreeViews {
131
132
  treeView.dispose();
132
133
  }
133
134
  };
135
+ this._register(view);
134
136
  return view;
135
137
  }
136
138
  $getChildren(treeViewId, treeItemHandle) {
@@ -226,14 +228,14 @@ class ExtHostTreeViews {
226
228
  treeView.setCheckboxState(checkboxUpdate);
227
229
  }
228
230
  createExtHostTreeView(id, options, extension) {
229
- const treeView = ( (new ExtHostTreeView(
231
+ const treeView = this._register(( (new ExtHostTreeView(
230
232
  id,
231
233
  options,
232
234
  this._proxy,
233
235
  this.commands.converter,
234
236
  this.logService,
235
237
  extension
236
- )));
238
+ ))));
237
239
  this.treeViews.set(id, treeView);
238
240
  return treeView;
239
241
  }
@@ -301,7 +303,7 @@ class ExtHostTreeView extends Disposable {
301
303
  }
302
304
  let refreshingPromise;
303
305
  let promiseCallback;
304
- this._register(Event.debounce(this._onDidChangeData.event, (result, current) => {
306
+ const onDidChangeData = Event.debounce(this._onDidChangeData.event, (result, current) => {
305
307
  if (!result) {
306
308
  result = { message: false, elements: [] };
307
309
  }
@@ -321,7 +323,8 @@ class ExtHostTreeView extends Disposable {
321
323
  result.message = true;
322
324
  }
323
325
  return result;
324
- }, 200, true)(({ message, elements }) => {
326
+ }, 200, true);
327
+ this._register(onDidChangeData(({ message, elements }) => {
325
328
  if (elements.length) {
326
329
  this.refreshQueue = this.refreshQueue.then(() => {
327
330
  const _promiseCallback = promiseCallback;
@@ -684,7 +687,7 @@ class ExtHostTreeView extends Disposable {
684
687
  }
685
688
  createTreeNode(element, extensionTreeItem, parent) {
686
689
  this.validateTreeItem(extensionTreeItem);
687
- const disposableStore = ( (new DisposableStore()));
690
+ const disposableStore = this._register(( (new DisposableStore())));
688
691
  const handle = this.createHandle(element, extensionTreeItem, parent);
689
692
  const icon = this.getLightIconPath(extensionTreeItem);
690
693
  const item = {
@@ -831,6 +834,7 @@ class ExtHostTreeView extends Disposable {
831
834
  this.nodes.clear();
832
835
  }
833
836
  dispose() {
837
+ super.dispose();
834
838
  this._refreshCancellationSource.dispose();
835
839
  this.clearAll();
836
840
  this.proxy.$disposeTree(this.viewId);
@@ -1,7 +1,7 @@
1
1
  import { coalesce, asArray, isNonEmptyArray } from 'monaco-editor/esm/vs/base/common/arrays.js';
2
2
  import { encodeBase64, VSBuffer } from 'monaco-editor/esm/vs/base/common/buffer.js';
3
3
  import { UriList } from 'monaco-editor/esm/vs/base/common/dataTransfer.js';
4
- import { once } from 'monaco-editor/esm/vs/base/common/functional.js';
4
+ import { createSingleCallFunction } from 'monaco-editor/esm/vs/base/common/functional.js';
5
5
  import * as htmlContent from 'monaco-editor/esm/vs/base/common/htmlContent.js';
6
6
  import { ResourceSet, ResourceMap } from 'monaco-editor/esm/vs/base/common/map.js';
7
7
  import { marked } from 'monaco-editor/esm/vs/base/common/marked/marked.js';
@@ -19,7 +19,7 @@ import { CellKind, NotebookCellExecutionState as NotebookCellExecutionState$1 }
19
19
  import { TestId } from '../../contrib/testing/common/testId.js';
20
20
  import { namespaceTestTag, denamespaceTestTag } from '../../contrib/testing/common/testTypes.js';
21
21
  import { SIDE_GROUP, ACTIVE_GROUP } from '../../services/editor/common/editorService.js';
22
- import { Position as Position$1, Selection as Selection$1, Range as Range$1, Diagnostic as Diagnostic$1, ViewColumn as ViewColumn$1, MarkdownString as MarkdownString$1, TextEdit as TextEdit$1, WorkspaceEdit as WorkspaceEdit$1, SnippetTextEdit, SnippetString, SymbolKind as SymbolKind$1, SymbolInformation, CallHierarchyItem as CallHierarchyItem$1, CallHierarchyIncomingCall as CallHierarchyIncomingCall$1, CallHierarchyOutgoingCall as CallHierarchyOutgoingCall$1, Location, InlineValueText, InlineValueVariableLookup, InlineValueEvaluatableExpression, CompletionItemKind as CompletionItemKind$1, InlayHint as InlayHint$1, DocumentLink as DocumentLink$1, ColorPresentation as ColorPresentation$1, Color as Color$1, NotebookRange as NotebookRange$1, NotebookCellData as NotebookCellData$1, NotebookCellOutputItem as NotebookCellOutputItem$1, NotebookCellOutput as NotebookCellOutput$1, TestTag as TestTag$1, CodeActionTriggerKind as CodeActionTriggerKind$1, TypeHierarchyItem as TypeHierarchyItem$1, ChatMessage as ChatMessage$1, DiagnosticRelatedInformation as DiagnosticRelatedInformation$1, DiagnosticSeverity as DiagnosticSeverity$1, SymbolTag as SymbolTag$1, DocumentSymbol as DocumentSymbol$1, Hover as Hover$1, EvaluatableExpression as EvaluatableExpression$1, InlineValueContext as InlineValueContext$1, DocumentHighlight as DocumentHighlight$1, CompletionItemTag as CompletionItemTag$1, CompletionItem as CompletionItem$1, InlayHintLabelPart as InlayHintLabelPart$1, SelectionRange as SelectionRange$1, EndOfLine as EndOfLine$1, FoldingRangeKind as FoldingRangeKind$1, RelativePattern, NotebookData as NotebookData$1, NotebookCellStatusBarAlignment, DataTransfer as DataTransfer$1, ChatMessageRole as ChatMessageRole$1, ChatVariableLevel as ChatVariableLevel$1, DiagnosticTag as DiagnosticTag$1, DecorationRangeBehavior as DecorationRangeBehavior$1, NotebookCellKind as NotebookCellKind$1, StandardTokenType, CompletionTriggerKind as CompletionTriggerKind$1, TextDocumentSaveReason as TextDocumentSaveReason$1, TextEditorLineNumbersStyle as TextEditorLineNumbersStyle$1, ProgressLocation as ProgressLocation$1, NotebookCellExecutionState as NotebookCellExecutionState$2, TestMessage as TestMessage$1, InternalFileDataTransferItem, DataTransferFile, InternalDataTransferItem, NotebookRendererScript as NotebookRendererScript$1 } from './extHostTypes.js';
22
+ import { Position as Position$1, Selection as Selection$1, Range as Range$1, Diagnostic as Diagnostic$1, ViewColumn as ViewColumn$1, MarkdownString as MarkdownString$1, TextEdit as TextEdit$1, WorkspaceEdit as WorkspaceEdit$1, SnippetTextEdit, SnippetString, SymbolKind as SymbolKind$1, SymbolInformation, CallHierarchyItem as CallHierarchyItem$1, CallHierarchyIncomingCall as CallHierarchyIncomingCall$1, CallHierarchyOutgoingCall as CallHierarchyOutgoingCall$1, Location, InlineValueText, InlineValueVariableLookup, InlineValueEvaluatableExpression, InlineValueContext as InlineValueContext$1, CompletionItemKind as CompletionItemKind$1, InlayHint as InlayHint$1, DocumentLink as DocumentLink$1, ColorPresentation as ColorPresentation$1, Color as Color$1, NotebookRange as NotebookRange$1, NotebookCellData as NotebookCellData$1, NotebookCellOutputItem as NotebookCellOutputItem$1, NotebookCellOutput as NotebookCellOutput$1, TestTag as TestTag$1, CodeActionTriggerKind as CodeActionTriggerKind$1, TypeHierarchyItem as TypeHierarchyItem$1, ChatMessage as ChatMessage$1, InteractiveEditorResponseFeedbackKind as InteractiveEditorResponseFeedbackKind$1, DiagnosticRelatedInformation as DiagnosticRelatedInformation$1, DiagnosticSeverity as DiagnosticSeverity$1, SymbolTag as SymbolTag$1, DocumentSymbol as DocumentSymbol$1, Hover as Hover$1, EvaluatableExpression as EvaluatableExpression$1, DocumentHighlight as DocumentHighlight$1, CompletionItemTag as CompletionItemTag$1, CompletionItem as CompletionItem$1, InlayHintLabelPart as InlayHintLabelPart$1, SelectionRange as SelectionRange$1, EndOfLine as EndOfLine$1, FoldingRangeKind as FoldingRangeKind$1, RelativePattern, NotebookData as NotebookData$1, NotebookCellStatusBarAlignment, DataTransfer as DataTransfer$1, ChatMessageRole as ChatMessageRole$1, ChatVariableLevel as ChatVariableLevel$1, DiagnosticTag as DiagnosticTag$1, DecorationRangeBehavior as DecorationRangeBehavior$1, NotebookCellKind as NotebookCellKind$1, StandardTokenType, CompletionTriggerKind as CompletionTriggerKind$1, TextDocumentSaveReason as TextDocumentSaveReason$1, TextEditorLineNumbersStyle as TextEditorLineNumbersStyle$1, ProgressLocation as ProgressLocation$1, NotebookCellExecutionState as NotebookCellExecutionState$2, TestMessage as TestMessage$1, InternalFileDataTransferItem, DataTransferFile, InternalDataTransferItem, NotebookRendererScript as NotebookRendererScript$1 } from './extHostTypes.js';
23
23
  var Selection;
24
24
  ( ((function(Selection) {
25
25
  function to(selection) {
@@ -1456,23 +1456,23 @@ var LanguageSelector;
1456
1456
  var MappedEditsContext;
1457
1457
  ( ((function(MappedEditsContext) {
1458
1458
  function is(v) {
1459
- return (!!v &&
1460
- typeof v === 'object' &&
1461
- 'selections' in v &&
1462
- Array.isArray(v.selections) &&
1463
- v.selections.every(s => s instanceof Selection$1) &&
1464
- 'related' in v &&
1465
- Array.isArray(v.related) &&
1466
- v.related.every(e => e && typeof e === 'object' && URI.isUri(e.uri) && e.range instanceof Range$1));
1459
+ return (!!v && typeof v === 'object' &&
1460
+ 'documents' in v &&
1461
+ Array.isArray(v.documents) &&
1462
+ v.documents.every(subArr => Array.isArray(subArr) &&
1463
+ subArr.every(docRef => docRef && typeof docRef === 'object' &&
1464
+ 'uri' in docRef && URI.isUri(docRef.uri) &&
1465
+ 'version' in docRef && typeof docRef.version === 'number' &&
1466
+ 'ranges' in docRef && Array.isArray(docRef.ranges) && docRef.ranges.every((r) => r instanceof Range$1))));
1467
1467
  }
1468
1468
  MappedEditsContext.is = is;
1469
1469
  function from(extContext) {
1470
1470
  return {
1471
- selections: ( (extContext.selections.map(s => Selection.from(s)))),
1472
- related: ( (extContext.related.map(r => ({
1471
+ documents: ( (extContext.documents.map((subArray) => ( (subArray.map((r) => ({
1473
1472
  uri: ( (URI.from(r.uri))),
1474
- range: Range.from(r.range)
1475
- }))))
1473
+ version: r.version,
1474
+ ranges: ( (r.ranges.map((r) => Range.from(r)))),
1475
+ }))))))),
1476
1476
  };
1477
1477
  }
1478
1478
  MappedEditsContext.from = from;
@@ -1938,7 +1938,7 @@ var DataTransferItem;
1938
1938
  function to(mime, item, resolveFileData) {
1939
1939
  const file = item.fileData;
1940
1940
  if (file) {
1941
- return new InternalFileDataTransferItem(new DataTransferFile(file.name, URI.revive(file.uri), file.id, once(() => resolveFileData(file.id))));
1941
+ return new InternalFileDataTransferItem(new DataTransferFile(file.name, URI.revive(file.uri), file.id, createSingleCallFunction(() => resolveFileData(file.id))));
1942
1942
  }
1943
1943
  if (mime === Mimes.uriList && item.uriListData) {
1944
1944
  return new InternalDataTransferItem(reviveUriList(item.uriListData));
@@ -2136,6 +2136,24 @@ var ChatVariableLevel;
2136
2136
  }
2137
2137
  ChatVariableLevel.from = from;
2138
2138
  })(ChatVariableLevel || (ChatVariableLevel = {}))));
2139
+ var InteractiveEditorResponseFeedbackKind;
2140
+ ( ((function(InteractiveEditorResponseFeedbackKind) {
2141
+ function to(kind) {
2142
+ switch (kind) {
2143
+ case 1 :
2144
+ return InteractiveEditorResponseFeedbackKind$1.Helpful;
2145
+ case 0 :
2146
+ return InteractiveEditorResponseFeedbackKind$1.Unhelpful;
2147
+ case 2 :
2148
+ return InteractiveEditorResponseFeedbackKind$1.Undone;
2149
+ case 3 :
2150
+ return InteractiveEditorResponseFeedbackKind$1.Accepted;
2151
+ }
2152
+ }
2153
+ InteractiveEditorResponseFeedbackKind.to = to;
2154
+ })(
2155
+ InteractiveEditorResponseFeedbackKind || (InteractiveEditorResponseFeedbackKind = {})
2156
+ )));
2139
2157
  var TerminalQuickFix;
2140
2158
  ( ((function(TerminalQuickFix) {
2141
2159
  function from(quickFix, converter, disposables) {
@@ -2149,4 +2167,4 @@ var TerminalQuickFix;
2149
2167
  }
2150
2168
  TerminalQuickFix.from = from;
2151
2169
  })(TerminalQuickFix || (TerminalQuickFix = {}))));
2152
- export { CallHierarchyIncomingCall, CallHierarchyItem, CallHierarchyOutgoingCall, ChatFollowup, ChatMessage, ChatMessageRole, ChatReplyFollowup, ChatVariable, ChatVariableLevel, CodeActionTriggerKind, Color, ColorPresentation, CompletionContext, CompletionItem, CompletionItemKind, CompletionItemTag, CompletionTriggerKind, DataTransfer, DataTransferItem, DecorationRangeBehavior, DecorationRenderOptions, DefinitionLink, Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DiagnosticTag, DocumentHighlight, DocumentLink, DocumentSelector, DocumentSymbol, EndOfLine, EvaluatableExpression, FoldingRange, FoldingRangeKind, GlobPattern, Hover, InlayHint, InlayHintKind, InlayHintLabelPart, InlineValue, InlineValueContext, LanguageSelector, MappedEditsContext, MarkdownString, NotebookCellData, NotebookCellExecutionState, NotebookCellExecutionSummary, NotebookCellKind, NotebookCellOutput, NotebookCellOutputItem, NotebookData, NotebookDocumentContentOptions, NotebookExclusiveDocumentPattern, NotebookKernelSourceAction, NotebookRange, NotebookRendererScript, NotebookStatusBarItem, ParameterInformation, Position, ProgressLocation, Range, Selection, SelectionRange, SignatureHelp, SignatureInformation, SymbolKind, SymbolTag, TerminalQuickFix, TestCoverage, TestItem, TestMessage, TestResults, TestTag, TextDocumentSaveReason, TextEdit, TextEditorLineNumbersStyle, TextEditorOpenOptions, ThemableDecorationAttachmentRenderOptions, ThemableDecorationRenderOptions, TokenType, TypeHierarchyItem, ViewBadge, ViewColumn, WorkspaceEdit, WorkspaceSymbol, fromRangeOrRangeWithMessage, isDecorationOptionsArr, location, pathOrURIToURI };
2170
+ export { CallHierarchyIncomingCall, CallHierarchyItem, CallHierarchyOutgoingCall, ChatFollowup, ChatMessage, ChatMessageRole, ChatReplyFollowup, ChatVariable, ChatVariableLevel, CodeActionTriggerKind, Color, ColorPresentation, CompletionContext, CompletionItem, CompletionItemKind, CompletionItemTag, CompletionTriggerKind, DataTransfer, DataTransferItem, DecorationRangeBehavior, DecorationRenderOptions, DefinitionLink, Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DiagnosticTag, DocumentHighlight, DocumentLink, DocumentSelector, DocumentSymbol, EndOfLine, EvaluatableExpression, FoldingRange, FoldingRangeKind, GlobPattern, Hover, InlayHint, InlayHintKind, InlayHintLabelPart, InlineValue, InlineValueContext, InteractiveEditorResponseFeedbackKind, LanguageSelector, MappedEditsContext, MarkdownString, NotebookCellData, NotebookCellExecutionState, NotebookCellExecutionSummary, NotebookCellKind, NotebookCellOutput, NotebookCellOutputItem, NotebookData, NotebookDocumentContentOptions, NotebookExclusiveDocumentPattern, NotebookKernelSourceAction, NotebookRange, NotebookRendererScript, NotebookStatusBarItem, ParameterInformation, Position, ProgressLocation, Range, Selection, SelectionRange, SignatureHelp, SignatureInformation, SymbolKind, SymbolTag, TerminalQuickFix, TestCoverage, TestItem, TestMessage, TestResults, TestTag, TextDocumentSaveReason, TextEdit, TextEditorLineNumbersStyle, TextEditorOpenOptions, ThemableDecorationAttachmentRenderOptions, ThemableDecorationRenderOptions, TokenType, TypeHierarchyItem, ViewBadge, ViewColumn, WorkspaceEdit, WorkspaceSymbol, fromRangeOrRangeWithMessage, isDecorationOptionsArr, location, pathOrURIToURI };