@codingame/monaco-vscode-api 6.0.2 → 7.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 (450) hide show
  1. package/README.md +93 -73
  2. package/api.js +1 -1
  3. package/debugProtocol.d.ts +10 -1
  4. package/extensions.d.ts +2 -0
  5. package/missing-services.js +21 -2
  6. package/monaco.d.ts +1 -1
  7. package/monaco.js +1 -1
  8. package/package.json +9 -9
  9. package/service-override/extensions.d.ts +1 -2
  10. package/services.js +4 -2
  11. package/vscode/src/vs/base/browser/dnd.js +1 -1
  12. package/vscode/src/vs/base/browser/dom.js +116 -5
  13. package/vscode/src/vs/base/browser/domObservable.js +16 -0
  14. package/vscode/src/vs/base/browser/markdownRenderer.js +5 -3
  15. package/vscode/src/vs/base/browser/trustedTypes.js +1 -2
  16. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +1 -1
  17. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +1 -1
  18. package/vscode/src/vs/base/browser/ui/button/button.js +2 -2
  19. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -4
  20. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
  21. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -1
  22. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +1 -1
  23. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +32 -16
  24. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +2 -2
  25. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +2 -2
  26. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  27. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +2 -0
  28. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +1 -1
  29. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +1 -1
  30. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +1 -1
  31. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +1 -1
  32. package/vscode/src/vs/base/browser/ui/list/listView.js +3 -5
  33. package/vscode/src/vs/base/browser/ui/list/rowCache.js +1 -8
  34. package/vscode/src/vs/base/browser/ui/sash/sash.js +1 -1
  35. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -11
  36. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +1 -1
  37. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +1 -1
  38. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
  39. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +1 -1
  40. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +8 -1
  41. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -3
  42. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +1 -1
  43. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +0 -3
  44. package/vscode/src/vs/base/common/assert.js +1 -1
  45. package/vscode/src/vs/base/common/collections.js +49 -1
  46. package/vscode/src/vs/base/common/equals.js +55 -5
  47. package/vscode/src/vs/base/common/errors.js +14 -1
  48. package/vscode/src/vs/base/common/event.js +2 -1
  49. package/vscode/src/vs/base/common/history.js +7 -4
  50. package/vscode/src/vs/base/common/iterator.js +9 -1
  51. package/vscode/src/vs/base/common/map.d.ts +41 -0
  52. package/vscode/src/vs/base/common/numbers.js +18 -1
  53. package/vscode/src/vs/base/common/observableInternal/api.js +11 -0
  54. package/vscode/src/vs/base/common/observableInternal/autorun.js +18 -1
  55. package/vscode/src/vs/base/common/observableInternal/base.d.ts +8 -1
  56. package/vscode/src/vs/base/common/observableInternal/base.js +2 -5
  57. package/vscode/src/vs/base/common/observableInternal/derived.js +13 -3
  58. package/vscode/src/vs/base/common/observableInternal/lazyObservableValue.js +109 -0
  59. package/vscode/src/vs/base/common/observableInternal/promise.js +3 -0
  60. package/vscode/src/vs/base/common/observableInternal/utils.d.ts +7 -0
  61. package/vscode/src/vs/base/common/observableInternal/utils.js +64 -12
  62. package/vscode/src/vs/base/common/prefixTree.d.ts +52 -0
  63. package/vscode/src/vs/base/common/product.d.ts +1 -0
  64. package/vscode/src/vs/base/parts/ipc/common/ipc.js +1 -1
  65. package/vscode/src/vs/editor/browser/config/charWidthReader.js +1 -1
  66. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +1 -1
  67. package/vscode/src/vs/editor/browser/coreCommands.js +2 -1
  68. package/vscode/src/vs/editor/browser/observableCodeEditor.js +230 -0
  69. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +1 -1
  70. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +26 -26
  71. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +2 -2
  72. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
  73. package/vscode/src/vs/editor/browser/view/viewLayer.js +4 -12
  74. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -1
  75. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +1 -1
  76. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  77. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -4
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +8 -8
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +4 -4
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -1
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +1 -1
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +14 -2
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +2 -2
  86. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +3 -3
  87. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +2 -2
  88. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +1 -1
  89. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +2 -2
  90. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +5 -0
  91. package/vscode/src/vs/editor/common/config/editorOptions.js +83 -65
  92. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +43 -43
  93. package/vscode/src/vs/editor/common/cursor/cursor.js +3 -2
  94. package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +911 -0
  95. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +36 -799
  96. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +6 -5
  97. package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -0
  98. package/vscode/src/vs/editor/common/languageFeatureRegistry.js +3 -0
  99. package/vscode/src/vs/editor/common/languages/autoIndent.js +23 -1
  100. package/vscode/src/vs/editor/common/languages.d.ts +20 -3
  101. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +6 -6
  102. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +19 -0
  103. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +3 -0
  104. package/vscode/src/vs/editor/common/model/textModel.js +6 -2
  105. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +5 -5
  106. package/vscode/src/vs/editor/common/model.d.ts +4 -0
  107. package/vscode/src/vs/editor/common/services/getIconClasses.js +1 -1
  108. package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +2 -15
  109. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +63 -62
  110. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +11 -8
  111. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +1 -1
  112. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +2 -17
  113. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +1 -1
  114. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +18 -5
  115. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +55 -27
  116. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +7 -4
  117. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +9 -9
  118. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +1 -1
  119. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +103 -47
  120. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -2
  121. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +18 -10
  122. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -4
  123. package/vscode/src/vs/editor/contrib/folding/browser/folding.css.js +1 -1
  124. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +33 -13
  125. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -7
  126. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
  127. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +2 -2
  128. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +161 -185
  129. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +321 -0
  130. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +4 -1
  131. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +6 -21
  132. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +39 -40
  133. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +55 -46
  134. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +12 -2
  135. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +15 -9
  136. package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +11 -1
  137. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +141 -93
  138. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +24 -7
  139. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +36 -1
  140. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +5 -3
  141. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -1
  142. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +25 -12
  143. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +88 -118
  144. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
  145. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +34 -33
  146. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +2 -2
  147. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +11 -4
  148. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +10 -19
  149. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -1
  150. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +45 -27
  151. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -4
  152. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +1 -1
  153. package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +126 -0
  154. package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +9 -0
  155. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEdits.contribution.js +9 -0
  156. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsController.js +82 -0
  157. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsModel.js +240 -0
  158. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.css.js +4 -0
  159. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.js +322 -0
  160. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +8 -4
  161. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +3 -2
  162. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
  163. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +2 -2
  164. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +60 -0
  165. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css.js +4 -0
  166. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +1 -1
  167. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
  168. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +38 -20
  169. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +3 -0
  170. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +9 -9
  171. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +10 -32
  172. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +23 -138
  173. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -0
  174. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +5 -5
  175. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +13 -12
  176. package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +3 -3
  177. package/vscode/src/vs/editor/editor.api.d.ts +31 -5
  178. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +21 -0
  179. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +5 -6
  180. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +1 -1
  181. package/vscode/src/vs/platform/actions/browser/buttonbar.js +27 -6
  182. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +1 -1
  183. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css.js +1 -1
  184. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +33 -3
  185. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -1
  186. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -0
  187. package/vscode/src/vs/platform/actions/common/actions.js +3 -0
  188. package/vscode/src/vs/platform/actions/common/menuService.js +3 -2
  189. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +1 -1
  190. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +7 -5
  191. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +109 -13
  192. package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +2 -0
  193. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +12 -6
  194. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -0
  195. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -3
  196. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +20 -10
  197. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +46 -8
  198. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -1
  199. package/vscode/src/vs/platform/extensions/common/extensions.js +12 -3
  200. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +368 -0
  201. package/vscode/src/vs/platform/files/common/watcher.js +21 -24
  202. package/vscode/src/vs/platform/list/browser/listService.js +2 -1
  203. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +2 -2
  204. package/vscode/src/vs/platform/opener/browser/link.js +1 -1
  205. package/vscode/src/vs/platform/product/common/product.js +1 -1
  206. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1 -1
  207. package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.service.d.ts +0 -2
  208. package/vscode/src/vs/platform/request/common/request.js +18 -8
  209. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +2 -6
  210. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +8 -1
  211. package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +1 -1
  212. package/vscode/src/vs/platform/theme/common/colorUtils.js +25 -5
  213. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +1 -1
  214. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +6 -6
  215. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +35 -35
  216. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +9 -9
  217. package/vscode/src/vs/platform/theme/common/colors/listColors.js +11 -11
  218. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +4 -4
  219. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +5 -5
  220. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +1 -1
  221. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +5 -5
  222. package/vscode/src/vs/platform/tunnel/common/tunnel.js +4 -1
  223. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +75 -19
  224. package/vscode/src/vs/platform/window/common/window.d.ts +2 -2
  225. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +32 -25
  226. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +2 -0
  227. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
  228. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -11
  229. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +5 -15
  230. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +2 -5
  231. package/vscode/src/vs/workbench/api/common/extHostComments.js +9 -3
  232. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +32 -22
  233. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -3
  234. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +109 -40
  235. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +46 -0
  236. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +84 -35
  237. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  238. package/vscode/src/vs/workbench/api/common/extHostSCM.js +50 -41
  239. package/vscode/src/vs/workbench/api/common/extHostSearch.js +2 -2
  240. package/vscode/src/vs/workbench/api/common/extHostSecrets.js +11 -8
  241. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +7 -6
  242. package/vscode/src/vs/workbench/api/common/extHostTesting.js +63 -70
  243. package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +5 -3
  244. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +75 -16
  245. package/vscode/src/vs/workbench/api/common/extHostTypes.js +29 -4
  246. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
  247. package/vscode/src/vs/workbench/browser/actions/developerActions.js +1 -1
  248. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +127 -107
  249. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +2 -2
  250. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +1 -1
  251. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +33 -21
  252. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
  253. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +5 -5
  254. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +1 -1
  255. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +2 -2
  256. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -2
  257. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +23 -6
  258. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +3 -1
  259. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -3
  260. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +1 -1
  261. package/vscode/src/vs/workbench/browser/web.api.js +8 -0
  262. package/vscode/src/vs/workbench/browser/workbench.contribution.js +199 -194
  263. package/vscode/src/vs/workbench/common/configuration.js +1 -1
  264. package/vscode/src/vs/workbench/common/contributions.js +8 -1
  265. package/vscode/src/vs/workbench/common/editor.js +5 -1
  266. package/vscode/src/vs/workbench/common/theme.js +79 -454
  267. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +221 -239
  268. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +17 -15
  269. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +1 -0
  270. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +4 -0
  271. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollections.js +27 -0
  272. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +35 -0
  273. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +51 -0
  274. package/vscode/src/vs/workbench/contrib/chat/browser/{chatConfirmationWidget.js → chatContentParts/chatConfirmationWidget.js} +9 -9
  275. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownContentPart.js +131 -0
  276. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatProgressContentPart.js +37 -0
  277. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +263 -0
  278. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +37 -0
  279. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +160 -0
  280. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +171 -0
  281. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatWarningContentPart.js +34 -0
  282. package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatContentParts/media}/chatConfirmationWidget.css.js +1 -1
  283. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +91 -44
  284. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +292 -1019
  285. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +2 -2
  286. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +1 -1
  287. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +22 -7
  288. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  289. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +61 -54
  290. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +23 -16
  291. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  292. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +1 -1
  293. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +8 -0
  294. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
  295. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +3 -3
  296. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +5 -4
  297. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +16 -0
  298. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.js +3 -0
  299. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +2 -2
  300. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +43 -16
  301. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -1
  302. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +1 -3
  303. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +1 -1
  304. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +7 -5
  305. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +7 -7
  306. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +3 -3
  307. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +3 -3
  308. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +2 -2
  309. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
  310. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +2 -1
  311. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +2 -1
  312. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +1 -1
  313. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +8 -5
  314. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +1 -1
  315. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +1 -1
  316. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
  317. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +1 -1
  318. package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +5 -5
  319. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +14 -7
  320. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +4 -4
  321. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +8 -7
  322. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +19 -16
  323. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -12
  324. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +19 -2
  325. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +9 -4
  326. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +10 -5
  327. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +4 -4
  328. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +235 -173
  329. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  330. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +2 -1
  331. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +17 -5
  332. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +62 -44
  333. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  334. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -2
  335. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +114 -107
  336. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +33 -25
  337. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +71 -101
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +38 -43
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -33
  340. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +3 -4
  341. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +49 -86
  342. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +60 -71
  343. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  344. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
  345. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +116 -113
  346. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +6 -10
  347. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -2
  348. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +1 -0
  349. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +2 -2
  350. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +12 -23
  351. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +0 -2
  352. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +7 -9
  353. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +88 -61
  354. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +1 -3
  355. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +39 -3
  356. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +2 -1
  357. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +12 -11
  358. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +1 -1
  359. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -1
  360. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +3 -2
  361. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +40 -105
  362. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +27 -26
  363. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +14 -5
  364. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +1 -1
  365. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +43 -46
  366. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +1 -1
  367. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +4 -4
  368. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +12 -9
  369. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +19 -14
  370. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  371. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +9 -6
  372. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +1 -1
  373. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -3
  374. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +3 -3
  375. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +1 -1
  376. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +16 -6
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +8 -8
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineDataSourceFactory.service.js +3 -0
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +11 -12
  380. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +12 -13
  381. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +1 -1
  382. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +5 -3
  383. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +9 -2
  384. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +37 -36
  385. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +18 -8
  386. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +1 -1
  387. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +14 -5
  388. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +17 -22
  389. package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +1 -1
  390. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +7 -10
  391. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +7 -27
  392. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +3 -4
  393. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +2 -2
  394. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +4 -0
  395. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +3 -3
  396. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -0
  397. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +0 -1
  398. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +13 -37
  399. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.d.ts +88 -0
  400. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +48 -31
  401. package/vscode/src/vs/workbench/contrib/testing/common/testId.d.ts +115 -0
  402. package/vscode/src/vs/workbench/contrib/testing/common/testResult.d.ts +226 -0
  403. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +319 -0
  404. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +2 -3
  405. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.d.ts +10 -0
  406. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
  407. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +7 -8
  408. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +3 -3
  409. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +10 -5
  410. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +54 -21
  411. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -0
  412. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +1 -2
  413. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -4
  414. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +5 -3
  415. package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +3 -1
  416. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +59 -41
  417. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +1 -1
  418. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -2
  419. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -0
  420. package/vscode/src/vs/workbench/services/language/common/languageService.js +7 -0
  421. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +1 -1
  422. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +2 -2
  423. package/vscode/src/vs/workbench/services/search/common/search.js +2 -1
  424. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +2 -2
  425. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +2 -2
  426. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +69 -26
  427. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +23 -4
  428. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +5 -1
  429. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  430. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -5
  431. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +38 -19
  432. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +2 -1
  433. package/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts +0 -196
  434. package/vscode-dts/vscode.proposed.attributableCoverage.d.ts +28 -10
  435. package/vscode-dts/vscode.proposed.authGetSessions.d.ts +30 -22
  436. package/vscode-dts/vscode.proposed.chatProvider.d.ts +17 -8
  437. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +0 -9
  438. package/vscode-dts/vscode.proposed.commentReveal.d.ts +32 -0
  439. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +10 -0
  440. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +1 -1
  441. package/vscode-dts/vscode.proposed.fileComments.d.ts +12 -53
  442. package/vscode-dts/vscode.proposed.fileSearchProvider.d.ts +6 -0
  443. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +6 -0
  444. package/vscode-dts/vscode.proposed.lmTools.d.ts +91 -0
  445. package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +1 -1
  446. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +10 -6
  447. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +38 -13
  448. package/vscode/src/vs/editor/browser/observableUtilities.js +0 -58
  449. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +0 -3
  450. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +0 -122
