@codingame/monaco-vscode-api 2.0.3 → 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 (511) 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 +3 -19
  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/views/emptyView.js +2 -2
  373. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +34 -17
  374. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +5 -4
  375. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +48 -14
  376. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +16 -8
  377. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +1 -1
  378. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +317 -321
  379. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +17 -24
  380. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingService.js +3 -0
  381. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +306 -130
  382. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +3 -0
  383. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +385 -613
  384. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +69 -64
  385. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +71 -3
  386. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -44
  387. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +5 -3
  388. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +1 -1
  389. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +1 -1
  390. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
  391. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
  392. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +1 -1
  393. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookEditorStickyScroll.css.js +1 -1
  394. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +38 -7
  395. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +36 -8
  396. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +32 -12
  397. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +24 -14
  398. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +4 -4
  399. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +1 -1
  400. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbarStickyScroll.js +1 -2
  401. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatActions.js +264 -12
  402. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatController.js +60 -27
  403. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +12 -5
  404. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +2 -2
  405. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +2 -2
  406. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +12 -9
  407. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +6 -3
  408. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +1 -0
  409. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +188 -155
  410. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +4 -4
  411. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +10 -3
  412. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +16 -33
  413. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +9 -7
  414. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +6 -2
  415. package/vscode/src/vs/workbench/contrib/notebook/common/notebookKernelService.js +2 -1
  416. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +29 -14
  417. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +15 -3
  418. package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +2 -2
  419. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +22 -6
  420. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +1 -1
  421. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +16 -17
  422. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +78 -50
  423. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +15 -1
  424. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +25 -45
  425. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +12 -4
  426. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +2 -1
  427. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +33 -36
  428. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +1 -1
  429. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +3 -0
  430. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +5 -8
  431. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +15 -27
  432. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +3 -3
  433. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +38 -22
  434. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +5 -2
  435. package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.js +60 -40
  436. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
  437. package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.js +15 -11
  438. package/vscode/src/vs/workbench/contrib/testing/common/testService.js +26 -1
  439. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +24 -23
  440. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +1 -1
  441. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +124 -26
  442. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +68 -0
  443. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +76 -36
  444. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
  445. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +1 -0
  446. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +15 -3
  447. package/vscode/src/vs/workbench/services/editor/common/editorGroupFinder.js +10 -1
  448. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +51 -43
  449. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +13 -8
  450. package/vscode/src/vs/workbench/services/editor/common/editorService.js +2 -1
  451. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +10 -10
  452. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +8 -8
  453. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +7 -7
  454. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +1 -0
  455. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.d.ts +29 -9
  456. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +160 -63
  457. package/vscode/src/vs/workbench/services/host/browser/host.d.ts +8 -0
  458. package/vscode/src/vs/workbench/services/keybinding/common/keybindingEditing.js +60 -72
  459. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +0 -4
  460. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +56 -0
  461. package/vscode/src/vs/workbench/services/output/common/output.js +2 -2
  462. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +10 -0
  463. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +10 -0
  464. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +2 -1
  465. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +5 -4
  466. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +21 -8
  467. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +4 -0
  468. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +3 -0
  469. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +4 -4
  470. package/vscode/src/vs/workbench/{browser/parts/views → services/views/browser}/viewsService.js +20 -15
  471. package/vscode/src/vs/workbench/services/views/common/viewsService.d.ts +34 -0
  472. package/vscode/src/vs/workbench/services/{hover/browser/hover.js → views/common/viewsService.js} +2 -2
  473. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.d.ts +6 -1
  474. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +5 -2
  475. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +1 -0
  476. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +112 -47
  477. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +68 -9
  478. package/vscode-dts/{vscode.proposed.scmInputBoxActionButton.d.ts → vscode.proposed.codeActionRanges.d.ts} +8 -10
  479. package/vscode-dts/{vscode.proposed.readonlyMessage.d.ts → vscode.proposed.commentReactor.d.ts} +3 -4
  480. package/vscode-dts/vscode.proposed.contribMultiDiffEditorMenus.d.ts +6 -0
  481. package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemGroupMenu.d.ts +8 -0
  482. package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemMenu.d.ts +8 -0
  483. package/vscode-dts/vscode.proposed.debugVisualization.d.ts +100 -0
  484. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +1 -1
  485. package/vscode-dts/vscode.proposed.interactive.d.ts +13 -16
  486. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +4 -1
  487. package/vscode-dts/vscode.proposed.resolvers.d.ts +4 -0
  488. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +4 -10
  489. package/vscode-dts/vscode.proposed.scmMultiDiffEditor.d.ts +34 -0
  490. package/vscode-dts/vscode.proposed.speech.d.ts +17 -3
  491. package/vscode-dts/vscode.proposed.testCoverage.d.ts +7 -1
  492. package/vscode-dts/vscode.proposed.tunnelFactory.d.ts +4 -0
  493. package/vscode/src/vs/editor/browser/widget/diffEditor/colors.js +0 -17
  494. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorDecorations.js +0 -231
  495. package/vscode/src/vs/editor/browser/widget/diffEditor/outlineModel.js +0 -299
  496. package/vscode/src/vs/editor/browser/widget/diffEditor/workerBasedDocumentDiffProvider.js +0 -101
  497. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +0 -390
  498. package/vscode/src/vs/workbench/services/editor/common/editorGroupColumn.d.ts +0 -10
  499. package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +0 -4
  500. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.d.ts +0 -28
  501. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +0 -10
  502. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.d.ts +0 -30
  503. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +0 -98
  504. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.d.ts +0 -10
  505. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +0 -428
  506. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +0 -83
  507. package/vscode-dts/vscode.proposed.chatVariables.d.ts +0 -39
  508. package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +0 -77
  509. package/vscode-dts/vscode.proposed.saveEditor.d.ts +0 -35
  510. package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +0 -25
  511. package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +0 -21
