@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
@@ -579,7 +579,7 @@ class EditorFontLigatures extends BaseEditorOption {
579
579
  return this.defaultValue;
580
580
  }
581
581
  if (typeof input === 'string') {
582
- if (input === 'false') {
582
+ if (input === 'false' || input.length === 0) {
583
583
  return EditorFontLigatures.OFF;
584
584
  }
585
585
  if (input === 'true') {
@@ -1269,52 +1269,44 @@ class WrappingStrategy extends BaseEditorOption {
1269
1269
  return value;
1270
1270
  }
1271
1271
  }
1272
- var ShowAiIconMode;
1273
- ( (function(ShowAiIconMode) {
1274
- ShowAiIconMode["Off"] = "off";
1275
- ShowAiIconMode["OnCode"] = "onCode";
1276
- ShowAiIconMode["On"] = "on";
1277
- })(ShowAiIconMode || (ShowAiIconMode = {})));
1272
+ var ShowLightbulbIconMode;
1273
+ ( (function(ShowLightbulbIconMode) {
1274
+ ShowLightbulbIconMode["Off"] = "off";
1275
+ ShowLightbulbIconMode["OnCode"] = "onCode";
1276
+ ShowLightbulbIconMode["On"] = "on";
1277
+ })(ShowLightbulbIconMode || (ShowLightbulbIconMode = {})));
1278
1278
  class EditorLightbulb extends BaseEditorOption {
1279
1279
  constructor() {
1280
- const defaults = { enabled: true, experimental: { showAiIcon: ShowAiIconMode.Off } };
1280
+ const defaults = { enabled: ShowLightbulbIconMode.OnCode };
1281
1281
  super(64 , 'lightbulb', defaults, {
1282
1282
  'editor.lightbulb.enabled': {
1283
- type: 'boolean',
1284
- default: defaults.enabled,
1285
- description: ( localizeWithPath(
1286
- 'vs/editor/common/config/editorOptions',
1287
- 'codeActions',
1288
- "Enables the Code Action lightbulb in the editor."
1289
- ))
1290
- },
1291
- 'editor.lightbulb.experimental.showAiIcon': {
1292
1283
  type: 'string',
1293
- enum: [ShowAiIconMode.Off, ShowAiIconMode.OnCode, ShowAiIconMode.On],
1294
- default: defaults.experimental.showAiIcon,
1284
+ tags: ['experimental'],
1285
+ enum: [ShowLightbulbIconMode.Off, ShowLightbulbIconMode.OnCode, ShowLightbulbIconMode.On],
1286
+ default: defaults.enabled,
1295
1287
  enumDescriptions: [
1296
1288
  ( localizeWithPath(
1297
1289
  'vs/editor/common/config/editorOptions',
1298
- 'editor.lightbulb.showAiIcon.off',
1299
- 'Don not show the AI icon.'
1290
+ 'editor.lightbulb.enabled.off',
1291
+ 'Disable the code action menu.'
1300
1292
  )),
1301
1293
  ( localizeWithPath(
1302
1294
  'vs/editor/common/config/editorOptions',
1303
- 'editor.lightbulb.showAiIcon.onCode',
1304
- 'Show an AI icon when the code action menu contains an AI action, but only on code.'
1295
+ 'editor.lightbulb.enabled.onCode',
1296
+ 'Show the code action menu when the cursor is on lines with code.'
1305
1297
  )),
1306
1298
  ( localizeWithPath(
1307
1299
  'vs/editor/common/config/editorOptions',
1308
- 'editor.lightbulb.showAiIcon.on',
1309
- 'Show an AI icon when the code action menu contains an AI action, on code and empty lines.'
1300
+ 'editor.lightbulb.enabled.on',
1301
+ 'Show the code action menu when the cursor is on lines with code or on empty lines.'
1310
1302
  )),
1311
1303
  ],
1312
1304
  description: ( localizeWithPath(
1313
1305
  'vs/editor/common/config/editorOptions',
1314
- 'showAiIcons',
1315
- "Show an AI icon along with the lightbulb when the code action menu contains an AI action."
1306
+ 'enabled',
1307
+ "Enables the Code Action lightbulb in the editor."
1316
1308
  ))
1317
- },
1309
+ }
1318
1310
  });
1319
1311
  }
1320
1312
  validate(_input) {
@@ -1323,10 +1315,7 @@ class EditorLightbulb extends BaseEditorOption {
1323
1315
  }
1324
1316
  const input = _input;
1325
1317
  return {
1326
- enabled: boolean(input.enabled, this.defaultValue.enabled),
1327
- experimental: {
1328
- showAiIcon: stringSet(input.experimental?.showAiIcon, this.defaultValue.experimental?.showAiIcon, [ShowAiIconMode.Off, ShowAiIconMode.OnCode, ShowAiIconMode.On])
1329
- }
1318
+ enabled: stringSet(input.enabled, this.defaultValue.enabled, [ShowLightbulbIconMode.Off, ShowLightbulbIconMode.OnCode, ShowLightbulbIconMode.On])
1330
1319
  };
1331
1320
  }
1332
1321
  }
@@ -1341,7 +1330,8 @@ class EditorStickyScroll extends BaseEditorOption {
1341
1330
  'vs/editor/common/config/editorOptions',
1342
1331
  'editor.stickyScroll.enabled',
1343
1332
  "Shows the nested current scopes during the scroll at the top of the editor."
1344
- ))
1333
+ )),
1334
+ tags: ['experimental']
1345
1335
  },