@@ -76,7 +76,7 @@ function renderExpressionValue(expressionOrValue, container, options, hoverServi
76
76
  }
77
77
  if (options.hover) {
78
78
  const { store, commands, commandService } = options.hover instanceof DisposableStore ? { store: options.hover, commands: [], commandService: undefined } : options.hover;
79
- store.add(hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), container, () => {
79
+ store.add(hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), container, () => {
80
80
  const container = $$1('div');
81
81
  const markdownHoverElement = $$1('div.hover-row');
82
82
  const hoverContentsElement = append(markdownHoverElement, $$1('div.hover-contents'));
@@ -96,13 +96,20 @@ function renderExpressionValue(expressionOrValue, container, options, hoverServi
96
96
  }));
97
97
  }
98
98
  }
99
- function renderVariable(store, commandService, hoverService, variable, data, showChanged, highlights, linkDetector) {
99
+ function renderVariable(store, commandService, hoverService, variable, data, showChanged, highlights, linkDetector, displayType) {
100
100
  if (variable.available) {
101
+ data.type.textContent = '';
101
102
  let text = variable.name;
102
103
  if (variable.value && typeof variable.name === 'string') {
103
- text += ':';
104
+ if (variable.type && displayType) {
105
+ text += ': ';
106
+ data.type.textContent = variable.type + ' =';
107
+ }
108
+ else {
109
+ text += ' =';
110
+ }
104
111
  }
105
- data.label.set(text, highlights, variable.type ? variable.type : variable.name);
112
+ data.label.set(text, highlights, variable.type && !displayType ? variable.type : variable.name);
106
113
  data.name.classList.toggle('virtual', variable.presentationHint?.kind === 'virtual');
107
114
  data.name.classList.toggle('internal', variable.presentationHint?.visibility === 'internal');
108
115
  }
@@ -164,7 +171,8 @@ let AbstractExpressionsRenderer = class AbstractExpressionsRenderer {
164
171
  const name = append(expression, $('span.name'));
165
172
  const lazyButton = append(expression, $('span.lazy-button'));
166
173
  lazyButton.classList.add(...ThemeIcon.asClassNameArray(Codicon.eye));
167
- templateDisposable.add(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), lazyButton, ( localizeWithPath(_moduleId, 0, "Click to expand"))));
174
+ templateDisposable.add(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), lazyButton, ( localizeWithPath(_moduleId, 0, "Click to expand"))));
175
+ const type = append(expression, $('span.type'));
168
176
  const value = append(expression, $('span.value'));