@@ -101,7 +101,8 @@ function asTreeContextMenuEvent(e) {
101
101
  return {
102
102
  browserEvent: e.browserEvent,
103
103
  element: e.element && e.element.element,
104
- anchor: e.anchor
104
+ anchor: e.anchor,
105
+ isStickyScroll: e.isStickyScroll
105
106
  };
106
107
  }
107
108
  class AsyncDataTreeElementsDragAndDropData extends ElementsDragAndDropData {
@@ -138,11 +139,11 @@ class AsyncDataTreeNodeListDragAndDrop {
138
139
  onDragStart(data, originalEvent) {
139
140
  this.dnd.onDragStart?.(asAsyncDataTreeDragAndDropData(data), originalEvent);
140
141
  }
141
- onDragOver(data, targetNode, targetIndex, originalEvent, raw = true) {
142
- return this.dnd.onDragOver(asAsyncDataTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, originalEvent);
142
+ onDragOver(data, targetNode, targetIndex, targetSector, originalEvent, raw = true) {
143
+ return this.dnd.onDragOver(asAsyncDataTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, targetSector, originalEvent);
143
144
  }
144
- drop(data, targetNode, targetIndex, originalEvent) {
145
- this.dnd.drop(asAsyncDataTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, originalEvent);
145
+ drop(data, targetNode, targetIndex, targetSector, originalEvent) {
146
+ this.dnd.drop(asAsyncDataTreeDragAndDropData(data), targetNode && targetNode.element, targetIndex, targetSector, originalEvent);
146
147
  }
147
148
  onDragEnd(originalEvent) {
148
149
  this.dnd.onDragEnd?.(originalEvent);
@@ -242,8 +243,11 @@ class AsyncDataTree {
242
243
  get onDidChangeCollapseState() { return this.tree.onDidChangeCollapseState; }
243
244
  get onDidUpdateOptions() { return this.tree.onDidUpdateOptions; }
244
245
  get onDidChangeFindOpenState() { return this.tree.onDidChangeFindOpenState; }
246
+ get onDidChangeStickyScrollFocused() { return this.tree.onDidChangeStickyScrollFocused; }
245
247
  get findMode() { return this.tree.findMode; }
246
248
  set findMode(mode) { this.tree.findMode = mode; }
249
+ get findMatchType() { return this.tree.findMatchType; }
250
+ set findMatchType(matchType) { this.tree.findMatchType = matchType; }
247
251
  get expandOnlyOnTwistieClick() {
248
252
  if (typeof this.tree.expandOnlyOnTwistieClick === 'boolean') {
249
253
  return this.tree.expandOnlyOnTwistieClick;
@@ -268,6 +272,7 @@ class AsyncDataTree {
268
272
  this.getDefaultCollapseState = e => options.collapseByDefault ? (options.collapseByDefault(e) ? ObjectTreeElementCollapseState.PreserveOrCollapsed : ObjectTreeElementCollapseState.PreserveOrExpanded) : undefined;
269
273
  this.tree = this.createTree(user, container, delegate, renderers, options);
270
274
  this.onDidChangeFindMode = this.tree.onDidChangeFindMode;
275
+ this.onDidChangeFindMatchType = this.tree.onDidChangeFindMatchType;
271
276
  this.root = createAsyncDataTreeNode({
272
277
  element: undefined,
273
278
  parent: null,
@@ -534,6 +539,13 @@ class AsyncDataTree {
534
539
  const nodes = this.tree.getFocus();
535
540
  return ( nodes.map(n => n.element));
536
541
  }
542
+ getStickyScrollFocus() {
543
+ const nodes = this.tree.getStickyScrollFocus();
544
+ return ( nodes.map(n => n.element));
545
+ }
546
+ getFocusedPart() {
547
+ return this.tree.getFocusedPart();
548
+ }
537
549
  reveal(element, relativeTop) {
538
550
  this.tree.reveal(this.getDataNode(element), relativeTop);
539
551
  }
@@ -558,6 +570,9 @@ class AsyncDataTree {
558
570
  }
559
571
  async refreshAndRenderNode(node, recursive, viewStateContext, options) {
560
572
  await this.refreshNode(node, recursive, viewStateContext);
573
+ if (this.disposables.isDisposed) {
574
+ return;
575
+ }
561
576
  this.render(node, viewStateContext, options);
562
577
  }
563
578
  async refreshNode(node, recursive, viewStateContext) {
@@ -942,7 +957,7 @@ class CompressibleAsyncDataTree extends AsyncDataTree {
942
957
  }
943
958
  return { focus, selection, expanded, scrollTop: this.scrollTop };
944
959
  }
945
- render(node, viewStateContext) {
960
+ render(node, viewStateContext, options) {
946
961
  if (!this.identityProvider) {
947
962
  return super.render(node, viewStateContext);
948
963
  }
@@ -962,7 +977,7 @@ class CompressibleAsyncDataTree extends AsyncDataTree {
962
977
  };
963
978
  const oldSelection = getUncompressedIds(this.tree.getSelection());
964
979
  const oldFocus = getUncompressedIds(this.tree.getFocus());
965
- super.render(node, viewStateContext);
980
+ super.render(node, viewStateContext, options);
966
981
  const selection = this.getSelection();
967
982
  let didChangeSelection = false;
968
983
  const focus = this.getFocus();
@@ -106,7 +106,6 @@ class IndexTreeModel {
106
106
  el => this.createTreeNode(el, parentNode, parentNode.visible ? 1 : 0 , revealed, treeListElementsToInsert, onDidCreateNode)
107
107
  ));
108
108
  const lastIndex = location[location.length - 1];
109
- const lastHadChildren = parentNode.children.length > 0;
110
109
  let visibleChildStartIndex = 0;
111
110
  for (let i = lastIndex; i >= 0 && i < parentNode.children.length; i--) {
112
111
  const child = parentNode.children[i];
@@ -163,10 +162,6 @@ class IndexTreeModel {
163
162
  deletedNodes.forEach(visit);
164
163
  }
165
164
  this._onDidSplice.fire({ insertedNodes: nodesToInsert, deletedNodes });
166
- const currentlyHasChildren = parentNode.children.length > 0;
167
- if (lastHadChildren !== currentlyHasChildren) {
168
- this.setCollapsible(location.slice(0, -1), currentlyHasChildren);
169
- }
170
165
  let node = parentNode;
171
166
  while (node) {
172
167
  if (node.visibility === 2 ) {
@@ -1,4 +1,4 @@
1
1
  import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
- var css = ".monaco-tl-row{align-items:center;display:flex;height:100%;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;left:16px;pointer-events:none;position:absolute;top:0}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{border-left:1px solid transparent;box-sizing:border-box;display:inline-block;height:100%}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-contents,.monaco-tl-twistie{height:100%}.monaco-tl-twistie{align-items:center;display:flex!important;flex-shrink:0;font-size:10px;justify-content:center;padding-right:6px;text-align:right;transform:translateX(3px);width:16px}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px;display:flex;margin:0 6px;max-width:200px;padding:3px;position:absolute;top:0;z-index:100}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{align-items:center;cursor:grab;display:flex!important;justify-content:center;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{background-color:var(--vscode-sideBar-background);height:0;left:0;position:absolute;top:0;width:100%;z-index:13}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{background-color:var(--vscode-sideBar-background);opacity:1!important;overflow:hidden;position:absolute;width:100%}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{bottom:-3px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;height:3px;left:0;position:absolute;width:100%}";
2
+ var css = ".monaco-tl-row{align-items:center;display:flex;height:100%;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;left:16px;pointer-events:none;position:absolute;top:0}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{border-left:1px solid transparent;box-sizing:border-box;display:inline-block;height:100%}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-contents,.monaco-tl-twistie{height:100%}.monaco-tl-twistie{align-items:center;display:flex!important;flex-shrink:0;font-size:10px;justify-content:center;padding-right:6px;text-align:right;transform:translateX(3px);width:16px}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px;display:flex;margin:0 6px;max-width:200px;padding:3px;position:absolute;top:0;z-index:100}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{align-items:center;cursor:grab;display:flex!important;justify-content:center;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{background-color:var(--vscode-sideBar-background);height:0;left:0;position:absolute;top:0;width:100%;z-index:13}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{background-color:var(--vscode-sideBar-background);opacity:1!important;overflow:hidden;position:absolute;width:100%}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty,.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container.empty .monaco-tree-sticky-container-shadow{display:none}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{bottom:-3px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset;height:3px;left:0;position:absolute;width:100%}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container[tabindex=\"0\"]:focus{outline:none}";
3
3
  n(css,{});
4
4
  export { css, css as default };
@@ -37,8 +37,9 @@ class CompressibleRenderer {
37
37
  get compressedTreeNodeProvider() {
38
38
  return this._compressedTreeNodeProvider();
39
39
  }
40
- constructor(_compressedTreeNodeProvider, renderer) {
40
+ constructor(_compressedTreeNodeProvider, stickyScrollDelegate, renderer) {
41
41
  this._compressedTreeNodeProvider = _compressedTreeNodeProvider;
42
+ this.stickyScrollDelegate = stickyScrollDelegate;
42
43
  this.renderer = renderer;
43
44
  this.templateId = renderer.templateId;
44
45
  if (renderer.onDidChangeTwistieState) {
@@ -50,7 +51,10 @@ class CompressibleRenderer {
50
51
  return { compressedTreeNode: undefined, data };
51
52
  }
52
53
  renderElement(node, index, templateData, height) {
53
- const compressedTreeNode = this.compressedTreeNodeProvider.getCompressedTreeNode(node.element);
54
+ let compressedTreeNode = this.stickyScrollDelegate.getCompressedNode(node);
55
+ if (!compressedTreeNode) {
56
+ compressedTreeNode = this.compressedTreeNodeProvider.getCompressedTreeNode(node.element);
57
+ }
54
58
  if (compressedTreeNode.element.elements.length === 1) {
55
59
  templateData.compressedTreeNode = undefined;
56
60
  this.renderer.renderElement(node, index, templateData.data, height);
@@ -81,6 +85,67 @@ class CompressibleRenderer {
81
85
  CompressibleRenderer.__decorator = ( __decorate([
82
86
  memoize
83
87
  ], CompressibleRenderer.prototype, "compressedTreeNodeProvider", null));
88
+ class CompressibleStickyScrollDelegate {
89
+ constructor(modelProvider) {
90
+ this.modelProvider = modelProvider;
91
+ this.compressedStickyNodes = ( new Map());
92
+ }
93
+ getCompressedNode(node) {
94
+ return this.compressedStickyNodes.get(node);
95
+ }
96
+ constrainStickyScrollNodes(stickyNodes, stickyScrollMaxItemCount, maxWidgetHeight) {
97
+ this.compressedStickyNodes.clear();
98
+ if (stickyNodes.length === 0) {
99
+ return [];
100
+ }
101
+ for (let i = 0; i < stickyNodes.length; i++) {
102
+ const stickyNode = stickyNodes[i];
103
+ const stickyNodeBottom = stickyNode.position + stickyNode.height;
104
+ const followingReachesMaxHeight = i + 1 < stickyNodes.length && stickyNodeBottom + stickyNodes[i + 1].height > maxWidgetHeight;
105
+ if (followingReachesMaxHeight || i >= stickyScrollMaxItemCount - 1 && stickyScrollMaxItemCount < stickyNodes.length) {
106
+ const uncompressedStickyNodes = stickyNodes.slice(0, i);
107
+ const overflowingStickyNodes = stickyNodes.slice(i);
108
+ const compressedStickyNode = this.compressStickyNodes(overflowingStickyNodes);
109
+ return [...uncompressedStickyNodes, compressedStickyNode];
110
+ }
111
+ }
112
+ return stickyNodes;
113
+ }
114
+ compressStickyNodes(stickyNodes) {
115
+ if (stickyNodes.length === 0) {
116
+ throw new Error('Can\'t compress empty sticky nodes');
117
+ }
118
+ if (!this.modelProvider().isCompressionEnabled()) {
119
+ return stickyNodes[0];
120
+ }
121
+ const elements = [];
122
+ for (const stickyNode of stickyNodes) {
123
+ const compressedNode = this.modelProvider().getCompressedTreeNode(stickyNode.node.element);
124
+ if (compressedNode.element) {
125
+ if (compressedNode.element.incompressible) {
126
+ break;
127
+ }
128
+ elements.push(...compressedNode.element.elements);
129
+ }
130
+ }
131
+ if (elements.length < 2) {
132
+ return stickyNodes[0];
133
+ }
134
+ const lastStickyNode = stickyNodes[stickyNodes.length - 1];
135
+ const compressedElement = { elements, incompressible: false };
136
+ const compressedNode = { ...lastStickyNode.node, children: [], element: compressedElement };
137
+ const stickyTreeNode = ( new Proxy(stickyNodes[0].node, {}));
138
+ const compressedStickyNode = {
139
+ node: stickyTreeNode,
140
+ startIndex: stickyNodes[0].startIndex,
141
+ endIndex: lastStickyNode.endIndex,
142
+ position: stickyNodes[0].position,
143
+ height: stickyNodes[0].height,
144
+ };
145
+ this.compressedStickyNodes.set(stickyTreeNode, compressedNode);
146
+ return compressedStickyNode;
147
+ }
148
+ }
84
149
  function asObjectTreeOptions(compressedTreeNodeProvider, options) {
85
150
  return options && {
86
151
  ...options,
@@ -106,8 +171,9 @@ function asObjectTreeOptions(compressedTreeNodeProvider, options) {
106
171
  class CompressibleObjectTree extends ObjectTree {
107
172
  constructor(user, container, delegate, renderers, options = {}) {
108
173
  const compressedTreeNodeProvider = () => this;
109
- const compressibleRenderers = ( renderers.map(r => ( new CompressibleRenderer(compressedTreeNodeProvider, r))));
110
- super(user, container, delegate, compressibleRenderers, asObjectTreeOptions(compressedTreeNodeProvider, options));
174
+ const stickyScrollDelegate = ( new CompressibleStickyScrollDelegate(() => this.model));
175
+ const compressibleRenderers = ( renderers.map(r => ( new CompressibleRenderer(compressedTreeNodeProvider, stickyScrollDelegate, r))));
176
+ super(user, container, delegate, compressibleRenderers, { ...asObjectTreeOptions(compressedTreeNodeProvider, options), stickyScrollDelegate });
111
177
  }
112
178
  setChildren(element, children = Iterable.empty(), options) {
113
179
  this.model.setChildren(element, children, options);
@@ -7,6 +7,11 @@ function ok(value, message) {
7
7
  function assertNever(value, message = 'Unreachable') {
8
8
  throw new Error(message);
9
9
  }
10
+ function softAssert(condition) {
11
+ if (!condition) {
12
+ onUnexpectedError(( new BugIndicatingError('Assertion Failed')));
13
+ }
14
+ }
10
15
  function assertFn(condition) {
11
16
  if (!condition()) {
12
17
  debugger;
@@ -26,4 +31,4 @@ function checkAdjacentItems(items, predicate) {
26
31
  }
27
32
  return true;
28
33
  }
29
- export { assertFn, assertNever, checkAdjacentItems, ok };
34
+ export { assertFn, assertNever, checkAdjacentItems, ok, softAssert };
@@ -14,7 +14,6 @@ function createCancelablePromise(callback) {
14
14
  const promise = ( new Promise((resolve, reject) => {
15
15
  const subscription = source.token.onCancellationRequested(() => {
16
16
  subscription.dispose();
17
- source.dispose();
18
17
  reject(( new CancellationError()));
19
18
  });
20
19
  Promise.resolve(thenable).then(value => {
@@ -30,6 +29,7 @@ function createCancelablePromise(callback) {
30
29
  return new (class {
31
30
  cancel() {
32
31
  source.cancel();
32
+ source.dispose();
33
33
  }
34
34
  then(resolve, reject) {
35
35
  return promise.then(resolve, reject);
@@ -367,11 +367,17 @@ function first(promiseFactories, shouldStop = t => !!t, defaultValue = null) {
367
367
  class Limiter {
368
368
  constructor(maxDegreeOfParalellism) {
369
369
  this._size = 0;
370
+ this._isDisposed = false;
370
371
  this.maxDegreeOfParalellism = maxDegreeOfParalellism;
371
372
  this.outstandingPromises = [];
372
373
  this.runningPromises = 0;
373
374
  this._onDrained = ( new Emitter());
374
375
  }
376
+ whenIdle() {
377
+ return this.size > 0
378
+ ? Event.toPromise(this.onDrained)
379
+ : Promise.resolve();
380
+ }
375
381
  get onDrained() {
376
382
  return this._onDrained.event;
377
383
  }
@@ -379,6 +385,9 @@ class Limiter {
379
385
  return this._size;
380
386
  }
381
387
  queue(factory) {
388
+ if (this._isDisposed) {
389
+ throw new Error('Object has been disposed');
390
+ }
382
391
  this._size++;
383
392
  return ( new Promise((c, e) => {
384
393
  this.outstandingPromises.push({ factory, c, e });
@@ -395,16 +404,28 @@ class Limiter {
395
404
  }
396
405
  }
397
406
  consumed() {
398
- this._size--;
407
+ if (this._isDisposed) {
408
+ return;
409
+ }
399
410
  this.runningPromises--;
411
+ if (--this._size === 0) {
412
+ this._onDrained.fire();
413
+ }
400
414
  if (this.outstandingPromises.length > 0) {
401
415
  this.consume();
402
416
  }
403
- else {
404
- this._onDrained.fire();
417
+ }
418
+ clear() {
419
+ if (this._isDisposed) {
420
+ throw new Error('Object has been disposed');
405
421
  }
422
+ this.outstandingPromises.length = 0;
423
+ this._size = this.runningPromises;
406
424
  }
407
425
  dispose() {
426
+ this._isDisposed = true;
427
+ this.outstandingPromises.length = 0;
428
+ this._size = 0;
408
429
  this._onDrained.dispose();
409
430
  }
410
431
  }
@@ -436,7 +457,11 @@ class ResourceQueue {
436
457
  }
437
458
  return true;
438
459
  }
439
- queueFor(resource, extUri$1 = extUri) {
460
+ queueSize(resource, extUri$1 = extUri) {
461
+ const key = extUri$1.getComparisonKey(resource);
462
+ return this.queues.get(key)?.size ?? 0;
463
+ }
464
+ queueFor(resource, factory, extUri$1 = extUri) {
440
465
  const key = extUri$1.getComparisonKey(resource);
441
466
  let queue = this.queues.get(key);
442
467
  if (!queue) {
@@ -458,7 +483,7 @@ class ResourceQueue {
458
483
  this.drainListeners.set(drainListenerId, drainListener);
459
484
  this.queues.set(key, queue);
460
485
  }
461
- return queue;
486
+ return queue.queue(factory);
462
487
  }
463
488
  onDidQueueDrain() {
464
489
  if (!this.isDrained()) {
@@ -68,6 +68,7 @@ const Codicon = {
68
68
  closeDirty: register('close-dirty', 0xea71),
69
69
  debugBreakpoint: register('debug-breakpoint', 0xea71),
70
70
  debugBreakpointDisabled: register('debug-breakpoint-disabled', 0xea71),
71
+ debugBreakpointPending: register('debug-breakpoint-pending', 0xebd9),
71
72
  debugHint: register('debug-hint', 0xea71),
72
73
  primitiveSquare: register('primitive-square', 0xea72),
73
74
  edit: register('edit', 0xea73),
@@ -561,6 +562,10 @@ const Codicon = {
561
562
  sparkleFilled: register('sparkle-filled', 0xec21),
562
563
  diffSingle: register('diff-single', 0xec22),
563
564
  diffMultiple: register('diff-multiple', 0xec23),
565
+ surroundWith: register('surround-with', 0xec24),
566
+ gitStash: register('git-stash', 0xec26),
567
+ gitStashApply: register('git-stash-apply', 0xec27),
568
+ gitStashPop: register('git-stash-pop', 0xec28),
564
569
  dialogError: register('dialog-error', 'error'),
565
570
  dialogWarning: register('dialog-warning', 'warning'),
566
571
  dialogInfo: register('dialog-info', 'info'),
@@ -238,11 +238,6 @@ declare namespace Event {
238
238
  */
239
239
  function runAndSubscribe<T>(event: Event<T>, handler: (e: T) => any, initial: T): IDisposable;
240
240
  function runAndSubscribe<T>(event: Event<T>, handler: (e: T | undefined) => any): IDisposable;
241
- /**
242
- * Adds a listener to an event and calls the listener immediately with undefined as the event object. A new
243
- * {@link DisposableStore} is passed to the listener which is disposed when the returned disposable is disposed.
244
- */
245
- function runAndSubscribeWithStore<T>(event: Event<T>, handler: (e: T | undefined, disposableStore: DisposableStore) => any): IDisposable;
246
241
  /**
247
242
  * Creates an event emitter that is fired when the observable changes.
248
243
  * Each listeners subscribes to the emitter.
@@ -319,21 +319,6 @@ var Event;
319
319
  return event(e => handler(e));
320
320
  }
321
321
  Event.runAndSubscribe = runAndSubscribe;
322
- function runAndSubscribeWithStore(event, handler) {
323
- let store = null;
324
- function run(e) {
325
- store?.dispose();
326
- store = ( new DisposableStore());
327
- handler(e, store);
328
- }
329
- run(undefined);
330
- const disposable = event(e => run(e));
331
- return toDisposable(() => {
332
- disposable.dispose();
333
- store?.dispose();
334
- });
335
- }
336
- Event.runAndSubscribeWithStore = runAndSubscribeWithStore;
337
322
  class EmitterObserver {
338
323
  constructor(_observable, store) {
339
324
  this._observable = _observable;
@@ -2,22 +2,5 @@ interface IMatch {
2
2
  start: number;
3
3
  end: number;
4
4
  }
5
- /**
6
- * An array representing a fuzzy match.
7
- *
8
- * 0. the score
9
- * 1. the offset at which matching started
10
- * 2. `<match_pos_N>`
11
- * 3. `<match_pos_1>`
12
- * 4. `<match_pos_0>` etc
13
- */
14
- type FuzzyScore = [score: number, wordStart: number, ...matches: number[]];
15
- declare namespace FuzzyScore {
16
- /**
17
- * No matches and value `-100`
18
- */
19
- const Default: FuzzyScore;
20
- function isDefault(score?: FuzzyScore): score is [-100, 0];
21
- }
22
5
 
23
- export { FuzzyScore, type IMatch };
6
+ export type { IMatch };
@@ -32,11 +32,7 @@ class MarkdownString {
32
32
  return this;
33
33
  }
34
34
  appendCodeblock(langId, code) {
35
- this.value += '\n```';
36
- this.value += langId;
37
- this.value += '\n';
38
- this.value += code;
39
- this.value += '\n```\n';
35
+ this.value += `\n${appendEscapedMarkdownCodeBlockFence(code, langId)}\n`;
40
36
  return this;
41
37
  }
42
38
  appendLink(target, label, title) {
@@ -102,6 +98,16 @@ function markdownStringEqual(a, b) {
102
98
  function escapeMarkdownSyntaxTokens(text) {
103
99
  return text.replace(/[\\`*_{}[\]()#+\-!~]/g, '\\$&');
104
100
  }
101
+ function appendEscapedMarkdownCodeBlockFence(code, langId) {
102
+ const longestFenceLength = code.match(/^`+/gm)?.reduce((a, b) => (a.length > b.length ? a : b)).length ??
103
+ 0;
104
+ const desiredFenceLength = longestFenceLength >= 3 ? longestFenceLength + 1 : 3;
105
+ return [
106
+ `${'`'.repeat(desiredFenceLength)}${langId}`,
107
+ code,
108
+ `${'`'.repeat(desiredFenceLength)}`,
109
+ ].join('\n');
110
+ }
105
111
  function escapeDoubleQuotes(input) {
106
112
  return input.replace(/"/g, '&quot;');
107
113
  }
@@ -132,4 +138,4 @@ function parseHrefAndDimensions(href) {
132
138
  }
133
139
  return { href, dimensions };
134
140
  }
135
- export { MarkdownString, escapeDoubleQuotes, escapeMarkdownSyntaxTokens, isEmptyMarkdownString, isMarkdownString, markdownStringEqual, parseHrefAndDimensions, removeMarkdownEscapes };
141
+ export { MarkdownString, appendEscapedMarkdownCodeBlockFence, escapeDoubleQuotes, escapeMarkdownSyntaxTokens, isEmptyMarkdownString, isMarkdownString, markdownStringEqual, parseHrefAndDimensions, removeMarkdownEscapes };
@@ -118,5 +118,13 @@ var Iterable;
118
118
  return [consumed, { [Symbol.iterator]() { return iterator; } }];
119
119
  }
120
120
  Iterable.consume = consume;
121
+ async function asyncToArray(iterable) {
122
+ const result = [];
123
+ for await (const item of iterable) {
124
+ result.push(item);
125
+ }
126
+ return Promise.resolve(result);
127
+ }
128
+ Iterable.asyncToArray = asyncToArray;
121
129
  })(Iterable || (Iterable = {})));
122
130
  export { Iterable };
@@ -243,7 +243,8 @@ function splitRecentLabel(recentLabel) {
243
243
  const lastIndexOfSquareBracket = recentLabel.lastIndexOf(' [', recentLabel.length - 2);
244
244
  if (lastIndexOfSquareBracket !== -1) {
245
245
  const split = splitName(recentLabel.substring(0, lastIndexOfSquareBracket));
246
- return { name: split.name, parentPath: split.parentPath + recentLabel.substring(lastIndexOfSquareBracket) };
246
+ const remoteNameWithSpace = recentLabel.substring(lastIndexOfSquareBracket);
247
+ return { name: split.name + remoteNameWithSpace, parentPath: split.parentPath };
247
248
  }
248
249
  }
249
250
  return splitName(recentLabel);
@@ -603,4 +603,23 @@ class SetMap {
603
603
  return values;
604
604
  }
605
605
  }
606
- export { BidirectionalMap, CounterSet, LRUCache, LinkedMap, ResourceMap, ResourceSet, SetMap, getOrSet };
606
+ function mapsStrictEqualIgnoreOrder(a, b) {
607
+ if (a === b) {
608
+ return true;
609
+ }
610
+ if (a.size !== b.size) {
611
+ return false;
612
+ }
613
+ for (const [key, value] of a) {
614
+ if (!( b.has(key)) || b.get(key) !== value) {
615
+ return false;
616
+ }
617
+ }
618
+ for (const [key] of b) {
619
+ if (!( a.has(key))) {
620
+ return false;
621
+ }
622
+ }
623
+ return true;
624
+ }
625
+ export { BidirectionalMap, CounterSet, LRUCache, LinkedMap, ResourceMap, ResourceSet, SetMap, getOrSet, mapsStrictEqualIgnoreOrder };
@@ -54,6 +54,10 @@ interface IObservable<T, TChange = unknown> {
54
54
  * Makes sure this value is computed eagerly.
55
55
  */
56
56
  recomputeInitiallyAndOnChange(store: DisposableStore, handleValue?: (value: T) => void): IObservable<T>;
57
+ /**
58
+ * Makes sure this value is cached.
59
+ */
60
+ keepObserved(store: DisposableStore): IObservable<T>;
57
61
  /**
58
62
  * A human-readable name for debugging purposes.
59
63
  */
@@ -2,6 +2,10 @@ let _recomputeInitiallyAndOnChange;
2
2
  function _setRecomputeInitiallyAndOnChange(recomputeInitiallyAndOnChange) {
3
3
  _recomputeInitiallyAndOnChange = recomputeInitiallyAndOnChange;
4
4
  }
5
+ let _keepObserved;
6
+ function _setKeepObserved(keepObserved) {
7
+ _keepObserved = keepObserved;
8
+ }
5
9
  let _derived;
6
10
  function _setDerivedOpts(derived) {
7
11
  _derived = derived;
@@ -45,6 +49,10 @@ class ConvenientObservable {
45
49
  store.add(_recomputeInitiallyAndOnChange(this, handleValue));
46
50
  return this;
47
51
  }
52
+ keepObserved(store) {
53
+ store.add(_keepObserved(this));
54
+ return this;
55
+ }
48
56
  }
49
57
  class BaseObservable extends ConvenientObservable {
50
58
  constructor() {
@@ -137,24 +145,24 @@ class TransactionImpl {
137
145
  }
138
146
  const countPerName = ( new Map());
139
147
  const cachedDebugName = ( new WeakMap());
140
- function getDebugName(obj, debugNameFn, fn, owner, self) {
141
- const cached = cachedDebugName.get(obj);
148
+ function getDebugName(self, debugNameFn, fn, owner) {
149
+ const cached = cachedDebugName.get(self);
142
150
  if (cached) {
143
151
  return cached;
144
152
  }
145
- const dbgName = computeDebugName(obj, debugNameFn, fn, owner, self);
153
+ const dbgName = computeDebugName(self, debugNameFn, fn, owner);
146
154
  if (dbgName) {
147
155
  let count = countPerName.get(dbgName) ?? 0;
148
156
  count++;
149
157
  countPerName.set(dbgName, count);
150
158
  const result = count === 1 ? dbgName : `${dbgName}#${count}`;
151
- cachedDebugName.set(obj, result);
159
+ cachedDebugName.set(self, result);
152
160
  return result;
153
161
  }
154
162
  return undefined;
155
163
  }
156
- function computeDebugName(obj, debugNameFn, fn, owner, self) {
157
- const cached = cachedDebugName.get(obj);
164
+ function computeDebugName(self, debugNameFn, fn, owner) {
165
+ const cached = cachedDebugName.get(self);
158
166
  if (cached) {
159
167
  return cached;
160
168
  }
@@ -225,7 +233,7 @@ function observableValue(nameOrOwner, initialValue) {
225
233
  }
226
234
  class ObservableValue extends BaseObservable {
227
235
  get debugName() {
228
- return getDebugName(this, this._debugName, undefined, this._owner, this) ?? 'ObservableValue';
236
+ return getDebugName(this, this._debugName, undefined, this._owner) ?? 'ObservableValue';
229
237
  }
230
238
  constructor(_owner, _debugName, initialValue) {
231
239
  super();
@@ -286,4 +294,4 @@ class DisposableObservableValue extends ObservableValue {
286
294
  this._value?.dispose();
287
295
  }
288
296
  }
289
- export { BaseObservable, ConvenientObservable, DisposableObservableValue, ObservableValue, TransactionImpl, _setDerivedOpts, _setRecomputeInitiallyAndOnChange, asyncTransaction, disposableObservableValue, getDebugName, getFunctionName, globalTransaction, observableValue, subtransaction, transaction };
297
+ export { BaseObservable, ConvenientObservable, DisposableObservableValue, ObservableValue, TransactionImpl, _setDerivedOpts, _setKeepObserved, _setRecomputeInitiallyAndOnChange, asyncTransaction, disposableObservableValue, getDebugName, getFunctionName, globalTransaction, observableValue, subtransaction, transaction };
@@ -1,4 +1,4 @@
1
- import { BugIndicatingError } from '../errors.js';
1
+ import { assertFn } from '../assert.js';
2
2
  import { DisposableStore } from '../lifecycle.js';
3
3
  import { getFunctionName, BaseObservable, getDebugName, _setDerivedOpts } from './base.js';
4
4
  const defaultEqualityComparer = (a, b) => a === b;
@@ -31,7 +31,7 @@ function derivedOpts(options, computeFn) {
31
31
  computeFn,
32
32
  undefined,
33
33
  undefined,
34
- undefined,
34
+ options.onLastObserverRemoved,
35
35
  options.equalityComparer ?? defaultEqualityComparer
36
36
  ));
37
37
  }
@@ -87,7 +87,7 @@ function derivedDisposable(computeFnOrOwner, computeFnOrUndefined) {
87
87
  _setDerivedOpts(derivedOpts);
88
88
  class Derived extends BaseObservable {
89
89
  get debugName() {
90
- return getDebugName(this, this._debugName, this._computeFn, this._owner, this) ?? '(anonymous)';
90
+ return getDebugName(this, this._debugName, this._computeFn, this._owner) ?? '(anonymous)';
91
91
  }
92
92
  constructor(_owner, _debugName, _computeFn, createChangeSummary, _handleChange, _handleLastObserverRemoved = undefined, _equalityComparator) {
93
93
  super();
@@ -195,9 +195,7 @@ class Derived extends BaseObservable {
195
195
  r.endUpdate(this);
196
196
  }
197
197
  }
198
- if (this.updateCount < 0) {
199
- throw new BugIndicatingError();
200
- }
198
+ assertFn(() => this.updateCount >= 0);
201
199
  }
202
200
  handlePossibleChange(observable) {
203
201
  if (this.state === 3 && ( this.dependencies.has(observable)) && !( this.dependenciesToBeRemoved.has(observable))) {