@codingame/monaco-vscode-api 2.2.2 → 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 (578) 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 +5 -6
  12. package/service-override/tools/views.js +10 -11
  13. package/services.d.ts +2 -2
  14. package/services.js +4 -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.js +9 -3
  19. package/vscode/src/vs/base/browser/pixelRatio.js +72 -0
  20. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +4 -3
  21. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.css.js +1 -1
  22. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -1
  23. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +3 -4
  24. package/vscode/src/vs/base/browser/ui/button/button.js +16 -4
  25. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  26. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -3
  27. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +8 -1
  28. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +6 -2
  29. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.js +22 -0
  30. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +1 -0
  31. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +3 -2
  32. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabelHover.js +2 -1
  33. package/vscode/src/vs/base/browser/ui/list/listView.js +27 -42
  34. package/vscode/src/vs/base/browser/ui/menu/menu.js +0 -4
  35. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -4
  36. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +8 -4
  37. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +4 -2
  38. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +7 -2
  39. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +1 -0
  40. package/vscode/src/vs/base/common/actions.js +1 -1
  41. package/vscode/src/vs/base/common/assert.js +1 -1
  42. package/vscode/src/vs/base/common/async.js +11 -7
  43. package/vscode/src/vs/base/common/codicons.d.ts +4 -0
  44. package/vscode/src/vs/base/common/codicons.js +4 -0
  45. package/vscode/src/vs/base/common/date.js +55 -1
  46. package/vscode/src/vs/base/common/event.js +5 -3
  47. package/vscode/src/vs/base/common/filters.js +1 -1
  48. package/vscode/src/vs/base/common/hotReload.js +5 -4
  49. package/vscode/src/vs/base/common/network.js +3 -0
  50. package/vscode/src/vs/base/common/observableInternal/autorun.js +19 -35
  51. package/vscode/src/vs/base/common/observableInternal/base.js +3 -82
  52. package/vscode/src/vs/base/common/observableInternal/debugName.js +100 -0
  53. package/vscode/src/vs/base/common/observableInternal/derived.js +14 -46
  54. package/vscode/src/vs/base/common/observableInternal/promise.js +94 -0
  55. package/vscode/src/vs/base/common/observableInternal/utils.js +5 -27
  56. package/vscode/src/vs/base/common/prefixTree.js +56 -22
  57. package/vscode/src/vs/base/common/product.d.ts +1 -1
  58. package/vscode/src/vs/base/common/strings.js +9 -1
  59. package/vscode/src/vs/editor/browser/config/charWidthReader.js +5 -6
  60. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +7 -4
  61. package/vscode/src/vs/editor/browser/config/fontMeasurements.js +39 -26
  62. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +10 -10
  63. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +4 -4
  64. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +12 -12
  65. package/vscode/src/vs/editor/browser/coreCommands.js +2 -2
  66. package/vscode/src/vs/editor/browser/view/viewController.js +3 -3
  67. package/vscode/src/vs/editor/browser/view/viewLayer.js +1 -1
  68. package/vscode/src/vs/editor/browser/view/viewOverlays.js +6 -6
  69. package/vscode/src/vs/editor/browser/view.js +2 -2
  70. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
  71. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +5 -5
  72. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +8 -8
  73. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +2 -2
  74. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +11 -11
  75. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +4 -4
  76. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +4 -4
  77. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +4 -4
  78. package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +4 -4
  79. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +13 -13
  80. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +2 -2
  81. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +2 -2
  82. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +7 -7
  83. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +2 -2
  84. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +7 -7
  85. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +6 -6
  86. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +2 -2
  87. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +3 -3
  88. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +4 -4
  89. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +2 -2
  90. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +2 -2
  91. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +5 -5
  92. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +5 -5
  93. package/vscode/src/vs/editor/browser/widget/codeEditorContributions.js +2 -2
  94. package/vscode/src/vs/editor/browser/widget/codeEditorWidget.js +34 -32
  95. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.css.js +1 -1
  96. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +82 -37
  97. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +3 -1
  98. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +7 -7
  99. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +3 -3
  100. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +6 -6
  101. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +10 -16
  102. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +2 -1
  103. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +12 -12
  104. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -4
  105. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -1
  106. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +17 -18
  107. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +1 -1
  108. package/vscode/src/vs/editor/browser/widget/embeddedCodeEditorWidget.js +4 -4
  109. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/renderedMarkdown.css.js +1 -1
  110. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/colors.js +2 -2
  111. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/diffEditorItemTemplate.js +43 -16
  112. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorWidget.js +3 -0
  113. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorWidgetImpl.js +42 -8
  114. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/style.css.js +1 -1
  115. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +18 -1
  116. package/vscode/src/vs/editor/common/config/editorOptions.js +188 -107
  117. package/vscode/src/vs/editor/common/config/fontInfo.js +2 -2
  118. package/vscode/src/vs/editor/common/cursorCommon.js +14 -14
  119. package/vscode/src/vs/editor/common/editorContextKeys.js +1 -1
  120. package/vscode/src/vs/editor/common/languageSelector.js +12 -1
  121. package/vscode/src/vs/editor/common/languages.d.ts +28 -1
  122. package/vscode/src/vs/editor/common/languages.js +6 -1
  123. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +3 -1
  124. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +2 -0
  125. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +96 -86
  126. package/vscode/src/vs/editor/common/standaloneStrings.js +5 -5
  127. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +19 -19
  128. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +2 -2
  129. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +12 -12
  130. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +3 -3
  131. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +6 -6
  132. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +5 -1
  133. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +3 -3
  134. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +2 -2
  135. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +1 -1
  136. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
  137. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +3 -3
  138. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +2 -2
  139. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +3 -3
  140. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +2 -3
  141. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +3 -3
  142. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +3 -3
  143. package/vscode/src/vs/editor/contrib/find/browser/findController.js +1 -1
  144. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +6 -6
  145. package/vscode/src/vs/editor/contrib/find/browser/findWidget.css.js +1 -1
  146. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +9 -62
  147. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +3 -3
  148. package/vscode/src/vs/editor/contrib/format/browser/format.js +5 -5
  149. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +5 -5
  150. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
  151. package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +1 -1
  152. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +58 -84
  153. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +3 -3
  154. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  155. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +8 -2
  156. package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +1 -1
  157. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +1 -1
  158. package/vscode/src/vs/editor/contrib/hover/browser/marginHover.js +1 -1
  159. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +1 -1
  160. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +18 -15
  161. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +3 -3
  162. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +1 -1
  163. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +2 -2
  164. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +1 -1
  165. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +14 -6
  166. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +10 -10
  167. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +1 -1
  168. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +3 -3
  169. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +54 -27
  170. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
  171. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +115 -45
  172. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +1 -1
  173. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +6 -5
  174. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +46 -1
  175. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commandIds.js +5 -0
  176. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commands.js +145 -0
  177. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +188 -0
  178. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +91 -0
  179. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js +12 -0
  180. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.css.js +4 -0
  181. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +309 -0
  182. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.css.js +4 -0
  183. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +193 -0
  184. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +2 -2
  185. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +1 -1
  186. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  187. package/vscode/src/vs/editor/contrib/links/browser/links.js +5 -5
  188. package/vscode/src/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +1 -1
  189. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +10 -10
  190. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +3 -3
  191. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +1 -1
  192. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +1 -1
  193. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +1 -1
  194. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +143 -9
  195. package/vscode/src/vs/editor/contrib/rename/browser/renameInputField.css.js +1 -1
  196. package/vscode/src/vs/editor/contrib/rename/browser/renameInputField.js +347 -17
  197. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +1 -1
  198. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +2 -2
  199. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +23 -37
  200. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +11 -10
  201. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
  202. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +8 -8
  203. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +4 -4
  204. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +2 -2
  205. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +11 -11
  206. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +6 -6
  207. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +3 -3
  208. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +3 -3
  209. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +2 -2
  210. package/vscode/src/vs/editor/contrib/suggest/browser/wordDistance.js +1 -1
  211. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +3 -3
  212. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -3
  213. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +4 -4
  214. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +26 -16
  215. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
  216. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +7 -3
  217. package/vscode/src/vs/editor/editor.api.d.ts +146 -85
  218. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +1 -1
  219. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +3 -5
  220. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +7 -4
  221. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +10 -10
  222. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +99 -0
  223. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +608 -0
  224. package/vscode/src/vs/platform/action/common/actionCommonCategories.d.ts +1 -4
  225. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +3 -3
  226. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +26 -41
  227. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +6 -4
  228. package/vscode/src/vs/platform/actions/common/actions.d.ts +11 -0
  229. package/vscode/src/vs/platform/actions/common/actions.js +11 -0
  230. package/vscode/src/vs/platform/configuration/common/configuration.d.ts +17 -33
  231. package/vscode/src/vs/platform/configuration/common/configurationModels.js +42 -29
  232. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -4
  233. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +2 -2
  234. package/vscode/src/vs/platform/hover/browser/hover.js +69 -1
  235. package/vscode/src/vs/platform/product/common/product.js +1 -1
  236. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +14 -20
  237. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +11 -5
  238. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +22 -2
  239. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +9 -7
  240. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +2 -5
  241. package/vscode/src/vs/platform/request/common/request.js +111 -0
  242. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +1 -0
  243. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +15 -0
  244. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +9 -0
  245. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +5 -3
  246. package/vscode/src/vs/platform/theme/common/colorRegistry.js +5 -5
  247. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +6 -2
  248. package/vscode/src/vs/platform/window/common/window.js +4 -1
  249. package/vscode/src/vs/platform/workspace/common/workspace.js +2 -1
  250. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +2 -2
  251. package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +130 -14
  252. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +76 -24
  253. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +4 -1
  254. package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -39
  255. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +309 -137
  256. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +164 -49
  257. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +67 -7
  258. package/vscode/src/vs/workbench/api/common/extHostComments.js +28 -0
  259. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +129 -48
  260. package/vscode/src/vs/workbench/api/common/extHostDocumentData.js +1 -2
  261. package/vscode/src/vs/workbench/api/common/extHostDocumentsAndEditors.js +1 -1
  262. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +5 -4
  263. package/vscode/src/vs/workbench/api/common/extHostInteractive.js +0 -1
  264. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +130 -16
  265. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +12 -1
  266. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +14 -5
  267. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +19 -1
  268. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +2 -2
  269. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +301 -75
  270. package/vscode/src/vs/workbench/api/common/extHostTypes.js +127 -45
  271. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +46 -7
  272. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +55 -2
  273. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +1 -1
  274. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +146 -99
  275. package/vscode/src/vs/workbench/browser/actions/listCommands.js +2 -3
  276. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +3 -4
  277. package/vscode/src/vs/workbench/browser/actions/windowActions.js +4 -8
  278. package/vscode/src/vs/workbench/browser/composite.d.ts +2 -1
  279. package/vscode/src/vs/workbench/browser/composite.js +1 -1
  280. package/vscode/src/vs/workbench/browser/editor.js +11 -1
  281. package/vscode/src/vs/workbench/browser/media/style.css.js +1 -1
  282. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -1
  283. package/vscode/src/vs/workbench/browser/panecomposite.js +2 -2
  284. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +4 -6
  285. package/vscode/src/vs/workbench/browser/parts/activitybar/media/activityaction.css.js +1 -1
  286. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +4 -4
  287. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +1 -1
  288. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +1 -1
  289. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +10 -10
  290. package/vscode/src/vs/workbench/browser/parts/compositePart.js +8 -5
  291. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +39 -29
  292. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +1 -1
  293. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +20 -24
  294. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +6 -4
  295. package/vscode/src/vs/workbench/browser/parts/editor/editor.autosave.contribution.js +2 -3
  296. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +52 -54
  297. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +30 -30
  298. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +1 -0
  299. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +12 -18
  300. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +1 -0
  301. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +1 -1
  302. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +7 -6
  303. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +17 -6
  304. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +13 -5
  305. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
  306. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +84 -71
  307. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +2 -6
  308. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +4 -1
  309. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +2 -2
  310. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +29 -29
  311. package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css.js +1 -1
  312. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +5 -5
  313. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +3 -3
  314. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +1 -5
  315. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +9 -6
  316. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +56 -74
  317. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +1 -1
  318. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +6 -9
  319. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +4 -4
  320. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +9 -1
  321. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +55 -12
  322. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +9 -16
  323. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +1 -1
  324. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.d.ts +2 -1
  325. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +4 -4
  326. package/vscode/src/vs/workbench/browser/quickaccess.js +8 -1
  327. package/vscode/src/vs/workbench/browser/workbench.contribution.js +22 -20
  328. package/vscode/src/vs/workbench/common/configuration.js +146 -43
  329. package/vscode/src/vs/workbench/common/contextkeys.js +4 -4
  330. package/vscode/src/vs/workbench/common/contributions.js +136 -20
  331. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +5 -5
  332. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +1 -1
  333. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +17 -11
  334. package/vscode/src/vs/workbench/common/editor/editorInput.js +1 -1
  335. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -2
  336. package/vscode/src/vs/workbench/common/editor.d.ts +4 -0
  337. package/vscode/src/vs/workbench/common/theme.js +11 -1
  338. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +1064 -118
  339. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +7 -7
  340. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +5 -5
  341. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +306 -0
  342. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +46 -0
  343. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +177 -0
  344. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +163 -0
  345. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +1 -1
  346. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +2 -2
  347. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +31 -17
  348. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +11 -17
  349. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +18 -27
  350. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +2 -5
  351. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +34 -8
  352. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +8 -7
  353. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +142 -109
  354. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +80 -52
  355. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +1 -1
  356. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +44 -13
  357. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +230 -74
  358. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  359. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +5 -5
  360. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +87 -29
  361. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +19 -3
  362. package/vscode/src/vs/workbench/contrib/chat/common/chatProvider.js +18 -3
  363. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +11 -8
  364. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -6
  365. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +11 -5
  366. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +2 -2
  367. package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +71 -0
  368. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.css.js +4 -0
  369. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +256 -0
  370. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +2 -2
  371. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +3 -4
  372. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +8 -6
  373. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +11 -11
  374. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -4
  375. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -3
  376. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -3
  377. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -10
  378. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +9 -2
  379. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +27 -13
  380. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +41 -23
  381. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.js +15 -7
  382. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +22 -10
  383. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
  384. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +1 -0
  385. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  386. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +3 -3
  387. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +2 -2
  388. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +3 -1
  389. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +2 -3
  390. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInputFactory.js +1 -0
  391. package/vscode/src/vs/workbench/contrib/customEditor/common/extensionPoint.js +66 -2
  392. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +31 -2
  393. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +2 -2
  394. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +37 -7
  395. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +118 -25
  396. package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +1 -1
  397. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +37 -5
  398. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +24 -1
  399. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +18 -0
  400. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +237 -140
  401. package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.js +72 -25
  402. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessions.js +5 -8
  403. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +29 -4
  404. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorHandler.js +1 -0
  405. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +1 -0
  406. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +2 -1
  407. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +8 -7
  408. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +21 -19
  409. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +152 -120
  410. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +24 -1
  411. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  412. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +26 -25
  413. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +5 -5
  414. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +51 -12
  415. package/vscode/src/vs/workbench/contrib/files/browser/views/media/openeditors.css.js +1 -1
  416. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +24 -9
  417. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +1 -1
  418. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -0
  419. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +16 -22
  420. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +1 -1
  421. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +48 -27
  422. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +2 -2
  423. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +23 -8
  424. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +48 -6
  425. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +145 -73
  426. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +31 -9
  427. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +8 -10
  428. package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +3 -3
  429. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +7 -3
  430. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.js +95 -152
  431. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.js +16 -25
  432. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.js +2 -4
  433. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -1
  434. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +19 -19
  435. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +1 -1
  436. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +1 -0
  437. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +17 -3
  438. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +102 -15
  439. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +2 -2
  440. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +234 -0
  441. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +1 -2
  442. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +48 -24
  443. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +52 -22
  444. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +62 -3
  445. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +40 -0
  446. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +20 -6
  447. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +4 -4
  448. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatPart.js +3 -27
  449. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +28 -6
  450. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +28 -3
  451. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +78 -18
  452. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +208 -1
  453. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +1 -1
  454. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +4 -4
  455. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +85 -71
  456. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +1 -2
  457. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +1 -4
  458. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +2 -3
  459. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +82 -14
  460. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +1 -1
  461. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +0 -1
  462. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookOverviewRuler.js +4 -3
  463. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +92 -33
  464. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +136 -0
  465. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +6 -1
  466. package/vscode/src/vs/workbench/contrib/notebook/common/notebookRange.js +5 -1
  467. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +279 -0
  468. package/vscode/src/vs/workbench/contrib/preferences/browser/keyboardLayoutPicker.js +6 -7
  469. package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindings.css.js +4 -0
  470. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +64 -0
  471. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +507 -0
  472. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +478 -0
  473. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +796 -0
  474. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +8 -10
  475. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +14 -20
  476. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +12 -12
  477. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +3 -3
  478. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +44 -54
  479. package/vscode/src/vs/workbench/contrib/search/common/constants.js +26 -65
  480. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +6 -9
  481. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +6 -9
  482. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +2 -2
  483. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +2 -2
  484. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +3 -124
  485. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +2 -2
  486. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +2 -2
  487. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +5 -5
  488. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +61 -24
  489. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -3
  490. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +5 -5
  491. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +24 -1
  492. package/vscode/src/vs/workbench/contrib/terminal/common/terminalExtensionPoints.js +1 -1
  493. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +4 -4
  494. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +10 -10
  495. package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js +45 -20
  496. package/vscode/src/vs/workbench/contrib/update/common/update.js +2 -1
  497. package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +3 -4
  498. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewCommands.js +3 -3
  499. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
  500. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInputSerializer.js +1 -1
  501. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +15 -18
  502. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +2 -5
  503. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewService.js +4 -4
  504. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +2 -2
  505. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +5 -5
  506. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +193 -54
  507. package/vscode/src/vs/workbench/services/authentication/common/authentication.js +2 -1
  508. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +9 -3
  509. package/vscode/src/vs/workbench/services/editor/browser/editorPaneService.js +10 -0
  510. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +3 -1
  511. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +5 -0
  512. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +1 -6
  513. package/vscode/src/vs/workbench/services/editor/common/editorPaneService.js +3 -0
  514. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +5 -1
  515. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeatures.js +29 -0
  516. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +1 -1
  517. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +3 -4
  518. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -3
  519. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +11 -5
  520. package/vscode/src/vs/workbench/services/extensions/common/workspaceContains.js +5 -5
  521. package/vscode/src/vs/workbench/services/history/browser/historyService.js +25 -4
  522. package/vscode/src/vs/workbench/services/history/common/history.d.ts +5 -0
  523. package/vscode/src/vs/workbench/services/language/common/languageService.js +111 -2
  524. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -2
  525. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +59 -1
  526. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +1008 -0
  527. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +477 -0
  528. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +2 -2
  529. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.d.ts +4 -1
  530. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +53 -13
  531. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -0
  532. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +2 -2
  533. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +1 -1
  534. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +22 -9
  535. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +76 -4
  536. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +2 -2
  537. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +7 -7
  538. package/vscode/src/vs/workbench/services/timer/browser/timerService.js +1 -0
  539. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorHandler.js +3 -2
  540. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +1 -1
  541. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +2 -2
  542. package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +6 -9
  543. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -12
  544. package/vscode/src/vs/workbench/services/views/common/viewContainerModel.js +6 -1
  545. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.d.ts +43 -4
  546. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +1 -1
  547. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.d.ts +16 -7
  548. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +3 -6
  549. package/vscode-dts/vscode.proposed.activeComment.d.ts +23 -0
  550. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +509 -0
  551. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +288 -0
  552. package/vscode-dts/vscode.proposed.chatProvider.d.ts +10 -1
  553. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +56 -0
  554. package/vscode-dts/vscode.proposed.codeActionRanges.d.ts +2 -4
  555. package/vscode-dts/{vscode.proposed.chat.d.ts → vscode.proposed.contribIssueReporter.d.ts} +2 -20
  556. package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemGroupMenu.d.ts +2 -0
  557. package/vscode-dts/vscode.proposed.contribSourceControlTitleMenu.d.ts +7 -0
  558. package/vscode-dts/vscode.proposed.debugVisualization.d.ts +76 -6
  559. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +49 -0
  560. package/vscode-dts/vscode.proposed.findFiles2.d.ts +89 -0
  561. package/vscode-dts/vscode.proposed.inlineEdit.d.ts +86 -0
  562. package/vscode-dts/vscode.proposed.interactive.d.ts +6 -3
  563. package/vscode-dts/vscode.proposed.languageModels.d.ts +184 -0
  564. package/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts +36 -0
  565. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +6 -0
  566. package/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts +3 -0
  567. package/vscode-dts/vscode.proposed.speech.d.ts +5 -1
  568. package/vscode-dts/vscode.proposed.testCoverage.d.ts +40 -27
  569. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +0 -98
  570. package/vscode/src/vs/platform/audioCues/browser/audioCueService.js +0 -576
  571. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +0 -348
  572. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatActions.js +0 -554
  573. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatController.js +0 -471
  574. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/featuredExtensionService.js +0 -159
  575. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +0 -440
  576. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +0 -139
  577. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +0 -105
  578. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +0 -30