169
177
  const label = templateDisposable.add(( (new HighlightedLabel(name))));
170
178
  const inputBoxContainer = append(expression, $('.inputBoxContainer'));
@@ -173,7 +181,7 @@ let AbstractExpressionsRenderer = class AbstractExpressionsRenderer {
173
181
  append(expression, $('.span.actionbar-spacer'));
174
182
  actionBar = templateDisposable.add(( (new ActionBar(expression))));
175
183
  }
176
- const template = { expression, name, value, label, inputBoxContainer, actionBar, elementDisposable: ( (new DisposableStore())), templateDisposable, lazyButton, currentElement: undefined };
184
+ const template = { expression, name, type, value, label, inputBoxContainer, actionBar, elementDisposable: ( (new DisposableStore())), templateDisposable, lazyButton, currentElement: undefined };
177
185
  templateDisposable.add(addDisposableListener(lazyButton, EventType.CLICK, () => {
178
186
  if (template.currentElement) {
179
187
  this.debugService.getViewModel().evaluateLazyExpression(template.currentElement);
@@ -182,7 +190,6 @@ let AbstractExpressionsRenderer = class AbstractExpressionsRenderer {
182
190
  return template;
183
191
  }
184
192
  renderExpressionElement(element, node, data) {
185
- data.elementDisposable.clear();
186
193
  data.currentElement = element;
187
194
  this.renderExpression(node.element, data, createMatches(node.filterData));
188
195
  if (data.actionBar) {
@@ -743,9 +743,9 @@ registerThemingParticipant((theme, collector) => {
743
743
  `);
744
744
  }
745
745
  });
746
- const debugIconBreakpointForeground = registerColor('debugIcon.breakpointForeground', { dark: '#E51400', light: '#E51400', hcDark: '#E51400', hcLight: '#E51400' }, ( localizeWithPath(_moduleId, 31, 'Icon color for breakpoints.')));
747
- const debugIconBreakpointDisabledForeground = registerColor('debugIcon.breakpointDisabledForeground', { dark: '#848484', light: '#848484', hcDark: '#848484', hcLight: '#848484' }, ( localizeWithPath(_moduleId, 32, 'Icon color for disabled breakpoints.')));
748
- const debugIconBreakpointUnverifiedForeground = registerColor('debugIcon.breakpointUnverifiedForeground', { dark: '#848484', light: '#848484', hcDark: '#848484', hcLight: '#848484' }, ( localizeWithPath(_moduleId, 33, 'Icon color for unverified breakpoints.')));
746
+ const debugIconBreakpointForeground = registerColor('debugIcon.breakpointForeground', '#E51400', ( localizeWithPath(_moduleId, 31, 'Icon color for breakpoints.')));
747
+ const debugIconBreakpointDisabledForeground = registerColor('debugIcon.breakpointDisabledForeground', '#848484', ( localizeWithPath(_moduleId, 32, 'Icon color for disabled breakpoints.')));
748
+ const debugIconBreakpointUnverifiedForeground = registerColor('debugIcon.breakpointUnverifiedForeground', '#848484', ( localizeWithPath(_moduleId, 33, 'Icon color for unverified breakpoints.')));
749
749
  const debugIconBreakpointCurrentStackframeForeground = registerColor('debugIcon.breakpointCurrentStackframeForeground', { dark: '#FFCC00', light: '#BE8700', hcDark: '#FFCC00', hcLight: '#BE8700' }, ( localizeWithPath(_moduleId, 34, 'Icon color for the current breakpoint stack frame.')));
750
- const debugIconBreakpointStackframeForeground = registerColor('debugIcon.breakpointStackframeForeground', { dark: '#89D185', light: '#89D185', hcDark: '#89D185', hcLight: '#89D185' }, ( localizeWithPath(_moduleId, 35, 'Icon color for all breakpoint stack frames.')));
750
+ const debugIconBreakpointStackframeForeground = registerColor('debugIcon.breakpointStackframeForeground', '#89D185', ( localizeWithPath(_moduleId, 35, 'Icon color for all breakpoint stack frames.')));
751
751
  export { BreakpointEditorContribution, createBreakpointDecorations, debugIconBreakpointForeground };
@@ -243,7 +243,7 @@ let BreakpointWidget = class BreakpointWidget extends ZoneWidget {
243
243
  append(container, modeWrapper);
244
244
  }
245
245
  createTriggerBreakpointInput(container) {
246
- const breakpoints = this.debugService.getModel().getBreakpoints().filter(bp => bp !== this.breakpoint);
246
+ const breakpoints = this.debugService.getModel().getBreakpoints().filter(bp => bp !== this.breakpoint && !bp.logMessage);
247
247
  const breakpointOptions = [
248
248
  { text: ( localizeWithPath(_moduleId, 9, 'None')), isDisabled: true },
249
249
  ...( (breakpoints.map(bp => ({
@@ -327,6 +327,7 @@ let BreakpointWidget = class BreakpointWidget extends ZoneWidget {
327
327
  [IContextKeyService, scopedContextKeyService],
328
328
  [IPrivateBreakpointWidgetService, this]
329
329
  ))));
330
+ this.toDispose.push(scopedInstatiationService);
330
331
  const options = this.createEditorOptions();
331
332
  const codeEditorWidgetOptions = getSimpleCodeEditorWidgetOptions();
332
333
  this.input = scopedInstatiationService.createInstance(CodeEditorWidget, container, options, codeEditorWidgetOptions);
@@ -403,12 +404,12 @@ let BreakpointWidget = class BreakpointWidget extends ZoneWidget {
403
404
  }
404
405
  close(success) {
405
406
  if (success) {
406
- let condition = this.breakpoint?.condition;
407
- let hitCondition = this.breakpoint?.hitCondition;
408
- let logMessage = this.breakpoint?.logMessage;
409
- let triggeredBy = this.breakpoint?.triggeredBy;
410
- let mode = this.breakpoint?.mode;
411
- let modeLabel = this.breakpoint?.modeLabel;
407
+ let condition = undefined;
408
+ let hitCondition = undefined;
409
+ let logMessage = undefined;
410
+ let triggeredBy = undefined;
411
+ let mode = undefined;
412
+ let modeLabel = undefined;
412
413
  this.rememberInput();
413
414
  if (this.conditionInput || this.context === BreakpointWidgetContext.CONDITION) {
414
415
  condition = this.conditionInput;
@@ -40,13 +40,14 @@ import { IThemeService } from '../../../../platform/theme/common/themeService.se
40
40
  import { ViewPane, ViewAction } from '../../../browser/parts/views/viewPane.js';
41
41
  import { IViewDescriptorService } from '../../../common/views.service.js';
42
42
  import { breakpoint, dataBreakpoint, functionBreakpoint, logBreakpoint, conditionalBreakpoint, debugBreakpointUnsupported, watchExpressionsAddFuncBreakpoint, watchExpressionsAddDataBreakpoint, breakpointsActivate, breakpointsRemoveAll } from './debugIcons.js';
43
- import { CONTEXT_BREAKPOINT_ITEM_TYPE, CONTEXT_BREAKPOINT_ITEM_IS_DATA_BYTES, CONTEXT_BREAKPOINT_HAS_MODES, CONTEXT_BREAKPOINT_SUPPORTS_CONDITION, CONTEXT_BREAKPOINT_INPUT_FOCUSED, CONTEXT_BREAKPOINTS_FOCUSED, DataBreakpointSetType, State, DEBUG_SCHEME, DebuggerString, BREAKPOINTS_VIEW_ID, CONTEXT_DEBUGGERS_AVAILABLE, CONTEXT_SET_DATA_BREAKPOINT_BYTES_SUPPORTED, CONTEXT_BREAKPOINTS_EXIST, CONTEXT_IN_DEBUG_MODE, BREAKPOINT_EDITOR_CONTRIBUTION_ID } from '../common/debug.js';
43
+ import { DataBreakpointSetType, CONTEXT_BREAKPOINT_ITEM_TYPE, CONTEXT_BREAKPOINT_ITEM_IS_DATA_BYTES, CONTEXT_BREAKPOINT_HAS_MODES, CONTEXT_BREAKPOINT_SUPPORTS_CONDITION, CONTEXT_BREAKPOINT_INPUT_FOCUSED, CONTEXT_BREAKPOINTS_FOCUSED, State, DEBUG_SCHEME, DebuggerString, BREAKPOINTS_VIEW_ID, CONTEXT_DEBUGGERS_AVAILABLE, CONTEXT_SET_DATA_BREAKPOINT_BYTES_SUPPORTED, CONTEXT_BREAKPOINTS_EXIST, CONTEXT_IN_DEBUG_MODE, BREAKPOINT_EDITOR_CONTRIBUTION_ID } from '../common/debug.js';
44
44
  import { IDebugService } from '../common/debug.service.js';
45
45
  import { Breakpoint, DataBreakpoint, FunctionBreakpoint, InstructionBreakpoint, ExceptionBreakpoint } from '../common/debugModel.js';
46
46
  import { DisassemblyViewInput } from '../common/disassemblyViewInput.js';
47
47
  import { SIDE_GROUP, ACTIVE_GROUP } from '../../../services/editor/common/editorService.js';
48
48
  import { IEditorService } from '../../../services/editor/common/editorService.service.js';
49
49
  import { INotificationService } from '../../../../platform/notification/common/notification.service.js';
50
+ import { IViewsService } from '../../../services/views/common/viewsService.service.js';
50
51
  import { Orientation } from '../../../../base/browser/ui/sash/sash.js';
51
52
  var BreakpointsRenderer_1, FunctionBreakpointsRenderer_1, DataBreakpointsRenderer_1, InstructionBreakpointsRenderer_1;
52
53
  const _moduleId = "vs/workbench/contrib/debug/browser/breakpointsView";
@@ -432,7 +433,7 @@ let BreakpointsRenderer = class BreakpointsRenderer {
432
433
  data.checkbox.checked = breakpoint.enabled;
433
434
  const { message, icon } = getBreakpointMessageAndIcon(this.debugService.state, this.debugService.getModel().areBreakpointsActivated(), breakpoint, this.labelService, this.debugService.getModel());
434
435
  data.icon.className = ThemeIcon.asClassName(icon);
435
- data.toDispose.push(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.breakpoint, breakpoint.message || message || ''));
436
+ data.toDispose.push(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.breakpoint, breakpoint.message || message || ''));
436
437
  const debugActive = this.debugService.state === State.Running || this.debugService.state === State.Stopped;
437
438
  if (debugActive && !breakpoint.verified) {
438
439
  data.breakpoint.classList.add('disabled');
@@ -491,11 +492,11 @@ class ExceptionBreakpointsRenderer {
491
492
  data.context = exceptionBreakpoint;
492
493
  data.name.textContent = exceptionBreakpoint.label || `${exceptionBreakpoint.filter} exceptions`;
493
494
  const exceptionBreakpointtitle = exceptionBreakpoint.verified ? (exceptionBreakpoint.description || data.name.textContent) : exceptionBreakpoint.message || ( localizeWithPath(_moduleId, 0, "Unverified Exception Breakpoint"));
494
- data.toDispose.push(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.breakpoint, exceptionBreakpointtitle));
495
+ data.toDispose.push(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.breakpoint, exceptionBreakpointtitle));
495
496
  data.breakpoint.classList.toggle('disabled', !exceptionBreakpoint.verified);
496
497
  data.checkbox.checked = exceptionBreakpoint.enabled;
497
498
  data.condition.textContent = exceptionBreakpoint.condition || '';
498
- data.toDispose.push(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.condition, ( localizeWithPath(_moduleId, 1, "Expression condition: {0}", exceptionBreakpoint.condition))));
499
+ data.toDispose.push(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.condition, ( localizeWithPath(_moduleId, 1, "Expression condition: {0}", exceptionBreakpoint.condition))));
499
500
  if (exceptionBreakpoint.modeLabel) {
500
501
  data.badge.textContent = exceptionBreakpoint.modeLabel;
501
502
  data.badge.style.display = 'block';
@@ -554,9 +555,9 @@ let FunctionBreakpointsRenderer = class FunctionBreakpointsRenderer {
554
555
  data.name.textContent = functionBreakpoint.name;
555
556
  const { icon, message } = getBreakpointMessageAndIcon(this.debugService.state, this.debugService.getModel().areBreakpointsActivated(), functionBreakpoint, this.labelService, this.debugService.getModel());
556
557
  data.icon.className = ThemeIcon.asClassName(icon);
557
- data.toDispose.push(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.icon, message ? message : ''));
558
+ data.toDispose.push(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.icon, message ? message : ''));
558
559
  data.checkbox.checked = functionBreakpoint.enabled;
559
- data.toDispose.push(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.breakpoint, message ? message : ''));
560
+ data.toDispose.push(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.breakpoint, message ? message : ''));
560
561
  if (functionBreakpoint.condition && functionBreakpoint.hitCondition) {
561
562
  data.condition.textContent = ( localizeWithPath(
562
563
  _moduleId,
@@ -579,7 +580,7 @@ let FunctionBreakpointsRenderer = class FunctionBreakpointsRenderer {
579
580
  const session = this.debugService.getViewModel().focusedSession;
580
581
  data.breakpoint.classList.toggle('disabled', (session && !session.capabilities.supportsFunctionBreakpoints) || !this.debugService.getModel().areBreakpointsActivated());
581
582
  if (session && !session.capabilities.supportsFunctionBreakpoints) {
582
- data.toDispose.push(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.breakpoint, ( localizeWithPath(_moduleId, 3, "Function breakpoints are not supported by this debug type"))));
583
+ data.toDispose.push(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.breakpoint, ( localizeWithPath(_moduleId, 3, "Function breakpoints are not supported by this debug type"))));
583
584
  }
584
585
  const primary = [];
585
586
  this.breakpointSupportsCondition.set(!session || !!session.capabilities.supportsConditionalBreakpoints);
@@ -639,9 +640,9 @@ let DataBreakpointsRenderer = class DataBreakpointsRenderer {
639
640
  data.name.textContent = dataBreakpoint.description;
640
641
  const { icon, message } = getBreakpointMessageAndIcon(this.debugService.state, this.debugService.getModel().areBreakpointsActivated(), dataBreakpoint, this.labelService, this.debugService.getModel());
641
642
  data.icon.className = ThemeIcon.asClassName(icon);
642
- data.toDispose.push(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.icon, message ? message : ''));
643
+ data.toDispose.push(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.icon, message ? message : ''));
643
644
  data.checkbox.checked = dataBreakpoint.enabled;
644
- data.toDispose.push(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.breakpoint, message ? message : ''));
645
+ data.toDispose.push(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.breakpoint, message ? message : ''));
645
646
  if (dataBreakpoint.modeLabel) {
646
647
  data.badge.textContent = dataBreakpoint.modeLabel;
647
648
  data.badge.style.display = 'block';
@@ -652,7 +653,7 @@ let DataBreakpointsRenderer = class DataBreakpointsRenderer {
652
653
  const session = this.debugService.getViewModel().focusedSession;
653
654
  data.breakpoint.classList.toggle('disabled', (session && !session.capabilities.supportsDataBreakpoints) || !this.debugService.getModel().areBreakpointsActivated());
654
655
  if (session && !session.capabilities.supportsDataBreakpoints) {
655
- data.toDispose.push(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.breakpoint, ( localizeWithPath(_moduleId, 4, "Data breakpoints are not supported by this debug type"))));
656
+ data.toDispose.push(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.breakpoint, ( localizeWithPath(_moduleId, 4, "Data breakpoints are not supported by this debug type"))));
656
657
  }
657
658
  if (dataBreakpoint.accessType) {
658
659
  const accessType = dataBreakpoint.accessType === 'read' ? ( localizeWithPath(_moduleId, 5, "Read")) : dataBreakpoint.accessType === 'write' ? ( localizeWithPath(_moduleId, 6, "Write")) : ( localizeWithPath(_moduleId, 7, "Access"));
@@ -727,11 +728,11 @@ let InstructionBreakpointsRenderer = class InstructionBreakpointsRenderer {
727
728
  data.context = breakpoint;
728
729
  data.breakpoint.classList.toggle('disabled', !this.debugService.getModel().areBreakpointsActivated());
729
730
  data.name.textContent = '0x' + ( (breakpoint.address.toString(16)));
730
- data.toDispose.push(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.name, `Decimal address: breakpoint.address.toString()`));
731
+ data.toDispose.push(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.name, `Decimal address: breakpoint.address.toString()`));
731
732
  data.checkbox.checked = breakpoint.enabled;
732
733
  const { message, icon } = getBreakpointMessageAndIcon(this.debugService.state, this.debugService.getModel().areBreakpointsActivated(), breakpoint, this.labelService, this.debugService.getModel());
733
734
  data.icon.className = ThemeIcon.asClassName(icon);
734
- data.toDispose.push(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.breakpoint, breakpoint.message || message || ''));
735
+ data.toDispose.push(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.breakpoint, breakpoint.message || message || ''));
735
736
  const debugActive = this.debugService.state === State.Running || this.debugService.state === State.Stopped;
736
737
  if (debugActive && !breakpoint.verified) {
737
738
  data.breakpoint.classList.add('disabled');
@@ -832,7 +833,7 @@ class FunctionBreakpointInputRenderer {
832
833
  data.type = this.view.inputBoxData?.type || 'name';
833
834
  const { icon, message } = getBreakpointMessageAndIcon(this.debugService.state, this.debugService.getModel().areBreakpointsActivated(), functionBreakpoint, this.labelService, this.debugService.getModel());
834
835
  data.icon.className = ThemeIcon.asClassName(icon);
835
- data.toDispose.push(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.icon, message ? message : ''));
836
+ data.toDispose.push(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.icon, message ? message : ''));
836
837
  data.checkbox.checked = functionBreakpoint.enabled;
837
838
  data.checkbox.disabled = true;
838
839
  data.inputBox.value = functionBreakpoint.name || '';
@@ -938,7 +939,7 @@ class DataBreakpointInputRenderer {
938
939
  data.type = this.view.inputBoxData?.type || 'condition';
939
940
  const { icon, message } = getBreakpointMessageAndIcon(this.debugService.state, this.debugService.getModel().areBreakpointsActivated(), dataBreakpoint, this.labelService, this.debugService.getModel());
940
941
  data.icon.className = ThemeIcon.asClassName(icon);
941
- data.toDispose.push(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), data.icon, message ?? ''));
942
+ data.toDispose.push(this.hoverService.setupManagedHover(getDefaultHoverDelegate('mouse'), data.icon, message ?? ''));
942
943
  data.checkbox.checked = dataBreakpoint.enabled;
943
944
  data.checkbox.disabled = true;
944
945
  data.inputBox.value = '';
@@ -1241,8 +1242,10 @@ registerAction2(class extends Action2 {
1241
1242
  }]
1242
1243
  });
1243
1244
  }
1244
- run(accessor) {
1245
+ async run(accessor) {
1245
1246
  const debugService = accessor.get(IDebugService);
1247
+ const viewService = accessor.get(IViewsService);
1248
+ await viewService.openView(BREAKPOINTS_VIEW_ID);
1246
1249
  debugService.addFunctionBreakpoint();
1247
1250
  }
1248
1251
  });
@@ -1466,7 +1469,7 @@ registerAction2(class extends Action2 {
1466
1469
  await debugService.removeDataBreakpoints(breakpoint.getId());
1467
1470
  }
1468
1471
  else if (breakpoint instanceof InstructionBreakpoint) {
1469
- await debugService.removeInstructionBreakpoints(breakpoint.instructionReference);
1472
+ await debugService.removeInstructionBreakpoints(breakpoint.instructionReference, breakpoint.offset);
1470
1473
  }
1471
1474
  }
1472
1475
  });
@@ -22,12 +22,7 @@ const debugToolBarBackground = registerColor('debugToolBar.background', {
22
22
  hcDark: '#000000',
23
23
  hcLight: '#FFFFFF'
24
24
  }, ( localizeWithPath(_moduleId, 0, "Debug toolbar background color.")));
25
- const debugToolBarBorder = registerColor('debugToolBar.border', {
26
- dark: null,
27
- light: null,
28
- hcDark: null,
29
- hcLight: null
30
- }, ( localizeWithPath(_moduleId, 1, "Debug toolbar border color.")));
25
+ const debugToolBarBorder = registerColor('debugToolBar.border', null, ( localizeWithPath(_moduleId, 1, "Debug toolbar border color.")));
31
26
  const debugIconStartForeground = registerColor('debugIcon.startForeground', {
32
27
  dark: '#89D185',
33
28
  light: '#388A34',
@@ -36,6 +31,7 @@ const debugIconStartForeground = registerColor('debugIcon.startForeground', {
36
31
  }, ( localizeWithPath(_moduleId, 2, "Debug toolbar icon for start debugging.")));
37
32
  function registerColors() {
38
33
  const debugTokenExpressionName = registerColor('debugTokenExpression.name', { dark: '#c586c0', light: '#9b46b0', hcDark: foreground, hcLight: foreground }, 'Foreground color for the token names shown in the debug views (ie. the Variables or Watch view).');
34
+ const debugTokenExpressionType = registerColor('debugTokenExpression.type', { dark: '#4A90E2', light: '#4A90E2', hcDark: foreground, hcLight: foreground }, 'Foreground color for the token types shown in the debug views (ie. the Variables or Watch view).');
39
35
  const debugTokenExpressionValue = registerColor('debugTokenExpression.value', { dark: '#cccccc99', light: '#6c6c6ccc', hcDark: foreground, hcLight: foreground }, 'Foreground color for the token values shown in the debug views (ie. the Variables or Watch view).');
40
36
  const debugTokenExpressionString = registerColor('debugTokenExpression.string', { dark: '#ce9178', light: '#a31515', hcDark: '#f48771', hcLight: '#a31515' }, 'Foreground color for strings in the debug views (ie. the Variables or Watch view).');
41
37
  const debugTokenExpressionBoolean = registerColor('debugTokenExpression.boolean', { dark: '#4e94ce', light: '#0000ff', hcDark: '#75bdfe', hcLight: '#0000ff' }, 'Foreground color for booleans in the debug views (ie. the Variables or Watch view).');
@@ -43,14 +39,14 @@ function registerColors() {
43
39
  const debugTokenExpressionError = registerColor('debugTokenExpression.error', { dark: '#f48771', light: '#e51400', hcDark: '#f48771', hcLight: '#e51400' }, 'Foreground color for expression errors in the debug views (ie. the Variables or Watch view) and for error logs shown in the debug console.');
44
40
  const debugViewExceptionLabelForeground = registerColor('debugView.exceptionLabelForeground', { dark: foreground, light: '#FFF', hcDark: foreground, hcLight: foreground }, 'Foreground color for a label shown in the CALL STACK view when the debugger breaks on an exception.');
45
41
  const debugViewExceptionLabelBackground = registerColor('debugView.exceptionLabelBackground', { dark: '#6C2022', light: '#A31515', hcDark: '#6C2022', hcLight: '#A31515' }, 'Background color for a label shown in the CALL STACK view when the debugger breaks on an exception.');
46
- const debugViewStateLabelForeground = registerColor('debugView.stateLabelForeground', { dark: foreground, light: foreground, hcDark: foreground, hcLight: foreground }, 'Foreground color for a label in the CALL STACK view showing the current session\'s or thread\'s state.');
47
- const debugViewStateLabelBackground = registerColor('debugView.stateLabelBackground', { dark: '#88888844', light: '#88888844', hcDark: '#88888844', hcLight: '#88888844' }, 'Background color for a label in the CALL STACK view showing the current session\'s or thread\'s state.');
48
- const debugViewValueChangedHighlight = registerColor('debugView.valueChangedHighlight', { dark: '#569CD6', light: '#569CD6', hcDark: '#569CD6', hcLight: '#569CD6' }, 'Color used to highlight value changes in the debug views (ie. in the Variables view).');
42
+ const debugViewStateLabelForeground = registerColor('debugView.stateLabelForeground', foreground, 'Foreground color for a label in the CALL STACK view showing the current session\'s or thread\'s state.');
43
+ const debugViewStateLabelBackground = registerColor('debugView.stateLabelBackground', '#88888844', 'Background color for a label in the CALL STACK view showing the current session\'s or thread\'s state.');
44
+ const debugViewValueChangedHighlight = registerColor('debugView.valueChangedHighlight', '#569CD6', 'Color used to highlight value changes in the debug views (ie. in the Variables view).');
49
45
  const debugConsoleInfoForeground = registerColor('debugConsole.infoForeground', { dark: editorInfoForeground, light: editorInfoForeground, hcDark: foreground, hcLight: foreground }, 'Foreground color for info messages in debug REPL console.');
50
46
  const debugConsoleWarningForeground = registerColor('debugConsole.warningForeground', { dark: editorWarningForeground, light: editorWarningForeground, hcDark: '#008000', hcLight: editorWarningForeground }, 'Foreground color for warning messages in debug REPL console.');
51
- const debugConsoleErrorForeground = registerColor('debugConsole.errorForeground', { dark: errorForeground, light: errorForeground, hcDark: errorForeground, hcLight: errorForeground }, 'Foreground color for error messages in debug REPL console.');
52
- const debugConsoleSourceForeground = registerColor('debugConsole.sourceForeground', { dark: foreground, light: foreground, hcDark: foreground, hcLight: foreground }, 'Foreground color for source filenames in debug REPL console.');
53
- const debugConsoleInputIconForeground = registerColor('debugConsoleInputIcon.foreground', { dark: foreground, light: foreground, hcDark: foreground, hcLight: foreground }, 'Foreground color for debug console input marker icon.');
47
+ const debugConsoleErrorForeground = registerColor('debugConsole.errorForeground', errorForeground, 'Foreground color for error messages in debug REPL console.');
48
+ const debugConsoleSourceForeground = registerColor('debugConsole.sourceForeground', foreground, 'Foreground color for source filenames in debug REPL console.');
49
+ const debugConsoleInputIconForeground = registerColor('debugConsoleInputIcon.foreground', foreground, 'Foreground color for debug console input marker icon.');
54
50
  const debugIconPauseForeground = registerColor('debugIcon.pauseForeground', {
55
51
  dark: '#75BEFF',
56
52
  light: '#007ACC',
@@ -192,6 +188,7 @@ function registerColors() {
192
188
  }`);
193
189
  }
194
190
  const tokenNameColor = theme.getColor(debugTokenExpressionName);
191
+ const tokenTypeColor = theme.getColor(debugTokenExpressionType);
195
192
  const tokenValueColor = theme.getColor(debugTokenExpressionValue);
196
193
  const tokenStringColor = theme.getColor(debugTokenExpressionString);
197
194
  const tokenBooleanColor = theme.getColor(debugTokenExpressionBoolean);
@@ -202,6 +199,10 @@ function registerColors() {
202
199
  color: ${tokenNameColor};
203
200
  }
204
201
 
202
+ .monaco-workbench .monaco-list-row .expression .type {
203
+ color: ${tokenTypeColor};
204
+ }
205
+
205
206
  .monaco-workbench .monaco-list-row .expression .value,
206
207
  .monaco-workbench .debug-hover-widget .value {
207
208
  color: ${tokenValueColor};
@@ -16,6 +16,7 @@ import { IEditorPane } from '../../../common/editor.js';
16
16
  import { DebugCompoundRoot } from './debugCompoundRoot.js';
17
17
  import { Source } from './debugSource.js';
18
18
  import { ITaskIdentifier } from '../../tasks/common/tasks.js';
19
+ import { LiveTestResult } from '../../testing/common/testResult.js';
19
20
  import { IEditorService } from '../../../services/editor/common/editorService.service.js';
20
21
 
21
22
  interface IRawModelUpdate {
@@ -94,6 +95,10 @@ interface LoadedSourceEvent {
94
95
  source: Source;
95
96
  }
96
97
  type IDebugSessionReplMode = 'separate' | 'mergeWithParent';
98
+ interface IDebugTestRunReference {
99
+ runId: string;
100
+ taskId: string;
101
+ }
97
102
  interface IDebugSessionOptions {
98
103
  noDebug?: boolean;
99
104
  parentSession?: IDebugSession;
@@ -106,6 +111,11 @@ interface IDebugSessionOptions {
106
111
  suppressDebugToolbar?: boolean;
107
112
  suppressDebugStatusbar?: boolean;
108
113
  suppressDebugView?: boolean;
114
+ /**
115
+ * Set if the debug session is correlated with a test run. Stopping/restarting
116
+ * the session will instead stop/restart the test run.
117
+ */
118
+ testRun?: IDebugTestRunReference;
109
119
  }
110
120
  interface IDataBreakpointInfoResponse {
111
121
  dataId: string | null;
@@ -191,6 +201,11 @@ interface INewReplElementData {
191
201
  */
192
202
  source?: IReplElementSource;
193
203
  }
204
+ interface IDebugEvaluatePosition {
205
+ line: number;
206
+ column: number;
207
+ source: DebugProtocol.Source;
208
+ }
194
209
  interface IDebugSession extends ITreeElement {
195
210
  readonly configuration: IConfig;
196
211
  readonly unresolvedConfiguration: IConfig | undefined;
@@ -207,6 +222,8 @@ interface IDebugSession extends ITreeElement {
207
222
  readonly suppressDebugStatusbar: boolean;
208
223
  readonly suppressDebugView: boolean;
209
224
  readonly lifecycleManagedByParent: boolean;
225
+ /** Test run this debug session was spawned by */
226
+ readonly correlatedTestRun?: LiveTestResult;
210
227
  setSubId(subId: string | undefined): void;
211
228
  getMemory(memoryReference: string): IMemoryRegion;
212
229
  setName(name: string): void;
@@ -256,7 +273,7 @@ interface IDebugSession extends ITreeElement {
256
273
  exceptionInfo(threadId: number): Promise<IExceptionInfo | undefined>;
257
274
  scopes(frameId: number, threadId: number): Promise<DebugProtocol.ScopesResponse | undefined>;
258
275
  variables(variablesReference: number, threadId: number | undefined, filter: 'indexed' | 'named' | undefined, start: number | undefined, count: number | undefined): Promise<DebugProtocol.VariablesResponse | undefined>;
259
- evaluate(expression: string, frameId?: number, context?: string): Promise<DebugProtocol.EvaluateResponse | undefined>;
276
+ evaluate(expression: string, frameId?: number, context?: string, location?: IDebugEvaluatePosition): Promise<DebugProtocol.EvaluateResponse | undefined>;
260
277
  customRequest(request: string, args: any): Promise<DebugProtocol.Response | undefined>;
261
278
  cancel(progressId: string): Promise<DebugProtocol.CancelResponse | undefined>;
262
279
  disassemble(memoryReference: string, offset: number, instructionOffset: number, instructionCount: number): Promise<DebugProtocol.DisassembledInstruction[] | undefined>;
@@ -777,4 +794,4 @@ interface ILaunch {
777
794
  }>;
778
795
  }
779
796
 
780
- export { type AdapterEndEvent, DataBreakpointSetType, type DataBreakpointSource, DebugConfigurationProviderTriggerKind, DebuggerString, type IAdapterDescriptor, type IAdapterManager, type IBaseBreakpoint, type IBreakpoint, type IBreakpointData, type IBreakpointUpdateData, type IBreakpointsChangeEvent, type ICompound, type IConfig, type IConfigPresentation, type IConfigurationManager, type IDataBreakpoint, type IDataBreakpointInfoResponse, type IDebugAdapter, type IDebugAdapterDescriptorFactory, type IDebugAdapterExecutable, type IDebugAdapterExecutableOptions, type IDebugAdapterFactory, type IDebugAdapterImpl, type IDebugAdapterInlineImpl, type IDebugAdapterNamedPipeServer, type IDebugAdapterServer, type IDebugConfigurationProvider, type IDebugModel, type IDebugSession, type IDebugSessionOptions, type IDebugSessionReplMode, type IDebugger, type IDebuggerMetadata, type IEnablement, type IErrorMemoryRange, type IEvaluate, type IExceptionBreakpoint, type IExceptionInfo, type IExpression, type IExpressionContainer, type IExpressionValue, type IFunctionBreakpoint, type IInstructionBreakpoint, type ILaunch, type IMemoryInvalidationEvent, type IMemoryRange, type IMemoryRegion, type INewReplElementData, type IRawModelUpdate, type IRawStoppedDetails, type IReplElement, type IReplElementSource, type IScope, type IStackFrame, type IThread, type ITreeElement, type IUnreadableMemoryRange, type IValidMemoryRange, type IViewModel, type LoadedSourceEvent, type MemoryRange, MemoryRangeType, State };
797
+ export { type AdapterEndEvent, DataBreakpointSetType, type DataBreakpointSource, DebugConfigurationProviderTriggerKind, DebuggerString, type IAdapterDescriptor, type IAdapterManager, type IBaseBreakpoint, type IBreakpoint, type IBreakpointData, type IBreakpointUpdateData, type IBreakpointsChangeEvent, type ICompound, type IConfig, type IConfigPresentation, type IConfigurationManager, type IDataBreakpoint, type IDataBreakpointInfoResponse, type IDebugAdapter, type IDebugAdapterDescriptorFactory, type IDebugAdapterExecutable, type IDebugAdapterExecutableOptions, type IDebugAdapterFactory, type IDebugAdapterImpl, type IDebugAdapterInlineImpl, type IDebugAdapterNamedPipeServer, type IDebugAdapterServer, type IDebugConfigurationProvider, type IDebugEvaluatePosition, type IDebugModel, type IDebugSession, type IDebugSessionOptions, type IDebugSessionReplMode, type IDebugTestRunReference, type IDebugger, type IDebuggerMetadata, type IEnablement, type IErrorMemoryRange, type IEvaluate, type IExceptionBreakpoint, type IExceptionInfo, type IExpression, type IExpressionContainer, type IExpressionValue, type IFunctionBreakpoint, type IInstructionBreakpoint, type ILaunch, type IMemoryInvalidationEvent, type IMemoryRange, type IMemoryRegion, type INewReplElementData, type IRawModelUpdate, type IRawStoppedDetails, type IReplElement, type IReplElementSource, type IScope, type IStackFrame, type IThread, type ITreeElement, type IUnreadableMemoryRange, type IValidMemoryRange, type IViewModel, type LoadedSourceEvent, type MemoryRange, MemoryRangeType, State };
@@ -73,7 +73,7 @@ const CONTEXT_BREAKPOINTS_FOCUSED = ( (new RawContextKey('breakpointsFocused', t
73
73
  const CONTEXT_WATCH_EXPRESSIONS_FOCUSED = ( (new RawContextKey(
74
74
  'watchExpressionsFocused',
75
75
  true,
76
- { type: 'boolean', description: ( localizeWithPath(_moduleId, 10, "True when the WATCH view is focused, false otherwsie.")) }
76
+ { type: 'boolean', description: ( localizeWithPath(_moduleId, 10, "True when the WATCH view is focused, false otherwise.")) }
77
77
  )));
78
78
  const CONTEXT_WATCH_EXPRESSIONS_EXIST = ( (new RawContextKey(
79
79
  'watchExpressionsExist',
@@ -84,7 +84,7 @@ const CONTEXT_WATCH_EXPRESSIONS_EXIST = ( (new RawContextKey(
84
84
  "True when at least one watch expression exists, false otherwise."
85
85
  )) }
86
86
  )));
87
- const CONTEXT_VARIABLES_FOCUSED = ( (new RawContextKey('variablesFocused', true, { type: 'boolean', description: ( localizeWithPath(_moduleId, 12, "True when the VARIABLES views is focused, false otherwsie")) })));
87
+ const CONTEXT_VARIABLES_FOCUSED = ( (new RawContextKey('variablesFocused', true, { type: 'boolean', description: ( localizeWithPath(_moduleId, 12, "True when the VARIABLES views is focused, false otherwise")) })));
88
88
  const CONTEXT_EXPRESSION_SELECTED = ( (new RawContextKey(
89
89
  'expressionSelected',
90
90
  false,
@@ -226,7 +226,11 @@ const CONTEXT_RESTART_FRAME_SUPPORTED = ( (new RawContextKey(
226
226
  const CONTEXT_STACK_FRAME_SUPPORTS_RESTART = ( (new RawContextKey(
227
227
  'stackFrameSupportsRestart',
228
228
  false,
229
- { type: 'boolean', description: ( localizeWithPath(_moduleId, 31, "True when the focused stack frame suppots 'restartFrame'.")) }
229
+ { type: 'boolean', description: ( localizeWithPath(
230
+ _moduleId,
231
+ 31,
232
+ "True when the focused stack frame supports 'restartFrame'."
233
+ )) }
230
234
  )));
231
235
  const CONTEXT_JUMP_TO_CURSOR_SUPPORTED = ( (new RawContextKey(
232
236
  'jumpToCursorSupported',
@@ -466,7 +470,8 @@ var MemoryRangeType;
466
470
  })(MemoryRangeType || (MemoryRangeType = {}))));
467
471
  const DEBUG_MEMORY_SCHEME = 'vscode-debug-memory';
468
472
  function isFrameDeemphasized(frame) {
469
- return frame.source.presentationHint === 'deemphasize' || frame.presentationHint === 'deemphasize' || frame.presentationHint === 'subtle';
473
+ const hint = frame.presentationHint ?? frame.source.presentationHint;
474
+ return hint === 'deemphasize' || hint === 'subtle';
470
475
  }
471
476
  var DataBreakpointSetType;
472
477
  ( ((function(DataBreakpointSetType) {
@@ -197,7 +197,7 @@ class ExpressionContainer {
197
197
  toString() {
198
198
  return this.value;
199
199
  }
200
- async evaluateExpression(expression, session, stackFrame, context, keepLazyVars = false) {
200
+ async evaluateExpression(expression, session, stackFrame, context, keepLazyVars = false, location) {
201
201
  if (!session || (!stackFrame && context !== 'repl')) {
202
202
  this.value = context === 'repl' ? ( localizeWithPath(_moduleId, 1, "Please start a debug session to evaluate expressions")) : Expression.DEFAULT_VALUE;
203
203
  this.reference = 0;
@@ -205,7 +205,7 @@ class ExpressionContainer {
205
205
  }
206
206
  this.session = session;
207
207
  try {
208
- const response = await session.evaluate(expression, stackFrame ? stackFrame.frameId : undefined, context);
208
+ const response = await session.evaluate(expression, stackFrame ? stackFrame.frameId : undefined, context, location);
209
209
  if (response && response.body) {
210
210
  this.value = response.body.result || '';
211
211
  this.reference = response.body.variablesReference;
@@ -284,8 +284,8 @@ class Expression extends ExpressionContainer {
284
284
  this.value = Expression.DEFAULT_VALUE;
285
285
  }
286
286
  }
287
- async evaluate(session, stackFrame, context, keepLazyVars) {
288
- this.available = await this.evaluateExpression(this.name, session, stackFrame, context, keepLazyVars);
287
+ async evaluate(session, stackFrame, context, keepLazyVars, location) {
288
+ this.available = await this.evaluateExpression(this.name, session, stackFrame, context, keepLazyVars, location);
289
289
  }
290
290
  toString() {
291
291
  return `${this.name}\n${this.value}`;
@@ -1197,7 +1197,12 @@ let DebugModel = class DebugModel extends Disposable {
1197
1197
  let topCallStack = Promise.resolve();
1198
1198
  const wholeCallStack = ( (new Promise((c, e) => {
1199
1199
  topCallStack = thread.fetchCallStack(1).then(() => {
1200
- if (!( (this.schedulers.has(thread.getId()))) && fetchFullStack) {
1200
+ if (!fetchFullStack) {
1201
+ c();
1202
+ this._onDidChangeCallStack.fire();
1203
+ return;
1204
+ }
1205
+ if (!( (this.schedulers.has(thread.getId())))) {
1201
1206
  const deferred = ( (new DeferredPromise()));
1202
1207
  this.schedulers.set(thread.getId(), {
1203
1208
  completeDeferred: deferred,
@@ -214,10 +214,10 @@ class ReplModel {
214
214
  getReplElements() {
215
215
  return this.replElements;
216
216
  }
217
- async addReplExpression(session, stackFrame, name) {
218
- this.addReplElement(( (new ReplEvaluationInput(name))));
219
- const result = ( (new ReplEvaluationResult(name)));
220
- await result.evaluateExpression(name, session, stackFrame, 'repl');
217
+ async addReplExpression(session, stackFrame, expression) {
218
+ this.addReplElement(( (new ReplEvaluationInput(expression))));
219
+ const result = ( (new ReplEvaluationResult(expression)));
220
+ await result.evaluateExpression(expression, session, stackFrame, 'repl');
221
221
  this.addReplElement(result);
222
222
  }
223
223
  appendToRepl(session, { output, expression, sev, source }) {