@codingame/monaco-vscode-api 2.2.1 → 3.0.0

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 (582) hide show
  1. package/README.md +16 -3
  2. package/api.js +8 -10
  3. package/contributions.js +3 -3
  4. package/debugProtocol.d.ts +143 -51
  5. package/extensions.d.ts +9 -5
  6. package/external/@xterm/xterm/typings/xterm.d.ts +2 -2
  7. package/missing-services.js +48 -13
  8. package/monaco.js +30 -14
  9. package/package.json +8 -8
  10. package/service-override/tools/editor.js +31 -8
  11. package/service-override/tools/views.d.ts +8 -8
  12. package/service-override/tools/views.js +13 -14
  13. package/services.d.ts +3 -2
  14. package/services.js +5 -3
  15. package/vscode/src/vs/base/browser/browser.js +2 -66
  16. package/vscode/src/vs/base/browser/dom.js +10 -22
  17. package/vscode/src/vs/base/browser/markdownRenderer.js +13 -5
  18. package/vscode/src/vs/base/browser/mouseEvent.d.ts +10 -1
  19. package/vscode/src/vs/base/browser/mouseEvent.js +9 -3
  20. package/vscode/src/vs/base/browser/pixelRatio.js +72 -0
  21. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +4 -3
  22. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.css.js +1 -1
  23. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -1
  24. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +3 -4
  25. package/vscode/src/vs/base/browser/ui/button/button.js +16 -4
  26. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  27. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -3
  28. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +8 -1
  29. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +6 -2
  30. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.js +22 -0
  31. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +1 -0
  32. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +3 -2
  33. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabelHover.js +2 -1
  34. package/vscode/src/vs/base/browser/ui/list/listView.js +27 -42
  35. package/vscode/src/vs/base/browser/ui/menu/menu.js +0 -4
  36. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.d.ts +81 -0
  37. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElementOptions.d.ts +160 -0
  38. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -4
  39. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +8 -4
  40. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +4 -2
  41. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +7 -2
  42. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +1 -0
  43. package/vscode/src/vs/base/common/actions.js +1 -1
  44. package/vscode/src/vs/base/common/assert.js +1 -1
  45. package/vscode/src/vs/base/common/async.js +11 -7
  46. package/vscode/src/vs/base/common/codicons.d.ts +4 -0
  47. package/vscode/src/vs/base/common/codicons.js +4 -0
  48. package/vscode/src/vs/base/common/date.js +55 -1
  49. package/vscode/src/vs/base/common/event.js +5 -3
  50. package/vscode/src/vs/base/common/filters.js +1 -1
  51. package/vscode/src/vs/base/common/hotReload.js +5 -4
  52. package/vscode/src/vs/base/common/network.js +3 -0
  53. package/vscode/src/vs/base/common/observableInternal/autorun.js +19 -35
  54. package/vscode/src/vs/base/common/observableInternal/base.js +3 -82
  55. package/vscode/src/vs/base/common/observableInternal/debugName.js +100 -0
  56. package/vscode/src/vs/base/common/observableInternal/derived.js +14 -46
  57. package/vscode/src/vs/base/common/observableInternal/promise.js +94 -0
  58. package/vscode/src/vs/base/common/observableInternal/utils.js +5 -27
  59. package/vscode/src/vs/base/common/prefixTree.js +56 -22
  60. package/vscode/src/vs/base/common/product.d.ts +1 -1
  61. package/vscode/src/vs/base/common/scrollable.d.ts +68 -1
  62. package/vscode/src/vs/base/common/strings.js +9 -1
  63. package/vscode/src/vs/editor/browser/config/charWidthReader.js +5 -6
  64. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +15 -8
  65. package/vscode/src/vs/editor/browser/config/fontMeasurements.js +39 -26
  66. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +10 -10
  67. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +4 -4
  68. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +12 -12
  69. package/vscode/src/vs/editor/browser/coreCommands.js +2 -2
  70. package/vscode/src/vs/editor/browser/view/viewController.js +3 -3
  71. package/vscode/src/vs/editor/browser/view/viewLayer.js +1 -1
  72. package/vscode/src/vs/editor/browser/view/viewOverlays.js +6 -6
  73. package/vscode/src/vs/editor/browser/view.js +2 -2
  74. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
  75. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +5 -5
  76. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +8 -8
  77. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +2 -2
  78. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +11 -11
  79. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +4 -4
  80. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +4 -4
  81. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +4 -4
  82. package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +4 -4
  83. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +13 -13
  84. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +2 -2
  85. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +2 -2
  86. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +7 -7
  87. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +2 -2
  88. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +7 -7
  89. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +6 -6
  90. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +2 -2
  91. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +3 -3
  92. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +4 -4
  93. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +2 -2
  94. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +2 -2
  95. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +5 -5
  96. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +5 -5
  97. package/vscode/src/vs/editor/browser/widget/codeEditorContributions.js +2 -2
  98. package/vscode/src/vs/editor/browser/widget/codeEditorWidget.js +43 -35
  99. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.css.js +1 -1
  100. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +82 -37
  101. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +3 -1
  102. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +7 -7
  103. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +3 -3
  104. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +6 -6
  105. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +10 -16
  106. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +2 -1
  107. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +13 -12
  108. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -4
  109. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -1
  110. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +17 -18
  111. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +1 -1
  112. package/vscode/src/vs/editor/browser/widget/embeddedCodeEditorWidget.js +4 -4
  113. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/renderedMarkdown.css.js +1 -1
  114. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/colors.js +2 -2
  115. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/diffEditorItemTemplate.js +43 -16
  116. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorWidget.js +3 -0
  117. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorWidgetImpl.js +42 -8
  118. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/style.css.js +1 -1
  119. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +18 -1
  120. package/vscode/src/vs/editor/common/config/editorOptions.js +188 -107
  121. package/vscode/src/vs/editor/common/config/fontInfo.js +2 -2
  122. package/vscode/src/vs/editor/common/cursorCommon.js +14 -14
  123. package/vscode/src/vs/editor/common/editorContextKeys.js +1 -1
  124. package/vscode/src/vs/editor/common/languageSelector.js +12 -1
  125. package/vscode/src/vs/editor/common/languages.d.ts +28 -1
  126. package/vscode/src/vs/editor/common/languages.js +6 -1
  127. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +3 -1
  128. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +2 -0
  129. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +96 -86
  130. package/vscode/src/vs/editor/common/standaloneStrings.js +5 -5
  131. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +19 -19
  132. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +2 -2
  133. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +12 -12
  134. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +3 -3
  135. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +6 -6
  136. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +5 -1
  137. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +3 -3
  138. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +2 -2
  139. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +1 -1
  140. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
  141. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +3 -3
  142. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +2 -2
  143. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +3 -3
  144. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +2 -3
  145. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +3 -3
  146. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +3 -3
  147. package/vscode/src/vs/editor/contrib/find/browser/findController.js +1 -1
  148. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +6 -6
  149. package/vscode/src/vs/editor/contrib/find/browser/findWidget.css.js +1 -1
  150. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +9 -62
  151. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +3 -3
  152. package/vscode/src/vs/editor/contrib/format/browser/format.js +5 -5
  153. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +5 -5
  154. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
  155. package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +1 -1
  156. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +58 -84
  157. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +3 -3
  158. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  159. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +8 -2
  160. package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +1 -1
  161. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +1 -1
  162. package/vscode/src/vs/editor/contrib/hover/browser/marginHover.js +1 -1
  163. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +1 -1
  164. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +18 -15
  165. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +3 -3
  166. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +1 -1
  167. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +2 -2
  168. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +1 -1
  169. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +14 -6
  170. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +10 -10
  171. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +1 -1
  172. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +3 -3
  173. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +54 -27
  174. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
  175. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +115 -45
  176. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +1 -1
  177. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +6 -5
  178. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +46 -1
  179. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commandIds.js +5 -0
  180. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commands.js +145 -0
  181. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +188 -0
  182. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +91 -0
  183. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js +12 -0
  184. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.css.js +4 -0
  185. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +309 -0
  186. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.css.js +4 -0
  187. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +193 -0
  188. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +2 -2
  189. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +1 -1
  190. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  191. package/vscode/src/vs/editor/contrib/links/browser/links.js +5 -5
  192. package/vscode/src/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +1 -1
  193. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +10 -10
  194. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +3 -3
  195. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +1 -1
  196. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +1 -1
  197. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +1 -1
  198. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +143 -9
  199. package/vscode/src/vs/editor/contrib/rename/browser/renameInputField.css.js +1 -1
  200. package/vscode/src/vs/editor/contrib/rename/browser/renameInputField.js +347 -17
  201. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +1 -1
  202. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +2 -2
  203. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +23 -37
  204. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +11 -10
  205. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
  206. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +8 -8
  207. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +4 -4
  208. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +2 -2
  209. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +11 -11
  210. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +6 -6
  211. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +3 -3
  212. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +3 -3
  213. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +2 -2
  214. package/vscode/src/vs/editor/contrib/suggest/browser/wordDistance.js +1 -1
  215. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +3 -3
  216. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -3
  217. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +4 -4
  218. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +26 -16
  219. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
  220. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +7 -3
  221. package/vscode/src/vs/editor/editor.api.d.ts +146 -85
  222. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +1 -1
  223. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +3 -5
  224. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +9 -9
  225. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +10 -10
  226. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +99 -0
  227. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +608 -0
  228. package/vscode/src/vs/platform/action/common/actionCommonCategories.d.ts +1 -4
  229. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +3 -3
  230. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +26 -41
  231. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +6 -4
  232. package/vscode/src/vs/platform/actions/common/actions.d.ts +11 -0
  233. package/vscode/src/vs/platform/actions/common/actions.js +11 -0
  234. package/vscode/src/vs/platform/configuration/common/configuration.d.ts +17 -33
  235. package/vscode/src/vs/platform/configuration/common/configurationModels.js +42 -29
  236. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -4
  237. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +2 -2
  238. package/vscode/src/vs/platform/hover/browser/hover.js +69 -1
  239. package/vscode/src/vs/platform/product/common/product.js +1 -1
  240. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +14 -20
  241. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +11 -5
  242. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +22 -2
  243. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +9 -7
  244. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +2 -5
  245. package/vscode/src/vs/platform/request/common/request.js +111 -0
  246. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +1 -0
  247. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +15 -0
  248. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +9 -0
  249. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +5 -3
  250. package/vscode/src/vs/platform/theme/common/colorRegistry.js +5 -5
  251. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +6 -2
  252. package/vscode/src/vs/platform/window/common/window.js +4 -1
  253. package/vscode/src/vs/platform/workspace/common/workspace.js +2 -1
  254. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +2 -2
  255. package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +130 -14
  256. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +76 -24
  257. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +4 -1
  258. package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -39
  259. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +309 -137
  260. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +164 -49
  261. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +67 -7
  262. package/vscode/src/vs/workbench/api/common/extHostComments.js +28 -0
  263. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +129 -48
  264. package/vscode/src/vs/workbench/api/common/extHostDocumentData.js +1 -2
  265. package/vscode/src/vs/workbench/api/common/extHostDocumentsAndEditors.js +1 -1
  266. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +5 -4
  267. package/vscode/src/vs/workbench/api/common/extHostInteractive.js +0 -1
  268. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +130 -16
  269. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +12 -1
  270. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +14 -5
  271. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +19 -1
  272. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +2 -2
  273. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +301 -75
  274. package/vscode/src/vs/workbench/api/common/extHostTypes.js +127 -45
  275. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +46 -7
  276. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +55 -2
  277. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +1 -1
  278. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +146 -99
  279. package/vscode/src/vs/workbench/browser/actions/listCommands.js +2 -3
  280. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +3 -4
  281. package/vscode/src/vs/workbench/browser/actions/windowActions.js +4 -8
  282. package/vscode/src/vs/workbench/browser/composite.d.ts +2 -1
  283. package/vscode/src/vs/workbench/browser/composite.js +1 -1
  284. package/vscode/src/vs/workbench/browser/editor.js +11 -1
  285. package/vscode/src/vs/workbench/browser/media/style.css.js +1 -1
  286. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -1
  287. package/vscode/src/vs/workbench/browser/panecomposite.js +2 -2
  288. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +4 -6
  289. package/vscode/src/vs/workbench/browser/parts/activitybar/media/activityaction.css.js +1 -1
  290. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +4 -4
  291. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +1 -1
  292. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +1 -1
  293. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +10 -10
  294. package/vscode/src/vs/workbench/browser/parts/compositePart.js +8 -5
  295. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +39 -29
  296. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +1 -1
  297. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +20 -24
  298. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +6 -4
  299. package/vscode/src/vs/workbench/browser/parts/editor/editor.autosave.contribution.js +2 -3
  300. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +52 -54
  301. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +30 -30
  302. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +1 -0
  303. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +12 -18
  304. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +1 -0
  305. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +1 -1
  306. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +7 -6
  307. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +17 -6
  308. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +13 -5
  309. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
  310. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +84 -71
  311. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +2 -6
  312. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +4 -1
  313. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +2 -2
  314. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +29 -29
  315. package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css.js +1 -1
  316. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +5 -5
  317. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +3 -3
  318. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +1 -5
  319. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +9 -6
  320. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +56 -74
  321. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +1 -1
  322. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +6 -9
  323. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +4 -4
  324. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +9 -1
  325. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +55 -12
  326. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +9 -16
  327. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +1 -1
  328. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.d.ts +2 -1
  329. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +4 -4
  330. package/vscode/src/vs/workbench/browser/quickaccess.js +8 -1
  331. package/vscode/src/vs/workbench/browser/workbench.contribution.js +22 -20
  332. package/vscode/src/vs/workbench/common/configuration.js +146 -43
  333. package/vscode/src/vs/workbench/common/contextkeys.js +4 -4
  334. package/vscode/src/vs/workbench/common/contributions.js +136 -20
  335. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +5 -5
  336. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +1 -1
  337. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +17 -11
  338. package/vscode/src/vs/workbench/common/editor/editorInput.js +1 -1
  339. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -2
  340. package/vscode/src/vs/workbench/common/editor.d.ts +4 -0
  341. package/vscode/src/vs/workbench/common/theme.js +11 -1
  342. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +1064 -118
  343. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +7 -7
  344. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +5 -5
  345. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +306 -0
  346. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +46 -0
  347. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +177 -0
  348. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +163 -0
  349. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +1 -1
  350. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +2 -2
  351. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +31 -17
  352. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +11 -17
  353. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +18 -27
  354. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +2 -5
  355. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +34 -8
  356. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +8 -7
  357. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +142 -109
  358. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +80 -52
  359. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +1 -1
  360. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +44 -13
  361. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +230 -74
  362. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  363. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +5 -5
  364. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +87 -29
  365. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +19 -3
  366. package/vscode/src/vs/workbench/contrib/chat/common/chatProvider.js +18 -3
  367. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +11 -8
  368. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -6
  369. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +11 -5
  370. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +2 -2
  371. package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +71 -0
  372. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.css.js +4 -0
  373. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +256 -0
  374. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +2 -2
  375. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +3 -4
  376. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +8 -6
  377. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +11 -11
  378. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -4
  379. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -3
  380. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -3
  381. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -10
  382. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +9 -2
  383. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +27 -13
  384. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +41 -23
  385. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.js +15 -7
  386. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +22 -10
  387. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
  388. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +1 -0
  389. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  390. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +3 -3
  391. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +2 -2
  392. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +3 -1
  393. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +2 -3
  394. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInputFactory.js +1 -0
  395. package/vscode/src/vs/workbench/contrib/customEditor/common/extensionPoint.js +66 -2
  396. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +31 -2
  397. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +2 -2
  398. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +37 -7
  399. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +118 -25
  400. package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +1 -1
  401. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +37 -5
  402. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +24 -1
  403. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +18 -0
  404. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +237 -140
  405. package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.js +72 -25
  406. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessions.js +5 -8
  407. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +29 -4
  408. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorHandler.js +1 -0
  409. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +1 -0
  410. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +2 -1
  411. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +8 -7
  412. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +21 -19
  413. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +152 -120
  414. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +24 -1
  415. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  416. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +26 -25
  417. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +5 -5
  418. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +51 -12
  419. package/vscode/src/vs/workbench/contrib/files/browser/views/media/openeditors.css.js +1 -1
  420. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +24 -9
  421. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +1 -1
  422. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -0
  423. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +16 -22
  424. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +1 -1
  425. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +48 -27
  426. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +2 -2
  427. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +23 -8
  428. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +48 -6
  429. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +145 -73
  430. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +31 -9
  431. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +8 -10
  432. package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +3 -3
  433. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +7 -3
  434. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.js +95 -152
  435. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.js +16 -25
  436. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.js +2 -4
  437. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -1
  438. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +19 -19
  439. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +1 -1
  440. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +1 -0
  441. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +17 -3
  442. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +102 -15
  443. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +2 -2
  444. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +234 -0
  445. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +1 -2
  446. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +48 -24
  447. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +52 -22
  448. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +62 -3
  449. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +40 -0
  450. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +20 -6
  451. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +4 -4
  452. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatPart.js +3 -27
  453. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +28 -6
  454. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +28 -3
  455. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +78 -18
  456. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +208 -1
  457. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +1 -1
  458. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +4 -4
  459. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +85 -71
  460. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +1 -2
  461. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +1 -4
  462. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +2 -3
  463. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +82 -14
  464. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +1 -1
  465. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +0 -1
  466. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookOverviewRuler.js +4 -3
  467. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +92 -33
  468. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +136 -0
  469. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +6 -1
  470. package/vscode/src/vs/workbench/contrib/notebook/common/notebookRange.js +5 -1
  471. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +279 -0
  472. package/vscode/src/vs/workbench/contrib/preferences/browser/keyboardLayoutPicker.js +6 -7
  473. package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindings.css.js +4 -0
  474. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +64 -0
  475. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +507 -0
  476. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +478 -0
  477. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +796 -0
  478. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +8 -10
  479. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +14 -20
  480. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +12 -12
  481. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +3 -3
  482. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +44 -54
  483. package/vscode/src/vs/workbench/contrib/search/common/constants.js +26 -65
  484. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +6 -9
  485. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +6 -9
  486. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +2 -2
  487. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +2 -2
  488. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +3 -124
  489. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +2 -2
  490. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +2 -2
  491. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +5 -5
  492. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +61 -24
  493. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -3
  494. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +5 -5
  495. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +24 -1
  496. package/vscode/src/vs/workbench/contrib/terminal/common/terminalExtensionPoints.js +1 -1
  497. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +4 -4
  498. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +10 -10
  499. package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js +45 -20
  500. package/vscode/src/vs/workbench/contrib/update/common/update.js +2 -1
  501. package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +3 -4
  502. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewCommands.js +3 -3
  503. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
  504. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInputSerializer.js +1 -1
  505. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +15 -18
  506. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +2 -5
  507. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewService.js +4 -4
  508. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +2 -2
  509. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +5 -5
  510. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +193 -54
  511. package/vscode/src/vs/workbench/services/authentication/common/authentication.js +2 -1
  512. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +9 -3
  513. package/vscode/src/vs/workbench/services/editor/browser/editorPaneService.js +10 -0
  514. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +3 -1
  515. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +5 -0
  516. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +1 -6
  517. package/vscode/src/vs/workbench/services/editor/common/editorPaneService.js +3 -0
  518. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +5 -1
  519. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeatures.js +29 -0
  520. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +1 -1
  521. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +3 -4
  522. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -3
  523. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +11 -5
  524. package/vscode/src/vs/workbench/services/extensions/common/workspaceContains.js +5 -5
  525. package/vscode/src/vs/workbench/services/history/browser/historyService.js +25 -4
  526. package/vscode/src/vs/workbench/services/history/common/history.d.ts +5 -0
  527. package/vscode/src/vs/workbench/services/language/common/languageService.js +111 -2
  528. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -2
  529. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +59 -1
  530. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +1008 -0
  531. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +477 -0
  532. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +2 -2
  533. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.d.ts +4 -1
  534. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +53 -13
  535. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -0
  536. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +2 -2
  537. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +1 -1
  538. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +22 -9
  539. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +76 -4
  540. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +2 -2
  541. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +7 -7
  542. package/vscode/src/vs/workbench/services/timer/browser/timerService.js +1 -0
  543. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorHandler.js +3 -2
  544. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +1 -1
  545. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +2 -2
  546. package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +6 -9
  547. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -12
  548. package/vscode/src/vs/workbench/services/views/common/viewContainerModel.js +6 -1
  549. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.d.ts +43 -4
  550. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +1 -1
  551. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.d.ts +16 -7
  552. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +3 -6
  553. package/vscode-dts/vscode.proposed.activeComment.d.ts +23 -0
  554. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +509 -0
  555. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +288 -0
  556. package/vscode-dts/vscode.proposed.chatProvider.d.ts +10 -1
  557. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +56 -0
  558. package/vscode-dts/vscode.proposed.codeActionRanges.d.ts +2 -4
  559. package/vscode-dts/{vscode.proposed.chat.d.ts → vscode.proposed.contribIssueReporter.d.ts} +2 -20
  560. package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemGroupMenu.d.ts +2 -0
  561. package/vscode-dts/vscode.proposed.contribSourceControlTitleMenu.d.ts +7 -0
  562. package/vscode-dts/vscode.proposed.debugVisualization.d.ts +76 -6
  563. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +49 -0
  564. package/vscode-dts/vscode.proposed.findFiles2.d.ts +89 -0
  565. package/vscode-dts/vscode.proposed.inlineEdit.d.ts +86 -0
  566. package/vscode-dts/vscode.proposed.interactive.d.ts +6 -3
  567. package/vscode-dts/vscode.proposed.languageModels.d.ts +184 -0
  568. package/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts +36 -0
  569. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +6 -0
  570. package/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts +3 -0
  571. package/vscode-dts/vscode.proposed.speech.d.ts +5 -1
  572. package/vscode-dts/vscode.proposed.testCoverage.d.ts +40 -27
  573. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +0 -98
  574. package/vscode/src/vs/platform/audioCues/browser/audioCueService.js +0 -576
  575. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +0 -348
  576. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatActions.js +0 -554
  577. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatController.js +0 -471
  578. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/featuredExtensionService.js +0 -159
  579. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +0 -440
  580. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +0 -139
  581. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +0 -105
  582. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +0 -30