@@ -0,0 +1,18 @@
1
+ import '../../../../editor/editor.api.js';
2
+
3
+ interface IBaseBreakpointOptions {
4
+ enabled?: boolean;
5
+ hitCondition?: string;
6
+ condition?: string;
7
+ logMessage?: string;
8
+ mode?: string;
9
+ modeLabel?: string;
10
+ }
11
+ interface IInstructionBreakpointOptions extends IBaseBreakpointOptions {
12
+ instructionReference: string;
13
+ offset: number;
14
+ canPersist: boolean;
15
+ address: bigint;
16
+ }
17
+
18
+ export type { IBaseBreakpointOptions, IInstructionBreakpointOptions };
@@ -238,6 +238,43 @@ function handleSetResponse(expression, response) {
238
238
  expression.indexedVariables = response.body.indexedVariables;
239
239
  }
240
240
  }
241
+ class VisualizedExpression {
242
+ evaluateLazy() {
243
+ return Promise.resolve();
244
+ }
245
+ getChildren() {
246
+ return this.visualizer.getVisualizedChildren(this.treeId, this.treeItem.id);
247
+ }
248
+ getId() {
249
+ return this.id;
250
+ }
251
+ get name() {
252
+ return this.treeItem.label;
253
+ }
254
+ get value() {
255
+ return this.treeItem.description || '';
256
+ }
257
+ get hasChildren() {
258
+ return this.treeItem.collapsibleState !== 0 ;
259
+ }
260
+ constructor(visualizer, treeId, treeItem, original) {
261
+ this.visualizer = visualizer;
262
+ this.treeId = treeId;
263
+ this.treeItem = treeItem;
264
+ this.original = original;
265
+ this.id = generateUuid();
266
+ }
267
+ async edit(newValue) {
268
+ try {
269
+ await this.visualizer.editTreeItem(this.treeId, this.treeItem, newValue);
270
+ return true;
271
+ }
272
+ catch (e) {
273
+ this.errorMessage = e.message;
274
+ return false;
275
+ }
276
+ }
277
+ }
241
278
  class Expression extends ExpressionContainer {
242
279
  static { this.DEFAULT_VALUE = ( localizeWithPath(
243
280
  'vs/workbench/contrib/debug/common/debugModel',
@@ -639,15 +676,14 @@ function toBreakpointSessionData(data, capabilities) {
639
676
  }, data);
640
677
  }
641
678
  class BaseBreakpoint extends Enablement {
642
- constructor(enabled, hitCondition, condition, logMessage, id) {
643
- super(enabled, id);
644
- this.hitCondition = hitCondition;
645
- this.condition = condition;
646
- this.logMessage = logMessage;
679
+ constructor(id, opts) {
680
+ super(opts.enabled ?? true, id);
647
681
  this.sessionData = ( new Map());
648
- if (enabled === undefined) {
649
- this.enabled = true;
650
- }
682
+ this.condition = opts.condition;
683
+ this.hitCondition = opts.hitCondition;
684
+ this.logMessage = opts.logMessage;
685
+ this.mode = opts.mode;
686
+ this.modeLabel = opts.modeLabel;
651
687
  }
652
688
  setSessionData(sessionId, data) {
653
689
  if (!data) {
@@ -708,26 +744,38 @@ class BaseBreakpoint extends Enablement {
708
744
  return undefined;
709
745
  }
710
746
  toJSON() {
711
- const result = Object.create(null);
712
- result.id = this.getId();
713
- result.enabled = this.enabled;
714
- result.condition = this.condition;
715
- result.hitCondition = this.hitCondition;
716
- result.logMessage = this.logMessage;
717
- return result;
747
+ return {
748
+ id: this.getId(),
749
+ enabled: this.enabled,
750
+ condition: this.condition,
751
+ hitCondition: this.hitCondition,
752
+ logMessage: this.logMessage,
753
+ mode: this.mode,
754
+ modeLabel: this.modeLabel,
755
+ };
718
756
  }
719
757
  }
720
758
  class Breakpoint extends BaseBreakpoint {
721
- constructor(_uri, _lineNumber, _column, enabled, condition, hitCondition, logMessage, _adapterData, textFileService, uriIdentityService, logService, id = generateUuid(), triggeredBy = undefined) {
722
- super(enabled, hitCondition, condition, logMessage, id);
723
- this._uri = _uri;
724
- this._lineNumber = _lineNumber;
725
- this._column = _column;
726
- this._adapterData = _adapterData;
759
+ constructor(opts, textFileService, uriIdentityService, logService, id = generateUuid()) {
760
+ super(id, opts);
727
761
  this.textFileService = textFileService;
728
762
  this.uriIdentityService = uriIdentityService;
729
763
  this.logService = logService;
730
- this.triggeredBy = triggeredBy;
764
+ this._uri = opts.uri;
765
+ this._lineNumber = opts.lineNumber;
766
+ this._column = opts.column;
767
+ this._adapterData = opts.adapterData;
768
+ this.triggeredBy = opts.triggeredBy;
769
+ }
770
+ toDAP() {
771
+ return {
772
+ line: this.sessionAgnosticData.lineNumber,
773
+ column: this.sessionAgnosticData.column,
774
+ condition: this.condition,
775
+ hitCondition: this.hitCondition,
776
+ logMessage: this.logMessage,
777
+ mode: this.mode
778
+ };
731
779
  }
732
780
  get originalUri() {
733
781
  return this._uri;
@@ -800,13 +848,14 @@ class Breakpoint extends BaseBreakpoint {
800
848
  }
801
849
  }
802
850
  toJSON() {
803
- const result = super.toJSON();
804
- result.uri = this._uri;
805
- result.lineNumber = this._lineNumber;
806
- result.column = this._column;
807
- result.adapterData = this.adapterData;
808
- result.triggeredBy = this.triggeredBy;
809
- return result;
851
+ return {
852
+ ...super.toJSON(),
853
+ uri: this._uri,
854
+ lineNumber: this._lineNumber,
855
+ column: this._column,
856
+ adapterData: this.adapterData,
857
+ triggeredBy: this.triggeredBy,
858
+ };
810
859
  }
811
860
  toString() {
812
861
  return `${basenameOrAuthority(this.uri)} ${this.lineNumber}`;
@@ -834,6 +883,10 @@ class Breakpoint extends BaseBreakpoint {
834
883
  if (data.hasOwnProperty('logMessage')) {
835
884
  this.logMessage = data.logMessage;
836
885
  }
886
+ if (data.hasOwnProperty('mode')) {
887
+ this.mode = data.mode;
888
+ this.modeLabel = data.modeLabel;
889
+ }
837
890
  if (data.hasOwnProperty('triggeredBy')) {
838
891
  this.triggeredBy = data.triggeredBy;
839
892
  this.sessionsDidTrigger = undefined;
@@ -841,14 +894,22 @@ class Breakpoint extends BaseBreakpoint {
841
894
  }
842
895
  }
843
896
  class FunctionBreakpoint extends BaseBreakpoint {
844
- constructor(name, enabled, hitCondition, condition, logMessage, id = generateUuid()) {
845
- super(enabled, hitCondition, condition, logMessage, id);
846
- this.name = name;
897
+ constructor(opts, id = generateUuid()) {
898
+ super(id, opts);
899
+ this.name = opts.name;
900
+ }
901
+ toDAP() {
902
+ return {
903
+ name: this.name,
904
+ condition: this.condition,
905
+ hitCondition: this.hitCondition,
906
+ };
847
907
  }
848
908
  toJSON() {
849
- const result = super.toJSON();
850
- result.name = this.name;
851
- return result;
909
+ return {
910
+ ...super.toJSON(),
911
+ name: this.name,
912
+ };
852
913
  }
853
914
  get supported() {
854
915
  if (!this.data) {
@@ -861,21 +922,31 @@ class FunctionBreakpoint extends BaseBreakpoint {
861
922
  }
862
923
  }
863
924
  class DataBreakpoint extends BaseBreakpoint {
864
- constructor(description, dataId, canPersist, enabled, hitCondition, condition, logMessage, accessTypes, accessType, id = generateUuid()) {
865
- super(enabled, hitCondition, condition, logMessage, id);
866
- this.description = description;
867
- this.dataId = dataId;
868
- this.canPersist = canPersist;
869
- this.accessTypes = accessTypes;
870
- this.accessType = accessType;
925
+ constructor(opts, id = generateUuid()) {
926
+ super(id, opts);
927
+ this.description = opts.description;
928
+ this.dataId = opts.dataId;
929
+ this.canPersist = opts.canPersist;
930
+ this.accessTypes = opts.accessTypes;
931
+ this.accessType = opts.accessType;
932
+ }
933
+ toDAP() {
934
+ return {
935
+ dataId: this.dataId,
936
+ accessType: this.accessType,
937
+ condition: this.condition,
938
+ hitCondition: this.hitCondition,
939
+ };
871
940
  }
872
941
  toJSON() {
873
- const result = super.toJSON();
874
- result.description = this.description;
875
- result.dataId = this.dataId;
876
- result.accessTypes = this.accessTypes;
877
- result.accessType = this.accessType;
878
- return result;
942
+ return {
943
+ ...super.toJSON(),
944
+ description: this.description,
945
+ dataId: this.dataId,
946
+ accessTypes: this.accessTypes,
947
+ accessType: this.accessType,
948
+ canPersist: this.canPersist,
949
+ };
879
950
  }
880
951
  get supported() {
881
952
  if (!this.data) {
@@ -888,27 +959,29 @@ class DataBreakpoint extends BaseBreakpoint {
888
959
  }
889
960
  }
890
961
  class ExceptionBreakpoint extends BaseBreakpoint {
891
- constructor(filter, label, enabled, supportsCondition, condition, description, conditionDescription, fallback = false) {
892
- super(enabled, undefined, condition, undefined, generateUuid());
893
- this.filter = filter;
894
- this.label = label;
895
- this.supportsCondition = supportsCondition;
896
- this.description = description;
897
- this.conditionDescription = conditionDescription;
898
- this.fallback = fallback;
962
+ constructor(opts, id = generateUuid()) {
963
+ super(id, opts);
899
964
  this.supportedSessions = ( new Set());
965
+ this.fallback = false;
966
+ this.filter = opts.filter;
967
+ this.label = opts.label;
968
+ this.supportsCondition = opts.supportsCondition;
969
+ this.description = opts.description;
970
+ this.conditionDescription = opts.conditionDescription;
971
+ this.fallback = opts.fallback || false;
900
972
  }
901
973
  toJSON() {
902
- const result = Object.create(null);
903
- result.filter = this.filter;
904
- result.label = this.label;
905
- result.enabled = this.enabled;
906
- result.supportsCondition = this.supportsCondition;
907
- result.conditionDescription = this.conditionDescription;
908
- result.condition = this.condition;
909
- result.fallback = this.fallback;
910
- result.description = this.description;
911
- return result;
974
+ return {
975
+ ...super.toJSON(),
976
+ filter: this.filter,
977
+ label: this.label,
978
+ enabled: this.enabled,
979
+ supportsCondition: this.supportsCondition,
980
+ conditionDescription: this.conditionDescription,
981
+ condition: this.condition,
982
+ fallback: this.fallback,
983
+ description: this.description,
984
+ };
912
985
  }
913
986
  setSupportedSession(sessionId, supported) {
914
987
  if (supported) {
@@ -928,25 +1001,41 @@ class ExceptionBreakpoint extends BaseBreakpoint {
928
1001
  return sessionId ? ( this.supportedSessions.has(sessionId)) : this.fallback;
929
1002
  }
930
1003
  matches(filter) {
931
- return this.filter === filter.filter && this.label === filter.label && this.supportsCondition === !!filter.supportsCondition && this.conditionDescription === filter.conditionDescription && this.description === filter.description;
1004
+ return this.filter === filter.filter
1005
+ && this.label === filter.label
1006
+ && this.supportsCondition === !!filter.supportsCondition
1007
+ && this.conditionDescription === filter.conditionDescription
1008
+ && this.description === filter.description;
932
1009
  }
933
1010
  toString() {
934
1011
  return this.label;
935
1012
  }
936
1013
  }
937
1014
  class InstructionBreakpoint extends BaseBreakpoint {
938
- constructor(instructionReference, offset, canPersist, enabled, hitCondition, condition, logMessage, address, id = generateUuid()) {
939
- super(enabled, hitCondition, condition, logMessage, id);
940
- this.instructionReference = instructionReference;
941
- this.offset = offset;
942
- this.canPersist = canPersist;
943
- this.address = address;
1015
+ constructor(opts, id = generateUuid()) {
1016
+ super(id, opts);
1017
+ this.instructionReference = opts.instructionReference;
1018
+ this.offset = opts.offset;
1019
+ this.canPersist = opts.canPersist;
1020
+ this.address = opts.address;
1021
+ }
1022
+ toDAP() {
1023
+ return {
1024
+ instructionReference: this.instructionReference,
1025
+ condition: this.condition,
1026
+ hitCondition: this.hitCondition,
1027
+ mode: this.mode,
1028
+ offset: this.offset,
1029
+ };
944
1030
  }
945
1031
  toJSON() {
946
- const result = super.toJSON();
947
- result.instructionReference = this.instructionReference;
948
- result.offset = this.offset;
949
- return result;
1032
+ return {
1033
+ ...super.toJSON(),
1034
+ instructionReference: this.instructionReference,
1035
+ offset: this.offset,
1036
+ canPersist: this.canPersist,
1037
+ address: this.address,
1038
+ };
950
1039
  }
951
1040
  get supported() {
952
1041
  if (!this.data) {
@@ -978,6 +1067,7 @@ let DebugModel = class DebugModel extends Disposable {
978
1067
  this._onDidChangeBreakpoints = this._register(( new Emitter()));
979
1068
  this._onDidChangeCallStack = this._register(( new Emitter()));
980
1069
  this._onDidChangeWatchExpressions = this._register(( new Emitter()));
1070
+ this._breakpointModes = ( new Map());
981
1071
  this._register(autorun(reader => {
982
1072
  this.breakpoints = debugStorage.breakpoints.read(reader);
983
1073
  this.functionBreakpoints = debugStorage.functionBreakpoints.read(reader);
@@ -1154,29 +1244,29 @@ let DebugModel = class DebugModel extends Disposable {
1154
1244
  getInstructionBreakpoints() {
1155
1245
  return this.instructionBreakpoints;
1156
1246
  }
1157
- setExceptionBreakpointsForSession(sessionId, data) {
1158
- if (data) {
1159
- let didChangeBreakpoints = false;
1160
- data.forEach(d => {
1161
- let ebp = this.exceptionBreakpoints.filter((exbp) => exbp.matches(d)).pop();
1162
- if (!ebp) {
1163
- didChangeBreakpoints = true;
1164
- ebp = ( new ExceptionBreakpoint(
1165
- d.filter,
1166
- d.label,
1167
- !!d.default,
1168
- !!d.supportsCondition,
1169
- undefined ,
1170
- d.description,
1171
- d.conditionDescription
1172
- ));
1173
- this.exceptionBreakpoints.push(ebp);
1174
- }
1175
- ebp.setSupportedSession(sessionId, true);
1176
- });
1177
- if (didChangeBreakpoints) {
1178
- this._onDidChangeBreakpoints.fire(undefined);
1247
+ setExceptionBreakpointsForSession(sessionId, filters) {
1248
+ if (!filters) {
1249
+ return;
1250
+ }
1251
+ let didChangeBreakpoints = false;
1252
+ filters.forEach((d) => {
1253
+ let ebp = this.exceptionBreakpoints.filter((exbp) => exbp.matches(d)).pop();
1254
+ if (!ebp) {
1255
+ didChangeBreakpoints = true;
1256
+ ebp = ( new ExceptionBreakpoint({
1257
+ filter: d.filter,
1258
+ label: d.label,
1259
+ enabled: !!d.default,
1260
+ supportsCondition: !!d.supportsCondition,
1261
+ description: d.description,
1262
+ conditionDescription: d.conditionDescription,
1263
+ }));
1264
+ this.exceptionBreakpoints.push(ebp);
1179
1265
  }
1266
+ ebp.setSupportedSession(sessionId, true);
1267
+ });
1268
+ if (didChangeBreakpoints) {
1269
+ this._onDidChangeBreakpoints.fire(undefined);
1180
1270
  }
1181
1271
  }
1182
1272
  removeExceptionBreakpointsForSession(sessionId) {
@@ -1198,21 +1288,19 @@ let DebugModel = class DebugModel extends Disposable {
1198
1288
  }
1199
1289
  addBreakpoints(uri, rawData, fireEvent = true) {
1200
1290
  const newBreakpoints = ( rawData.map(rawBp => {
1201
- return ( new Breakpoint(
1291
+ return ( new Breakpoint({
1202
1292
  uri,
1203
- rawBp.lineNumber,
1204
- rawBp.column,
1205
- rawBp.enabled === false ? false : true,
1206
- rawBp.condition,
1207
- rawBp.hitCondition,
1208
- rawBp.logMessage,
1209
- undefined,
1210
- this.textFileService,
1211
- this.uriIdentityService,
1212
- this.logService,
1213
- rawBp.id,
1214
- rawBp.triggeredBy
1215
- ));
1293
+ lineNumber: rawBp.lineNumber,
1294
+ column: rawBp.column,
1295
+ enabled: rawBp.enabled ?? true,
1296
+ condition: rawBp.condition,
1297
+ hitCondition: rawBp.hitCondition,
1298
+ logMessage: rawBp.logMessage,
1299
+ triggeredBy: rawBp.triggeredBy,
1300
+ adapterData: undefined,
1301
+ mode: rawBp.mode,
1302
+ modeLabel: rawBp.modeLabel,
1303
+ }, this.textFileService, this.uriIdentityService, this.logService, rawBp.id));
1216
1304
  }));
1217
1305
  this.breakpoints = this.breakpoints.concat(newBreakpoints);
1218
1306
  this.breakpointsActivated = true;
@@ -1305,6 +1393,35 @@ let DebugModel = class DebugModel extends Disposable {
1305
1393
  }
1306
1394
  return undefined;
1307
1395
  }
1396
+ getBreakpointModes(forBreakpointType) {
1397
+ return [...( this._breakpointModes.values())].filter(mode => mode.appliesTo.includes(forBreakpointType));
1398
+ }
1399
+ registerBreakpointModes(debugType, modes) {
1400
+ for (const mode of modes) {
1401
+ const key = `${mode.mode}/${mode.label}`;
1402
+ const rec = this._breakpointModes.get(key);
1403
+ if (rec) {
1404
+ for (const target of mode.appliesTo) {
1405
+ if (!rec.appliesTo.includes(target)) {
1406
+ rec.appliesTo.push(target);
1407
+ }
1408
+ }
1409
+ }
1410
+ else {
1411
+ const duplicate = [...( this._breakpointModes.values())].find(r => r !== rec && r.label === mode.label);
1412
+ if (duplicate) {
1413
+ duplicate.label = `${duplicate.label} (${duplicate.firstFromDebugType})`;
1414
+ }
1415
+ this._breakpointModes.set(key, {
1416
+ mode: mode.mode,
1417
+ label: duplicate ? `${mode.label} (${debugType})` : mode.label,
1418
+ firstFromDebugType: debugType,
1419
+ description: mode.description,
1420
+ appliesTo: mode.appliesTo.slice(),
1421
+ });
1422
+ }
1423
+ }
1424
+ }
1308
1425
  sortAndDeDup() {
1309
1426
  this.breakpoints = this.breakpoints.sort((first, second) => {
1310
1427
  if (( first.uri.toString()) !== ( second.uri.toString())) {
@@ -1364,8 +1481,8 @@ let DebugModel = class DebugModel extends Disposable {
1364
1481
  }
1365
1482
  this._onDidChangeBreakpoints.fire({ changed: changed, sessionOnly: false });
1366
1483
  }
1367
- addFunctionBreakpoint(functionName, id) {
1368
- const newFunctionBreakpoint = ( new FunctionBreakpoint(functionName, true, undefined, undefined, undefined, id));
1484
+ addFunctionBreakpoint(functionName, id, mode) {
1485
+ const newFunctionBreakpoint = ( new FunctionBreakpoint({ name: functionName, mode }, id));
1369
1486
  this.functionBreakpoints.push(newFunctionBreakpoint);
1370
1487
  this._onDidChangeBreakpoints.fire({ added: [newFunctionBreakpoint], sessionOnly: false });
1371
1488
  return newFunctionBreakpoint;
@@ -1397,19 +1514,8 @@ let DebugModel = class DebugModel extends Disposable {
1397
1514
  }
1398
1515
  this._onDidChangeBreakpoints.fire({ removed, sessionOnly: false });
1399
1516
  }
1400
- addDataBreakpoint(label, dataId, canPersist, accessTypes, accessType, id) {
1401
- const newDataBreakpoint = ( new DataBreakpoint(
1402
- label,
1403
- dataId,
1404
- canPersist,
1405
- true,
1406
- undefined,
1407
- undefined,
1408
- undefined,
1409
- accessTypes,
1410
- accessType,
1411
- id
1412
- ));
1517
+ addDataBreakpoint(opts, id) {
1518
+ const newDataBreakpoint = ( new DataBreakpoint(opts, id));
1413
1519
  this.dataBreakpoints.push(newDataBreakpoint);
1414
1520
  this._onDidChangeBreakpoints.fire({ added: [newDataBreakpoint], sessionOnly: false });
1415
1521
  }
@@ -1437,17 +1543,8 @@ let DebugModel = class DebugModel extends Disposable {
1437
1543
  }
1438
1544
  this._onDidChangeBreakpoints.fire({ removed, sessionOnly: false });
1439
1545
  }
1440
- addInstructionBreakpoint(instructionReference, offset, address, condition, hitCondition) {
1441
- const newInstructionBreakpoint = ( new InstructionBreakpoint(
1442
- instructionReference,
1443
- offset,
1444
- false,
1445
- true,
1446
- hitCondition,
1447
- condition,
1448
- undefined,
1449
- address
1450
- ));
1546
+ addInstructionBreakpoint(opts) {
1547
+ const newInstructionBreakpoint = ( new InstructionBreakpoint(opts));
1451
1548
  this.instructionBreakpoints.push(newInstructionBreakpoint);
1452
1549
  this._onDidChangeBreakpoints.fire({ added: [newInstructionBreakpoint], sessionOnly: true });
1453
1550
  }
@@ -1511,4 +1608,4 @@ DebugModel = ( __decorate([
1511
1608
  ( __param(2, IUriIdentityService)),
1512
1609
  ( __param(3, ILogService))
1513
1610
  ], DebugModel));
1514
- export { BaseBreakpoint, Breakpoint, DataBreakpoint, DebugModel, Enablement, ErrorScope, ExceptionBreakpoint, Expression, ExpressionContainer, FunctionBreakpoint, InstructionBreakpoint, MemoryRegion, Scope, StackFrame, Thread, ThreadAndSessionIds, Variable, getUriForDebugMemory };
1611
+ export { BaseBreakpoint, Breakpoint, DataBreakpoint, DebugModel, Enablement, ErrorScope, ExceptionBreakpoint, Expression, ExpressionContainer, FunctionBreakpoint, InstructionBreakpoint, MemoryRegion, Scope, StackFrame, Thread, ThreadAndSessionIds, Variable, VisualizedExpression, getUriForDebugMemory };
@@ -7,7 +7,7 @@ import { createDecorator } from '../../../../platform/instantiation/common/insta
7
7
  import { ILogService } from '../../../../platform/log/common/log.js';
8
8
  import { CONTEXT_VARIABLE_NAME, CONTEXT_VARIABLE_VALUE, CONTEXT_VARIABLE_TYPE } from './debug.js';
9
9
  import { getContextForVariable } from './debugContext.js';
10
- import { Variable, Scope } from './debugModel.js';
10
+ import { Variable, VisualizedExpression, Scope } from './debugModel.js';
11
11
  import { IExtensionService } from '../../../services/extensions/common/extensions.js';
12
12
  import { ExtensionsRegistry } from '../../../services/extensions/common/extensionsRegistry.js';
13
13
  const IDebugVisualizerService = ( createDecorator('debugVisualizerService'));
@@ -32,12 +32,14 @@ class DebugVisualizer {
32
32
  await this.handle.executeDebugVisualizerCommand(this.viz.id);
33
33
  }
34
34
  }
35
+ const emptyRef = { object: [], dispose: () => { } };
35
36
  let DebugVisualizerService = class DebugVisualizerService {
36
37
  constructor(contextKeyService, extensionService, logService) {
37
38
  this.contextKeyService = contextKeyService;
38
39
  this.extensionService = extensionService;
39
40
  this.logService = logService;
40
41
  this.handles = ( new Map());
42
+ this.trees = ( new Map());
41
43
  this.didActivate = ( new Map());
42
44
  this.registrations = [];
43
45
  visualizersExtensionPoint.setHandler((_, { added, removed }) => {
@@ -46,31 +48,14 @@ let DebugVisualizerService = class DebugVisualizerService {
46
48
  });
47
49
  }
48
50
  async getApplicableFor(variable, token) {
51
+ if (!(variable instanceof Variable)) {
52
+ return emptyRef;
53
+ }
49
54
  const threadId = variable.getThreadId();
50
55
  if (threadId === undefined) {
51
- return { object: [], dispose: () => { } };
52
- }
53
- const context = {
54
- sessionId: variable.getSession()?.getId() || '',
55
- containerId: variable.parent.getId(),
56
- threadId,
57
- variable: {
58
- name: variable.name,
59
- value: variable.value,
60
- type: variable.type,
61
- evaluateName: variable.evaluateName,
62
- variablesReference: variable.reference || 0,
63
- indexedVariables: variable.indexedVariables,
64
- memoryReference: variable.memoryReference,
65
- namedVariables: variable.namedVariables,
66
- presentationHint: variable.presentationHint,
67
- }
68
- };
69
- for (let p = variable; p instanceof Variable; p = p.parent) {
70
- if (p.parent instanceof Scope) {
71
- context.frameId = p.parent.stackFrame.frameId;
72
- }
56
+ return emptyRef;
73
57
  }
58
+ const context = this.getVariableContext(threadId, variable);
74
59
  const overlay = getContextForVariable(this.contextKeyService, variable, [
75
60
  [CONTEXT_VARIABLE_NAME.key, variable.name],
76
61
  [CONTEXT_VARIABLE_VALUE.key, variable.value],
@@ -110,6 +95,68 @@ let DebugVisualizerService = class DebugVisualizerService {
110
95
  this.handles.set(key, handle);
111
96
  return toDisposable(() => this.handles.delete(key));
112
97
  }
98
+ registerTree(treeId, handle) {
99
+ this.trees.set(treeId, handle);
100
+ return toDisposable(() => this.trees.delete(treeId));
101
+ }
102
+ async getVisualizedNodeFor(treeId, expr) {
103
+ if (!(expr instanceof Variable)) {
104
+ return;
105
+ }
106
+ const threadId = expr.getThreadId();
107
+ if (threadId === undefined) {
108
+ return;
109
+ }
110
+ const tree = this.trees.get(treeId);
111
+ if (!tree) {
112
+ return;
113
+ }
114
+ try {
115
+ const treeItem = await tree.getTreeItem(this.getVariableContext(threadId, expr));
116
+ if (!treeItem) {
117
+ return;
118
+ }
119
+ return ( new VisualizedExpression(this, treeId, treeItem, expr));
120
+ }
121
+ catch (e) {
122
+ this.logService.warn('Failed to get visualized node', e);
123
+ return;
124
+ }
125
+ }
126
+ async getVisualizedChildren(treeId, treeElementId) {
127
+ const children = (await this.trees.get(treeId)?.getChildren(treeElementId)) || [];
128
+ return ( children.map(c => ( new VisualizedExpression(this, treeId, c, undefined))));
129
+ }
130
+ async editTreeItem(treeId, treeItem, newValue) {
131
+ const newItem = await this.trees.get(treeId)?.editItem?.(treeItem.id, newValue);
132
+ if (newItem) {
133
+ Object.assign(treeItem, newItem);
134
+ }
135
+ }
136
+ getVariableContext(threadId, variable) {
137
+ const context = {
138
+ sessionId: variable.getSession()?.getId() || '',
139
+ containerId: (variable.parent instanceof Variable ? variable.reference : undefined),
140
+ threadId,
141
+ variable: {
142
+ name: variable.name,
143
+ value: variable.value,
144
+ type: variable.type,
145
+ evaluateName: variable.evaluateName,
146
+ variablesReference: variable.reference || 0,
147
+ indexedVariables: variable.indexedVariables,
148
+ memoryReference: variable.memoryReference,
149
+ namedVariables: variable.namedVariables,
150
+ presentationHint: variable.presentationHint,
151
+ }
152
+ };
153
+ for (let p = variable; p instanceof Variable; p = p.parent) {
154
+ if (p.parent instanceof Scope) {
155
+ context.frameId = p.parent.stackFrame.frameId;
156
+ }
157
+ }
158
+ return context;
159
+ }
113
160
  processExtensionRegistration(ext) {
114
161
  const viz = ext.contributes?.debugVisualizers;
115
162
  if (!(viz instanceof Array)) {
@@ -134,7 +181,7 @@ DebugVisualizerService = ( __decorate([
134
181
  ( __param(2, ILogService))
135
182
  ], DebugVisualizerService));
136
183
  const toKey = (extensionId, id) => `${ExtensionIdentifier.toKey(extensionId)}\0${id}`;
137
- const visualizersExtensionPoint = ( ExtensionsRegistry.registerExtensionPoint({
184
+ const visualizersExtensionPoint = ExtensionsRegistry.registerExtensionPoint({
138
185
  extensionPoint: 'debugVisualizers',
139
186
  jsonSchema: {
140
187
  type: 'array',
@@ -160,5 +207,5 @@ const visualizersExtensionPoint = ( ExtensionsRegistry.registerExtensionPoint({
160
207
  }
161
208
  }
162
209
  }
163
- }));
210
+ });
164
211
  export { DebugVisualizer, DebugVisualizerService, IDebugVisualizerService };