1346
1336
  'editor.stickyScroll.maxLineCount': {
1347
1337
  type: 'number',
@@ -2282,6 +2272,7 @@ class InlineEditorSuggest extends BaseEditorOption {
2282
2272
  showToolbar: 'onHover',
2283
2273
  suppressSuggestions: false,
2284
2274
  keepOnBlur: false,
2275
+ fontFamily: 'default'
2285
2276
  };
2286
2277
  super(62 , 'inlineSuggest', defaults, {
2287
2278
  'editor.inlineSuggest.enabled': {
@@ -2329,6 +2320,15 @@ class InlineEditorSuggest extends BaseEditorOption {
2329
2320
  "Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available."
2330
2321
  ))
2331
2322
  },
2323
+ 'editor.inlineSuggest.fontFamily': {
2324
+ type: 'string',
2325
+ default: defaults.fontFamily,
2326
+ description: ( localizeWithPath(
2327
+ 'vs/editor/common/config/editorOptions',
2328
+ 'inlineSuggest.fontFamily',
2329
+ "Controls the font family of the inline suggestions."
2330
+ ))
2331
+ },
2332
2332
  });
2333
2333
  }
2334
2334
  validate(_input) {
@@ -2342,6 +2342,7 @@ class InlineEditorSuggest extends BaseEditorOption {
2342
2342
  showToolbar: stringSet(input.showToolbar, this.defaultValue.showToolbar, ['always', 'onHover', 'never']),
2343
2343
  suppressSuggestions: boolean(input.suppressSuggestions, this.defaultValue.suppressSuggestions),
2344
2344
  keepOnBlur: boolean(input.keepOnBlur, this.defaultValue.keepOnBlur),
2345
+ fontFamily: EditorStringOption.string(input.fontFamily, this.defaultValue.fontFamily)
2345
2346
  };
2346
2347
  }
2347
2348
  }
@@ -3138,7 +3139,7 @@ class EditorDropIntoEditor extends BaseEditorOption {
3138
3139
  markdownDescription: ( localizeWithPath(
3139
3140
  'vs/editor/common/config/editorOptions',
3140
3141
  'dropIntoEditor.enabled',
3141
- "Controls whether you can drag and drop a file into a text editor by holding down `Shift`-key (instead of opening the file in an editor)."
3142
+ "Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor)."
3142
3143
  )),
3143
3144
  },
3144
3145
  'editor.dropIntoEditor.showDropSelector': {
@@ -4001,16 +4002,19 @@ const EditorOptions = {
4001
4002
  "A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events."
4002
4003
  )) }
4003
4004
  ))),
