@codingame/monaco-vscode-api 2.0.3-improve-modularity.1 → 2.1.0-update-vscode-1.86.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 (512) hide show
  1. package/api.js +15 -12
  2. package/extensions.d.ts +4 -7
  3. package/external/@xterm/xterm/typings/xterm.d.ts +22 -0
  4. package/missing-services.js +62 -6
  5. package/package.json +8 -8
  6. package/service-override/tools/editor.js +14 -0
  7. package/services.d.ts +3 -2
  8. package/services.js +6 -4
  9. package/vscode/src/vs/base/browser/browser.js +45 -30
  10. package/vscode/src/vs/base/browser/canIUse.js +1 -1
  11. package/vscode/src/vs/base/browser/defaultWorkerFactory.js +12 -5
  12. package/vscode/src/vs/base/browser/dom.js +104 -14
  13. package/vscode/src/vs/base/browser/indexedDB.js +3 -3
  14. package/vscode/src/vs/base/browser/markdownRenderer.js +29 -1
  15. package/vscode/src/vs/base/browser/mouseEvent.js +17 -3
  16. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +3 -3
  17. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.css.js +4 -0
  18. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.d.ts +1 -1
  19. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +287 -0
  20. package/vscode/src/vs/base/browser/ui/button/button.js +9 -0
  21. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  22. package/vscode/src/vs/base/browser/ui/dialog/dialog.js +1 -1
  23. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabelHover.js +16 -5
  24. package/vscode/src/vs/base/browser/ui/list/listView.js +31 -11
  25. package/vscode/src/vs/base/browser/ui/list/listWidget.js +35 -21
  26. package/vscode/src/vs/base/browser/ui/menu/menu.js +10 -1
  27. package/vscode/src/vs/base/browser/ui/menu/menubar.js +8 -4
  28. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +6 -5
  29. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +469 -95
  30. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +22 -7
  31. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +0 -5
  32. package/vscode/src/vs/base/browser/ui/tree/media/tree.css.js +1 -1
  33. package/vscode/src/vs/base/browser/ui/tree/objectTree.js +70 -4
  34. package/vscode/src/vs/base/common/assert.js +6 -1
  35. package/vscode/src/vs/base/common/async.js +31 -6
  36. package/vscode/src/vs/base/common/codicons.js +5 -0
  37. package/vscode/src/vs/base/common/event.d.ts +0 -5
  38. package/vscode/src/vs/base/common/event.js +0 -15
  39. package/vscode/src/vs/base/common/filters.d.ts +1 -18
  40. package/vscode/src/vs/base/common/htmlContent.js +12 -6
  41. package/vscode/src/vs/base/common/iterator.js +8 -0
  42. package/vscode/src/vs/base/common/labels.js +2 -1
  43. package/vscode/src/vs/base/common/map.js +20 -1
  44. package/vscode/src/vs/base/common/observableInternal/base.d.ts +4 -0
  45. package/vscode/src/vs/base/common/observableInternal/base.js +16 -8
  46. package/vscode/src/vs/base/common/observableInternal/derived.js +4 -6
  47. package/vscode/src/vs/base/common/observableInternal/utils.js +60 -5
  48. package/vscode/src/vs/base/common/platform.js +20 -20
  49. package/vscode/src/vs/base/common/prefixTree.js +4 -3
  50. package/vscode/src/vs/base/common/product.d.ts +5 -2
  51. package/vscode/src/vs/base/common/strings.js +23 -7
  52. package/vscode/src/vs/base/common/themables.js +4 -1
  53. package/vscode/src/vs/base/common/uri.js +11 -1
  54. package/vscode/src/vs/base/common/worker/simpleWorker.js +1 -1
  55. package/vscode/src/vs/editor/browser/config/migrateOptions.js +5 -0
  56. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +1 -0
  57. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +14 -8
  58. package/vscode/src/vs/editor/browser/controller/pointerHandler.js +18 -11
  59. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +1 -1
  60. package/vscode/src/vs/editor/browser/controller/textAreaInput.js +3 -3
  61. package/vscode/src/vs/{workbench/services/hover/browser → editor/browser/services}/hoverService.d.ts +7 -6
  62. package/vscode/src/vs/editor/browser/services/hoverService.js +195 -0
  63. package/vscode/src/vs/editor/browser/view.js +29 -39
  64. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +41 -19
  65. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +1 -1
  66. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +30 -23
  67. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +23 -8
  68. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +1 -1
  69. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +8 -1
  70. package/vscode/src/vs/editor/browser/viewParts/marginDecorations/marginDecorations.js +7 -1
  71. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +1 -1
  72. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +30 -3
  73. package/vscode/src/vs/editor/browser/widget/codeEditorWidget.js +39 -15
  74. package/vscode/src/vs/editor/browser/widget/diffEditor/{accessibleDiffViewer.css.js → components/accessibleDiffViewer.css.js} +1 -1
  75. package/vscode/src/vs/editor/browser/widget/diffEditor/{accessibleDiffViewer.js → components/accessibleDiffViewer.js} +43 -43
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +89 -0
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/{diffEditorEditors.js → components/diffEditorEditors.js} +14 -14
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/{diffEditorSash.js → components/diffEditorSash.js} +5 -5
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/{lineAlignment.js → components/diffEditorViewZones/diffEditorViewZones.js} +38 -28
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/{inlineDiffDeletedCodeMargin.js → components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js} +14 -14
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/{renderLines.js → components/diffEditorViewZones/renderLines.js} +7 -7
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +29 -38
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +150 -38
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +17 -16
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +104 -6
  86. package/vscode/src/vs/editor/browser/widget/diffEditor/{hideUnchangedRegionsFeature.js → features/hideUnchangedRegionsFeature.js} +51 -78
  87. package/vscode/src/vs/editor/browser/widget/diffEditor/{movedBlocksLines.js → features/movedBlocksLinesFeature.js} +23 -23
  88. package/vscode/src/vs/editor/browser/widget/diffEditor/{overviewRulerPart.js → features/overviewRulerFeature.js} +28 -28
  89. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +145 -0
  90. package/vscode/src/vs/editor/browser/widget/diffEditor/{decorations.js → registrations.contribution.js} +18 -2
  91. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +10 -2
  92. package/vscode/src/vs/editor/browser/widget/hoverWidget/hover.css.js +4 -0
  93. package/vscode/src/vs/editor/browser/widget/hoverWidget/hoverWidget.js +527 -0
  94. package/vscode/src/vs/editor/{contrib → browser/widget}/markdownRenderer/browser/markdownRenderer.js +11 -11
  95. package/vscode/src/vs/editor/{contrib → browser/widget}/markdownRenderer/browser/renderedMarkdown.css.js +1 -1
  96. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +11 -10
  97. package/vscode/src/vs/editor/common/config/editorOptions.js +46 -42
  98. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +3 -3
  99. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +2 -0
  100. package/vscode/src/vs/editor/common/core/offsetRange.js +8 -0
  101. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.js +9 -0
  102. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js +50 -47
  103. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +4 -1
  104. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +2 -1
  105. package/vscode/src/vs/editor/common/diff/rangeMapping.js +13 -2
  106. package/vscode/src/vs/editor/common/languages.d.ts +10 -2
  107. package/vscode/src/vs/editor/common/model/textModel.js +19 -13
  108. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +1 -1
  109. package/vscode/src/vs/editor/common/model.d.ts +19 -1
  110. package/vscode/src/vs/editor/common/model.js +2 -1
  111. package/vscode/src/vs/editor/common/services/editorSimpleWorker.js +2 -1
  112. package/vscode/src/vs/editor/common/services/getIconClasses.js +4 -1
  113. package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +3 -3
  114. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +9 -8
  115. package/vscode/src/vs/editor/common/standaloneStrings.js +18 -18
  116. package/vscode/src/vs/editor/common/viewEvents.js +2 -0
  117. package/vscode/src/vs/editor/common/viewModel/glyphLanesModel.js +55 -0
  118. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +4 -1
  119. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +5 -1
  120. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +1 -0
  121. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +46 -20
  122. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +1 -1
  123. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +38 -11
  124. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +56 -101
  125. package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.js +3 -2
  126. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +2 -2
  127. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +10 -29
  128. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +4 -4
  129. package/vscode/src/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +51 -0
  130. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +19 -1
  131. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +38 -10
  132. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +29 -1
  133. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/edit.js +10 -3
  134. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +3 -17
  135. package/vscode/src/vs/editor/contrib/find/browser/findController.js +3 -35
  136. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +26 -6
  137. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +6 -6
  138. package/vscode/src/vs/editor/contrib/format/browser/format.js +9 -9
  139. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +5 -5
  140. package/vscode/src/vs/editor/contrib/gotoError/browser/media/gotoErrorWidget.css.js +1 -1
  141. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +2 -2
  142. package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +85 -76
  143. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +120 -90
  144. package/vscode/src/vs/editor/contrib/hover/browser/marginHover.js +18 -6
  145. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +1 -1
  146. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +2 -2
  147. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHints.js +4 -2
  148. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +56 -38
  149. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +1 -1
  150. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +12 -0
  151. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +4 -0
  152. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +2 -2
  153. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +50 -53
  154. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +5 -2
  155. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
  156. package/vscode/src/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js +5 -1
  157. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
  158. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +4 -4
  159. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +8 -5
  160. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +58 -46
  161. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +34 -7
  162. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +30 -38
  163. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +2 -2
  164. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +11 -3
  165. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +18 -7
  166. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +8 -10
  167. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  168. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +7 -6
  169. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -0
  170. package/vscode/src/vs/editor/editor.api.d.ts +82 -11
  171. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +8 -3
  172. package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +4 -3
  173. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +22 -11
  174. package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +1 -1
  175. package/vscode/src/vs/nls.d.ts +6 -0
  176. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +4 -1
  177. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +2 -16
  178. package/vscode/src/vs/platform/accessibility/common/accessibility.js +1 -2
  179. package/vscode/src/vs/platform/action/common/actionCommonCategories.d.ts +7 -20
  180. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +8 -8
  181. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +0 -1
  182. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css.js +1 -1
  183. package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -0
  184. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +5 -0
  185. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css.js +1 -1
  186. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +2 -2
  187. package/vscode/src/vs/platform/actions/common/actions.d.ts +9 -1
  188. package/vscode/src/vs/platform/actions/common/actions.js +12 -1
  189. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +11 -1
  190. package/vscode/src/vs/platform/audioCues/browser/audioCueService.js +174 -28
  191. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +38 -5
  192. package/vscode/src/vs/platform/configuration/common/configuration.d.ts +0 -1
  193. package/vscode/src/vs/platform/environment/common/environmentService.js +1 -1
  194. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +5 -1
  195. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +24 -5
  196. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +6 -1
  197. package/vscode/src/vs/{workbench/services → platform}/hover/browser/hover.d.ts +6 -8
  198. package/vscode/src/vs/platform/hover/browser/hover.js +3 -0
  199. package/vscode/src/vs/platform/instantiation/common/instantiationService.js +14 -4
  200. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +11 -4
  201. package/vscode/src/vs/platform/keybinding/common/keybinding.d.ts +7 -0
  202. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +6 -0
  203. package/vscode/src/vs/platform/list/browser/listService.js +7 -5
  204. package/vscode/src/vs/platform/log/common/bufferLog.js +1 -0
  205. package/vscode/src/vs/platform/log/common/log.d.ts +0 -1
  206. package/vscode/src/vs/platform/log/common/log.js +1 -2
  207. package/vscode/src/vs/platform/notification/common/notification.d.ts +36 -19
  208. package/vscode/src/vs/platform/notification/common/notification.js +9 -3
  209. package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +4 -1
  210. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +50 -48
  211. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +3 -5
  212. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +49 -66
  213. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +11 -3
  214. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +16 -2
  215. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +230 -26
  216. package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.d.ts +1 -0
  217. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -0
  218. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +5 -3
  219. package/vscode/src/vs/platform/theme/common/colorRegistry.js +28 -9
  220. package/vscode/src/vs/platform/tunnel/common/tunnel.d.ts +2 -0
  221. package/vscode/src/vs/platform/window/common/window.js +14 -8
  222. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +97 -78
  223. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +1 -1
  224. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +1 -22
  225. package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -6
  226. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +31 -36
  227. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +1 -1
  228. package/vscode/src/vs/workbench/api/common/extHostComments.js +6 -1
  229. package/vscode/src/vs/workbench/api/common/extHostConsoleForwarder.js +1 -0
  230. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +130 -6
  231. package/vscode/src/vs/workbench/api/common/extHostDocumentContentProviders.js +28 -15
  232. package/vscode/src/vs/workbench/api/common/extHostDocuments.js +4 -5
  233. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +5 -1
  234. package/vscode/src/vs/workbench/api/common/extHostFileSystem.js +1 -2
  235. package/vscode/src/vs/workbench/api/common/extHostFileSystemConsumer.js +2 -2
  236. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +35 -33
  237. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +40 -13
  238. package/vscode/src/vs/workbench/api/common/extHostMessageService.js +10 -1
  239. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +11 -7
  240. package/vscode/src/vs/workbench/api/common/extHostNotebookEditors.js +2 -3
  241. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +29 -4
  242. package/vscode/src/vs/workbench/api/common/extHostProfileContentHandler.js +1 -1
  243. package/vscode/src/vs/workbench/api/common/extHostProgress.js +1 -7
  244. package/vscode/src/vs/workbench/api/common/extHostSCM.js +49 -93
  245. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +21 -0
  246. package/vscode/src/vs/workbench/api/common/extHostTask.js +18 -22
  247. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -0
  248. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +3 -3
  249. package/vscode/src/vs/workbench/api/common/extHostTesting.js +55 -36
  250. package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +5 -2
  251. package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +6 -7
  252. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +6 -3
  253. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +4 -2
  254. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +74 -12
  255. package/vscode/src/vs/workbench/api/common/extHostTypes.js +27 -8
  256. package/vscode/src/vs/workbench/api/worker/extHostConsoleForwarder.js +1 -1
  257. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +172 -103
  258. package/vscode/src/vs/workbench/browser/actions/windowActions.js +13 -17
  259. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +34 -34
  260. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +4 -4
  261. package/vscode/src/vs/workbench/browser/dnd.js +2 -2
  262. package/vscode/src/vs/workbench/browser/labels.js +34 -4
  263. package/vscode/src/vs/workbench/browser/part.js +2 -2
  264. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +4 -4
  265. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +1 -1
  266. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +801 -0
  267. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsModel.js +140 -0
  268. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +410 -0
  269. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +1 -2
  270. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +304 -303
  271. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +101 -47
  272. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +114 -47
  273. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +1313 -0
  274. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +190 -0
  275. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +344 -0
  276. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +1 -1
  277. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +10 -10
  278. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +27 -42
  279. package/vscode/src/vs/workbench/browser/parts/editor/editorTitleControl.js +152 -0
  280. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +8 -8
  281. package/vscode/src/vs/workbench/browser/parts/editor/media/breadcrumbscontrol.css.js +4 -0
  282. package/vscode/src/vs/workbench/browser/parts/editor/media/editorgroupview.css.js +4 -0
  283. package/vscode/src/vs/workbench/browser/parts/editor/media/editortitlecontrol.css.js +4 -0
  284. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +4 -0
  285. package/vscode/src/vs/workbench/browser/parts/editor/media/singleeditortabscontrol.css.js +4 -0
  286. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +1626 -0
  287. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +150 -0
  288. package/vscode/src/vs/workbench/browser/parts/editor/noEditorTabsControl.js +52 -0
  289. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +260 -0
  290. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +1 -1
  291. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +2 -2
  292. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +39 -36
  293. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +68 -28
  294. package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
  295. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +15 -14
  296. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +18 -17
  297. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +1 -1
  298. package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +1 -1
  299. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +7 -10
  300. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +2 -1
  301. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.d.ts +2 -1
  302. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +18 -17
  303. package/vscode/src/vs/workbench/browser/quickaccess.js +33 -1
  304. package/vscode/src/vs/workbench/browser/web.api.d.ts +6 -0
  305. package/vscode/src/vs/workbench/browser/window.js +92 -9
  306. package/vscode/src/vs/workbench/browser/workbench.contribution.js +114 -65
  307. package/vscode/src/vs/workbench/common/component.d.ts +5 -1
  308. package/vscode/src/vs/workbench/common/component.js +6 -0
  309. package/vscode/src/vs/workbench/common/configuration.js +11 -1
  310. package/vscode/src/vs/workbench/common/contextkeys.js +8 -4
  311. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +6 -0
  312. package/vscode/src/vs/workbench/common/editor/editorInput.js +3 -0
  313. package/vscode/src/vs/workbench/common/editor/filteredEditorGroupModel.js +107 -0
  314. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.d.ts +6 -3
  315. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +21 -3
  316. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.d.ts +2 -1
  317. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +9 -6
  318. package/vscode/src/vs/workbench/common/editor.d.ts +16 -4
  319. package/vscode/src/vs/workbench/common/editor.js +7 -1
  320. package/vscode/src/vs/workbench/common/memento.js +33 -12
  321. package/vscode/src/vs/workbench/common/notifications.js +30 -7
  322. package/vscode/src/vs/workbench/common/theme.js +61 -1
  323. package/vscode/src/vs/workbench/common/views.d.ts +1 -28
  324. package/vscode/src/vs/workbench/common/views.js +1 -2
  325. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +232 -19
  326. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +9 -9
  327. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +1 -0
  328. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +19 -31
  329. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +8 -3
  330. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +57 -38
  331. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +4 -4
  332. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +9 -2
  333. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +7 -0
  334. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +31 -20
  335. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +93 -49
  336. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +30 -6
  337. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +24 -12
  338. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +9 -5
  339. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +12 -1
  340. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  341. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +2 -1
  342. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +21 -43
  343. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -6
  344. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +4 -4
  345. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.css.js +1 -1
  346. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +4 -4
  347. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +0 -3
  348. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
  349. package/vscode/src/vs/workbench/contrib/comments/browser/{comments.contribution.js → commentsAccessibility.js} +36 -128
  350. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +41 -18
  351. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +202 -0
  352. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +27 -4
  353. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +165 -52
  354. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +48 -31
  355. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +6 -1
  356. package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +1 -1
  357. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +40 -10
  358. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +28 -1
  359. package/vscode/src/vs/workbench/contrib/debug/common/debugContext.js +14 -0
  360. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +52 -23
  361. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
  362. package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.js +164 -0
  363. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +10 -0
  364. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +285 -0
  365. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +123 -78
  366. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +10 -0
  367. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +326 -0
  368. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +1 -2
  369. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +8 -9
  370. package/vscode/src/vs/workbench/contrib/files/browser/files.configuration.contribution.js +70 -2
  371. package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +5 -2
  372. package/vscode/src/vs/workbench/contrib/files/browser/files.fileEditorFactory.contribution.js +13 -0
  373. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +2 -2
  374. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +34 -17
  375. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +5 -4
  376. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +48 -14
  377. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +16 -8
  378. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +1 -1
  379. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +317 -321
  380. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +17 -24
  381. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingService.js +3 -0
  382. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +306 -130
  383. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +3 -0
  384. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +385 -613
  385. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +69 -64
  386. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +71 -3
  387. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -44
  388. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +5 -3
  389. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +1 -1
  390. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +1 -1
  391. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
  392. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
  393. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +1 -1
  394. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookEditorStickyScroll.css.js +1 -1
  395. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +38 -7
  396. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +36 -8
  397. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +32 -12
  398. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +24 -14
  399. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +4 -4
  400. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +1 -1
  401. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbarStickyScroll.js +1 -2
  402. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatActions.js +264 -12
  403. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatController.js +60 -27
  404. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +12 -5
  405. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +2 -2
  406. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +2 -2
  407. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +12 -9
  408. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +6 -3
  409. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +1 -0
  410. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +188 -155
  411. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +4 -4
  412. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +10 -3
  413. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +16 -33
  414. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +9 -7
  415. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +6 -2
  416. package/vscode/src/vs/workbench/contrib/notebook/common/notebookKernelService.js +2 -1
  417. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +29 -14
  418. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +15 -3
  419. package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +2 -2
  420. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +22 -6
  421. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +1 -1
  422. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +16 -17
  423. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +78 -50
  424. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +15 -1
  425. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +25 -45
  426. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +12 -4
  427. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +2 -1
  428. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +33 -36
  429. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +1 -1
  430. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +3 -0
  431. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +5 -8
  432. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +15 -27
  433. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +3 -3
  434. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +38 -22
  435. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +5 -2
  436. package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.js +60 -40
  437. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
  438. package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.js +15 -11
  439. package/vscode/src/vs/workbench/contrib/testing/common/testService.js +26 -1
  440. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +24 -23
  441. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +1 -1
  442. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +124 -26
  443. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +68 -0
  444. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +76 -36
  445. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
  446. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +1 -0
  447. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +15 -3
  448. package/vscode/src/vs/workbench/services/editor/common/editorGroupFinder.js +10 -1
  449. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +51 -43
  450. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +13 -8
  451. package/vscode/src/vs/workbench/services/editor/common/editorService.js +2 -1
  452. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +10 -10
  453. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +8 -8
  454. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +7 -7
  455. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +1 -0
  456. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.d.ts +29 -9
  457. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +160 -63
  458. package/vscode/src/vs/workbench/services/host/browser/host.d.ts +8 -0
  459. package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +60 -72
  460. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +0 -4
  461. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +56 -0
  462. package/vscode/src/vs/workbench/services/output/common/output.js +2 -2
  463. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +10 -0
  464. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +10 -0
  465. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +2 -1
  466. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +5 -4
  467. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +21 -8
  468. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +4 -0
  469. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +3 -0
  470. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +4 -4
  471. package/vscode/src/vs/workbench/{browser/parts/views → services/views/browser}/viewsService.js +20 -15
  472. package/vscode/src/vs/workbench/services/views/common/viewsService.d.ts +34 -0
  473. package/vscode/src/vs/workbench/services/{hover/browser/hover.js → views/common/viewsService.js} +2 -2
  474. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.d.ts +6 -1
  475. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +5 -2
  476. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +1 -0
  477. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +112 -47
  478. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +68 -9
  479. package/vscode-dts/{vscode.proposed.scmInputBoxActionButton.d.ts → vscode.proposed.codeActionRanges.d.ts} +8 -10
  480. package/vscode-dts/{vscode.proposed.readonlyMessage.d.ts → vscode.proposed.commentReactor.d.ts} +3 -4
  481. package/vscode-dts/vscode.proposed.contribMultiDiffEditorMenus.d.ts +6 -0
  482. package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemGroupMenu.d.ts +8 -0
  483. package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemMenu.d.ts +8 -0
  484. package/vscode-dts/vscode.proposed.debugVisualization.d.ts +100 -0
  485. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +1 -1
  486. package/vscode-dts/vscode.proposed.interactive.d.ts +13 -16
  487. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +4 -1
  488. package/vscode-dts/vscode.proposed.resolvers.d.ts +4 -0
  489. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +4 -10
  490. package/vscode-dts/vscode.proposed.scmMultiDiffEditor.d.ts +34 -0
  491. package/vscode-dts/vscode.proposed.speech.d.ts +17 -3
  492. package/vscode-dts/vscode.proposed.testCoverage.d.ts +7 -1
  493. package/vscode-dts/vscode.proposed.tunnelFactory.d.ts +4 -0
  494. package/vscode/src/vs/editor/browser/widget/diffEditor/colors.js +0 -17
  495. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorDecorations.js +0 -231
  496. package/vscode/src/vs/editor/browser/widget/diffEditor/outlineModel.js +0 -299
  497. package/vscode/src/vs/editor/browser/widget/diffEditor/workerBasedDocumentDiffProvider.js +0 -101
  498. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +0 -390
  499. package/vscode/src/vs/workbench/services/editor/common/editorGroupColumn.d.ts +0 -10
  500. package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +0 -4
  501. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.d.ts +0 -28
  502. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +0 -10
  503. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.d.ts +0 -30
  504. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +0 -98
  505. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.d.ts +0 -10
  506. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +0 -428
  507. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +0 -83
  508. package/vscode-dts/vscode.proposed.chatVariables.d.ts +0 -39
  509. package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +0 -77
  510. package/vscode-dts/vscode.proposed.saveEditor.d.ts +0 -35
  511. package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +0 -25
  512. package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +0 -21