@@ -5,6 +5,7 @@ import { setupNativeHover, setupCustomHover } from './iconLabelHover.js';
5
5
  import { Disposable } from '../../../common/lifecycle.js';
6
6
  import { equals } from '../../../common/objects.js';
7
7
  import { Range } from '../../../common/range.js';
8
+ import { getDefaultHoverDelegate } from '../hover/hoverDelegate.js';
8
9
  class FastLabelNode {
9
10
  constructor(_element) {
10
11
  this._element = _element;
@@ -51,7 +52,7 @@ class IconLabel extends Disposable {
51
52
  else {
52
53
  this.nameNode = ( new Label(this.nameContainer));
53
54
  }
54
- this.hoverDelegate = options?.hoverDelegate;
55
+ this.hoverDelegate = options?.hoverDelegate ?? getDefaultHoverDelegate('mouse');
55
56
  }
56
57
  get element() {
57
58
  return this.domNode.element;
@@ -114,7 +115,7 @@ class IconLabel extends Disposable {
114
115
  htmlElement.removeAttribute('title');
115
116
  return;
116
117
  }
117
- if (!this.hoverDelegate) {
118
+ if (this.hoverDelegate.showNativeHover) {
118
119
  setupNativeHover(htmlElement, tooltip);
119
120
  }
120
121
  else {
@@ -110,13 +110,14 @@ function setupCustomHover(hoverDelegate, htmlElement, content, options) {
110
110
  }
111
111
  if (hadHover) {
112
112
  hoverDelegate.onDidHideHover?.();
113
+ hoverWidget = undefined;
113
114
  }
114
115
  };
115
116
  const triggerShowHover = (delay, focus, target) => {
116
117
  return ( new TimeoutTimer(async () => {
117
118
  if (!hoverWidget || hoverWidget.isDisposed) {
118
119
  hoverWidget = ( new UpdatableHoverWidget(hoverDelegate, target || htmlElement, delay > 0));
119
- await hoverWidget.update(content, focus, options);
120
+ await hoverWidget.update(typeof content === 'function' ? content() : content, focus, options);
120
121
  }
121
122
  }, delay));
122
123
  };
@@ -14,6 +14,7 @@ import { Scrollable } from '../../../common/scrollable.js';
14
14
  import { RangeMap, shift } from './rangeMap.js';
15
15
  import { RowCache } from './rowCache.js';
16
16
  import { BugIndicatingError } from '../../../common/errors.js';
17
+ import { clamp } from '../../../common/numbers.js';
17
18
  const StaticDND = {
18
19
  CurrentDragAndDropData: undefined
19
20
  };
@@ -176,7 +177,7 @@ class ListView {
176
177
  }
177
178
  this.items = [];
178
179
  this.itemId = 0;
179
- this.rangeMap = ( new RangeMap(options.paddingTop ?? 0));
180
+ this.rangeMap = this.createRangeMap(options.paddingTop ?? 0);
180
181
  for (const renderer of renderers) {
181
182
  this.renderers.set(renderer.templateId, renderer);
182
183
  }
@@ -310,6 +311,9 @@ class ListView {
310
311
  this._rerender(this.lastRenderTop, this.lastRenderHeight);
311
312
  }
312
313
  }
314
+ createRangeMap(paddingTop) {
315
+ return ( new RangeMap(paddingTop));
316
+ }
313
317
  splice(start, deleteCount, elements = []) {
314
318
  if (this.splicing) {
315
319
  throw new Error('Can\'t run recursive splices.');
@@ -345,6 +349,7 @@ class ListView {
345
349
  rows.push(item.row);
346
350
  }
347
351
  item.row = null;
352
+ item.stale = true;
348
353
  }
349
354
  const previousRestRange = { start: start + deleteCount, end: this.items.length };
350
355
  const previousRenderedRestRange = Range.intersect(previousRestRange, previousRenderRange);
@@ -361,11 +366,12 @@ class ListView {
361
366
  uri: undefined,
362
367
  dropTarget: false,
363
368
  dragStartDisposable: Disposable.None,
364
- checkedDisposable: Disposable.None
369
+ checkedDisposable: Disposable.None,
370
+ stale: false
365
371
  })));
366
372
  let deleted;
367
373
  if (start === 0 && deleteCount >= this.items.length) {
368
- this.rangeMap = ( new RangeMap(this.rangeMap.paddingTop));
374
+ this.rangeMap = this.createRangeMap(this.rangeMap.paddingTop);
369
375
  this.rangeMap.splice(0, 0, inserted);
370
376
  deleted = this.items;
371
377
  this.items = inserted;
@@ -389,14 +395,13 @@ class ListView {
389
395
  }
390
396
  const unrenderedRestRanges = ( previousUnrenderedRestRanges.map(r => shift(r, delta)));
391
397
  const elementsRange = { start, end: start + elements.length };
392
- const insertRanges = ( [elementsRange, ...unrenderedRestRanges].map(r => Range.intersect(renderRange, r)));
393
- const beforeElement = this.getNextToLastElement(insertRanges);
398
+ const insertRanges = ( [elementsRange, ...unrenderedRestRanges].map(r => Range.intersect(renderRange, r))).reverse();
394
399
  for (const range of insertRanges) {
395
- for (let i = range.start; i < range.end; i++) {
400
+ for (let i = range.end - 1; i >= range.start; i--) {
396
401
  const item = this.items[i];
397
402
  const rows = rowsToDispose.get(item.templateId);
398
403
  const row = rows?.pop();
399
- this.insertItemInDOM(i, beforeElement, row);
404
+ this.insertItemInDOM(i, row);
400
405
  }
401
406
  }
402
407
  for (const rows of ( rowsToDispose.values())) {
@@ -536,9 +541,8 @@ class ListView {
536
541
  }
537
542
  render(previousRenderRange, renderTop, renderHeight, renderLeft, scrollWidth, updateItemsInDOM = false) {
538
543
  const renderRange = this.getRenderRange(renderTop, renderHeight);
539
- const rangesToInsert = Range.relativeComplement(renderRange, previousRenderRange);
544
+ const rangesToInsert = Range.relativeComplement(renderRange, previousRenderRange).reverse();
540
545
  const rangesToRemove = Range.relativeComplement(previousRenderRange, renderRange);
541
- const beforeElement = this.getNextToLastElement(rangesToInsert);
542
546
  if (updateItemsInDOM) {
543
547
  const rangesToUpdate = Range.intersect(previousRenderRange, renderRange);
544
548
  for (let i = rangesToUpdate.start; i < rangesToUpdate.end; i++) {
@@ -552,8 +556,8 @@ class ListView {
552
556
  }
553
557
  }
554
558
  for (const range of rangesToInsert) {
555
- for (let i = range.start; i < range.end; i++) {
556
- this.insertItemInDOM(i, beforeElement);
559
+ for (let i = range.end - 1; i >= range.start; i--) {
560
+ this.insertItemInDOM(i);
557
561
  }
558
562
  }
559
563
  });
@@ -567,17 +571,17 @@ class ListView {
567
571
  this.lastRenderTop = renderTop;
568
572
  this.lastRenderHeight = renderHeight;
569
573
  }
570
- insertItemInDOM(index, beforeElement, row) {
574
+ insertItemInDOM(index, row) {
571
575
  const item = this.items[index];
572
- let isStale = false;
573
576
  if (!item.row) {
574
577
  if (row) {
575
578
  item.row = row;
579
+ item.stale = true;
576
580
  }
577
581
  else {
578
582
  const result = this.cache.alloc(item.templateId);
579
583
  item.row = result.row;
580
- isStale = result.isReusingConnectedDomNode;
584
+ item.stale ||= result.isReusingConnectedDomNode;
581
585
  }
582
586
  }
583
587
  const role = this.accessibilityProvider.getRole(item.element) || 'listitem';
@@ -591,13 +595,10 @@ class ListView {
591
595
  update(checked.value);
592
596
  item.checkedDisposable = checked.onDidChange(update);
593
597
  }
594
- if (isStale || !item.row.domNode.parentElement) {
595
- if (beforeElement) {
596
- this.rowsContainer.insertBefore(item.row.domNode, beforeElement);
597
- }
598
- else {
599
- this.rowsContainer.appendChild(item.row.domNode);
600
- }
598
+ if (item.stale || !item.row.domNode.parentElement) {
599
+ const referenceNode = this.items.at(index + 1)?.row?.domNode ?? null;
600
+ this.rowsContainer.insertBefore(item.row.domNode, referenceNode);
601
+ item.stale = false;
601
602
  }
602
603
  this.updateItemInDOM(item, index);
603
604
  const renderer = this.renderers.get(item.templateId);
@@ -944,7 +945,8 @@ class ListView {
944
945
  return undefined;
945
946
  }
946
947
  const relativePosition = browserEvent.offsetY / this.items[targetIndex].size;
947
- return Math.floor(relativePosition / 0.25);
948
+ const sector = Math.floor(relativePosition / 0.25);
949
+ return clamp(sector, 0, 3);
948
950
  }
949
951
  getItemIndexFromEventTarget(target) {
950
952
  const scrollableElement = this.scrollableElement.getDomNode();
@@ -1003,13 +1005,10 @@ class ListView {
1003
1005
  }
1004
1006
  }
1005
1007
  }
1006
- const renderRanges = Range.relativeComplement(renderRange, previousRenderRange);
1008
+ const renderRanges = Range.relativeComplement(renderRange, previousRenderRange).reverse();
1007
1009
  for (const range of renderRanges) {
1008
- for (let i = range.start; i < range.end; i++) {
1009
- const afterIndex = i + 1;
1010
- const beforeRow = afterIndex < this.items.length ? this.items[afterIndex].row : null;
1011
- const beforeElement = beforeRow ? beforeRow.domNode : null;
1012
- this.insertItemInDOM(i, beforeElement);
1010
+ for (let i = range.end - 1; i >= range.start; i--) {
1011
+ this.insertItemInDOM(i);
1013
1012
  }
1014
1013
  }
1015
1014
  for (let i = renderRange.start; i < renderRange.end; i++) {
@@ -1067,20 +1066,6 @@ class ListView {
1067
1066
  this.cache.release(row);
1068
1067
  return item.size - size;
1069
1068
  }
1070
- getNextToLastElement(ranges) {
1071
- const lastRange = ranges[ranges.length - 1];
1072
- if (!lastRange) {
1073
- return null;
1074
- }
1075
- const nextToLastItem = this.items[lastRange.end];
1076
- if (!nextToLastItem) {
1077
- return null;
1078
- }
1079
- if (!nextToLastItem.row) {
1080
- return null;
1081
- }
1082
- return nextToLastItem.row.domNode;
1083
- }
1084
1069
  getElementDomId(index) {
1085
1070
  return `${this.domId}_${index}`;
1086
1071
  }
@@ -767,10 +767,6 @@ ${formatRule(Codicon.menuSubmenu)}
767
767
  cursor: default;
768
768
  }
769
769
 
770
- .monaco-menu .monaco-action-bar.animated .action-item.active {
771
- transform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */
772
- }
773
-
774
770
  .monaco-menu .monaco-action-bar .action-item .icon,
775
771
  .monaco-menu .monaco-action-bar .action-item .codicon {
776
772
  display: inline-block;
@@ -0,0 +1,81 @@
1
+ import { IMouseWheelEvent } from '../../mouseEvent.js';
2
+ import { ScrollableElementCreationOptions, ScrollableElementResolvedOptions, ScrollableElementChangeOptions } from './scrollableElementOptions.js';
3
+ import { Widget } from '../widget.js';
4
+ import { Event } from '../../../common/event.js';
5
+ import { INewScrollPosition, IScrollPosition, Scrollable, ScrollEvent, IScrollDimensions, INewScrollDimensions } from '../../../common/scrollable.js';
6
+
7
+ interface IOverviewRulerLayoutInfo {
8
+ parent: HTMLElement;
9
+ insertBefore: HTMLElement;
10
+ }
11
+ declare abstract class AbstractScrollableElement extends Widget {
12
+ private readonly _options;
13
+ protected readonly _scrollable: Scrollable;
14
+ private readonly _verticalScrollbar;
15
+ private readonly _horizontalScrollbar;
16
+ private readonly _domNode;
17
+ private readonly _leftShadowDomNode;
18
+ private readonly _topShadowDomNode;
19
+ private readonly _topLeftShadowDomNode;
20
+ private readonly _listenOnDomNode;
21
+ private _mouseWheelToDispose;
22
+ private _isDragging;
23
+ private _mouseIsOver;
24
+ private readonly _hideTimeout;
25
+ private _shouldRender;
26
+ private _revealOnScroll;
27
+ private readonly _onScroll;
28
+ readonly onScroll: Event<ScrollEvent>;
29
+ private readonly _onWillScroll;
30
+ readonly onWillScroll: Event<ScrollEvent>;
31
+ get options(): Readonly<ScrollableElementResolvedOptions>;
32
+ protected constructor(element: HTMLElement, options: ScrollableElementCreationOptions, scrollable: Scrollable);
33
+ dispose(): void;
34
+ /**
35
+ * Get the generated 'scrollable' dom node
36
+ */
37
+ getDomNode(): HTMLElement;
38
+ getOverviewRulerLayoutInfo(): IOverviewRulerLayoutInfo;
39
+ /**
40
+ * Delegate a pointer down event to the vertical scrollbar.
41
+ * This is to help with clicking somewhere else and having the scrollbar react.
42
+ */
43
+ delegateVerticalScrollbarPointerDown(browserEvent: PointerEvent): void;
44
+ getScrollDimensions(): IScrollDimensions;
45
+ setScrollDimensions(dimensions: INewScrollDimensions): void;
46
+ /**
47
+ * Update the class name of the scrollable element.
48
+ */
49
+ updateClassName(newClassName: string): void;
50
+ /**
51
+ * Update configuration options for the scrollbar.
52
+ */
53
+ updateOptions(newOptions: ScrollableElementChangeOptions): void;
54
+ setRevealOnScroll(value: boolean): void;
55
+ delegateScrollFromMouseWheelEvent(browserEvent: IMouseWheelEvent): void;
56
+ private _setListeningToMouseWheel;
57
+ private _onMouseWheel;
58
+ private _onDidScroll;
59
+ /**
60
+ * Render / mutate the DOM now.
61
+ * Should be used together with the ctor option `lazyRender`.
62
+ */
63
+ renderNow(): void;
64
+ private _render;
65
+ private _onDragStart;
66
+ private _onDragEnd;
67
+ private _onMouseLeave;
68
+ private _onMouseOver;
69
+ private _reveal;
70
+ private _hide;
71
+ private _scheduleHide;
72
+ }
73
+ declare class DomScrollableElement extends AbstractScrollableElement {
74
+ private _element;
75
+ constructor(element: HTMLElement, options: ScrollableElementCreationOptions);
76
+ setScrollPosition(update: INewScrollPosition): void;
77
+ getScrollPosition(): IScrollPosition;
78
+ scanDomNode(): void;
79
+ }
80
+
81
+ export { AbstractScrollableElement, DomScrollableElement, type IOverviewRulerLayoutInfo };
@@ -0,0 +1,160 @@
1
+ import { ScrollbarVisibility } from '../../../common/scrollable.js';
2
+
3
+ interface ScrollableElementCreationOptions {
4
+ /**
5
+ * The scrollable element should not do any DOM mutations until renderNow() is called.
6
+ * Defaults to false.
7
+ */
8
+ lazyRender?: boolean;
9
+ /**
10
+ * CSS Class name for the scrollable element.
11
+ */
12
+ className?: string;
13
+ /**
14
+ * Drop subtle horizontal and vertical shadows.
15
+ * Defaults to false.
16
+ */
17
+ useShadows?: boolean;
18
+ /**
19
+ * Handle mouse wheel (listen to mouse wheel scrolling).
20
+ * Defaults to true
21
+ */
22
+ handleMouseWheel?: boolean;
23
+ /**
24
+ * If mouse wheel is handled, make mouse wheel scrolling smooth.
25
+ * Defaults to true.
26
+ */
27
+ mouseWheelSmoothScroll?: boolean;
28
+ /**
29
+ * Flip axes. Treat vertical scrolling like horizontal and vice-versa.
30
+ * Defaults to false.
31
+ */
32
+ flipAxes?: boolean;
33
+ /**
34
+ * If enabled, will scroll horizontally when scrolling vertical.
35
+ * Defaults to false.
36
+ */
37
+ scrollYToX?: boolean;
38
+ /**
39
+ * Consume all mouse wheel events if a scrollbar is needed (i.e. scrollSize > size).
40
+ * Defaults to false.
41
+ */
42
+ consumeMouseWheelIfScrollbarIsNeeded?: boolean;
43
+ /**
44
+ * Always consume mouse wheel events, even when scrolling is no longer possible.
45
+ * Defaults to false.
46
+ */
47
+ alwaysConsumeMouseWheel?: boolean;
48
+ /**
49
+ * A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.
50
+ * Defaults to 1.
51
+ */
52
+ mouseWheelScrollSensitivity?: number;
53
+ /**
54
+ * FastScrolling mulitplier speed when pressing `Alt`
55
+ * Defaults to 5.
56
+ */
57
+ fastScrollSensitivity?: number;
58
+ /**
59
+ * Whether the scrollable will only scroll along the predominant axis when scrolling both
60
+ * vertically and horizontally at the same time.
61
+ * Prevents horizontal drift when scrolling vertically on a trackpad.
62
+ * Defaults to true.
63
+ */
64
+ scrollPredominantAxis?: boolean;
65
+ /**
66
+ * Height for vertical arrows (top/bottom) and width for horizontal arrows (left/right).
67
+ * Defaults to 11.
68
+ */
69
+ arrowSize?: number;
70
+ /**
71
+ * The dom node events should be bound to.
72
+ * If no listenOnDomNode is provided, the dom node passed to the constructor will be used for event listening.
73
+ */
74
+ listenOnDomNode?: HTMLElement;
75
+ /**
76
+ * Control the visibility of the horizontal scrollbar.
77
+ * Accepted values: 'auto' (on mouse over), 'visible' (always visible), 'hidden' (never visible)
78
+ * Defaults to 'auto'.
79
+ */
80
+ horizontal?: ScrollbarVisibility;
81
+ /**
82
+ * Height (in px) of the horizontal scrollbar.
83
+ * Defaults to 10.
84
+ */
85
+ horizontalScrollbarSize?: number;
86
+ /**
87
+ * Height (in px) of the horizontal scrollbar slider.
88
+ * Defaults to `horizontalScrollbarSize`
89
+ */
90
+ horizontalSliderSize?: number;
91
+ /**
92
+ * Render arrows (left/right) for the horizontal scrollbar.
93
+ * Defaults to false.
94
+ */
95
+ horizontalHasArrows?: boolean;
96
+ /**
97
+ * Control the visibility of the vertical scrollbar.
98
+ * Accepted values: 'auto' (on mouse over), 'visible' (always visible), 'hidden' (never visible)
99
+ * Defaults to 'auto'.
100
+ */
101
+ vertical?: ScrollbarVisibility;
102
+ /**
103
+ * Width (in px) of the vertical scrollbar.
104
+ * Defaults to 10.
105
+ */
106
+ verticalScrollbarSize?: number;
107
+ /**
108
+ * Width (in px) of the vertical scrollbar slider.
109
+ * Defaults to `verticalScrollbarSize`
110
+ */
111
+ verticalSliderSize?: number;
112
+ /**
113
+ * Render arrows (top/bottom) for the vertical scrollbar.
114
+ * Defaults to false.
115
+ */
116
+ verticalHasArrows?: boolean;
117
+ /**
118
+ * Scroll gutter clicks move by page vs. jump to position.
119
+ * Defaults to false.
120
+ */
121
+ scrollByPage?: boolean;
122
+ }
123
+ interface ScrollableElementChangeOptions {
124
+ handleMouseWheel?: boolean;
125
+ mouseWheelScrollSensitivity?: number;
126
+ fastScrollSensitivity?: number;
127
+ scrollPredominantAxis?: boolean;
128
+ horizontal?: ScrollbarVisibility;
129
+ horizontalScrollbarSize?: number;
130
+ vertical?: ScrollbarVisibility;
131
+ verticalScrollbarSize?: number;
132
+ scrollByPage?: boolean;
133
+ }
134
+ interface ScrollableElementResolvedOptions {
135
+ lazyRender: boolean;
136
+ className: string;
137
+ useShadows: boolean;
138
+ handleMouseWheel: boolean;
139
+ flipAxes: boolean;
140
+ scrollYToX: boolean;
141
+ consumeMouseWheelIfScrollbarIsNeeded: boolean;
142
+ alwaysConsumeMouseWheel: boolean;
143
+ mouseWheelScrollSensitivity: number;
144
+ fastScrollSensitivity: number;
145
+ scrollPredominantAxis: boolean;
146
+ mouseWheelSmoothScroll: boolean;
147
+ arrowSize: number;
148
+ listenOnDomNode: HTMLElement | null;
149
+ horizontal: ScrollbarVisibility;
150
+ horizontalScrollbarSize: number;
151
+ horizontalSliderSize: number;
152
+ horizontalHasArrows: boolean;
153
+ vertical: ScrollbarVisibility;
154
+ verticalScrollbarSize: number;
155
+ verticalSliderSize: number;
156
+ verticalHasArrows: boolean;
157
+ scrollByPage: boolean;
158
+ }
159
+
160
+ export type { ScrollableElementChangeOptions, ScrollableElementCreationOptions, ScrollableElementResolvedOptions };
@@ -2,6 +2,8 @@ import { $ as $$1, append, createStyleSheet, addDisposableListener, addStandardD
2
2
  import { DomEmitter } from '../../event.js';
3
3
  import { StandardKeyboardEvent } from '../../keyboardEvent.js';
4
4
  import { renderMarkdown } from '../../markdownRenderer.js';
5
+ import { getDefaultHoverDelegate } from '../hover/hoverDelegate.js';
6
+ import { setupCustomHover } from '../iconLabel/iconLabelHover.js';
5
7
  import { List } from '../list/listWidget.js';
6
8
  import { equals } from '../../../common/arrays.js';
7
9
  import { Emitter, Event } from '../../../common/event.js';
@@ -69,6 +71,7 @@ class SelectBoxList extends Disposable {
69
71
  if (typeof this.selectBoxOptions.ariaDescription === 'string') {
70
72
  this.selectElement.setAttribute('aria-description', this.selectBoxOptions.ariaDescription);
71
73
  }
74
+ this._hover = this._register(setupCustomHover(getDefaultHoverDelegate('mouse'), this.selectElement, ''));
72
75
  this._onDidSelect = ( new Emitter());
73
76
  this._register(this._onDidSelect);
74
77
  this.registerListeners();
@@ -110,7 +113,7 @@ class SelectBoxList extends Disposable {
110
113
  selected: e.target.value
111
114
  });
112
115
  if (!!this.options[this.selected] && !!this.options[this.selected].text) {
113
- this.selectElement.title = this.options[this.selected].text;
116
+ this._hover.update(this.options[this.selected].text);
114
117
  }
115
118
  }));
116
119
  this._register(addDisposableListener(this.selectElement, EventType.CLICK, (e) => {
@@ -193,7 +196,7 @@ class SelectBoxList extends Disposable {
193
196
  }
194
197
  this.selectElement.selectedIndex = this.selected;
195
198
  if (!!this.options[this.selected] && !!this.options[this.selected].text) {
196
- this.selectElement.title = this.options[this.selected].text;
199
+ this._hover.update(this.options[this.selected].text);
197
200
  }
198
201
  }
199
202
  setAriaLabel(label) {
@@ -568,7 +571,7 @@ class SelectBoxList extends Disposable {
568
571
  selected: this.options[this.selected].text
569
572
  });
570
573
  if (!!this.options[this.selected] && !!this.options[this.selected].text) {
571
- this.selectElement.title = this.options[this.selected].text;
574
+ this._hover.update(this.options[this.selected].text);
572
575
  }
573
576
  }
574
577
  this.hideSelectDropDown(true);
@@ -643,7 +646,7 @@ class SelectBoxList extends Disposable {
643
646
  selected: this.options[this.selected].text
644
647
  });
645
648
  if (!!this.options[this.selected] && !!this.options[this.selected].text) {
646
- this.selectElement.title = this.options[this.selected].text;
649
+ this._hover.update(this.options[this.selected].text);
647
650
  }
648
651
  }
649
652
  this.hideSelectDropDown(true);
@@ -1,8 +1,10 @@
1
1
  import { append, $, createStyleSheet, getContentHeight, getContentWidth, clearNode } from '../../dom.js';
2
+ import { getDefaultHoverDelegate } from '../hover/hoverDelegate.js';
3
+ import { setupCustomHover } from '../iconLabel/iconLabelHover.js';
2
4
  import { List, unthemedListStyles } from '../list/listWidget.js';
3
5
  import { SplitView } from '../splitview/splitview.js';
4
6
  import { Event, Emitter } from '../../../common/event.js';
5
- import { DisposableStore } from '../../../common/lifecycle.js';
7
+ import { DisposableStore, Disposable } from '../../../common/lifecycle.js';
6
8
  import './table.css.js';
7
9
  class TableListRenderer {
8
10
  static { this.TemplateId = 'row'; }
@@ -74,16 +76,18 @@ function asListVirtualDelegate(delegate) {
74
76
  getTemplateId() { return TableListRenderer.TemplateId; },
75
77
  };
76
78
  }
77
- class ColumnHeader {
79
+ class ColumnHeader extends Disposable {
78
80
  get minimumSize() { return this.column.minimumWidth ?? 120; }
79
81
  get maximumSize() { return this.column.maximumWidth ?? Number.POSITIVE_INFINITY; }
80
82
  get onDidChange() { return this.column.onDidChangeWidthConstraints ?? Event.None; }
81
83
  constructor(column, index) {
84
+ super();
82
85
  this.column = column;
83
86
  this.index = index;
84
87
  this._onDidLayout = ( new Emitter());
85
88
  this.onDidLayout = this._onDidLayout.event;
86
- this.element = $('.monaco-table-th', { 'data-col-index': index, title: column.tooltip }, column.label);
89
+ this.element = $('.monaco-table-th', { 'data-col-index': index }, column.label);
90
+ this._register(setupCustomHover(getDefaultHoverDelegate('mouse'), this.element, column.tooltip));
87
91
  }
88
92
  layout(size) {
89
93
  this._onDidLayout.fire([this.index, size]);
@@ -122,7 +126,7 @@ class Table {
122
126
  this.cachedWidth = 0;
123
127
  this.cachedHeight = 0;
124
128
  this.domNode = append(container, $(`.monaco-table.${this.domId}`));
125
- const headers = ( columns.map((c, i) => ( new ColumnHeader(c, i))));
129
+ const headers = ( columns.map((c, i) => this.disposables.add(( new ColumnHeader(c, i)))));
126
130
  const descriptor = {
127
131
  size: headers.reduce((a, b) => a + b.column.weight, 0),
128
132
  views: ( headers.map(view => ({ size: view.column.weight, view })))
@@ -5,6 +5,8 @@ import { ThemeIcon } from '../../../common/themables.js';
5
5
  import { Emitter } from '../../../common/event.js';
6
6
  import './toggle.css.js';
7
7
  import { $, addDisposableListener, EventType, isActiveElement } from '../../dom.js';
8
+ import { setupCustomHover } from '../iconLabel/iconLabelHover.js';
9
+ import { getDefaultHoverDelegate } from '../hover/hoverDelegate.js';
8
10
  const unthemedToggleStyles = {
9
11
  inputActiveOptionBorder: '#007ACC00',
10
12
  inputActiveOptionForeground: '#FFFFFF',
@@ -74,7 +76,7 @@ class Toggle extends Widget {
74
76
  classes.push('checked');
75
77
  }
76
78
  this.domNode = document.createElement('div');
77
- this.domNode.title = this._opts.title;
79
+ this._hover = this._register(setupCustomHover(getDefaultHoverDelegate('mouse'), this.domNode, this._opts.title));
78
80
  this.domNode.classList.add(...classes);
79
81
  if (!this._opts.notFocusable) {
80
82
  this.domNode.tabIndex = 0;
@@ -143,7 +145,7 @@ class Toggle extends Widget {
143
145
  this.domNode.setAttribute('aria-disabled', String(true));
144
146
  }
145
147
  setTitle(newTitle) {
146
- this.domNode.title = newTitle;
148
+ this._hover.update(newTitle);
147
149
  this.domNode.setAttribute('aria-label', newTitle);
148
150
  }
149
151
  }
@@ -7,6 +7,7 @@ import { EventMultiplexer } from '../../../common/event.js';
7
7
  import { Disposable, DisposableStore } from '../../../common/lifecycle.js';
8
8
  import './toolbar.css.js';
9
9
  import { localizeWithPath } from '../../../../nls.js';
10
+ import { getDefaultHoverDelegate } from '../hover/hoverDelegate.js';
10
11
  class ToolBar extends Disposable {
11
12
  constructor(container, contextMenuProvider, options = { orientation: 0 }) {
12
13
  super();
@@ -15,6 +16,7 @@ class ToolBar extends Disposable {
15
16
  this._onDidChangeDropdownVisibility = this._register(( new EventMultiplexer()));
16
17
  this.onDidChangeDropdownVisibility = this._onDidChangeDropdownVisibility.event;
17
18
  this.disposables = this._register(( new DisposableStore()));
19
+ options.hoverDelegate = options.hoverDelegate ?? this._register(getDefaultHoverDelegate('element', true));
18
20
  this.options = options;
19
21
  this.lookupKeybindings = typeof this.options.getKeyBinding === 'function';
20
22
  this.toggleMenuAction = this._register(( new ToggleMenuAction(() => this.toggleMenuActionViewItem?.show(), options.toggleMenuTitle)));
@@ -27,6 +29,7 @@ class ToolBar extends Disposable {
27
29
  actionRunner: options.actionRunner,
28
30
  allowContextMenu: options.allowContextMenu,
29
31
  highlightToggledItems: options.highlightToggledItems,
32
+ hoverDelegate: options.hoverDelegate,
30
33
  actionViewItemProvider: (action, viewItemOptions) => {
31
34
  if (action.id === ToggleMenuAction.ID) {
32
35
  this.toggleMenuActionViewItem = ( new DropdownMenuActionViewItem(action, action.menuActions, contextMenuProvider, {
@@ -37,7 +40,8 @@ class ToolBar extends Disposable {
37
40
  anchorAlignmentProvider: this.options.anchorAlignmentProvider,
38
41
  menuAsChild: !!this.options.renderDropdownAsChildElement,
39
42
  skipTelemetry: this.options.skipTelemetry,
40
- isMenu: true
43
+ isMenu: true,
44
+ hoverDelegate: this.options.hoverDelegate
41
45
  }));
42
46
  this.toggleMenuActionViewItem.setActionContext(this.actionBar.context);
43
47
  this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility));
@@ -57,7 +61,8 @@ class ToolBar extends Disposable {
57
61
  classNames: action.class,
58
62
  anchorAlignmentProvider: this.options.anchorAlignmentProvider,
59
63
  menuAsChild: !!this.options.renderDropdownAsChildElement,
60
- skipTelemetry: this.options.skipTelemetry
64
+ skipTelemetry: this.options.skipTelemetry,
65
+ hoverDelegate: this.options.hoverDelegate
61
66
  }));
62
67
  result.setActionContext(this.actionBar.context);
63
68
  this.submenuActionViewItems.push(result);
@@ -590,6 +590,7 @@ class AsyncDataTree {
590
590
  if (treeNode.collapsed) {
591
591
  node.hasChildren = !!this.dataSource.hasChildren(node.element);
592
592
  node.stale = true;
593
+ this.setChildren(node, [], recursive, viewStateContext);
593
594
  return;
594
595
  }
595
596
  }
@@ -158,7 +158,7 @@ function toAction(props) {
158
158
  label: props.label,
159
159
  class: props.class,
160
160
  enabled: props.enabled ?? true,
161
- checked: props.checked ?? false,
161
+ checked: props.checked,
162
162
  run: async (...args) => props.run(...args),
163
163
  tooltip: props.label
164
164
  };
@@ -9,7 +9,7 @@ function assertNever(value, message = 'Unreachable') {
9
9
  }
10
10
  function softAssert(condition) {
11
11
  if (!condition) {
12
- onUnexpectedError(( new BugIndicatingError('Assertion Failed')));
12
+ onUnexpectedError(( new BugIndicatingError('Soft Assertion Failed')));
13
13
  }
14
14
  }
15
15
  function assertFn(condition) {