4004
- mouseWheelZoom: register(( new EditorBooleanOption(
4005
- 75 ,
4006
- 'mouseWheelZoom',
4007
- false,
4008
- { markdownDescription: ( localizeWithPath(
4005
+ mouseWheelZoom: register(( new EditorBooleanOption(75 , 'mouseWheelZoom', false, {
4006
+ markdownDescription: isMacintosh
4007
+ ? ( localizeWithPath(
4008
+ 'vs/editor/common/config/editorOptions',
4009
+ 'mouseWheelZoom.mac',
4010
+ "Zoom the font of the editor when using mouse wheel and holding `Cmd`."
4011
+ ))
4012
+ : ( localizeWithPath(
4009
4013
  'vs/editor/common/config/editorOptions',
4010
4014
  'mouseWheelZoom',
4011
4015
  "Zoom the font of the editor when using mouse wheel and holding `Ctrl`."
4012
- )) }
4013
- ))),
4016
+ ))
4017
+ }))),
4014
4018
  multiCursorMergeOverlapping: register(( new EditorBooleanOption(
4015
4019
  76 ,
4016
4020
  'multiCursorMergeOverlapping',
@@ -4762,4 +4766,4 @@ const EditorOptions = {
4762
4766
  wrappingIndent: register(( new WrappingIndentOption())),
4763
4767
  wrappingStrategy: register(( new WrappingStrategy()))
4764
4768
  };
4765
- export { ApplyUpdateResult, ComputeOptionsMemory, ConfigurationChangedEvent, EDITOR_FONT_DEFAULTS, EditorFontLigatures, EditorFontVariations, EditorLayoutInfoComputer, EditorOptions, MINIMAP_GUTTER_WIDTH, ShowAiIconMode, TextEditorCursorStyle, boolean, clampedFloat, clampedInt, cursorStyleToString, editorOptionsRegistry, filterValidationDecorations, inUntrustedWorkspace, stringSet, unicodeHighlightConfigKeys };
4769
+ export { ApplyUpdateResult, ComputeOptionsMemory, ConfigurationChangedEvent, EDITOR_FONT_DEFAULTS, EditorFontLigatures, EditorFontVariations, EditorLayoutInfoComputer, EditorOptions, MINIMAP_GUTTER_WIDTH, ShowLightbulbIconMode, TextEditorCursorStyle, boolean, clampedFloat, clampedInt, cursorStyleToString, editorOptionsRegistry, filterValidationDecorations, inUntrustedWorkspace, stringSet, unicodeHighlightConfigKeys };
@@ -1,6 +1,6 @@
1
1
  import { localizeWithPath } from '../../../nls.js';
2
2
  import { Color, RGBA } from '../../../base/common/color.js';
3
- import { registerColor, contrastBorder, activeContrastBorder, editorFindMatchHighlight, editorBackground, editorWarningForeground, editorWarningBorder, editorInfoForeground, editorInfoBorder } from '../../../platform/theme/common/colorRegistry.js';
3
+ import { registerColor, contrastBorder, activeContrastBorder, editorFindMatchHighlight, editorBackground, editorWarningForeground, editorWarningBorder, editorInfoForeground, editorInfoBorder, editorWarningBackground } from '../../../platform/theme/common/colorRegistry.js';
4
4
  import { registerThemingParticipant } from '../../../platform/theme/common/themeService.js';
5
5
  const editorLineHighlight = registerColor('editor.lineHighlightBackground', { dark: null, light: null, hcDark: null, hcLight: null }, ( localizeWithPath(
6
6
  'vs/editor/common/core/editorColorRegistry',
@@ -325,12 +325,12 @@ const editorBracketPairGuideActiveBackground6 = registerColor('editorBracketPair
325
325
  'editorBracketPairGuide.activeBackground6',
326
326
  'Background color of active bracket pair guides (6). Requires enabling bracket pair guides.'
327
327
  )));
328
- registerColor('editorUnicodeHighlight.border', { dark: '#BD9B03', light: '#CEA33D', hcDark: '#ff0000', hcLight: '#CEA33D' }, ( localizeWithPath(
328
+ registerColor('editorUnicodeHighlight.border', { dark: editorWarningForeground, light: editorWarningForeground, hcDark: editorWarningForeground, hcLight: editorWarningForeground }, ( localizeWithPath(
329
329
  'vs/editor/common/core/editorColorRegistry',
330
330
  'editorUnicodeHighlight.border',
331
331
  'Border color used to highlight unicode characters.'
332
332
  )));
333
- registerColor('editorUnicodeHighlight.background', { dark: '#bd9b0326', light: '#cea33d14', hcDark: '#00000000', hcLight: '#cea33d14' }, ( localizeWithPath(
333
+ registerColor('editorUnicodeHighlight.background', { dark: editorWarningBackground, light: editorWarningBackground, hcDark: editorWarningBackground, hcLight: editorWarningBackground }, ( localizeWithPath(
334
334
  'vs/editor/common/core/editorColorRegistry',
335
335
  'editorUnicodeHighlight.background',
336
336
  'Background color used to highlight unicode characters.'
@@ -34,10 +34,12 @@ declare class OffsetRange implements IOffsetRange {
34
34
  * If the ranges don't even touch, the result is undefined.
35
35
  */
36
36
  intersect(other: OffsetRange): OffsetRange | undefined;
37
+ intersects(other: OffsetRange): boolean;
37
38
  intersectsOrTouches(other: OffsetRange): boolean;
38
39
  isBefore(other: OffsetRange): boolean;
39
40
  isAfter(other: OffsetRange): boolean;
40
41
  slice<T>(arr: T[]): T[];
42
+ substring(str: string): string;
41
43
  /**
42
44
  * Returns the given value if it is contained in this instance, otherwise the closest value that is contained.
43
45
  * The range must not be empty.
@@ -78,6 +78,11 @@ class OffsetRange {
78
78
  }
79
79
  return undefined;
80
80
  }
81
+ intersects(other) {
82
+ const start = Math.max(this.start, other.start);
83
+ const end = Math.min(this.endExclusive, other.endExclusive);
84
+ return start < end;
85
+ }
81
86
  intersectsOrTouches(other) {
82
87
  const start = Math.max(this.start, other.start);
83
88
  const end = Math.min(this.endExclusive, other.endExclusive);
@@ -92,6 +97,9 @@ class OffsetRange {
92
97
  slice(arr) {
93
98
  return arr.slice(this.start, this.endExclusive);
94
99
  }
100
+ substring(str) {
101
+ return str.substring(this.start, this.endExclusive);
102
+ }
95
103
  clip(value) {
96
104
  if (this.isEmpty) {
97
105
  throw new BugIndicatingError(`Invalid clipping range: ${this.toString()}`);
@@ -87,6 +87,15 @@ class OffsetPair {
87
87
  toString() {
88
88
  return `${this.offset1} <-> ${this.offset2}`;
89
89
  }
90
+ delta(offset) {
91
+ if (offset === 0) {
92
+ return this;
93
+ }
94
+ return ( new OffsetPair(this.offset1 + offset, this.offset2 + offset));
95
+ }
96
+ equals(other) {
97
+ return this.offset1 === other.offset1 && this.offset2 === other.offset2;
98
+ }
90
99
  }
91
100
  class InfiniteTimeout {
92
101
  static { this.instance = ( new InfiniteTimeout()); }
@@ -72,12 +72,12 @@ function shiftSequenceDiffs(sequence1, sequence2, sequenceDiffs) {
72
72
  const diff = sequenceDiffs[i];
73
73
  const nextDiff = (i + 1 < sequenceDiffs.length ? sequenceDiffs[i + 1] : undefined);
74
74
  const seq1ValidRange = ( new OffsetRange(
75
- prevDiff ? prevDiff.seq1Range.start + 1 : 0,
76
- nextDiff ? nextDiff.seq1Range.endExclusive - 1 : sequence1.length
75
+ prevDiff ? prevDiff.seq1Range.endExclusive + 1 : 0,
76
+ nextDiff ? nextDiff.seq1Range.start - 1 : sequence1.length
77
77
  ));
78
78
  const seq2ValidRange = ( new OffsetRange(
79
- prevDiff ? prevDiff.seq2Range.start + 1 : 0,
80
- nextDiff ? nextDiff.seq2Range.endExclusive - 1 : sequence2.length
79
+ prevDiff ? prevDiff.seq2Range.endExclusive + 1 : 0,
80
+ nextDiff ? nextDiff.seq2Range.start - 1 : sequence2.length
81
81
  ));
82
82
  if (diff.seq1Range.isEmpty) {
83
83
  sequenceDiffs[i] = shiftDiffToBetterPosition(diff, sequence1, sequence2, seq1ValidRange, seq2ValidRange);
@@ -138,57 +138,55 @@ function removeShortMatches(sequence1, sequence2, sequenceDiffs) {
138
138
  return result;
139
139
  }
140
140
  function extendDiffsToEntireWordIfAppropriate(sequence1, sequence2, sequenceDiffs) {
141
+ const equalMappings = SequenceDiff.invert(sequenceDiffs, sequence1.length);
141
142
  const additional = [];
142
- let lastModifiedWord = undefined;
143
- function maybePushWordToAdditional() {
144
- if (!lastModifiedWord) {
143
+ let lastPoint = ( new OffsetPair(0, 0));
144
+ function scanWord(pair, equalMapping) {
145
+ if (pair.offset1 < lastPoint.offset1 || pair.offset2 < lastPoint.offset2) {
145
146
  return;
146
147
  }
147
- const originalLength1 = lastModifiedWord.s1Range.length - lastModifiedWord.deleted;
148
- if (Math.max(lastModifiedWord.deleted, lastModifiedWord.added) + (lastModifiedWord.count - 1) > originalLength1) {
149
- additional.push(( new SequenceDiff(lastModifiedWord.s1Range, lastModifiedWord.s2Range)));
148
+ const w1 = sequence1.findWordContaining(pair.offset1);
149
+ const w2 = sequence2.findWordContaining(pair.offset2);
150
+ if (!w1 || !w2) {
151
+ return;
150
152
  }
151
- lastModifiedWord = undefined;
152
- }
153
- for (const s of sequenceDiffs) {
154
- function processWord(s1Range, s2Range) {
155
- if (!lastModifiedWord || !lastModifiedWord.s1Range.containsRange(s1Range) || !lastModifiedWord.s2Range.containsRange(s2Range)) {
156
- if (lastModifiedWord && !(lastModifiedWord.s1Range.endExclusive < s1Range.start && lastModifiedWord.s2Range.endExclusive < s2Range.start)) {
157
- const s1Added = OffsetRange.tryCreate(lastModifiedWord.s1Range.endExclusive, s1Range.start);
158
- const s2Added = OffsetRange.tryCreate(lastModifiedWord.s2Range.endExclusive, s2Range.start);
159
- lastModifiedWord.deleted += s1Added?.length ?? 0;
160
- lastModifiedWord.added += s2Added?.length ?? 0;
161
- lastModifiedWord.s1Range = lastModifiedWord.s1Range.join(s1Range);
162
- lastModifiedWord.s2Range = lastModifiedWord.s2Range.join(s2Range);
163
- }
164
- else {
165
- maybePushWordToAdditional();
166
- lastModifiedWord = { added: 0, deleted: 0, count: 0, s1Range: s1Range, s2Range: s2Range };
167
- }
153
+ let w = ( new SequenceDiff(w1, w2));
154
+ const equalPart = w.intersect(equalMapping);
155
+ let equalChars1 = equalPart.seq1Range.length;
156
+ let equalChars2 = equalPart.seq2Range.length;
157
+ while (equalMappings.length > 0) {
158
+ const next = equalMappings[0];
159
+ const intersects = next.seq1Range.intersects(w1) || next.seq2Range.intersects(w2);
160
+ if (!intersects) {
161
+ break;
168
162
  }
169
- const changedS1 = s1Range.intersect(s.seq1Range);
170
- const changedS2 = s2Range.intersect(s.seq2Range);
171
- lastModifiedWord.count++;
172
- lastModifiedWord.deleted += changedS1?.length ?? 0;
173
- lastModifiedWord.added += changedS2?.length ?? 0;
174
- }
175
- const w1Before = sequence1.findWordContaining(s.seq1Range.start - 1);
176
- const w2Before = sequence2.findWordContaining(s.seq2Range.start - 1);
177
- const w1After = sequence1.findWordContaining(s.seq1Range.endExclusive);
178
- const w2After = sequence2.findWordContaining(s.seq2Range.endExclusive);
179
- if (w1Before && w1After && w2Before && w2After && w1Before.equals(w1After) && w2Before.equals(w2After)) {
180
- processWord(w1Before, w2Before);
181
- }
182
- else {
183
- if (w1Before && w2Before) {
184
- processWord(w1Before, w2Before);
163
+ const v1 = sequence1.findWordContaining(next.seq1Range.start);
164
+ const v2 = sequence2.findWordContaining(next.seq2Range.start);
165
+ const v = ( new SequenceDiff(v1, v2));
166
+ const equalPart = v.intersect(next);
167
+ equalChars1 += equalPart.seq1Range.length;
168
+ equalChars2 += equalPart.seq2Range.length;
169
+ w = w.join(v);
170
+ if (w.seq1Range.endExclusive >= next.seq1Range.endExclusive) {
171
+ equalMappings.shift();
185
172
  }
186
- if (w1After && w2After) {
187
- processWord(w1After, w2After);
173
+ else {
174
+ break;
188
175
  }
189
176
  }
177
+ if (equalChars1 + equalChars2 < (w.seq1Range.length + w.seq2Range.length) * 2 / 3) {
178
+ additional.push(w);
179
+ }
180
+ lastPoint = w.getEndExclusives();
181
+ }
182
+ while (equalMappings.length > 0) {
183
+ const next = equalMappings.shift();
184
+ if (next.seq1Range.isEmpty) {
185
+ continue;
186
+ }
187
+ scanWord(next.getStarts(), next);
188
+ scanWord(next.getEndExclusives().delta(-1), next);
190
189
  }
191
- maybePushWordToAdditional();
192
190
  const merged = mergeSequenceDiffs(sequenceDiffs, additional);
193
191
  return merged;
194
192
  }
@@ -322,7 +320,12 @@ function removeVeryShortMatchingTextBetweenLongDiffs(sequence1, sequence2, seque
322
320
  }
323
321
  const availableSpace = SequenceDiff.fromOffsetPairs(prev ? prev.getEndExclusives() : OffsetPair.zero, next ? next.getStarts() : OffsetPair.max);
324
322
  const result = newDiff.intersect(availableSpace);
325
- newDiffs.push(result);
323
+ if (newDiffs.length > 0 && result.getStarts().equals(newDiffs[newDiffs.length - 1].getEndExclusives())) {
324
+ newDiffs[newDiffs.length - 1] = newDiffs[newDiffs.length - 1].join(result);
325
+ }
326
+ else {
327
+ newDiffs.push(result);
328
+ }
326
329
  });
327
330
  return newDiffs;
328
331
  }
@@ -62,6 +62,9 @@ class LinesSliceCharSequence {
62
62
  if (prevCategory === 7 && nextCategory === 8 ) {
63
63
  return 0;
64
64
  }
65
+ if (prevCategory === 8 ) {
66
+ return 150;
67
+ }
65
68
  let score = 0;
66
69
  if (prevCategory !== nextCategory) {
67
70
  score += 10;
@@ -126,7 +129,7 @@ const score = {
126
129
  [2 ]: 0,
127
130
  [3 ]: 10,
128
131
  [4 ]: 2,
129
- [5 ]: 3,
132
+ [5 ]: 30,
130
133
  [6 ]: 3,
131
134
  [7 ]: 10,
132
135
  [8 ]: 10,
@@ -5,7 +5,8 @@ import { Range } from '../core/range.js';
5
5
  * Maps a line range in the original text model to a line range in the modified text model.
6
6
  */
7
7
  declare class LineRangeMapping {
8
- static inverse(mapping: readonly DetailedLineRangeMapping[], originalLineCount: number, modifiedLineCount: number): DetailedLineRangeMapping[];
8
+ static inverse(mapping: readonly LineRangeMapping[], originalLineCount: number, modifiedLineCount: number): LineRangeMapping[];
9
+ static clip(mapping: readonly LineRangeMapping[], originalRange: LineRange, modifiedRange: LineRange): LineRangeMapping[];
9
10
  /**
10
11
  * The line range in the original text model.
11
12
  */
@@ -5,19 +5,30 @@ class LineRangeMapping {
5
5
  let lastOriginalEndLineNumber = 1;
6
6
  let lastModifiedEndLineNumber = 1;
7
7
  for (const m of mapping) {
8
- const r = ( new DetailedLineRangeMapping(( new LineRange(lastOriginalEndLineNumber, m.original.startLineNumber)), ( new LineRange(lastModifiedEndLineNumber, m.modified.startLineNumber)), undefined));
8
+ const r = ( new LineRangeMapping(( new LineRange(lastOriginalEndLineNumber, m.original.startLineNumber)), ( new LineRange(lastModifiedEndLineNumber, m.modified.startLineNumber))));
9
9
  if (!r.modified.isEmpty) {
10
10
  result.push(r);
11
11
  }
12
12
  lastOriginalEndLineNumber = m.original.endLineNumberExclusive;
13
13
  lastModifiedEndLineNumber = m.modified.endLineNumberExclusive;
14
14
  }
15
- const r = ( new DetailedLineRangeMapping(( new LineRange(lastOriginalEndLineNumber, originalLineCount + 1)), ( new LineRange(lastModifiedEndLineNumber, modifiedLineCount + 1)), undefined));
15
+ const r = ( new LineRangeMapping(( new LineRange(lastOriginalEndLineNumber, originalLineCount + 1)), ( new LineRange(lastModifiedEndLineNumber, modifiedLineCount + 1))));
16
16
  if (!r.modified.isEmpty) {
17
17
  result.push(r);
18
18
  }
19
19
  return result;
20
20
  }
21
+ static clip(mapping, originalRange, modifiedRange) {
22
+ const result = [];
23
+ for (const m of mapping) {
24
+ const original = m.original.intersect(originalRange);
25
+ const modified = m.modified.intersect(modifiedRange);
26
+ if (original && !original.isEmpty && modified && !modified.isEmpty) {
27
+ result.push(( new LineRangeMapping(original, modified)));
28
+ }
29
+ }
30
+ return result;
31
+ }
21
32
  constructor(originalRange, modifiedRange) {
22
33
  this.original = originalRange;
23
34
  this.modified = modifiedRange;
@@ -473,6 +473,7 @@ interface CodeAction {
473
473
  isPreferred?: boolean;
474
474
  isAI?: boolean;
475
475
  disabled?: string;
476
+ ranges?: IRange[];
476
477
  }
477
478
  declare const enum CodeActionTriggerType {
478
479
  Invoke = 1,
@@ -529,6 +530,13 @@ interface DocumentPasteEdit {
529
530
  };
530
531
  additionalEdit?: WorkspaceEdit;
531
532
  }
533
+ /**
534
+ * @internal
535
+ */
536
+ interface DocumentPasteContext {
537
+ readonly only?: string;
538
+ readonly trigger: 'explicit' | 'implicit';
539
+ }
532
540
  /**
533
541
  * @internal
534
542
  */
@@ -537,7 +545,7 @@ interface DocumentPasteEditProvider {
537
545
  readonly copyMimeTypes?: readonly string[];
538
546
  readonly pasteMimeTypes?: readonly string[];
539
547
  prepareDocumentPaste?(model: ITextModel, ranges: readonly IRange[], dataTransfer: IReadonlyVSDataTransfer, token: CancellationToken): Promise<undefined | IReadonlyVSDataTransfer>;
540
- provideDocumentPasteEdits?(model: ITextModel, ranges: readonly IRange[], dataTransfer: IReadonlyVSDataTransfer, token: CancellationToken): Promise<DocumentPasteEdit | undefined>;
548
+ provideDocumentPasteEdits?(model: ITextModel, ranges: readonly IRange[], dataTransfer: IReadonlyVSDataTransfer, context: DocumentPasteContext, token: CancellationToken): Promise<DocumentPasteEdit | undefined>;
541
549
  }
542
550
  /**
543
551
  * Represents a parameter of a callable-signature. A parameter can
@@ -1299,4 +1307,4 @@ interface MappedEditsProvider {
1299
1307
  provideMappedEdits(document: ITextModel, codeBlocks: string[], context: MappedEditsContext, token: CancellationToken): Promise<WorkspaceEdit | null>;
1300
1308
  }
1301
1309
 
1302
- export { type CodeAction, type CodeActionContext, type CodeActionList, type CodeActionProvider, CodeActionTriggerType, type CodeLens, type CodeLensList, type CodeLensProvider, Command, type CompletionContext, type CompletionItem, CompletionItemInsertTextRule, CompletionItemKind, type CompletionItemLabel, type CompletionItemProvider, type CompletionItemRanges, CompletionItemTag, type CompletionList, CompletionTriggerKind, type DeclarationProvider, type Definition, type DefinitionProvider, type DocumentColorProvider, type DocumentContextItem, type DocumentFormattingEditProvider, type DocumentHighlight, DocumentHighlightKind, type DocumentHighlightProvider, type DocumentOnDropEdit, type DocumentOnDropEditProvider, type DocumentPasteEdit, type DocumentPasteEditProvider, type DocumentRangeFormattingEditProvider, type DocumentRangeSemanticTokensProvider, type DocumentSemanticTokensProvider, type DocumentSymbol, type DocumentSymbolProvider, type DropYieldTo, type EvaluatableExpression, type EvaluatableExpressionProvider, type FoldingContext, type FoldingRange, FoldingRangeKind, type FoldingRangeProvider, type FormattingOptions, type Hover, type HoverProvider, type IColor, type IColorInformation, type IColorPresentation, type IInplaceReplaceSupportResult, type ILanguageIdCodec, type ILink, type ILinksList, type IWorkspaceFileEdit, type IWorkspaceTextEdit, type ImplementationProvider, type InlayHint, InlayHintKind, type InlayHintLabelPart, type InlayHintList, type InlayHintsProvider, type InlineCompletion, type InlineCompletionContext, type InlineCompletionProviderGroupId, InlineCompletionTriggerKind, type InlineCompletions, type InlineCompletionsProvider, type InlineValue, type InlineValueContext, type InlineValueExpression, type InlineValueText, type InlineValueVariableLookup, type InlineValuesProvider, type LinkProvider, type LinkedEditingRangeProvider, type LinkedEditingRanges, type Location, type LocationLink, type MappedEditsContext, type MappedEditsProvider, type MultiDocumentHighlightProvider, type OnTypeFormattingEditProvider, type ParameterInformation, type ProviderResult, type ReferenceContext, type ReferenceProvider, type Rejection, type RenameLocation, type RenameProvider, SelectedSuggestionInfo, type SelectionRange, type SelectionRangeProvider, type SemanticTokens, type SemanticTokensEdit, type SemanticTokensEdits, type SemanticTokensLegend, type SignatureHelp, type SignatureHelpContext, type SignatureHelpProvider, type SignatureHelpResult, SignatureHelpTriggerKind, type SignatureInformation, SymbolKind, SymbolTag, TextEdit, type TypeDefinitionProvider, type WorkspaceEdit, type WorkspaceEditMetadata, type WorkspaceFileEditOptions };
1310
+ export { type CodeAction, type CodeActionContext, type CodeActionList, type CodeActionProvider, CodeActionTriggerType, type CodeLens, type CodeLensList, type CodeLensProvider, Command, type CompletionContext, type CompletionItem, CompletionItemInsertTextRule, CompletionItemKind, type CompletionItemLabel, type CompletionItemProvider, type CompletionItemRanges, CompletionItemTag, type CompletionList, CompletionTriggerKind, type DeclarationProvider, type Definition, type DefinitionProvider, type DocumentColorProvider, type DocumentContextItem, type DocumentFormattingEditProvider, type DocumentHighlight, DocumentHighlightKind, type DocumentHighlightProvider, type DocumentOnDropEdit, type DocumentOnDropEditProvider, type DocumentPasteContext, type DocumentPasteEdit, type DocumentPasteEditProvider, type DocumentRangeFormattingEditProvider, type DocumentRangeSemanticTokensProvider, type DocumentSemanticTokensProvider, type DocumentSymbol, type DocumentSymbolProvider, type DropYieldTo, type EvaluatableExpression, type EvaluatableExpressionProvider, type FoldingContext, type FoldingRange, FoldingRangeKind, type FoldingRangeProvider, type FormattingOptions, type Hover, type HoverProvider, type IColor, type IColorInformation, type IColorPresentation, type IInplaceReplaceSupportResult, type ILanguageIdCodec, type ILink, type ILinksList, type IWorkspaceFileEdit, type IWorkspaceTextEdit, type ImplementationProvider, type InlayHint, InlayHintKind, type InlayHintLabelPart, type InlayHintList, type InlayHintsProvider, type InlineCompletion, type InlineCompletionContext, type InlineCompletionProviderGroupId, InlineCompletionTriggerKind, type InlineCompletions, type InlineCompletionsProvider, type InlineValue, type InlineValueContext, type InlineValueExpression, type InlineValueText, type InlineValueVariableLookup, type InlineValuesProvider, type LinkProvider, type LinkedEditingRangeProvider, type LinkedEditingRanges, type Location, type LocationLink, type MappedEditsContext, type MappedEditsProvider, type MultiDocumentHighlightProvider, type OnTypeFormattingEditProvider, type ParameterInformation, type ProviderResult, type ReferenceContext, type ReferenceProvider, type Rejection, type RenameLocation, type RenameProvider, SelectedSuggestionInfo, type SelectionRange, type SelectionRangeProvider, type SemanticTokens, type SemanticTokensEdit, type SemanticTokensEdits, type SemanticTokensLegend, type SignatureHelp, type SignatureHelpContext, type SignatureHelpProvider, type SignatureHelpResult, SignatureHelpTriggerKind, type SignatureInformation, SymbolKind, SymbolTag, TextEdit, type TypeDefinitionProvider, type WorkspaceEdit, type WorkspaceEditMetadata, type WorkspaceFileEditOptions };
@@ -5,7 +5,7 @@ import { illegalArgument, BugIndicatingError, onUnexpectedError } from '../../..
5
5
  import { Emitter } from '../../../base/common/event.js';
6
6
  import { Disposable, combinedDisposable, MutableDisposable } from '../../../base/common/lifecycle.js';
7
7
  import { listenStream } from '../../../base/common/stream.js';
8
- import { singleLetterHash, UNUSUAL_LINE_TERMINATORS, isHighSurrogate } from '../../../base/common/strings.js';
8
+ import { singleLetterHash, UNUSUAL_LINE_TERMINATORS, isHighSurrogate, htmlAttributeEncodeValue } from '../../../base/common/strings.js';
9
9
  import { URI } from '../../../base/common/uri.js';
10
10
  import { countEOL } from '../core/eolCounter.js';
11
11
  import { normalizeIndentation } from '../core/indentation.js';
@@ -1368,7 +1368,9 @@ let TextModel = class TextModel extends Disposable {
1368
1368
  const nodeRange = this._decorationsTree.getNodeRange(this, node);
1369
1369
  this._onDidChangeDecorations.recordLineAffectedByInjectedText(nodeRange.startLineNumber);
1370
1370
  }
1371
- if (nodeWasInOverviewRuler !== nodeIsInOverviewRuler) {
1371
+ const movedInOverviewRuler = nodeWasInOverviewRuler !== nodeIsInOverviewRuler;
1372
+ const changedWhetherInjectedText = isOptionsInjectedText(options) !== isNodeInjectedText(node);
1373
+ if (movedInOverviewRuler || changedWhetherInjectedText) {
1372
1374
  this._decorationsTree.delete(node);
1373
1375
  node.setOptions(options);
1374
1376
  this._decorationsTree.insert(node);
@@ -1500,6 +1502,9 @@ function indentOfLine(line) {
1500
1502
  function isNodeInOverviewRuler(node) {
1501
1503
  return (node.options.overviewRuler && node.options.overviewRuler.color ? true : false);
1502
1504
  }
1505
+ function isOptionsInjectedText(options) {
1506
+ return !!options.after || !!options.before;
1507
+ }
1503
1508
  function isNodeInjectedText(node) {
1504
1509
  return !!node.options.after || !!node.options.before;
1505
1510
  }
@@ -1660,7 +1665,8 @@ class ModelDecorationOverviewRulerOptions extends DecorationOptions {
1660
1665
  }
1661
1666
  class ModelDecorationGlyphMarginOptions {
1662
1667
  constructor(options) {
1663
- this.position = options?.position ?? GlyphMarginLane.Left;
1668
+ this.position = options?.position ?? GlyphMarginLane.Center;
1669
+ this.persistLane = options?.persistLane;
1664
1670
  }
1665
1671
  }
1666
1672
  class ModelDecorationMinimapOptions extends DecorationOptions {
@@ -1723,6 +1729,7 @@ class ModelDecorationOptions {
1723
1729
  this.shouldFillLineOnLineBreak = options.shouldFillLineOnLineBreak ?? null;
1724
1730
  this.hoverMessage = options.hoverMessage || null;
1725
1731
  this.glyphMarginHoverMessage = options.glyphMarginHoverMessage || null;
1732
+ this.lineNumberHoverMessage = options.lineNumberHoverMessage || null;
1726
1733
  this.isWholeLine = options.isWholeLine || false;
1727
1734
  this.showIfCollapsed = options.showIfCollapsed || false;
1728
1735
  this.collapseOnReplaceEdit = options.collapseOnReplaceEdit || false;
@@ -1731,6 +1738,8 @@ class ModelDecorationOptions {
1731
1738
  this.glyphMargin = options.glyphMarginClassName ? ( new ModelDecorationGlyphMarginOptions(options.glyphMargin)) : null;
1732
1739
  this.glyphMarginClassName = options.glyphMarginClassName ? cleanClassName(options.glyphMarginClassName) : null;
1733
1740
  this.linesDecorationsClassName = options.linesDecorationsClassName ? cleanClassName(options.linesDecorationsClassName) : null;
1741
+ this.lineNumberClassName = options.lineNumberClassName ? cleanClassName(options.lineNumberClassName) : null;
1742
+ this.linesDecorationsTooltip = options.linesDecorationsTooltip ? htmlAttributeEncodeValue(options.linesDecorationsTooltip) : null;
1734
1743
  this.firstLineDecorationClassName = options.firstLineDecorationClassName ? cleanClassName(options.firstLineDecorationClassName) : null;
1735
1744
  this.marginClassName = options.marginClassName ? cleanClassName(options.marginClassName) : null;
1736
1745
  this.inlineClassName = options.inlineClassName ? cleanClassName(options.inlineClassName) : null;
@@ -1768,6 +1777,7 @@ class DidChangeDecorationsEmitter extends Disposable {
1768
1777
  this._affectsMinimap = false;
1769
1778
  this._affectsOverviewRuler = false;
1770
1779
  this._affectsGlyphMargin = false;
1780
+ this._affectsLineNumber = false;
1771
1781
  }
1772
1782
  hasListeners() {
1773
1783
  return this._actual.hasListeners();
@@ -1792,15 +1802,10 @@ class DidChangeDecorationsEmitter extends Disposable {
1792
1802
  this._affectedInjectedTextLines.add(lineNumber);
1793
1803
  }
1794
1804
  checkAffectedAndFire(options) {
1795
- if (!this._affectsMinimap) {
1796
- this._affectsMinimap = options.minimap && options.minimap.position ? true : false;
1797
- }
1798
- if (!this._affectsOverviewRuler) {
1799
- this._affectsOverviewRuler = options.overviewRuler && options.overviewRuler.color ? true : false;
1800
- }
1801
- if (!this._affectsGlyphMargin) {
1802
- this._affectsGlyphMargin = options.glyphMarginClassName ? true : false;
1803
- }
1805
+ this._affectsMinimap ||= !!options.minimap?.position;
1806
+ this._affectsOverviewRuler ||= !!options.overviewRuler?.color;
1807
+ this._affectsGlyphMargin ||= !!options.glyphMarginClassName;
1808
+ this._affectsLineNumber ||= !!options.lineNumberClassName;
1804
1809
  this.tryFire();
1805
1810
  }
1806
1811
  fire() {
@@ -1822,7 +1827,8 @@ class DidChangeDecorationsEmitter extends Disposable {
1822
1827
  const event = {
1823
1828
  affectsMinimap: this._affectsMinimap,
1824
1829
  affectsOverviewRuler: this._affectsOverviewRuler,
1825
- affectsGlyphMargin: this._affectsGlyphMargin
1830
+ affectsGlyphMargin: this._affectsGlyphMargin,
1831
+ affectsLineNumber: this._affectsLineNumber,
1826
1832
  };
1827
1833
  this._shouldFireDeferred = false;
1828
1834
  this._affectsMinimap = false;
@@ -329,7 +329,7 @@ class GrammarTokens extends Disposable {
329
329
  if (tokenizationSupport && tokenizationSupport.createBackgroundTokenizer && !tokenizationSupport.backgroundTokenizerShouldOnlyVerifyTokens) {
330
330
  this._backgroundTokenizer.value = tokenizationSupport.createBackgroundTokenizer(this._textModel, b);
331
331
  }
332
- if (!this._backgroundTokenizer.value) {
332
+ if (!this._backgroundTokenizer.value && !this._textModel.isTooLargeForTokenization()) {
333
333
  this._backgroundTokenizer.value = this._defaultBackgroundTokenizer =
334
334
  ( new DefaultBackgroundTokenizer(this._tokenizer, b));
335
335
  this._defaultBackgroundTokenizer.handleChanges();