@@ -1,6 +1,7 @@
1
1
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
2
  import { MarkdownString } from '../../../../base/common/htmlContent.js';
3
- import { compare, firstNonWhitespaceIndex, compareSubstring } from '../../../../base/common/strings.js';
3
+ import { compare, compareSubstring } from '../../../../base/common/strings.js';
4
+ import { Position } from '../../../../editor/common/core/position.js';
4
5
  import { Range } from '../../../../editor/common/core/range.js';
5
6
  import { ILanguageService } from '../../../../editor/common/languages/language.js';
6
7
  import { SnippetParser } from '../../../../editor/contrib/snippet/browser/snippetParser.js';
@@ -10,7 +11,6 @@ import { Snippet } from './snippetsFile.js';
10
11
  import { isPatternInWord } from '../../../../base/common/filters.js';
11
12
  import { StopWatch } from '../../../../base/common/stopwatch.js';
12
13
  import { ILanguageConfigurationService } from '../../../../editor/common/languages/languageConfigurationRegistry.js';
13
- import { getWordAtText } from '../../../../editor/common/core/wordHelper.js';
14
14
  import { CommandsRegistry } from '../../../../platform/commands/common/commands.js';
15
15
  const markSnippetAsUsed = '_snippet.markAsUsed';
16
16
  CommandsRegistry.registerCommand(markSnippetAsUsed, (accessor, ...args) => {
@@ -56,63 +56,68 @@ let SnippetCompletionProvider = class SnippetCompletionProvider {
56
56
  }
57
57
  async provideCompletionItems(model, position, context) {
58
58
  const sw = ( new StopWatch());
59
+ const line = position.lineNumber;
60
+ const word = model.getWordAtPosition(position) ?? { startColumn: position.column, endColumn: position.column, word: '' };
61
+ const lineContentLow = model.getLineContent(position.lineNumber).toLowerCase();
62
+ const lineContentWithWordLow = lineContentLow.substring(0, word.startColumn + word.word.length - 1);
63
+ const anchors = this._computeSnippetPositions(model, line, word, lineContentWithWordLow);
64
+ const columnOffset = position.column - 1;
65
+ const triggerCharacterLow = context.triggerCharacter?.toLowerCase() ?? '';
59
66
  const languageId = this._getLanguageIdAtPosition(model, position);
60
67
  const languageConfig = this._languageConfigurationService.getLanguageConfiguration(languageId);
61
68
  const snippets = ( new Set(await this._snippets.getSnippets(languageId)));
62
- const lineContentLow = model.getLineContent(position.lineNumber).toLowerCase();
63
- const wordUntil = model.getWordUntilPosition(position).word.toLowerCase();
64
69
  const suggestions = [];
65
- const columnOffset = position.column - 1;
66
- const triggerCharacterLow = context.triggerCharacter?.toLowerCase() ?? '';
67
- snippet: for (const snippet of snippets) {
70
+ for (const snippet of snippets) {
68
71
  if (context.triggerKind === 1 && !snippet.prefixLow.startsWith(triggerCharacterLow)) {
69
- continue snippet;
70
- }
71
- const word = getWordAtText(1, languageConfig.getWordDefinition(), snippet.prefixLow, 0);
72
- if (wordUntil && word && !isPatternInWord(wordUntil, 0, wordUntil.length, snippet.prefixLow, 0, snippet.prefixLow.length)) {
73
- continue snippet;
72
+ continue;
74
73
  }
75
- const minPos = firstNonWhitespaceIndex(snippet.prefixLow) === 0
76
- ? Math.max(0, model.getLineFirstNonWhitespaceColumn(position.lineNumber) - 1)
77
- : 0;
78
- column: for (let pos = Math.max(minPos, columnOffset - snippet.prefixLow.length); pos < lineContentLow.length; pos++) {
79
- if (!isPatternInWord(lineContentLow, pos, columnOffset, snippet.prefixLow, 0, snippet.prefixLow.length)) {
80
- continue column;
74
+ let candidate;
75
+ for (const anchor of anchors) {
76
+ if (anchor.prefixLow.match(/^\s/) && !snippet.prefixLow.match(/^\s/)) {
77
+ continue;
81
78
  }
82
- const prefixRestLen = snippet.prefixLow.length - (columnOffset - pos);
83
- const endsWithPrefixRest = compareSubstring(lineContentLow, snippet.prefixLow, columnOffset, columnOffset + prefixRestLen, columnOffset - pos);
84
- const startPosition = position.with(undefined, pos + 1);
85
- if (wordUntil && position.equals(startPosition)) {
86
- continue snippet;
79
+ if (isPatternInWord(anchor.prefixLow, 0, anchor.prefixLow.length, snippet.prefixLow, 0, snippet.prefixLow.length)) {
80
+ candidate = anchor;
81
+ break;
87
82
  }
88
- let endColumn = endsWithPrefixRest === 0 ? position.column + prefixRestLen : position.column;
89
- if (columnOffset < lineContentLow.length) {
90
- const autoClosingPairs = languageConfig.getAutoClosingPairs();
91
- const standardAutoClosingPairConditionals = autoClosingPairs.autoClosingPairsCloseSingleChar.get(lineContentLow[columnOffset]);
92
- if (standardAutoClosingPairConditionals?.some(p =>
93
- p.open === lineContentLow[startPosition.column - 1] &&
94
- snippet.prefix.startsWith(p.open) &&
95
- snippet.prefix[snippet.prefix.length - 1] === p.close)) {
96
- endColumn++;
97
- }
83
+ }
84
+ if (!candidate) {
85
+ continue;
86
+ }
87
+ const pos = candidate.startColumn - 1;
88
+ const prefixRestLen = snippet.prefixLow.length - (columnOffset - pos);
89
+ const endsWithPrefixRest = compareSubstring(lineContentLow, snippet.prefixLow, columnOffset, columnOffset + prefixRestLen, columnOffset - pos);
90
+ const startPosition = position.with(undefined, pos + 1);
91
+ let endColumn = endsWithPrefixRest === 0 ? position.column + prefixRestLen : position.column;
92
+ if (columnOffset < lineContentLow.length) {
93
+ const autoClosingPairs = languageConfig.getAutoClosingPairs();
94
+ const standardAutoClosingPairConditionals = autoClosingPairs.autoClosingPairsCloseSingleChar.get(lineContentLow[columnOffset]);
95
+ if (standardAutoClosingPairConditionals?.some(p =>
96
+ p.open === lineContentLow[startPosition.column - 1] &&
97
+ snippet.prefix.startsWith(p.open) &&
98
+ snippet.prefix[snippet.prefix.length - 1] === p.close)) {
99
+ endColumn++;
98
100
  }
99
- const replace = Range.fromPositions(startPosition, { lineNumber: position.lineNumber, column: endColumn });
100
- const insert = replace.setEndPosition(position.lineNumber, position.column);
101
- suggestions.push(( new SnippetCompletion(snippet, { replace, insert })));
102
- snippets.delete(snippet);
103
- break;
104
101
  }
102
+ const replace = Range.fromPositions({ lineNumber: line, column: candidate.startColumn }, { lineNumber: line, column: endColumn });
103
+ const insert = replace.setEndPosition(line, position.column);
104
+ suggestions.push(( new SnippetCompletion(snippet, { replace, insert })));
105
+ snippets.delete(snippet);
105
106
  }
106
- if (!triggerCharacterLow) {
107
- const endsInWhitespace = /\s/.test(lineContentLow[position.column - 2]);
108
- if (endsInWhitespace || !lineContentLow ) {
109
- for (const snippet of snippets) {
110
- const insert = Range.fromPositions(position);
111
- const replace = lineContentLow.indexOf(snippet.prefixLow, columnOffset) === columnOffset ? insert.setEndPosition(position.lineNumber, position.column + snippet.prefixLow.length) : insert;
112
- suggestions.push(( new SnippetCompletion(snippet, { replace, insert })));
113
- }
107
+ if (!triggerCharacterLow && ((/\s/.test(lineContentLow[position.column - 2]) || !lineContentLow) )) {
108
+ for (const snippet of snippets) {
109
+ const insert = Range.fromPositions(position);
110
+ const replace = lineContentLow.indexOf(snippet.prefixLow, columnOffset) === columnOffset ? insert.setEndPosition(position.lineNumber, position.column + snippet.prefixLow.length) : insert;
111
+ suggestions.push(( new SnippetCompletion(snippet, { replace, insert })));
114
112
  }
115
113
  }
114
+ this._disambiguateSnippets(suggestions);
115
+ return {
116
+ suggestions,
117
+ duration: sw.elapsed()
118
+ };
119
+ }
120
+ _disambiguateSnippets(suggestions) {
116
121
  suggestions.sort(SnippetCompletion.compareByLabel);
117
122
  for (let i = 0; i < suggestions.length; i++) {
118
123
  const item = suggestions[i];
@@ -137,14 +142,37 @@ let SnippetCompletionProvider = class SnippetCompletionProvider {
137
142
  i = to;
138
143
  }
139
144
  }
140
- return {
141
- suggestions,
142
- duration: sw.elapsed()
143
- };
144
145
  }
145
146
  resolveCompletionItem(item) {
146
147
  return (item instanceof SnippetCompletion) ? item.resolve() : item;
147
148
  }
149
+ _computeSnippetPositions(model, line, word, lineContentWithWordLow) {
150
+ const result = [];
151
+ for (let column = 1; column < word.startColumn; column++) {
152
+ const wordInfo = model.getWordAtPosition(( new Position(line, column)));
153
+ result.push({
154
+ startColumn: column,
155
+ prefixLow: lineContentWithWordLow.substring(column - 1),
156
+ isWord: Boolean(wordInfo)
157
+ });
158
+ if (wordInfo) {
159
+ column = wordInfo.endColumn;
160
+ result.push({
161
+ startColumn: wordInfo.endColumn,
162
+ prefixLow: lineContentWithWordLow.substring(wordInfo.endColumn - 1),
163
+ isWord: false
164
+ });
165
+ }
166
+ }
167
+ if (word.word.length > 0 || result.length === 0) {
168
+ result.push({
169
+ startColumn: word.startColumn,
170
+ prefixLow: lineContentWithWordLow.substring(word.startColumn - 1),
171
+ isWord: true
172
+ });
173
+ }
174
+ return result;
175
+ }
148
176
  _getLanguageIdAtPosition(model, position) {
149
177
  model.tokenization.tokenizeIfCheap(position.lineNumber);
150
178
  let languageId = model.getLanguageIdAtPosition(position.lineNumber, position.column);
@@ -1,3 +1,17 @@
1
+ import { localizeWithPath } from '../../../../nls.js';
2
+ import { RawContextKey } from '../../../../platform/contextkey/common/contextkey.js';
1
3
  import { createDecorator } from '../../../../platform/instantiation/common/instantiation.js';
2
4
  const ISpeechService = ( createDecorator('speechService'));
3
- export { ISpeechService };
5
+ const HasSpeechProvider = ( new RawContextKey('hasSpeechProvider', false, { type: 'string', description: ( localizeWithPath(
6
+ 'vs/workbench/contrib/speech/common/speechService',
7
+ 'hasSpeechProvider',
8
+ "A speech provider is registered to the speech service."
9
+ )) }));
10
+ var SpeechToTextStatus;
11
+ ( (function(SpeechToTextStatus) {
12
+ SpeechToTextStatus[SpeechToTextStatus["Started"] = 1] = "Started";
13
+ SpeechToTextStatus[SpeechToTextStatus["Recognizing"] = 2] = "Recognizing";
14
+ SpeechToTextStatus[SpeechToTextStatus["Recognized"] = 3] = "Recognized";
15
+ SpeechToTextStatus[SpeechToTextStatus["Stopped"] = 4] = "Stopped";
16
+ })(SpeechToTextStatus || (SpeechToTextStatus = {})));
17
+ export { HasSpeechProvider, ISpeechService, SpeechToTextStatus };
@@ -3,7 +3,7 @@ import { IDimension } from '../../../../base/browser/dom.js';
3
3
  import { Orientation } from '../../../../base/browser/ui/sash/sash.js';
4
4
  import { Color } from '../../../../base/common/color.js';
5
5
  import { Event, IDynamicListEventMultiplexer } from '../../../../base/common/event.js';
6
- import { IDisposable } from '../../../../base/common/lifecycle.js';
6
+ import { DisposableStore, IDisposable } from '../../../../base/common/lifecycle.js';
7
7
  import { OperatingSystem } from '../../../../base/common/platform.js';
8
8
  import { URI } from '../../../../base/common/uri.js';
9
9
  import { TerminalCapability, ITerminalCapabilityImplMap, IMarkProperties, ITerminalCommand, ITerminalCapabilityStore } from '../../../../platform/terminal/common/capabilities/capabilities.js';
@@ -11,15 +11,15 @@ import { IMergedEnvironmentVariableCollection } from '../../../../platform/termi
11
11
  import { IShellLaunchConfig, ITerminalProfile, TerminalLocation, ITerminalBackend, ITerminalLaunchError, IExtensionTerminalProfile, TerminalIcon, IReconnectionProperties, WaitOnExitValue, TerminalExitReason, TitleEventSource, TerminalShellType, ITerminalDimensions, ITerminalTabLayoutInfoById, IShellIntegration } from '../../../../platform/terminal/common/terminal.js';
12
12
  import { IColorTheme } from '../../../../platform/theme/common/themeService.js';
13
13
  import { IWorkspaceFolder } from '../../../../platform/workspace/common/workspace.js';
14
- import '../../../../editor/editor.api.js';
14
+ import { GroupIdentifier } from '../../../common/editor.js';
15
15
  import { IEditableData } from '../../../common/views.js';
16
16
  import { ITerminalStatusList } from './terminalStatusList.js';
17
17
  import { XtermTerminal } from './xterm/xtermTerminal.js';
18
18
  import { IStartExtensionTerminalRequest, ITerminalProcessExtHostProxy, IRemoteTerminalAttachTarget, ITerminalConfiguration, ITerminalFont, ITerminalProcessInfo } from '../common/terminal.js';
19
- import { EditorGroupColumn } from '../../../services/editor/common/editorGroupColumn.js';
20
- import { ISimpleSelectedSuggestion } from '../../../services/suggest/browser/simpleSuggestWidget.js';
19
+ import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';
21
20
  import { IMarker, ITheme, Terminal } from '../../../../../../../external/@xterm/xterm/typings/xterm.js';
22
21
  import { ScrollPosition } from './xterm/markNavigationAddon.js';
22
+ import { SIDE_GROUP_TYPE, ACTIVE_GROUP_TYPE, AUX_WINDOW_GROUP_TYPE } from '../../../services/editor/common/editorService.js';
23
23
 
24
24
  /**
25
25
  * A terminal contribution that gets created whenever a terminal is created. A contribution has
@@ -252,7 +252,8 @@ interface ITerminalService extends ITerminalInstanceHost {
252
252
  acceptsInput?: boolean;
253
253
  }): Promise<ITerminalInstance>;
254
254
  revealActiveTerminal(preserveFocus?: boolean): Promise<void>;
255
- moveToEditor(source: ITerminalInstance): void;
255
+ moveToEditor(source: ITerminalInstance, group?: GroupIdentifier | SIDE_GROUP_TYPE | ACTIVE_GROUP_TYPE | AUX_WINDOW_GROUP_TYPE): void;
256
+ moveIntoNewEditor(source: ITerminalInstance): void;
256
257
  moveToTerminalView(source: ITerminalInstance | URI): Promise<void>;
257
258
  getPrimaryBackend(): ITerminalBackend | undefined;
258
259
  /**
@@ -321,7 +322,7 @@ interface ICreateTerminalOptions {
321
322
  location?: ITerminalLocationOptions;
322
323
  }
323
324
  interface TerminalEditorLocation {
324
- viewColumn: EditorGroupColumn;
325
+ viewColumn: GroupIdentifier | SIDE_GROUP_TYPE | ACTIVE_GROUP_TYPE | AUX_WINDOW_GROUP_TYPE;
325
326
  preserveFocus?: boolean;
326
327
  }
327
328
  /**
@@ -391,6 +392,11 @@ interface ITerminalInstance extends IBaseTerminalInstance {
391
392
  readonly usedShellIntegrationInjection: boolean;
392
393
  readonly injectedArgs: string[] | undefined;
393
394
  readonly extEnvironmentVariableCollection: IMergedEnvironmentVariableCollection | undefined;
395
+ /**
396
+ * The underlying disposable store, allowing objects who share the same lifecycle as the
397
+ * terminal instance but are created externally to be managed by the instance.
398
+ */
399
+ readonly store: DisposableStore;
394
400
  readonly statusList: ITerminalStatusList;
395
401
  /**
396
402
  * The process ID of the shell process, this is undefined when there is no process associated
@@ -454,8 +460,9 @@ interface ITerminalInstance extends IBaseTerminalInstance {
454
460
  onDidBlur: Event<ITerminalInstance>;
455
461
  onDidInputData: Event<ITerminalInstance>;
456
462
  onDidChangeSelection: Event<ITerminalInstance>;
457
- onDidRunText: Event<void>;
463
+ onDidExecuteText: Event<void>;
458
464
  onDidChangeTarget: Event<TerminalLocation | undefined>;
465
+ onDidSendText: Event<string>;
459
466
  /**
460
467
  * An event that fires when a terminal is dropped on this instance via drag and drop.
461
468
  */
@@ -558,8 +565,9 @@ interface ITerminalInstance extends IBaseTerminalInstance {
558
565
  shellIntegrationNonce: string;
559
566
  /**
560
567
  * Registers and returns a marker
568
+ * @param the y offset from the cursor
561
569
  */
562
- registerMarker(): IMarker | undefined;
570
+ registerMarker(offset?: number): IMarker | undefined;
563
571
  /**
564
572
  * Adds a marker to the buffer, mapping it to an ID if provided.
565
573
  */
@@ -610,6 +618,11 @@ interface ITerminalInstance extends IBaseTerminalInstance {
610
618
  * Focuses and pastes the contents of the selection clipboard into the terminal instance.
611
619
  */
612
620
  pasteSelection(): Promise<void>;
621
+ /**
622
+ * Override the copy on selection feature with a custom value.
623
+ * @param value Whether to enable copySelection.
624
+ */
625
+ overrideCopyOnSelection(value: boolean): IDisposable;
613
626
  /**
614
627
  * Send text to the terminal instance. The text is written to the stdin of the underlying pty
615
628
  * process (shell) of the terminal instance.
@@ -725,7 +738,7 @@ interface ITerminalInstance extends IBaseTerminalInstance {
725
738
  /**
726
739
  * Sets or triggers a quick pick to change the color of the associated terminal tab icon.
727
740
  */
728
- changeColor(color?: string): Promise<string | undefined>;
741
+ changeColor(color?: string, skipQuickPick?: boolean): Promise<string | undefined>;
729
742
  /**
730
743
  * Triggers a quick pick that displays recent commands or cwds. Selecting one will
731
744
  * rerun it in the active terminal.
@@ -737,29 +750,9 @@ interface ITerminalInstance extends IBaseTerminalInstance {
737
750
  */
738
751
  freePortKillProcess(port: string, commandToRun: string): Promise<void>;
739
752
  /**
740
- * Selects the previous suggestion if the suggest widget is visible.
741
- */
742
- selectPreviousSuggestion(): void;
743
- /**
744
- * Selects the previous page suggestion if the suggest widget is visible.
745
- */
746
- selectPreviousPageSuggestion(): void;
747
- /**
748
- * Selects the next suggestion if the suggest widget is visible.
753
+ * Update the parent context key service to use for this terminal instance.
749
754
  */
750
- selectNextSuggestion(): void;
751
- /**
752
- * Selects the next page suggestion if the suggest widget is visible.
753
- */
754
- selectNextPageSuggestion(): void;
755
- /**
756
- * Accepts the current suggestion if the suggest widget is visible.
757
- */
758
- acceptSelectedSuggestion(): Promise<void>;
759
- /**
760
- * Hides the suggest widget.
761
- */
762
- hideSuggestWidget(): void;
755
+ setParentContextKeyService(parentContextKeyService: IContextKeyService): void;
763
756
  }
764
757
  interface IXtermAttachToElementOptions {
765
758
  /**
@@ -929,18 +922,5 @@ declare const enum LinuxDistro {
929
922
  Fedora = 2,
930
923
  Ubuntu = 3
931
924
  }
932
- interface ISuggestController {
933
- selectPreviousSuggestion(): void;
934
- selectPreviousPageSuggestion(): void;
935
- selectNextSuggestion(): void;
936
- selectNextPageSuggestion(): void;
937
- acceptSelectedSuggestion(suggestion?: Pick<ISimpleSelectedSuggestion, 'item' | 'model'>): void;
938
- hideSuggestWidget(): void;
939
- /**
940
- * Handle data written to the terminal outside of xterm.js which has no corresponding
941
- * `Terminal.onData` event.
942
- */
943
- handleNonXtermData(data: string): void;
944
- }
945
925
 
946
- export { Direction, type IBaseTerminalInstance, type ICreateTerminalOptions, type IDetachedTerminalInstance, type IDetachedXTermOptions, type IDetachedXtermTerminal, type IInternalXtermTerminal, type IMarkTracker, type IRequestAddInstanceToGroupEvent, type ISearchOptions, type ISuggestController, type ITerminalConfigHelper, type ITerminalContribution, type ITerminalGroup, type ITerminalInstance, type ITerminalInstanceHost, ITerminalInstanceService, type ITerminalLocationOptions, ITerminalService, type ITerminalServiceNativeDelegate, type IXtermAttachToElementOptions, type IXtermColorProvider, type IXtermTerminal, LinuxDistro, TerminalConnectionState, type TerminalEditorLocation };
926
+ export { Direction, type IBaseTerminalInstance, type ICreateTerminalOptions, type IDetachedTerminalInstance, type IDetachedXTermOptions, type IDetachedXtermTerminal, type IInternalXtermTerminal, type IMarkTracker, type IRequestAddInstanceToGroupEvent, type ISearchOptions, type ITerminalConfigHelper, type ITerminalContribution, type ITerminalGroup, type ITerminalInstance, type ITerminalInstanceHost, ITerminalInstanceService, type ITerminalLocationOptions, ITerminalService, type ITerminalServiceNativeDelegate, type IXtermAttachToElementOptions, type IXtermColorProvider, type IXtermTerminal, LinuxDistro, TerminalConnectionState, type TerminalEditorLocation };
@@ -22,6 +22,9 @@ let TerminalEditorInput = class TerminalEditorInput extends EditorInput {
22
22
  static { this.ID = 'workbench.editors.terminal'; }
23
23
  setGroup(group) {
24
24
  this._group = group;
25
+ if (group?.scopedContextKeyService) {
26
+ this._terminalInstance?.setParentContextKeyService(group.scopedContextKeyService);
27
+ }
25
28
  }
26
29
  get group() {
27
30
  return this._group;
@@ -103,6 +106,7 @@ let TerminalEditorInput = class TerminalEditorInput extends EditorInput {
103
106
  this._instantiationService = _instantiationService;
104
107
  this._configurationService = _configurationService;
105
108
  this._lifecycleService = _lifecycleService;
109
+ this._contextKeyService = _contextKeyService;
106
110
  this._dialogService = _dialogService;
107
111
  this.closeHandler = this;
108
112
  this._isDetached = false;
@@ -156,11 +160,17 @@ let TerminalEditorInput = class TerminalEditorInput extends EditorInput {
156
160
  getName() {
157
161
  return this._terminalInstance?.title || this.resource.fragment;
158
162
  }
163
+ getIcon() {
164
+ if (!this._terminalInstance || !ThemeIcon.isThemeIcon(this._terminalInstance.icon)) {
165
+ return undefined;
166
+ }
167
+ return this._terminalInstance.icon;
168
+ }
159
169
  getLabelExtraClasses() {
160
170
  if (!this._terminalInstance) {
161
171
  return [];
162
172
  }
163
- const extraClasses = ['terminal-tab'];
173
+ const extraClasses = ['terminal-tab', 'predefined-file-icon'];
164
174
  const colorClass = getColorClass(this._terminalInstance);
165
175
  if (colorClass) {
166
176
  extraClasses.push(colorClass);
@@ -169,14 +179,12 @@ let TerminalEditorInput = class TerminalEditorInput extends EditorInput {
169
179
  if (uriClasses) {
170
180
  extraClasses.push(...uriClasses);
171
181
  }
172
- if (ThemeIcon.isThemeIcon(this._terminalInstance.icon)) {
173
- extraClasses.push(`codicon-${this._terminalInstance.icon.id}`);
174
- }
175
182
  return extraClasses;
176
183
  }
177
184
  detachInstance() {
178
185
  if (!this._isShuttingDown) {
179
186
  this._terminalInstance?.detachFromElement();
187
+ this._terminalInstance?.setParentContextKeyService(this._contextKeyService);
180
188
  this._isDetached = true;
181
189
  }
182
190
  }
@@ -57,7 +57,8 @@ function getColorStyleContent(colorTheme, editor) {
57
57
  const color = colorTheme.getColor(colorKey);
58
58
  if (color) {
59
59
  if (editor) {
60
- css += (`.monaco-workbench .show-file-icons .file-icon.terminal-tab.${colorClass}::before` +
60
+ css += (`.monaco-workbench .show-file-icons .predefined-file-icon.terminal-tab.${colorClass}::before,` +
61
+ `.monaco-workbench .show-file-icons .file-icon.terminal-tab.${colorClass}::before` +
61
62
  `{ color: ${color} !important; }`);
62
63
  }
63
64
  else {
@@ -266,7 +266,7 @@ let DecorationAddon = class DecorationAddon extends Disposable {
266
266
  else if (command?.markProperties || markProperties) {
267
267
  return [this._terminalDecorationHoverService.createHover(element, command || markProperties, markProperties?.hoverMessage)];
268
268
  }
269
- return [this._createContextMenu(element, command), this._terminalDecorationHoverService.createHover(element, command)];
269
+ return [...this._createContextMenu(element, command), this._terminalDecorationHoverService.createHover(element, command)];
270
270
  }
271
271
  _updateClasses(element, exitCode, markProperties) {
272
272
  if (!element) {
@@ -298,11 +298,38 @@ let DecorationAddon = class DecorationAddon extends Disposable {
298
298
  }
299
299
  }
300
300
  _createContextMenu(element, command) {
301
- return addDisposableListener(element, EventType.CLICK, async () => {
302
- this._terminalDecorationHoverService.hideHover();
303
- const actions = await this._getCommandActions(command);
304
- this._contextMenuService.showContextMenu({ getAnchor: () => element, getActions: () => actions });
305
- });
301
+ return [
302
+ addDisposableListener(element, EventType.MOUSE_DOWN, async (e) => {
303
+ e.stopImmediatePropagation();
304
+ }),
305
+ addDisposableListener(element, EventType.CLICK, async (e) => {
306
+ e.stopImmediatePropagation();
307
+ this._terminalDecorationHoverService.hideHover();
308
+ const actions = await this._getCommandActions(command);
309
+ this._contextMenuService.showContextMenu({ getAnchor: () => element, getActions: () => actions });
310
+ }),
311
+ addDisposableListener(element, EventType.CONTEXT_MENU, async (e) => {
312
+ e.stopImmediatePropagation();
313
+ this._terminalDecorationHoverService.hideHover();
314
+ const actions = this._getContextMenuActions();
315
+ this._contextMenuService.showContextMenu({ getAnchor: () => element, getActions: () => actions });
316
+ }),
317
+ ];
318
+ }
319
+ _getContextMenuActions() {
320
+ const label = ( localizeWithPath(
321
+ 'vs/workbench/contrib/terminal/browser/xterm/decorationAddon',
322
+ 'workbench.action.terminal.toggleVisibility',
323
+ "Toggle Visibility"
324
+ ));
325
+ return [
326
+ {
327
+ class: undefined, tooltip: label, id: 'terminal.toggleVisibility', label, enabled: true,
328
+ run: async () => {
329
+ this._showToggleVisibilityQuickPick();
330
+ }
331
+ }
332
+ ];
306
333
  }
307
334
  async _getCommandActions(command) {
308
335
  const actions = [];
@@ -416,15 +443,6 @@ let DecorationAddon = class DecorationAddon extends Disposable {
416
443
  run: () => this._commandService.executeCommand('workbench.action.terminal.goToRecentDirectory')
417
444
  });
418
445
  actions.push(( new Separator()));
419
- const labelConfigure = ( localizeWithPath(
420
- 'vs/workbench/contrib/terminal/browser/xterm/decorationAddon',
421
- "terminal.configureCommandDecorations",
422
- 'Configure Command Decorations'
423
- ));
424
- actions.push({
425
- class: undefined, tooltip: labelConfigure, id: 'terminal.configureCommandDecorations', label: labelConfigure, enabled: true,
426
- run: () => this._showConfigureCommandDecorationsQuickPick()
427
- });
428
446
  const labelAbout = ( localizeWithPath(
429
447
  'vs/workbench/contrib/terminal/browser/xterm/decorationAddon',
430
448
  "terminal.learnShellIntegration",
@@ -436,27 +454,6 @@ let DecorationAddon = class DecorationAddon extends Disposable {
436
454
  });
437
455
  return actions;
438
456
  }
439
- async _showConfigureCommandDecorationsQuickPick() {
440
- const quickPick = this._quickInputService.createQuickPick();
441
- quickPick.items = [
442
- { id: 'a', label: ( localizeWithPath(
443
- 'vs/workbench/contrib/terminal/browser/xterm/decorationAddon',
444
- 'toggleVisibility',
445
- 'Toggle visibility'
446
- )) },
447
- ];
448
- quickPick.canSelectMany = false;
449
- quickPick.onDidAccept(async (e) => {
450
- quickPick.hide();
451
- const result = quickPick.activeItems[0];
452
- switch (result.id) {
453
- case 'a':
454
- this._showToggleVisibilityQuickPick();
455
- break;
456
- }
457
- });
458
- quickPick.show();
459
- }
460
457
  _showToggleVisibilityQuickPick() {
461
458
  const quickPick = this._quickInputService.createQuickPick();
462
459
  quickPick.hideInput = true;
@@ -7,7 +7,7 @@ import { Disposable, combinedDisposable } from '../../../../../base/common/lifec
7
7
  import { localizeWithPath } from '../../../../../nls.js';
8
8
  import { IConfigurationService } from '../../../../../platform/configuration/common/configuration.js';
9
9
  import { IContextMenuService } from '../../../../../platform/contextview/browser/contextView.js';
10
- import { IHoverService } from '../../../../services/hover/browser/hover.js';
10
+ import { IHoverService } from '../../../../../platform/hover/browser/hover.js';
11
11
  let TerminalDecorationHoverManager = class TerminalDecorationHoverManager extends Disposable {
12
12
  constructor(_hoverService, configurationService, contextMenuService) {
13
13
  super();
@@ -237,6 +237,9 @@ let MarkNavigationAddon = class MarkNavigationAddon extends Disposable {
237
237
  }
238
238
  const startLine = command.marker.line - (command.getPromptRowCount() - 1);
239
239
  const decorationCount = toLineIndex(command.endMarker) - startLine;
240
+ if (decorationCount > 200) {
241
+ return;
242
+ }
240
243
  for (let i = 0; i < decorationCount; i++) {
241
244
  const decoration = this._terminal.registerDecoration({
242
245
  marker: this._createMarkerForOffset(startLine, i)
@@ -11,7 +11,7 @@ import { TerminalConfigHelper } from '../terminalConfigHelper.js';
11
11
  import { Disposable } from '../../../../../base/common/lifecycle.js';
12
12
  import { IShellIntegration, ITerminalLogService } from '../../../../../platform/terminal/common/terminal.js';
13
13
  import { ITerminalFont } from '../../common/terminal.js';
14
- import { IXtermTerminal, IDetachedXtermTerminal, IInternalXtermTerminal, IMarkTracker, ISuggestController, IXtermColorProvider, IXtermAttachToElementOptions } from '../terminal.js';
14
+ import { IXtermTerminal, IDetachedXtermTerminal, IInternalXtermTerminal, IMarkTracker, IXtermColorProvider, IXtermAttachToElementOptions } from '../terminal.js';
15
15
  import { IStorageService } from '../../../../../platform/storage/common/storage.js';
16
16
  import { INotificationService } from '../../../../../platform/notification/common/notification.js';
17
17
  import { ScrollPosition } from './markNavigationAddon.js';
@@ -19,10 +19,10 @@ import { IThemeService, IColorTheme } from '../../../../../platform/theme/common
19
19
  import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';
20
20
  import { ITerminalCommand, ITerminalCapabilityStore } from '../../../../../platform/terminal/common/capabilities/capabilities.js';
21
21
  import { ITelemetryService } from '../../../../../platform/telemetry/common/telemetry.js';
22
- import { IContextKey, IContextKeyService } from '../../../../../platform/contextkey/common/contextkey.js';
22
+ import { IContextKeyService } from '../../../../../platform/contextkey/common/contextkey.js';
23
23
  import { IClipboardService } from '../../../../../platform/clipboard/common/clipboardService.js';
24
- import { IAccessibleNotificationService } from '../../../../../platform/accessibility/common/accessibility.js';
25
24
  import { ILayoutService } from '../../../../../platform/layout/browser/layoutService.js';
25
+ import { IAudioCueService } from '../../../../../platform/audioCues/browser/audioCueService.js';
26
26
 
27
27
  /**
28
28
  * Wraps the xterm object with additional functionality. Interaction with the backing process is out
@@ -32,7 +32,6 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
32
32
  private readonly _configHelper;
33
33
  private readonly _xtermColorProvider;
34
34
  private readonly _capabilities;
35
- private readonly _terminalSuggestWidgetVisibleContextKey;
36
35
  private readonly _configurationService;
37
36
  private readonly _instantiationService;
38
37
  private readonly _logService;
@@ -41,7 +40,7 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
41
40
  private readonly _themeService;
42
41
  private readonly _telemetryService;
43
42
  private readonly _clipboardService;
44
- private readonly _accessibleNotificationService;
43
+ private readonly _audioCueService;
45
44
  /** The raw xterm.js instance */
46
45
  readonly raw: Terminal;
47
46
  private _core;
@@ -52,7 +51,6 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
52
51
  private _markNavigationAddon;
53
52
  private _shellIntegrationAddon;
54
53
  private _decorationAddon;
55
- private _suggestAddon?;
56
54
  private _canvasAddon?;
57
55
  private _searchAddon?;
58
56
  private _unicode11Addon?;
@@ -94,14 +92,13 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
94
92
  readonly onDidDispose: Event<void>;
95
93
  get markTracker(): IMarkTracker;
96
94
  get shellIntegration(): IShellIntegration;
97
- get suggestController(): ISuggestController | undefined;
98
95
  get textureAtlas(): Promise<ImageBitmap> | undefined;
99
96
  get isFocused(): boolean;
100
97
  /**
101
98
  * @param xtermCtor The xterm.js constructor, this is passed in so it can be fetched lazily
102
99
  * outside of this class such that {@link raw} is not nullable.
103
100
  */
104
- constructor(xtermCtor: typeof Terminal, _configHelper: TerminalConfigHelper, cols: number, rows: number, _xtermColorProvider: IXtermColorProvider, _capabilities: ITerminalCapabilityStore, shellIntegrationNonce: string, _terminalSuggestWidgetVisibleContextKey: IContextKey<boolean> | undefined, disableShellIntegrationReporting: boolean, _configurationService: IConfigurationService, _instantiationService: IInstantiationService, _logService: ITerminalLogService, _notificationService: INotificationService, _storageService: IStorageService, _themeService: IThemeService, _telemetryService: ITelemetryService, _clipboardService: IClipboardService, contextKeyService: IContextKeyService, _accessibleNotificationService: IAccessibleNotificationService, layoutService: ILayoutService);
101
+ constructor(xtermCtor: typeof Terminal, _configHelper: TerminalConfigHelper, cols: number, rows: number, _xtermColorProvider: IXtermColorProvider, _capabilities: ITerminalCapabilityStore, shellIntegrationNonce: string, disableShellIntegrationReporting: boolean, _configurationService: IConfigurationService, _instantiationService: IInstantiationService, _logService: ITerminalLogService, _notificationService: INotificationService, _storageService: IStorageService, _themeService: IThemeService, _telemetryService: ITelemetryService, _clipboardService: IClipboardService, contextKeyService: IContextKeyService, _audioCueService: IAudioCueService, layoutService: ILayoutService);
105
102
  getBufferReverseIterator(): IterableIterator<string>;
106
103
  getContentsAsHtml(): Promise<string>;
107
104
  getSelectionAsHtml(command?: ITerminalCommand): Promise<string>;