@codingame/monaco-vscode-api 5.3.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (998) hide show
  1. package/api.js +1 -1
  2. package/extensions.d.ts +4 -4
  3. package/localExtensionHost.js +2 -1
  4. package/missing-services.js +70 -28
  5. package/package.json +8 -8
  6. package/service-override/dialogs.d.ts +1 -8
  7. package/service-override/files.d.ts +0 -1
  8. package/service-override/search.d.ts +1 -8
  9. package/service-override/tools/editor.js +11 -2
  10. package/services.js +2 -2
  11. package/vscode/src/vs/base/browser/canIUse.js +10 -4
  12. package/vscode/src/vs/base/browser/deviceAccess.js +60 -0
  13. package/vscode/src/vs/base/browser/dom.js +25 -9
  14. package/vscode/src/vs/base/browser/formattedTextRenderer.js +36 -24
  15. package/vscode/src/vs/base/browser/keyboardEvent.js +24 -24
  16. package/vscode/src/vs/base/browser/markdownRenderer.js +130 -30
  17. package/vscode/src/vs/base/browser/performance.js +24 -18
  18. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +22 -16
  19. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +3 -2
  20. package/vscode/src/vs/base/browser/ui/button/button.js +19 -7
  21. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  22. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +43 -17
  23. package/vscode/src/vs/base/browser/ui/dialog/dialog.js +7 -6
  24. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +4 -2
  25. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +3 -2
  26. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +5 -4
  27. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +5 -4
  28. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +5 -0
  29. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +1 -0
  30. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  31. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +10 -6
  32. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +16 -1
  33. package/vscode/src/vs/base/browser/ui/iconLabel/iconlabel.css.js +1 -1
  34. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +2 -1
  35. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +17 -9
  36. package/vscode/src/vs/base/browser/ui/list/list.js +12 -1
  37. package/vscode/src/vs/base/browser/ui/list/listView.js +19 -11
  38. package/vscode/src/vs/base/browser/ui/list/listWidget.js +17 -16
  39. package/vscode/src/vs/base/browser/ui/menu/menu.js +17 -15
  40. package/vscode/src/vs/base/browser/ui/menu/menubar.js +14 -14
  41. package/vscode/src/vs/base/browser/ui/resizable/resizable.js +9 -9
  42. package/vscode/src/vs/base/browser/ui/sash/sash.js +30 -18
  43. package/vscode/src/vs/base/browser/ui/scrollbar/horizontalScrollbar.js +5 -4
  44. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +3 -3
  45. package/vscode/src/vs/base/browser/ui/scrollbar/scrollbarVisibilityController.js +3 -2
  46. package/vscode/src/vs/base/browser/ui/scrollbar/verticalScrollbar.js +3 -2
  47. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.js +3 -0
  48. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +25 -20
  49. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxNative.js +6 -2
  50. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +26 -24
  51. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +33 -27
  52. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +5 -3
  53. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +4 -2
  54. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -2
  55. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +30 -24
  56. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +7 -7
  57. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +15 -15
  58. package/vscode/src/vs/base/browser/ui/tree/tree.js +13 -1
  59. package/vscode/src/vs/base/common/actions.js +1 -1
  60. package/vscode/src/vs/base/common/arrays.js +2 -5
  61. package/vscode/src/vs/base/common/assert.js +7 -2
  62. package/vscode/src/vs/base/common/async.js +38 -14
  63. package/vscode/src/vs/base/common/charCode.js +296 -0
  64. package/vscode/src/vs/base/common/codicons.d.ts +1 -0
  65. package/vscode/src/vs/base/common/codiconsLibrary.js +1 -0
  66. package/vscode/src/vs/base/common/color.js +24 -23
  67. package/vscode/src/vs/base/common/diff/diff.js +15 -10
  68. package/vscode/src/vs/base/common/event.js +83 -26
  69. package/vscode/src/vs/base/common/extpath.js +10 -9
  70. package/vscode/src/vs/base/common/filters.js +40 -32
  71. package/vscode/src/vs/base/common/fuzzyScorer.js +10 -9
  72. package/vscode/src/vs/base/common/glob.js +2 -1
  73. package/vscode/src/vs/base/common/hash.js +15 -10
  74. package/vscode/src/vs/base/common/htmlContent.js +8 -3
  75. package/vscode/src/vs/base/common/json.js +323 -149
  76. package/vscode/src/vs/base/common/jsonErrorMessages.js +10 -9
  77. package/vscode/src/vs/base/common/jsonFormatter.js +30 -30
  78. package/vscode/src/vs/base/common/keyCodes.js +591 -249
  79. package/vscode/src/vs/base/common/keybindingLabels.js +4 -3
  80. package/vscode/src/vs/base/common/keybindings.js +30 -17
  81. package/vscode/src/vs/base/common/labels.js +10 -10
  82. package/vscode/src/vs/base/common/lifecycle.js +5 -0
  83. package/vscode/src/vs/base/common/map.js +20 -14
  84. package/vscode/src/vs/base/common/marshalling.js +5 -4
  85. package/vscode/src/vs/base/common/marshallingIds.js +22 -0
  86. package/vscode/src/vs/base/common/naturalLanguage/korean.js +213 -129
  87. package/vscode/src/vs/base/common/network.js +3 -2
  88. package/vscode/src/vs/base/common/objects.js +8 -1
  89. package/vscode/src/vs/base/common/observableInternal/autorun.js +19 -13
  90. package/vscode/src/vs/base/common/observableInternal/base.js +1 -1
  91. package/vscode/src/vs/base/common/observableInternal/derived.js +35 -19
  92. package/vscode/src/vs/base/common/observableInternal/utils.js +9 -1
  93. package/vscode/src/vs/base/common/platform.js +26 -10
  94. package/vscode/src/vs/base/common/prefixTree.js +3 -0
  95. package/vscode/src/vs/base/common/processes.js +32 -0
  96. package/vscode/src/vs/base/common/resources.js +4 -3
  97. package/vscode/src/vs/base/common/scrollable.js +7 -1
  98. package/vscode/src/vs/base/common/strings.d.ts +9 -0
  99. package/vscode/src/vs/base/common/strings.js +94 -47
  100. package/vscode/src/vs/base/common/ternarySearchTree.js +54 -39
  101. package/vscode/src/vs/base/common/uint.js +14 -5
  102. package/vscode/src/vs/base/common/uri.js +41 -39
  103. package/vscode/src/vs/base/common/uriIpc.js +2 -1
  104. package/vscode/src/vs/base/common/worker/simpleWorker.js +20 -12
  105. package/vscode/src/vs/base/parts/ipc/common/ipc.js +77 -55
  106. package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +108 -51
  107. package/vscode/src/vs/base/parts/storage/common/storage.js +3 -1
  108. package/vscode/src/vs/editor/browser/config/charWidthReader.js +10 -4
  109. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +4 -3
  110. package/vscode/src/vs/editor/browser/config/fontMeasurements.js +21 -21
  111. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +28 -25
  112. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +68 -50
  113. package/vscode/src/vs/editor/browser/controller/pointerHandler.js +5 -3
  114. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +49 -44
  115. package/vscode/src/vs/editor/browser/controller/textAreaInput.js +8 -6
  116. package/vscode/src/vs/editor/browser/controller/textAreaState.js +8 -7
  117. package/vscode/src/vs/editor/browser/coreCommands.js +215 -198
  118. package/vscode/src/vs/editor/browser/editorBrowser.js +30 -1
  119. package/vscode/src/vs/editor/browser/editorExtensions.js +19 -10
  120. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +28 -18
  121. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +2 -1
  122. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +26 -10
  123. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +70 -62
  124. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +5 -3
  125. package/vscode/src/vs/editor/browser/services/markerDecorations.js +2 -2
  126. package/vscode/src/vs/editor/browser/stableEditorScroll.js +4 -3
  127. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +27 -21
  128. package/vscode/src/vs/editor/browser/view/viewController.js +5 -4
  129. package/vscode/src/vs/editor/browser/view/viewLayer.js +2 -1
  130. package/vscode/src/vs/editor/browser/view/viewOverlays.js +9 -8
  131. package/vscode/src/vs/editor/browser/view/viewPart.js +15 -2
  132. package/vscode/src/vs/editor/browser/view/viewUserInputEvents.js +2 -1
  133. package/vscode/src/vs/editor/browser/view.js +9 -8
  134. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +2 -1
  135. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +47 -20
  136. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +7 -6
  137. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +3 -2
  138. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +19 -17
  139. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +16 -10
  140. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +7 -6
  141. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +9 -8
  142. package/vscode/src/vs/editor/browser/viewParts/lines/rangeUtil.js +4 -3
  143. package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +29 -24
  144. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +35 -31
  145. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +3 -2
  146. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +5 -4
  147. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +39 -29
  148. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRenderer.js +9 -9
  149. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharRendererFactory.js +22 -22
  150. package/vscode/src/vs/editor/browser/viewParts/minimap/minimapCharSheet.js +20 -7
  151. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +41 -20
  152. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +37 -19
  153. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +7 -6
  154. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +5 -4
  155. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +4 -3
  156. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +33 -26
  157. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +9 -9
  158. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +22 -21
  159. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +6 -5
  160. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +18 -16
  161. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorContributions.js +12 -11
  162. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +195 -149
  163. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +7 -5
  164. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +24 -23
  165. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +47 -35
  166. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +15 -12
  167. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +9 -6
  168. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +10 -10
  169. package/vscode/src/vs/editor/browser/widget/diffEditor/delegatingEditorImpl.js +19 -18
  170. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +7 -6
  171. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +9 -3
  172. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +26 -9
  173. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +2 -2
  174. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +29 -12
  175. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +13 -10
  176. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +2 -1
  177. package/vscode/src/vs/editor/browser/widget/diffEditor/style.css.js +1 -1
  178. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +4 -7
  179. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/markdownRenderer.js +2 -1
  180. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +49 -39
  181. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/style.css.js +1 -1
  182. package/vscode/src/vs/editor/common/commands/replaceCommand.js +2 -2
  183. package/vscode/src/vs/editor/common/commands/shiftCommand.js +6 -5
  184. package/vscode/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.js +2 -1
  185. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +2 -2
  186. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +4 -0
  187. package/vscode/src/vs/editor/common/config/editorOptions.js +719 -559
  188. package/vscode/src/vs/editor/common/config/fontInfo.js +8 -8
  189. package/vscode/src/vs/editor/common/core/characterClassifier.js +8 -3
  190. package/vscode/src/vs/editor/common/core/cursorColumns.js +3 -2
  191. package/vscode/src/vs/editor/common/core/eolCounter.js +16 -8
  192. package/vscode/src/vs/editor/common/core/lineRange.d.ts +0 -9
  193. package/vscode/src/vs/editor/common/core/lineRange.js +0 -28
  194. package/vscode/src/vs/editor/common/core/selection.js +12 -7
  195. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.js +12 -5
  196. package/vscode/src/vs/editor/common/cursor/cursor.js +34 -31
  197. package/vscode/src/vs/editor/common/cursor/cursorAtomicMoveOperations.js +17 -10
  198. package/vscode/src/vs/editor/common/cursor/cursorColumnSelection.js +3 -3
  199. package/vscode/src/vs/editor/common/cursor/cursorDeleteOperations.js +4 -4
  200. package/vscode/src/vs/editor/common/cursor/cursorMoveCommands.js +52 -50
  201. package/vscode/src/vs/editor/common/cursor/cursorMoveOperations.js +14 -12
  202. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +35 -33
  203. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +79 -65
  204. package/vscode/src/vs/editor/common/cursor/oneCursor.js +7 -6
  205. package/vscode/src/vs/editor/common/cursorCommon.js +54 -38
  206. package/vscode/src/vs/editor/common/cursorEvents.js +11 -0
  207. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +1 -1
  208. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.js +2 -1
  209. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +43 -30
  210. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/utils.js +2 -1
  211. package/vscode/src/vs/editor/common/diff/legacyLinesDiffComputer.js +5 -4
  212. package/vscode/src/vs/editor/common/editorCommon.js +16 -1
  213. package/vscode/src/vs/editor/common/encodedTokenAttributes.js +71 -19
  214. package/vscode/src/vs/editor/common/languages/autoIndent.js +83 -89
  215. package/vscode/src/vs/editor/common/languages/enterAction.js +10 -20
  216. package/vscode/src/vs/editor/common/languages/languageConfiguration.js +9 -7
  217. package/vscode/src/vs/editor/common/languages/languageConfigurationRegistry.js +3 -10
  218. package/vscode/src/vs/editor/common/languages/linkComputer.js +94 -69
  219. package/vscode/src/vs/editor/common/languages/nullTokenize.js +6 -5
  220. package/vscode/src/vs/editor/common/languages/supports/indentRules.js +12 -5
  221. package/vscode/src/vs/editor/common/languages/supports/indentationLineProcessor.js +150 -0
  222. package/vscode/src/vs/editor/common/languages/supports/languageBracketsConfiguration.d.ts +2 -0
  223. package/vscode/src/vs/editor/common/languages/supports/languageBracketsConfiguration.js +5 -0
  224. package/vscode/src/vs/editor/common/languages/supports/onEnter.js +4 -3
  225. package/vscode/src/vs/editor/common/languages/supports/richEditBrackets.js +3 -3
  226. package/vscode/src/vs/editor/common/languages/supports/tokenization.js +25 -24
  227. package/vscode/src/vs/editor/common/languages/supports.d.ts +5 -1
  228. package/vscode/src/vs/editor/common/languages/supports.js +13 -1
  229. package/vscode/src/vs/editor/common/languages/textToHtmlTokenizer.js +14 -12
  230. package/vscode/src/vs/editor/common/languages.d.ts +6 -15
  231. package/vscode/src/vs/editor/common/languages.js +204 -113
  232. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/ast.js +18 -10
  233. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js +18 -16
  234. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/brackets.js +4 -4
  235. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees.js +3 -3
  236. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/parser.js +8 -7
  237. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/tokenizer.js +15 -33
  238. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/fixBrackets.js +5 -4
  239. package/vscode/src/vs/editor/common/model/editStack.js +6 -4
  240. package/vscode/src/vs/editor/common/model/indentationGuesser.js +7 -6
  241. package/vscode/src/vs/editor/common/model/intervalTree.js +119 -71
  242. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +17 -16
  243. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +11 -11
  244. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder.js +5 -3
  245. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase.js +46 -41
  246. package/vscode/src/vs/editor/common/model/textModel.js +35 -26
  247. package/vscode/src/vs/editor/common/model/textModelSearch.js +15 -14
  248. package/vscode/src/vs/editor/common/model/textModelTokens.js +8 -3
  249. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +8 -5
  250. package/vscode/src/vs/editor/common/model/utils.js +3 -2
  251. package/vscode/src/vs/editor/common/model.js +46 -1
  252. package/vscode/src/vs/editor/common/modelLineProjectionData.js +10 -10
  253. package/vscode/src/vs/editor/common/services/editorBaseApi.js +5 -5
  254. package/vscode/src/vs/editor/common/services/findSectionHeaders.js +1 -1
  255. package/vscode/src/vs/editor/common/services/getIconClasses.js +6 -1
  256. package/vscode/src/vs/editor/common/services/languageFeatureDebounce.js +2 -2
  257. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +2 -2
  258. package/vscode/src/vs/editor/common/services/languagesRegistry.js +4 -3
  259. package/vscode/src/vs/editor/common/services/markerDecorationsService.js +19 -18
  260. package/vscode/src/vs/editor/common/services/modelService.js +9 -8
  261. package/vscode/src/vs/editor/common/services/semanticTokensDto.js +8 -3
  262. package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +27 -16
  263. package/vscode/src/vs/editor/common/services/semanticTokensStylingService.js +2 -2
  264. package/vscode/src/vs/editor/common/services/treeViewsDndService.js +2 -2
  265. package/vscode/src/vs/editor/common/services/unicodeTextModelHighlighter.js +31 -18
  266. package/vscode/src/vs/editor/common/standaloneStrings.js +18 -39
  267. package/vscode/src/vs/editor/common/textModelEvents.js +14 -6
  268. package/vscode/src/vs/editor/common/tokenizationRegistry.js +3 -2
  269. package/vscode/src/vs/editor/common/tokenizationTextModelPart.js +6 -0
  270. package/vscode/src/vs/editor/common/tokens/contiguousTokensStore.js +7 -7
  271. package/vscode/src/vs/editor/common/tokens/lineTokens.d.ts +12 -1
  272. package/vscode/src/vs/editor/common/tokens/lineTokens.js +64 -8
  273. package/vscode/src/vs/editor/common/tokens/sparseMultilineTokens.js +5 -4
  274. package/vscode/src/vs/editor/common/tokens/sparseTokensStore.js +7 -6
  275. package/vscode/src/vs/editor/common/viewEventHandler.js +19 -18
  276. package/vscode/src/vs/editor/common/viewEvents.js +50 -19
  277. package/vscode/src/vs/editor/common/viewLayout/lineDecorations.js +9 -6
  278. package/vscode/src/vs/editor/common/viewLayout/linePart.js +12 -3
  279. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +25 -23
  280. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +97 -72
  281. package/vscode/src/vs/editor/common/viewModel/minimapTokensColorTracker.js +3 -2
  282. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +2 -1
  283. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +30 -19
  284. package/vscode/src/vs/editor/common/viewModel/overviewZoneManager.js +5 -1
  285. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.js +11 -9
  286. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +42 -38
  287. package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +15 -8
  288. package/vscode/src/vs/editor/common/viewModel.js +9 -2
  289. package/vscode/src/vs/editor/common/viewModelEventDispatcher.js +30 -14
  290. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +12 -10
  291. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +15 -12
  292. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +4 -2
  293. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +19 -16
  294. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +3 -2
  295. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +21 -19
  296. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +6 -6
  297. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +14 -11
  298. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.js +2 -2
  299. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +4 -3
  300. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +19 -17
  301. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +21 -12
  302. package/vscode/src/vs/editor/contrib/codeAction/common/types.js +10 -4
  303. package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.js +6 -6
  304. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +14 -13
  305. package/vscode/src/vs/editor/contrib/codelens/browser/codelensWidget.js +4 -2
  306. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +8 -5
  307. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +9 -8
  308. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +7 -4
  309. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +6 -4
  310. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +8 -5
  311. package/vscode/src/vs/editor/contrib/comment/browser/blockCommentCommand.js +5 -4
  312. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +18 -16
  313. package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.js +20 -12
  314. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +23 -18
  315. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +6 -4
  316. package/vscode/src/vs/editor/contrib/dnd/browser/dnd.js +17 -12
  317. package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.js +2 -2
  318. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +8 -6
  319. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +12 -9
  320. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +10 -8
  321. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +4 -3
  322. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +76 -34
  323. package/vscode/src/vs/editor/contrib/editorState/browser/editorState.js +16 -9
  324. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +6 -4
  325. package/vscode/src/vs/editor/contrib/find/browser/findController.js +95 -85
  326. package/vscode/src/vs/editor/contrib/find/browser/findDecorations.js +10 -8
  327. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +31 -25
  328. package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.js +2 -1
  329. package/vscode/src/vs/editor/contrib/find/browser/findState.js +17 -11
  330. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +58 -49
  331. package/vscode/src/vs/editor/contrib/find/browser/replacePattern.js +25 -19
  332. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +68 -64
  333. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +14 -13
  334. package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.js +6 -6
  335. package/vscode/src/vs/editor/contrib/folding/browser/foldingRanges.js +20 -14
  336. package/vscode/src/vs/editor/contrib/format/browser/format.js +31 -10
  337. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +18 -16
  338. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +17 -14
  339. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +8 -5
  340. package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +2 -2
  341. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -38
  342. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js +13 -3
  343. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +9 -7
  344. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +9 -7
  345. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +31 -28
  346. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +8 -4
  347. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +2 -6
  348. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +10 -8
  349. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverComputer.js +4 -2
  350. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +31 -12
  351. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +14 -10
  352. package/vscode/src/vs/editor/contrib/hover/browser/hover.css.js +1 -1
  353. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +247 -0
  354. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +7 -1
  355. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +38 -34
  356. package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +7 -2
  357. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +46 -17
  358. package/vscode/src/vs/editor/contrib/hover/browser/hoverOperation.js +37 -18
  359. package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +12 -7
  360. package/vscode/src/vs/editor/contrib/hover/browser/marginHoverWidget.js +9 -7
  361. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +100 -60
  362. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +7 -4
  363. package/vscode/src/vs/editor/contrib/hover/browser/resizableContentWidget.js +6 -4
  364. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +10 -11
  365. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +20 -6
  366. package/vscode/src/vs/editor/contrib/indentation/common/indentation.js +25 -20
  367. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsContribution.js +2 -2
  368. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +26 -20
  369. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +4 -2
  370. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +3 -2
  371. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +9 -7
  372. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +0 -1
  373. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +19 -18
  374. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +9 -7
  375. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +5 -2
  376. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +55 -0
  377. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +10 -8
  378. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +26 -14
  379. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +8 -5
  380. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +2 -1
  381. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +2 -1
  382. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +2 -2
  383. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commands.js +12 -10
  384. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +3 -2
  385. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +8 -6
  386. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js +2 -2
  387. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +5 -4
  388. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +6 -3
  389. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +7 -4
  390. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +6 -3
  391. package/vscode/src/vs/editor/contrib/linesOperations/browser/copyLinesCommand.js +2 -2
  392. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +35 -33
  393. package/vscode/src/vs/editor/contrib/linesOperations/browser/moveLinesCommand.js +4 -2
  394. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +14 -10
  395. package/vscode/src/vs/editor/contrib/links/browser/links.js +13 -10
  396. package/vscode/src/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +6 -4
  397. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +14 -9
  398. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +53 -51
  399. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +15 -13
  400. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +18 -16
  401. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +19 -6
  402. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +8 -7
  403. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +8 -6
  404. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +5 -3
  405. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +38 -34
  406. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +4 -3
  407. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +22 -20
  408. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +15 -11
  409. package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +15 -12
  410. package/vscode/src/vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js +2 -2
  411. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +14 -11
  412. package/vscode/src/vs/editor/contrib/smartSelect/browser/wordSelections.js +3 -2
  413. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +13 -10
  414. package/vscode/src/vs/editor/contrib/snippet/browser/snippetParser.js +100 -81
  415. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +10 -7
  416. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
  417. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +7 -5
  418. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollContribution.js +2 -2
  419. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +19 -16
  420. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +2 -1
  421. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +3 -2
  422. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +14 -11
  423. package/vscode/src/vs/editor/contrib/suggest/browser/completionModel.js +18 -10
  424. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +24 -16
  425. package/vscode/src/vs/editor/contrib/suggest/browser/suggestCommitCharacters.js +4 -2
  426. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +83 -69
  427. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +6 -4
  428. package/vscode/src/vs/editor/contrib/suggest/browser/suggestMemory.js +6 -6
  429. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +66 -57
  430. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +71 -59
  431. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +6 -5
  432. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +10 -9
  433. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +3 -2
  434. package/vscode/src/vs/editor/contrib/suggest/browser/wordDistance.js +4 -2
  435. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +6 -4
  436. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +28 -25
  437. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +7 -6
  438. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +10 -10
  439. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +16 -12
  440. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +54 -50
  441. package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +21 -19
  442. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +12 -9
  443. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +6 -4
  444. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +5 -3
  445. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditorService.js +5 -4
  446. package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +2 -2
  447. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +50 -43
  448. package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +5 -5
  449. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +3 -3
  450. package/vscode/src/vs/platform/accessibility/browser/accessibleView.js +58 -0
  451. package/vscode/src/vs/{workbench/contrib → platform}/accessibility/browser/accessibleView.service.js +1 -1
  452. package/vscode/src/vs/platform/accessibility/browser/accessibleViewRegistry.js +35 -0
  453. package/vscode/src/vs/platform/accessibility/common/accessibility.js +7 -1
  454. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +3 -0
  455. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +61 -51
  456. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service.d.ts +1 -0
  457. package/vscode/src/vs/platform/action/common/action.d.ts +4 -0
  458. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +13 -8
  459. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +16 -14
  460. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +3 -2
  461. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +6 -4
  462. package/vscode/src/vs/platform/actions/browser/toolbar.js +10 -4
  463. package/vscode/src/vs/platform/actions/common/actions.contribution.js +1 -0
  464. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -0
  465. package/vscode/src/vs/platform/actions/common/actions.js +14 -10
  466. package/vscode/src/vs/platform/actions/common/menuService.js +9 -8
  467. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +5 -5
  468. package/vscode/src/vs/platform/configuration/common/configuration.js +20 -9
  469. package/vscode/src/vs/platform/configuration/common/configurationModels.js +4 -3
  470. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +15 -15
  471. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +4 -2
  472. package/vscode/src/vs/platform/contextkey/common/contextkey.js +98 -78
  473. package/vscode/src/vs/platform/contextkey/common/scanner.js +94 -69
  474. package/vscode/src/vs/platform/contextview/browser/contextMenuHandler.js +2 -2
  475. package/vscode/src/vs/platform/contextview/browser/contextViewService.js +6 -6
  476. package/vscode/src/vs/platform/diagnostics/common/diagnostics.js +4 -1
  477. package/vscode/src/vs/platform/editor/common/editor.js +14 -1
  478. package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +9 -8
  479. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  480. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +106 -61
  481. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementUtil.js +5 -3
  482. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +13 -12
  483. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +16 -9
  484. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +26 -26
  485. package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +6 -4
  486. package/vscode/src/vs/platform/extensions/common/extensions.js +22 -1
  487. package/vscode/src/vs/platform/externalServices/common/serviceMachineId.js +3 -2
  488. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +4 -4
  489. package/vscode/src/vs/platform/files/common/files.js +53 -25
  490. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.js +10 -10
  491. package/vscode/src/vs/platform/files/common/watcher.js +26 -10
  492. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +8 -7
  493. package/vscode/src/vs/platform/hover/browser/hover.js +5 -4
  494. package/vscode/src/vs/platform/instantiation/common/extensions.js +6 -1
  495. package/vscode/src/vs/platform/instantiation/common/instantiation.d.ts +5 -1
  496. package/vscode/src/vs/platform/instantiation/common/instantiationService.js +16 -7
  497. package/vscode/src/vs/platform/issue/common/issue.service.js +3 -0
  498. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +7 -6
  499. package/vscode/src/vs/platform/keybinding/common/keybindingResolver.js +15 -9
  500. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +3 -0
  501. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.js +12 -4
  502. package/vscode/src/vs/platform/keybinding/common/resolvedKeybindingItem.js +2 -1
  503. package/vscode/src/vs/platform/keybinding/common/usLayoutResolvedKeybinding.js +64 -63
  504. package/vscode/src/vs/platform/label/common/label.js +7 -0
  505. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +11 -0
  506. package/vscode/src/vs/platform/list/browser/listService.js +3 -2
  507. package/vscode/src/vs/platform/markers/common/markerService.js +1 -0
  508. package/vscode/src/vs/platform/markers/common/markers.js +6 -1
  509. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +19 -0
  510. package/vscode/src/vs/platform/opener/browser/link.js +2 -1
  511. package/vscode/src/vs/platform/product/common/product.js +1 -1
  512. package/vscode/src/vs/platform/progress/common/progress.js +10 -47
  513. package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +7 -0
  514. package/vscode/src/vs/platform/quickinput/browser/quickAccess.js +9 -8
  515. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +81 -113
  516. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +145 -0
  517. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +3 -2
  518. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +39 -13
  519. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +1 -0
  520. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +63 -85
  521. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +2 -1
  522. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +3 -2
  523. package/vscode/src/vs/platform/quickinput/common/quickAccess.d.ts +16 -0
  524. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +76 -1
  525. package/vscode/src/vs/platform/quickinput/common/quickInput.js +19 -1
  526. package/vscode/src/vs/platform/quickinput/common/quickInput.service.d.ts +5 -1
  527. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +29 -15
  528. package/vscode/src/vs/platform/remote/common/remoteAuthorityResolver.js +8 -3
  529. package/vscode/src/vs/platform/request/common/request.js +2 -2
  530. package/vscode/src/vs/platform/storage/common/storage.js +22 -22
  531. package/vscode/src/vs/platform/telemetry/common/telemetry.js +15 -1
  532. package/vscode/src/vs/platform/telemetry/common/telemetry.service.d.ts +1 -0
  533. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +12 -12
  534. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +1 -0
  535. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.js +14 -0
  536. package/vscode/src/vs/platform/terminal/common/terminal.js +168 -6
  537. package/vscode/src/vs/platform/theme/common/colorUtils.js +25 -15
  538. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +1 -1
  539. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +66 -64
  540. package/vscode/src/vs/platform/tunnel/common/tunnel.js +3 -1
  541. package/vscode/src/vs/platform/undoRedo/common/undoRedo.js +6 -1
  542. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +29 -24
  543. package/vscode/src/vs/platform/update/common/update.js +37 -10
  544. package/vscode/src/vs/platform/uriIdentity/common/uriIdentityService.js +3 -1
  545. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +12 -3
  546. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +56 -58
  547. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +75 -8
  548. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +6 -5
  549. package/vscode/src/vs/platform/userDataSync/common/userDataSyncStoreService.js +49 -48
  550. package/vscode/src/vs/platform/window/common/window.js +24 -7
  551. package/vscode/src/vs/platform/workspace/common/workspace.js +7 -1
  552. package/vscode/src/vs/platform/workspace/common/workspaceTrust.js +7 -0
  553. package/vscode/src/vs/workbench/api/browser/statusBarService.js +12 -6
  554. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +59 -40
  555. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +27 -27
  556. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +68 -3
  557. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +19 -0
  558. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +6 -6
  559. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +115 -45
  560. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +14 -9
  561. package/vscode/src/vs/workbench/api/common/extHostComments.js +14 -12
  562. package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +10 -9
  563. package/vscode/src/vs/workbench/api/common/extHostCustomEditors.js +13 -8
  564. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +5 -3
  565. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +19 -19
  566. package/vscode/src/vs/workbench/api/common/extHostEmbedding.js +64 -0
  567. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +2 -2
  568. package/vscode/src/vs/workbench/api/common/extHostFileSystem.js +17 -15
  569. package/vscode/src/vs/workbench/api/common/extHostFileSystemConsumer.js +2 -2
  570. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +13 -12
  571. package/vscode/src/vs/workbench/api/common/extHostFileSystemInfo.js +2 -1
  572. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +79 -76
  573. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +121 -87
  574. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +24 -8
  575. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +1 -0
  576. package/vscode/src/vs/workbench/api/common/extHostSCM.js +34 -28
  577. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +38 -2
  578. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -2
  579. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +7 -5
  580. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +8 -6
  581. package/vscode/src/vs/workbench/api/common/extHostTestItem.js +7 -7
  582. package/vscode/src/vs/workbench/api/common/extHostTesting.js +140 -45
  583. package/vscode/src/vs/workbench/api/common/extHostTimeline.js +2 -1
  584. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +259 -278
  585. package/vscode/src/vs/workbench/api/common/extHostTypes.js +83 -22
  586. package/vscode/src/vs/workbench/api/common/extHostWebviewMessaging.js +23 -22
  587. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +2 -1
  588. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +2 -2
  589. package/vscode/src/vs/workbench/api/worker/extHost.worker.services.js +3 -3
  590. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +4 -4
  591. package/vscode/src/vs/workbench/browser/actions/developerActions.js +13 -10
  592. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +95 -100
  593. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +7 -6
  594. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +8 -7
  595. package/vscode/src/vs/workbench/browser/actions/windowActions.js +24 -23
  596. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +17 -16
  597. package/vscode/src/vs/workbench/browser/codeeditor.js +12 -9
  598. package/vscode/src/vs/workbench/browser/labels.js +3 -0
  599. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +11 -8
  600. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +29 -28
  601. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +34 -33
  602. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsModel.js +4 -2
  603. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +37 -33
  604. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution._autosave.js +2 -2
  605. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +2 -0
  606. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +224 -219
  607. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +30 -27
  608. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +204 -161
  609. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +151 -80
  610. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +9 -5
  611. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.js +4 -3
  612. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +3 -3
  613. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -3
  614. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +7 -6
  615. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +28 -22
  616. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +12 -10
  617. package/vscode/src/vs/workbench/browser/parts/editor/editorTitleControl.js +3 -0
  618. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +19 -17
  619. package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +1 -1
  620. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
  621. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +218 -76
  622. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +4 -0
  623. package/vscode/src/vs/workbench/browser/parts/editor/noEditorTabsControl.js +1 -0
  624. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +16 -15
  625. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +10 -11
  626. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -1
  627. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +7 -5
  628. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +12 -10
  629. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +7 -4
  630. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +13 -9
  631. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +3 -2
  632. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +10 -8
  633. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +33 -33
  634. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +8 -6
  635. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +12 -8
  636. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +12 -6
  637. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +1 -1
  638. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +32 -36
  639. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.d.ts +1 -1
  640. package/vscode/src/vs/workbench/browser/parts/titlebar/media/menubarControl.css.js +1 -1
  641. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +22 -16
  642. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +21 -14
  643. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +8 -12
  644. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.d.ts +2 -0
  645. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +13 -6
  646. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +13 -9
  647. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +57 -46
  648. package/vscode/src/vs/workbench/browser/window.js +329 -0
  649. package/vscode/src/vs/workbench/browser/workbench.contribution.js +207 -199
  650. package/vscode/src/vs/workbench/common/configuration.js +94 -20
  651. package/vscode/src/vs/workbench/common/contextkeys.js +50 -40
  652. package/vscode/src/vs/workbench/common/contributions.js +23 -22
  653. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +16 -16
  654. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +125 -63
  655. package/vscode/src/vs/workbench/common/editor/editorInput.js +6 -6
  656. package/vscode/src/vs/workbench/common/editor/editorOptions.js +5 -4
  657. package/vscode/src/vs/workbench/common/editor/filteredEditorGroupModel.js +9 -6
  658. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +13 -12
  659. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +7 -7
  660. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +3 -2
  661. package/vscode/src/vs/workbench/common/editor.d.ts +13 -11
  662. package/vscode/src/vs/workbench/common/editor.js +49 -1
  663. package/vscode/src/vs/workbench/common/memento.js +10 -9
  664. package/vscode/src/vs/workbench/common/notifications.js +32 -11
  665. package/vscode/src/vs/workbench/common/theme.js +167 -137
  666. package/vscode/src/vs/workbench/common/views.js +5 -6
  667. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +477 -378
  668. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +87 -49
  669. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +19 -29
  670. package/vscode/src/vs/workbench/contrib/accessibility/common/accessibilityCommands.js +15 -0
  671. package/vscode/src/vs/workbench/contrib/callHierarchy/common/callHierarchy.js +6 -1
  672. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +74 -48
  673. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +10 -8
  674. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +5 -3
  675. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +3 -2
  676. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +50 -43
  677. package/vscode/src/vs/workbench/contrib/chat/browser/chatConfirmationWidget.js +47 -0
  678. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +2 -1
  679. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +8 -21
  680. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +101 -47
  681. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +276 -140
  682. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +120 -29
  683. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +65 -0
  684. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +51 -34
  685. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  686. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +55 -34
  687. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +20 -18
  688. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  689. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +1 -1
  690. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatConfirmationWidget.css.js +4 -0
  691. package/vscode/src/vs/workbench/contrib/chat/common/annotations.js +7 -7
  692. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +79 -23
  693. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +2 -1
  694. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +189 -103
  695. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +9 -10
  696. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +21 -5
  697. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -6
  698. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +19 -12
  699. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +8 -15
  700. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +11 -2
  701. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +170 -0
  702. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +2 -1
  703. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +2 -2
  704. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +20 -12
  705. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +77 -0
  706. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +9 -89
  707. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +2 -2
  708. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorLineNumberMenu.js +7 -5
  709. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +4 -7
  710. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +2 -2
  711. package/vscode/src/vs/workbench/contrib/codeEditor/browser/menuPreventer.js +5 -4
  712. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +10 -6
  713. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -12
  714. package/vscode/src/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.js +2 -1
  715. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +5 -3
  716. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +2 -1
  717. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +17 -14
  718. package/vscode/src/vs/workbench/contrib/codeEditor/browser/workbenchReferenceSearch.js +2 -2
  719. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +2 -1
  720. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +2 -1
  721. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +14 -12
  722. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +23 -15
  723. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +2 -1
  724. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -2
  725. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -1
  726. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +12 -10
  727. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +11 -14
  728. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +49 -76
  729. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +50 -40
  730. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +15 -8
  731. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +4 -2
  732. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +8 -6
  733. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +9 -8
  734. package/vscode/src/vs/workbench/contrib/comments/common/commentCommandIds.js +15 -0
  735. package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +2 -1
  736. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +14 -14
  737. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +3 -2
  738. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +19 -17
  739. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +33 -32
  740. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +25 -20
  741. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +4 -3
  742. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +62 -60
  743. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +40 -4
  744. package/vscode/src/vs/workbench/contrib/debug/common/debug.service.d.ts +2 -2
  745. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +4 -1
  746. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +15 -16
  747. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +2 -1
  748. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +118 -109
  749. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  750. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +24 -1
  751. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -1
  752. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +4 -2
  753. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +3 -2
  754. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +23 -16
  755. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +12 -9
  756. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +3 -2
  757. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +14 -12
  758. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +10 -2
  759. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +9 -7
  760. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +12 -9
  761. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +23 -22
  762. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +13 -11
  763. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +25 -25
  764. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +7 -7
  765. package/vscode/src/vs/workbench/contrib/files/browser/files.js +8 -1
  766. package/vscode/src/vs/workbench/contrib/files/browser/media/explorerviewlet.css.js +1 -1
  767. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +2 -2
  768. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +16 -10
  769. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +55 -111
  770. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +42 -35
  771. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +2 -1
  772. package/vscode/src/vs/workbench/contrib/files/common/explorerFileNestingTrie.js +15 -8
  773. package/vscode/src/vs/workbench/contrib/files/common/explorerModel.js +5 -3
  774. package/vscode/src/vs/workbench/contrib/files/common/files.js +25 -2
  775. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +2 -1
  776. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +8 -6
  777. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +7 -4
  778. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +2 -2
  779. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +6 -4
  780. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +82 -137
  781. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +11 -8
  782. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +292 -328
  783. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +69 -67
  784. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +79 -417
  785. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +50 -61
  786. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +32 -124
  787. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +41 -20
  788. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  789. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +5 -1
  790. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +59 -53
  791. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +5 -4
  792. package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +2 -2
  793. package/vscode/src/vs/workbench/contrib/markers/common/markers.js +7 -2
  794. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +3 -3
  795. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +15 -13
  796. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +1 -1
  797. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +3 -2
  798. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +26 -20
  799. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +13 -8
  800. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +22 -10
  801. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +5 -11
  802. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +4 -3
  803. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -57
  804. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +25 -1
  805. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +7 -6
  806. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +103 -23
  807. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +6 -5
  808. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +16 -15
  809. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +2 -2
  810. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +137 -261
  811. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +26 -8
  812. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +25 -23
  813. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +23 -21
  814. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css.js +1 -1
  815. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +4 -2
  816. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +21 -1
  817. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +16 -11
  818. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +36 -18
  819. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +24 -13
  820. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +1 -1
  821. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +8 -7
  822. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +3 -3
  823. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDragRenderer.js +5 -3
  824. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellFocusIndicator.js +1 -1
  825. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +17 -10
  826. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +14 -9
  827. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +3 -2
  828. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellWidgets.js +7 -0
  829. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +11 -1
  830. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +2 -1
  831. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +15 -5
  832. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +7 -4
  833. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +36 -25
  834. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +14 -3
  835. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +20 -10
  836. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +2 -1
  837. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +2 -1
  838. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +7 -10
  839. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +3 -2
  840. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +2 -2
  841. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +19 -9
  842. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +5 -3
  843. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +5 -4
  844. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +15 -11
  845. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +2 -2
  846. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +4 -3
  847. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +35 -2
  848. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +14 -12
  849. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +41 -15
  850. package/vscode/src/vs/workbench/contrib/outline/browser/outline.js +8 -2
  851. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +5 -3
  852. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +29 -23
  853. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +1 -1
  854. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +31 -24
  855. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +11 -8
  856. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +29 -27
  857. package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +2 -2
  858. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +27 -45
  859. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +13 -1
  860. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +785 -0
  861. package/vscode/src/vs/workbench/contrib/search/browser/media/anythingQuickAccess.css.js +4 -0
  862. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +2 -2
  863. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +23 -22
  864. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +36 -32
  865. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +222 -0
  866. package/vscode/src/vs/workbench/contrib/search/common/cacheState.js +85 -0
  867. package/vscode/src/vs/workbench/contrib/search/common/cellSearchModel.js +3 -2
  868. package/vscode/src/vs/workbench/contrib/search/common/constants.js +49 -1
  869. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +6 -5
  870. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +8 -2
  871. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +16 -13
  872. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +11 -11
  873. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +47 -30
  874. package/vscode/src/vs/workbench/contrib/tags/browser/workspaceTagsService.js +1 -0
  875. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +80 -11
  876. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +5 -3
  877. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.js +27 -1
  878. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +8 -5
  879. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +721 -0
  880. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +9 -8
  881. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +0 -9
  882. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -5
  883. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +166 -71
  884. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +92 -144
  885. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +41 -0
  886. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminal.accessibility.js +12 -0
  887. package/vscode/src/vs/workbench/contrib/terminalContrib/find/common/terminal.find.js +22 -0
  888. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminal.suggest.js +18 -0
  889. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +103 -0
  890. package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +4 -3
  891. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +79 -22
  892. package/vscode/src/vs/workbench/contrib/testing/common/testId.js +46 -18
  893. package/vscode/src/vs/workbench/contrib/testing/common/testItemCollection.js +51 -41
  894. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +33 -19
  895. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +108 -38
  896. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +19 -18
  897. package/vscode/src/vs/workbench/contrib/timeline/common/timeline.js +1 -2
  898. package/vscode/src/vs/workbench/contrib/typeHierarchy/common/typeHierarchy.js +6 -1
  899. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainService.js +77 -0
  900. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainService.service.js +3 -0
  901. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +119 -0
  902. package/vscode/src/vs/workbench/contrib/webview/browser/webview.js +9 -2
  903. package/vscode/src/vs/workbench/contrib/webview/common/webview.js +4 -3
  904. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +3 -2
  905. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +2 -1
  906. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +2 -1
  907. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.js +22 -10
  908. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +25 -9
  909. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +370 -0
  910. package/vscode/src/vs/workbench/services/configuration/common/configuration.js +8 -7
  911. package/vscode/src/vs/workbench/services/driver/browser/driver.js +187 -0
  912. package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.js +3 -1
  913. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +42 -29
  914. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +1 -0
  915. package/vscode/src/vs/workbench/services/editor/common/editorGroupColumn.js +5 -5
  916. package/vscode/src/vs/workbench/services/editor/common/editorGroupFinder.js +5 -5
  917. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +36 -1
  918. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
  919. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +11 -2
  920. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +6 -1
  921. package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +3 -0
  922. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +1 -0
  923. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +20 -1
  924. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -0
  925. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.js +11 -0
  926. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +4 -7
  927. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +8 -2
  928. package/vscode/src/vs/workbench/services/extensions/common/extensionHostKind.js +16 -10
  929. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.js +18 -7
  930. package/vscode/src/vs/workbench/services/extensions/common/extensionManifestPropertiesService.js +1 -0
  931. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocation.js +4 -3
  932. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +17 -6
  933. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +4 -4
  934. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.d.ts +2 -1
  935. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +5 -0
  936. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +103 -64
  937. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +31 -15
  938. package/vscode/src/vs/workbench/services/{views/browser/treeViewsService.service.js → integrity/common/integrity.service.js} +2 -2
  939. package/vscode/src/vs/workbench/services/language/common/languageService.js +2 -1
  940. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +71 -24
  941. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.js +28 -8
  942. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +11 -11
  943. package/vscode/src/vs/workbench/services/notebook/common/notebookDocumentService.js +1 -0
  944. package/vscode/src/vs/workbench/services/outline/browser/outline.js +22 -0
  945. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +10 -9
  946. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +19 -17
  947. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +4 -2
  948. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +16 -16
  949. package/vscode/src/vs/workbench/services/search/common/fileSearchManager.js +3 -2
  950. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +9 -9
  951. package/vscode/src/vs/workbench/services/search/common/replace.js +12 -11
  952. package/vscode/src/vs/workbench/services/search/common/search.js +32 -1
  953. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +6 -6
  954. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.js +6 -1
  955. package/vscode/src/vs/workbench/services/storage/browser/storageService.js +13 -13
  956. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +6 -2
  957. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -0
  958. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +28 -27
  959. package/vscode/src/vs/workbench/services/textfile/common/textfiles.js +27 -3
  960. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +2 -2
  961. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +2 -2
  962. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.js +43 -1
  963. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +2 -2
  964. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +2 -2
  965. package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +12 -11
  966. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +19 -13
  967. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +29 -25
  968. package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopy.js +6 -0
  969. package/vscode/src/vs/workbench/services/workingCopy/common/resourceWorkingCopy.js +3 -2
  970. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +52 -32
  971. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopy.js +7 -1
  972. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +17 -14
  973. package/vscode-dts/vscode.proposed.attributableCoverage.d.ts +28 -0
  974. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +90 -97
  975. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +76 -0
  976. package/vscode-dts/vscode.proposed.chatProvider.d.ts +24 -7
  977. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +82 -2
  978. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +0 -5
  979. package/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts +2 -2
  980. package/vscode-dts/vscode.proposed.embeddings.d.ts +33 -0
  981. package/vscode-dts/vscode.proposed.interactive.d.ts +2 -110
  982. package/vscode-dts/vscode.proposed.languageModelSystem.d.ts +17 -0
  983. package/vscode-dts/vscode.proposed.resolvers.d.ts +2 -1
  984. package/vscode-dts/vscode.proposed.speech.d.ts +26 -6
  985. package/vscode-dts/vscode.proposed.testObserver.d.ts +9 -0
  986. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +0 -194
  987. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +0 -876
  988. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewContributions.js +0 -407
  989. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +0 -196
  990. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.service.js +0 -3
  991. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellCommands/cellCommands.js +0 -595
  992. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/cellDiagnostics.js +0 -102
  993. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +0 -458
  994. package/vscode-dts/vscode.proposed.debugFocus.d.ts +0 -66
  995. package/vscode-dts/vscode.proposed.languageModels.d.ts +0 -291
  996. package/vscode-dts/vscode.proposed.testPreserveFocus.d.ts +0 -28
  997. /package/vscode/src/vs/workbench/{services → contrib}/issue/browser/issueTroubleshoot.service.js +0 -0
  998. /package/vscode/src/vs/workbench/{services → contrib}/issue/common/issue.service.js +0 -0
@@ -1,33 +1,35 @@
1
1
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import { append, clearNode, WindowIntervalTimer, getWindow, $ as $$1, show, hide, scheduleAtNextAnimationFrame } from '../../../../base/browser/dom.js';
2
+ import { append, addDisposableListener, clearNode, WindowIntervalTimer, getWindow, reset, $ as $$1, scheduleAtNextAnimationFrame, hide, show, EventType } from '../../../../base/browser/dom.js';
3
+ import { renderFormattedText } from '../../../../base/browser/formattedTextRenderer.js';
4
+ import { StandardKeyboardEvent } from '../../../../base/browser/keyboardEvent.js';
3
5
  import { alert } from '../../../../base/browser/ui/aria/aria.js';
4
6
  import { Button } from '../../../../base/browser/ui/button/button.js';
5
7
  import { getDefaultHoverDelegate } from '../../../../base/browser/ui/hover/hoverDelegateFactory.js';
6
8
  import { renderIcon } from '../../../../base/browser/ui/iconLabel/iconLabels.js';
7
9
  import { distinct } from '../../../../base/common/arrays.js';
8
- import { disposableTimeout } from '../../../../base/common/async.js';
9
10
  import { CancellationTokenSource } from '../../../../base/common/cancellation.js';
10
11
  import { Codicon } from '../../../../base/common/codicons.js';
11
12
  import { Emitter, Event } from '../../../../base/common/event.js';
12
13
  import { MarkdownString } from '../../../../base/common/htmlContent.js';
14
+ import { KeyCode } from '../../../../base/common/keyCodes.js';
13
15
  import { Disposable, DisposableStore, toDisposable } from '../../../../base/common/lifecycle.js';
14
16
  import { ResourceMap } from '../../../../base/common/map.js';
15
17
  import { FileAccess, Schemas, matchesSomeScheme } from '../../../../base/common/network.js';
16
18
  import { clamp } from '../../../../base/common/numbers.js';
17
19
  import '../../../../base/common/observableInternal/derived.js';
18
20
  import { autorun } from '../../../../base/common/observableInternal/autorun.js';
19
- import { constObservable } from '../../../../base/common/observableInternal/utils.js';
21
+ import '../../../../base/common/observableInternal/utils.js';
20
22
  import { basename } from '../../../../base/common/path.js';
21
- import { basenameOrAuthority } from '../../../../base/common/resources.js';
23
+ import { isEqual, basenameOrAuthority } from '../../../../base/common/resources.js';
22
24
  import { equalsIgnoreCase } from '../../../../base/common/strings.js';
23
25
  import { ThemeIcon } from '../../../../base/common/themables.js';
24
- import { isUndefined } from '../../../../base/common/types.js';
25
26
  import { URI } from '../../../../base/common/uri.js';
26
- import { MarkdownRenderer } from '../../../../editor/browser/widget/markdownRenderer/browser/markdownRenderer.js';
27
+ import { generateUuid } from '../../../../base/common/uuid.js';
27
28
  import { Range } from '../../../../editor/common/core/range.js';
28
29
  import { TextEdit } from '../../../../editor/common/languages.js';
29
30
  import { createTextBufferFactoryFromSnapshot } from '../../../../editor/common/model/textModel.js';
30
31
  import { IModelService } from '../../../../editor/common/services/model.js';
32
+ import { DefaultModelSHA1Computer } from '../../../../editor/common/services/modelService.js';
31
33
  import { ITextModelService } from '../../../../editor/common/services/resolverService.js';
32
34
  import { localizeWithPath } from '../../../../nls.js';
33
35
  import { createActionViewItem, MenuEntryActionViewItem } from '../../../../platform/actions/browser/menuEntryActionViewItem.js';
@@ -48,28 +50,28 @@ import { ColorScheme } from '../../../../platform/theme/common/theme.js';
48
50
  import { IThemeService } from '../../../../platform/theme/common/themeService.service.js';
49
51
  import { ResourceLabels } from '../../../browser/labels.js';
50
52
  import { GeneratingPhrase } from './chat.js';
51
- import { ChatAgentHover } from './chatAgentHover.js';
53
+ import { ChatAgentHover, getChatAgentHoverOptions } from './chatAgentHover.js';
54
+ import { ChatConfirmationWidget } from './chatConfirmationWidget.js';
52
55
  import { ChatFollowups } from './chatFollowups.js';
53
56
  import { ChatMarkdownDecorationsRenderer } from './chatMarkdownDecorationsRenderer.js';
54
57
  import { ChatCodeBlockContentProvider, parseLocalFileData, CodeBlockPart, CodeCompareBlockPart, localFileLanguageId } from './codeBlockPart.js';
55
- import { IChatAgentNameService } from '../common/chatAgents.service.js';
56
58
  import { CONTEXT_RESPONSE, CONTEXT_REQUEST, CONTEXT_RESPONSE_DETECTED_AGENT_COMMAND, CONTEXT_CHAT_RESPONSE_SUPPORT_ISSUE_REPORTING, CONTEXT_RESPONSE_VOTE, CONTEXT_RESPONSE_FILTERED } from '../common/chatContextKeys.js';
57
- import { chatAgentLeader, chatSubcommandLeader } from '../common/chatParserTypes.js';
58
- import { InteractiveSessionVoteDirection } from '../common/chatService.js';
59
+ import { chatSubcommandLeader } from '../common/chatParserTypes.js';
60
+ import { ChatAgentVoteDirection } from '../common/chatService.js';
61
+ import { IChatService } from '../common/chatService.service.js';
59
62
  import { IChatVariablesService } from '../common/chatVariables.service.js';
60
63
  import { isResponseVM, isRequestVM, isWelcomeVM } from '../common/chatViewModel.js';
61
64
  import { getNWords } from '../common/chatWordCounter.js';
62
65
  import { createFileIconThemableTreeContainerScope } from '../../files/browser/views/explorerView.js';
63
66
  import { annotateSpecialMarkdownContent } from '../common/annotations.js';
64
- import { DefaultModelSHA1Computer } from '../../../../editor/common/services/modelService.js';
65
- import { generateUuid } from '../../../../base/common/uuid.js';
67
+ import { ChatMarkdownRenderer } from './chatMarkdownRenderer.js';
66
68
  var ChatListItemRenderer_1, ContentReferencesListRenderer_1;
67
69
  const _moduleId = "vs/workbench/contrib/chat/browser/chatListRenderer";
68
70
  const $ = $$1;
69
71
  let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
70
72
  static { ChatListItemRenderer_1 = this; }
71
73
  static { this.ID = 'item'; }
72
- constructor(editorOptions, location, rendererOptions, delegate, codeBlockModelCollection, overflowWidgetsDomNode, instantiationService, configService, logService, openerService, contextKeyService, themeService, commandService, textModelService, modelService, hoverService, chatAgentNameService) {
74
+ constructor(editorOptions, location, rendererOptions, delegate, codeBlockModelCollection, overflowWidgetsDomNode, instantiationService, configService, logService, openerService, contextKeyService, themeService, commandService, textModelService, modelService, hoverService, chatService) {
73
75
  super();
74
76
  this.location = location;
75
77
  this.rendererOptions = rendererOptions;
@@ -84,20 +86,22 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
84
86
  this.textModelService = textModelService;
85
87
  this.modelService = modelService;
86
88
  this.hoverService = hoverService;
87
- this.chatAgentNameService = chatAgentNameService;
89
+ this.chatService = chatService;
88
90
  this.codeBlocksByResponseId = ( (new Map()));
89
91
  this.codeBlocksByEditorUri = ( (new ResourceMap()));
90
92
  this.fileTreesByResponseId = ( (new Map()));
91
93
  this.focusedFileTreesByResponseId = ( (new Map()));
92
94
  this._onDidClickFollowup = this._register(( (new Emitter())));
93
95
  this.onDidClickFollowup = this._onDidClickFollowup.event;
96
+ this._onDidClickRerunWithAgentOrCommandDetection = ( (new Emitter()));
97
+ this.onDidClickRerunWithAgentOrCommandDetection = this._onDidClickRerunWithAgentOrCommandDetection.event;
94
98
  this._onDidChangeItemHeight = this._register(( (new Emitter())));
95
99
  this.onDidChangeItemHeight = this._onDidChangeItemHeight.event;
96
100
  this._currentLayoutWidth = 0;
97
101
  this._isVisible = true;
98
102
  this._onDidChangeVisibility = this._register(( (new Emitter())));
99
103
  this._usedReferencesEnabled = false;
100
- this.renderer = this._register(this.instantiationService.createInstance(MarkdownRenderer, {}));
104
+ this.renderer = this._register(this.instantiationService.createInstance(ChatMarkdownRenderer, undefined));
101
105
  this.markdownDecorationsRenderer = this.instantiationService.createInstance(ChatMarkdownDecorationsRenderer);
102
106
  this._editorPool = this._register(this.instantiationService.createInstance(EditorPool, editorOptions, delegate, overflowWidgetsDomNode));
103
107
  this._diffEditorPool = this._register(this.instantiationService.createInstance(DiffEditorPool, editorOptions, delegate, overflowWidgetsDomNode));
@@ -178,8 +182,9 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
178
182
  }
179
183
  const header = append(rowContainer, $('.header'));
180
184
  const user = append(header, $('.user'));
185
+ user.tabIndex = 0;
186
+ user.role = 'toolbar';
181
187
  const avatarContainer = append(user, $('.avatar-container'));
182
- const agentAvatarContainer = append(user, $('.agent-avatar-container'));
183
188
  const username = append(user, $('h3.username'));
184
189
  const detailContainer = append(user, $('span.detail-container'));
185
190
  const detail = append(detailContainer, $('span.detail'));
@@ -210,14 +215,28 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
210
215
  }));
211
216
  }
212
217
  const agentHover = templateDisposables.add(this.instantiationService.createInstance(ChatAgentHover));
213
- templateDisposables.add(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('mouse'), header, () => {
218
+ const hoverContent = () => {
214
219
  if (isResponseVM(template.currentElement) && template.currentElement.agent) {
215
220
  agentHover.setAgent(template.currentElement.agent.id);
216
221
  return agentHover.domNode;
217
222
  }
218
223
  return undefined;
224
+ };
225
+ const hoverOptions = getChatAgentHoverOptions(() => isResponseVM(template.currentElement) ? template.currentElement.agent : undefined, this.commandService);
226
+ templateDisposables.add(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('element'), user, hoverContent, hoverOptions));
227
+ templateDisposables.add(addDisposableListener(user, EventType.KEY_DOWN, e => {
228
+ const ev = ( (new StandardKeyboardEvent(e)));
229
+ if (ev.equals(KeyCode.Space) || ev.equals(KeyCode.Enter)) {
230
+ const content = hoverContent();
231
+ if (content) {
232
+ this.hoverService.showHover({ content, target: user, trapFocus: true, actions: hoverOptions.actions }, true);
233
+ }
234
+ }
235
+ else if (ev.equals(KeyCode.Escape)) {
236
+ this.hoverService.hideHover();
237
+ }
219
238
  }));
220
- const template = { avatarContainer, agentAvatarContainer, username, detail, referencesListContainer, value, rowContainer, elementDisposables, titleToolbar, templateDisposables, contextKeyService, agentHover };
239
+ const template = { avatarContainer, username, detail, referencesListContainer, value, rowContainer, elementDisposables, titleToolbar, templateDisposables, contextKeyService, agentHover };
221
240
  return template;
222
241
  }
223
242
  renderElement(node, index, templateData) {
@@ -234,7 +253,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
234
253
  CONTEXT_RESPONSE_DETECTED_AGENT_COMMAND.bindTo(templateData.contextKeyService).set(isResponseVM(element) && element.agentOrSlashCommandDetected);
235
254
  if (isResponseVM(element)) {
236
255
  CONTEXT_CHAT_RESPONSE_SUPPORT_ISSUE_REPORTING.bindTo(templateData.contextKeyService).set(!!element.agent?.metadata.supportIssueReporting);
237
- CONTEXT_RESPONSE_VOTE.bindTo(templateData.contextKeyService).set(element.vote === InteractiveSessionVoteDirection.Up ? 'up' : element.vote === InteractiveSessionVoteDirection.Down ? 'down' : '');
256
+ CONTEXT_RESPONSE_VOTE.bindTo(templateData.contextKeyService).set(element.vote === ChatAgentVoteDirection.Up ? 'up' : element.vote === ChatAgentVoteDirection.Down ? 'down' : '');
238
257
  }
239
258
  else {
240
259
  CONTEXT_RESPONSE_VOTE.bindTo(templateData.contextKeyService).set('');
@@ -290,103 +309,62 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
290
309
  }
291
310
  }
292
311
  renderDetail(element, templateData) {
293
- let agentName = constObservable(undefined);
294
- if (element.agent && !element.agent.isDefault) {
295
- const name = element.agent.name;
296
- agentName = ( (this.chatAgentNameService.getAgentNameRestriction(element.agent)
297
- .map(allowed => allowed ? name : name)));
298
- }
299
312
  templateData.elementDisposables.add(autorun(reader => {
300
- this._renderDetail(element, agentName.read(reader), templateData);
313
+ this._renderDetail(element, templateData);
301
314
  }));
302
315
  }
303
- _renderDetail(element, agentName, templateData) {
304
- let progressMsg = '';
305
- if (!isUndefined(agentName)) {
306
- let usingMsg = chatAgentLeader + agentName;
307
- if (element.slashCommand) {
308
- usingMsg += ` ${chatSubcommandLeader}${element.slashCommand.name}`;
309
- }
316
+ _renderDetail(element, templateData) {
317
+ clearNode(templateData.detail);
318
+ if (element.slashCommand && element.agentOrSlashCommandDetected) {
319
+ let msg = '';
320
+ const usingMsg = `${chatSubcommandLeader}${element.slashCommand.name}`;
310
321
  if (element.isComplete) {
311
- progressMsg = ( localizeWithPath(_moduleId, 0, "used {0}", usingMsg));
322
+ msg = ( localizeWithPath(_moduleId, 0, "used {0} [[(rerun without)]]", usingMsg));
312
323
  }
313
324
  else {
314
- progressMsg = ( localizeWithPath(_moduleId, 1, "using {0}", usingMsg));
325
+ msg = ( localizeWithPath(_moduleId, 1, "using {0}", usingMsg));
315
326
  }
316
- }
317
- else if (element.agentOrSlashCommandDetected) {
318
- const usingMsg = [];
319
- if (!isUndefined(agentName)) {
320
- usingMsg.push(chatAgentLeader + agentName);
321
- }
322
- if (element.slashCommand) {
323
- usingMsg.push(chatSubcommandLeader + element.slashCommand.name);
324
- }
325
- if (usingMsg.length) {
326
- if (element.isComplete) {
327
- progressMsg = ( localizeWithPath(_moduleId, 0, "used {0}", usingMsg.join(' ')));
327
+ reset(templateData.detail, renderFormattedText(msg, {
328
+ className: 'agentOrSlashCommandDetected',
329
+ inline: true,
330
+ actionHandler: {
331
+ disposables: templateData.elementDisposables,
332
+ callback: (content) => {
333
+ this._onDidClickRerunWithAgentOrCommandDetection.fire(element);
334
+ },
328
335
  }
329
- else {
330
- progressMsg = ( localizeWithPath(_moduleId, 1, "using {0}", usingMsg.join(' ')));
331
- }
332
- }
336
+ }));
333
337
  }
334
338
  else if (!element.isComplete) {
335
- progressMsg = GeneratingPhrase;
339
+ templateData.detail.textContent = GeneratingPhrase;
336
340
  }
337
- templateData.detail.textContent = progressMsg;
338
341
  }
339
342
  renderAvatar(element, templateData) {
340
- if (URI.isUri(element.avatarIcon)) {
341
- const avatarImgIcon = $$1('img.icon');
342
- avatarImgIcon.src = ( (FileAccess.uriToBrowserUri(element.avatarIcon).toString(true)));
343
- templateData.avatarContainer.replaceChildren($$1('.avatar', undefined, avatarImgIcon));
343
+ const icon = isResponseVM(element) ?
344
+ this.getAgentIcon(element.agent?.metadata) :
345
+ (element.avatarIcon ?? Codicon.account);
346
+ if (icon instanceof URI) {
347
+ const avatarIcon = $$1('img.icon');
348
+ avatarIcon.src = ( (FileAccess.uriToBrowserUri(icon).toString(true)));
349
+ templateData.avatarContainer.replaceChildren($$1('.avatar', undefined, avatarIcon));
344
350
  }
345
351
  else {
346
- const defaultIcon = isRequestVM(element) ? Codicon.account : Codicon.copilot;
347
- const icon = element.avatarIcon ?? defaultIcon;
348
352
  const avatarIcon = $$1(ThemeIcon.asCSSSelector(icon));
349
353
  templateData.avatarContainer.replaceChildren($$1('.avatar.codicon-avatar', undefined, avatarIcon));
350
354
  }
351
- if (isResponseVM(element) && element.agent && !element.agent.isDefault) {
352
- show(templateData.agentAvatarContainer);
353
- const icon = this.getAgentIcon(element.agent.metadata);
354
- if (icon instanceof URI) {
355
- const avatarIcon = $$1('img.icon');
356
- avatarIcon.src = ( (FileAccess.uriToBrowserUri(icon).toString(true)));
357
- templateData.agentAvatarContainer.replaceChildren($$1('.avatar', undefined, avatarIcon));
358
- }
359
- else if (icon) {
360
- const avatarIcon = $$1(ThemeIcon.asCSSSelector(icon));
361
- templateData.agentAvatarContainer.replaceChildren($$1('.avatar.codicon-avatar', undefined, avatarIcon));
362
- }
363
- else {
364
- hide(templateData.agentAvatarContainer);
365
- return;
366
- }
367
- templateData.agentAvatarContainer.classList.toggle('complete', element.isComplete);
368
- if (!element.agentAvatarHasBeenRendered && !element.isComplete) {
369
- element.agentAvatarHasBeenRendered = true;
370
- templateData.agentAvatarContainer.classList.remove('loading');
371
- templateData.elementDisposables.add(disposableTimeout(() => {
372
- templateData.agentAvatarContainer.classList.toggle('loading', !element.isComplete);
373
- }, 100));
374
- }
375
- else {
376
- templateData.agentAvatarContainer.classList.toggle('loading', !element.isComplete);
377
- }
378
- }
379
- else {
380
- hide(templateData.agentAvatarContainer);
381
- }
382
355
  }
383
356
  getAgentIcon(agent) {
384
- if (agent.themeIcon) {
357
+ if (agent?.themeIcon) {
385
358
  return agent.themeIcon;
386
359
  }
360
+ else if (agent?.iconDark && this.themeService.getColorTheme().type === ColorScheme.DARK) {
361
+ return agent.iconDark;
362
+ }
363
+ else if (agent?.icon) {
364
+ return agent.icon;
365
+ }
387
366
  else {
388
- return this.themeService.getColorTheme().type === ColorScheme.DARK && agent.iconDark ? agent.iconDark :
389
- agent.icon;
367
+ return Codicon.copilot;
390
368
  }
391
369
  }
392
370
  basicRenderElement(value, element, index, templateData) {
@@ -398,36 +376,51 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
398
376
  }
399
377
  this.renderContentReferencesIfNeeded(element, templateData, templateData.elementDisposables);
400
378
  let fileTreeIndex = 0;
379
+ let codeBlockIndex = 0;
401
380
  value.forEach((data, index) => {
402
381
  const result = data.kind === 'treeData'
403
382
  ? this.renderTreeData(data.treeData, element, templateData, fileTreeIndex++)
404
383
  : data.kind === 'markdownContent'
405
- ? this.renderMarkdown(data.content, element, templateData, fillInIncompleteTokens)
384
+ ? this.renderMarkdown(data.content, element, templateData, fillInIncompleteTokens, codeBlockIndex)
406
385
  : data.kind === 'progressMessage' && onlyProgressMessagesAfterI(value, index) ? this.renderProgressMessage(data, false)
407
- : data.kind === 'command' ? this.renderCommandButton(element, data)
408
- : data.kind === 'textEditGroup' ? this.renderTextEdit(element, data, templateData)
409
- : undefined;
386
+ : data.kind === 'progressTask' ? this.renderProgressTask(data, false, element, templateData)
387
+ : data.kind === 'command' ? this.renderCommandButton(element, data)
388
+ : data.kind === 'textEditGroup' ? this.renderTextEdit(element, data, templateData)
389
+ : data.kind === 'warning' ? this.renderNotification('warning', data.content)
390
+ : data.kind === 'confirmation' ? this.renderConfirmation(element, data, templateData)
391
+ : undefined;
410
392
  if (result) {
411
393
  templateData.value.appendChild(result.element);
412
394
  templateData.elementDisposables.add(result);
395
+ if ('codeBlockCount' in result) {
396
+ codeBlockIndex += result.codeBlockCount;
397
+ }
413
398
  }
414
399
  });
415
400
  if (isResponseVM(element) && element.errorDetails?.message) {
416
- const icon = element.errorDetails.responseIsFiltered ? Codicon.info : Codicon.error;
417
- const errorDetails = append(templateData.value, $('.interactive-response-error-details', undefined, renderIcon(icon)));
418
- const renderedError = templateData.elementDisposables.add(this.renderer.render(( (new MarkdownString(element.errorDetails.message)))));
419
- errorDetails.appendChild($('span', undefined, renderedError.element));
401
+ const renderedError = this.renderNotification(element.errorDetails.responseIsFiltered ? 'info' : 'error', ( (new MarkdownString(element.errorDetails.message))));
402
+ templateData.elementDisposables.add(renderedError);
403
+ templateData.value.appendChild(renderedError.element);
420
404
  }
421
405
  const newHeight = templateData.rowContainer.offsetHeight;
422
406
  const fireEvent = !element.currentRenderedHeight || element.currentRenderedHeight !== newHeight;
423
407
  element.currentRenderedHeight = newHeight;
424
408
  if (fireEvent) {
425
409
  const disposable = templateData.elementDisposables.add(scheduleAtNextAnimationFrame(getWindow(templateData.value), () => {
410
+ element.currentRenderedHeight = templateData.rowContainer.offsetHeight;
426
411
  disposable.dispose();
427
- this._onDidChangeItemHeight.fire({ element, height: newHeight });
412
+ this._onDidChangeItemHeight.fire({ element, height: element.currentRenderedHeight });
428
413
  }));
429
414
  }
430
415
  }
416
+ updateItemHeight(templateData) {
417
+ if (!templateData.currentElement) {
418
+ return;
419
+ }
420
+ const newHeight = templateData.rowContainer.offsetHeight;
421
+ templateData.currentElement.currentRenderedHeight = newHeight;
422
+ this._onDidChangeItemHeight.fire({ element: templateData.currentElement, height: newHeight });
423
+ }
431
424
  renderWelcomeMessage(element, templateData) {
432
425
  clearNode(templateData.value);
433
426
  clearNode(templateData.referencesListContainer);
@@ -448,8 +441,9 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
448
441
  element.currentRenderedHeight = newHeight;
449
442
  if (fireEvent) {
450
443
  const disposable = templateData.elementDisposables.add(scheduleAtNextAnimationFrame(getWindow(templateData.value), () => {
444
+ element.currentRenderedHeight = templateData.rowContainer.offsetHeight;
451
445
  disposable.dispose();
452
- this._onDidChangeItemHeight.fire({ element, height: newHeight });
446
+ this._onDidChangeItemHeight.fire({ element, height: element.currentRenderedHeight });
453
447
  }));
454
448
  }
455
449
  }
@@ -484,11 +478,18 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
484
478
  isLast: index === renderableResponse.length - 1,
485
479
  };
486
480
  }
487
- else if (part.kind === 'command') {
481
+ else if (part.kind === 'command' ||
482
+ part.kind === 'textEditGroup' ||
483
+ part.kind === 'confirmation' ||
484
+ part.kind === 'warning') {
488
485
  partsToRender[index] = part;
489
486
  }
490
- else if (part.kind === 'textEditGroup') {
491
- partsToRender[index] = part;
487
+ else if (part.kind === 'progressTask') {
488
+ partsToRender[index] = {
489
+ task: part,
490
+ isSettled: part.isSettled?.() ?? true,
491
+ progressLength: part.progress.length,
492
+ };
492
493
  }
493
494
  else {
494
495
  const wordCountResult = this.getDataForProgressiveRender(element, contentToMarkdown(part.content), { renderedWordCount: 0, lastRenderTime: 0 });
@@ -528,8 +529,14 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
528
529
  isLast: index === renderableResponse.length - 1,
529
530
  };
530
531
  }
532
+ else if (part.kind === 'progressTask' && isProgressTaskRenderData(renderedPart)) {
533
+ const isSettled = part.isSettled?.() ?? true;
534
+ if (renderedPart.isSettled !== isSettled || part.progress.length !== renderedPart.progressLength || isSettled) {
535
+ partsToRender[index] = { task: part, isSettled, progressLength: part.progress.length };
536
+ }
537
+ }
531
538
  });
532
- isFullyRendered = partsToRender.length === 0 && !somePartIsNotFullyRendered;
539
+ isFullyRendered = partsToRender.filter((p) => !('isSettled' in p) || !p.isSettled).length === 0 && !somePartIsNotFullyRendered;
533
540
  if (isFullyRendered && element.isComplete) {
534
541
  this.traceLayout('runProgressiveRender', `end progressive render, index=${index} and clearing renderData, response is complete, index=${index}`);
535
542
  element.renderData = undefined;
@@ -556,12 +563,21 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
556
563
  result = null;
557
564
  }
558
565
  }
566
+ else if (isProgressTaskRenderData(partToRender)) {
567
+ result = this.renderProgressTask(partToRender.task, !partToRender.isSettled, element, templateData);
568
+ }
559
569
  else if (isCommandButtonRenderData(partToRender)) {
560
570
  result = this.renderCommandButton(element, partToRender);
561
571
  }
562
572
  else if (isTextEditRenderData(partToRender)) {
563
573
  result = this.renderTextEdit(element, partToRender, templateData);
564
574
  }
575
+ else if (isConfirmationRenderData(partToRender)) {
576
+ result = this.renderConfirmation(element, partToRender, templateData);
577
+ }
578
+ else if (isWarningRenderData(partToRender)) {
579
+ result = this.renderNotification('warning', partToRender.content);
580
+ }
565
581
  else if (!hasRenderedOneMarkdownBlock && wordCountResults[index]) {
566
582
  const { value } = wordCountResults[index];
567
583
  const part = partsToRender[index];
@@ -612,7 +628,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
612
628
  }
613
629
  }));
614
630
  treeDisposables.add(tree.onDidChangeCollapseState(() => {
615
- this._onDidChangeItemHeight.fire({ element, height: templateData.rowContainer.offsetHeight });
631
+ this.updateItemHeight(templateData);
616
632
  }));
617
633
  treeDisposables.add(tree.onContextMenu((e) => {
618
634
  e.browserEvent.preventDefault();
@@ -621,7 +637,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
621
637
  tree.setInput(data).then(() => {
622
638
  if (!ref.isStale()) {
623
639
  tree.layout();
624
- this._onDidChangeItemHeight.fire({ element, height: templateData.rowContainer.offsetHeight });
640
+ this.updateItemHeight(templateData);
625
641
  }
626
642
  });
627
643
  if (isResponseVM(element)) {
@@ -648,22 +664,26 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
648
664
  };
649
665
  }
650
666
  renderContentReferencesIfNeeded(element, templateData, disposables) {
651
- clearNode(templateData.referencesListContainer);
652
667
  if (isResponseVM(element) && this._usedReferencesEnabled && element.contentReferences.length) {
653
668
  show(templateData.referencesListContainer);
654
- const contentReferencesListResult = this.renderContentReferencesListData(element.contentReferences, element, templateData);
655
- templateData.referencesListContainer.appendChild(contentReferencesListResult.element);
669
+ const contentReferencesListResult = this.renderContentReferencesListData(null, element.contentReferences, element, templateData);
670
+ if (templateData.referencesListContainer.firstChild) {
671
+ templateData.referencesListContainer.replaceChild(contentReferencesListResult.element, templateData.referencesListContainer.firstChild);
672
+ }
673
+ else {
674
+ templateData.referencesListContainer.appendChild(contentReferencesListResult.element);
675
+ }
656
676
  disposables.add(contentReferencesListResult);
657
677
  }
658
678
  else {
659
679
  hide(templateData.referencesListContainer);
660
680
  }
661
681
  }
662
- renderContentReferencesListData(data, element, templateData) {
682
+ renderContentReferencesListData(task, data, element, templateData) {
663
683
  const listDisposables = ( (new DisposableStore()));
664
- const referencesLabel = data.length > 1 ?
684
+ const referencesLabel = task?.content.value ?? (data.length > 1 ?
665
685
  ( localizeWithPath(_moduleId, 2, "Used {0} references", data.length)) :
666
- ( localizeWithPath(_moduleId, 3, "Used {0} reference", 1));
686
+ ( localizeWithPath(_moduleId, 3, "Used {0} reference", 1)));
667
687
  const iconElement = $('.chat-used-context-icon');
668
688
  const icon = (element) => element.usedReferencesExpanded ? Codicon.chevronDown : Codicon.chevronRight;
669
689
  iconElement.classList.add(...ThemeIcon.asClassNameArray(icon(element)));
@@ -680,7 +700,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
680
700
  }))));
681
701
  const container = $('.chat-used-context', undefined, buttonElement);
682
702
  collapseButton.label = referencesLabel;
683
- collapseButton.element.append(iconElement);
703
+ collapseButton.element.prepend(iconElement);
684
704
  this.updateAriaLabel(collapseButton.element, referencesLabel, element.usedReferencesExpanded);
685
705
  container.classList.toggle('chat-used-context-collapsed', !element.usedReferencesExpanded);
686
706
  listDisposables.add(collapseButton.onDidClick(() => {
@@ -688,14 +708,14 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
688
708
  element.usedReferencesExpanded = !element.usedReferencesExpanded;
689
709
  iconElement.classList.add(...ThemeIcon.asClassNameArray(icon(element)));
690
710
  container.classList.toggle('chat-used-context-collapsed', !element.usedReferencesExpanded);
691
- this._onDidChangeItemHeight.fire({ element, height: templateData.rowContainer.offsetHeight });
711
+ this.updateItemHeight(templateData);
692
712
  this.updateAriaLabel(collapseButton.element, referencesLabel, element.usedReferencesExpanded);
693
713
  }));
694
714
  const ref = listDisposables.add(this._contentReferencesListPool.get());
695
715
  const list = ref.object;
696
716
  container.appendChild(list.getHTMLElement().parentElement);
697
717
  listDisposables.add(list.onDidOpen((e) => {
698
- if (e.element) {
718
+ if (e.element && 'reference' in e.element) {
699
719
  const uriOrLocation = 'variableName' in e.element.reference ? e.element.reference.value : e.element.reference;
700
720
  const uri = URI.isUri(uriOrLocation) ? uriOrLocation :
701
721
  uriOrLocation?.uri;
@@ -732,11 +752,23 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
732
752
  updateAriaLabel(element, label, expanded) {
733
753
  element.ariaLabel = expanded ? ( localizeWithPath(_moduleId, 4, "{0}, expanded", label)) : ( localizeWithPath(_moduleId, 5, "{0}, collapsed", label));
734
754
  }
755
+ renderProgressTask(task, showSpinner, element, templateData) {
756
+ if (!isResponseVM(element)) {
757
+ return;
758
+ }
759
+ if (task.progress.length) {
760
+ const refs = this.renderContentReferencesListData(task, task.progress, element, templateData);
761
+ const node = $$1('.chat-progress-task');
762
+ node.appendChild(refs.element);
763
+ return { element: node, dispose: refs.dispose };
764
+ }
765
+ return this.renderProgressMessage(task, showSpinner);
766
+ }
735
767
  renderProgressMessage(progress, showSpinner) {
736
768
  if (showSpinner) {
737
769
  alert(progress.content.value);
738
770
  }
739
- const codicon = showSpinner ? ThemeIcon.modify(Codicon.sync, 'spin').id : Codicon.check.id;
771
+ const codicon = showSpinner ? ThemeIcon.modify(Codicon.loading, 'spin').id : Codicon.check.id;
740
772
  const markdown = ( (new MarkdownString(`$(${codicon}) ${progress.content.value}`, {
741
773
  supportThemeIcons: true
742
774
  })));
@@ -762,11 +794,63 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
762
794
  element: container
763
795
  };
764
796
  }
797
+ renderNotification(kind, content) {
798
+ const container = $('.chat-notification-widget');
799
+ let icon;
800
+ let iconClass;
801
+ switch (kind) {
802
+ case 'warning':
803
+ icon = Codicon.warning;
804
+ iconClass = '.chat-warning-codicon';
805
+ break;
806
+ case 'error':
807
+ icon = Codicon.error;
808
+ iconClass = '.chat-error-codicon';
809
+ break;
810
+ case 'info':
811
+ icon = Codicon.info;
812
+ iconClass = '.chat-info-codicon';
813
+ break;
814
+ }
815
+ container.appendChild($(iconClass, undefined, renderIcon(icon)));
816
+ const markdownContent = this.renderer.render(content);
817
+ container.appendChild(markdownContent.element);
818
+ return {
819
+ element: container,
820
+ dispose() { markdownContent.dispose(); }
821
+ };
822
+ }
823
+ renderConfirmation(element, confirmation, templateData) {
824
+ const store = ( (new DisposableStore()));
825
+ const confirmationWidget = store.add(this.instantiationService.createInstance(ChatConfirmationWidget, confirmation.title, confirmation.message, [
826
+ { label: ( localizeWithPath(_moduleId, 7, "Accept")), data: confirmation.data },
827
+ { label: ( localizeWithPath(_moduleId, 8, "Dismiss")), data: confirmation.data, isSecondary: true },
828
+ ]));
829
+ confirmationWidget.setShowButtons(!confirmation.isUsed);
830
+ store.add(confirmationWidget.onDidClick(async (e) => {
831
+ if (isResponseVM(element)) {
832
+ const prompt = `${e.label}: "${confirmation.title}"`;
833
+ const data = e.isSecondary ?
834
+ { rejectedConfirmationData: [e.data] } :
835
+ { acceptedConfirmationData: [e.data] };
836
+ data.agentId = element.agent?.id;
837
+ if (await this.chatService.sendRequest(element.sessionId, prompt, data)) {
838
+ confirmation.isUsed = true;
839
+ confirmationWidget.setShowButtons(false);
840
+ this.updateItemHeight(templateData);
841
+ }
842
+ }
843
+ }));
844
+ return {
845
+ element: confirmationWidget.domNode,
846
+ dispose() { store.dispose(); }
847
+ };
848
+ }
765
849
  renderTextEdit(element, chatTextEdit, templateData) {
766
850
  if (this.rendererOptions.renderTextEditsAsSummary?.(chatTextEdit.uri)) {
767
851
  if (isResponseVM(element) && element.response.value.every(item => item.kind === 'textEditGroup')) {
768
852
  return {
769
- element: $('.interactive-edits-summary', undefined, !element.isComplete ? ( localizeWithPath(_moduleId, 7, "Making changes...")) : ( localizeWithPath(_moduleId, 8, "Made changes."))),
853
+ element: $('.interactive-edits-summary', undefined, !element.isComplete ? ( localizeWithPath(_moduleId, 9, "Making changes...")) : ( localizeWithPath(_moduleId, 10, "Made changes."))),
770
854
  dispose() { }
771
855
  };
772
856
  }
@@ -782,7 +866,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
782
866
  const ref = this._diffEditorPool.get();
783
867
  store.add(ref.object.onDidChangeContentHeight(() => {
784
868
  ref.object.layout(this._currentLayoutWidth);
785
- this._onDidChangeItemHeight.fire({ element, height: templateData.rowContainer.offsetHeight });
869
+ this.updateItemHeight(templateData);
786
870
  }));
787
871
  const data = {
788
872
  element,
@@ -809,13 +893,32 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
809
893
  const modified = this.modelService.createModel(createTextBufferFactoryFromSnapshot(original.createSnapshot()), { languageId: original.getLanguageId(), onDidChange: Event.None }, ( (URI.from(
810
894
  { scheme: Schemas.vscodeChatCodeBlock, path: original.uri.path, query: generateUuid() }
811
895
  ))), false);
812
- store.add(modified);
813
- if (!chatTextEdit.state?.applied) {
814
- for (const group of chatTextEdit.edits) {
815
- const edits = ( (group.map(TextEdit.asEditOperation)));
816
- modified.pushEditOperations(null, edits, () => null);
896
+ const modRef = await this.textModelService.createModelReference(modified.uri);
897
+ store.add(modRef);
898
+ const editGroups = [];
899
+ if (isResponseVM(element)) {
900
+ const chatModel = this.chatService.getSession(element.sessionId);
901
+ for (const request of chatModel.getRequests()) {
902
+ if (!request.response) {
903
+ continue;
904
+ }
905
+ for (const item of request.response.response.value) {
906
+ if (item.kind !== 'textEditGroup' || item.state?.applied || !isEqual(item.uri, chatTextEdit.uri)) {
907
+ continue;
908
+ }
909
+ for (const group of item.edits) {
910
+ const edits = ( (group.map(TextEdit.asEditOperation)));
911
+ editGroups.push(edits);
912
+ }
913
+ }
914
+ if (request.response === element.model) {
915
+ break;
916
+ }
817
917
  }
818
918
  }
919
+ for (const edits of editGroups) {
920
+ modified.pushEditOperations(null, edits, () => null);
921
+ }
819
922
  return {
820
923
  modified,
821
924
  original,
@@ -828,16 +931,16 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
828
931
  element: ref.object.element,
829
932
  dispose() {
830
933
  store.dispose();
934
+ ref.dispose();
831
935
  },
832
936
  };
833
937
  }
834
- renderMarkdown(markdown, element, templateData, fillInIncompleteTokens = false) {
938
+ renderMarkdown(markdown, element, templateData, fillInIncompleteTokens = false, codeBlockStartIndex = 0) {
835
939
  const disposables = ( (new DisposableStore()));
836
940
  const orderedDisposablesList = [];
837
941
  const codeblocks = [];
838
- let codeBlockIndex = 0;
942
+ let codeBlockIndex = codeBlockStartIndex;
839
943
  const result = this.renderer.render(markdown, {
840
- disallowRemoteImages: true,
841
944
  fillInIncompleteTokens,
842
945
  codeBlockRendererSync: (languageId, text) => {
843
946
  const index = codeBlockIndex++;
@@ -868,7 +971,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
868
971
  const ref = this.renderCodeBlock({ languageId, textModel, codeBlockIndex: index, element, range, hideToolbar, parentContextKeyService: templateData.contextKeyService, vulns }, text);
869
972
  disposables.add(ref.object.onDidChangeContentHeight(() => {
870
973
  ref.object.layout(this._currentLayoutWidth);
871
- this._onDidChangeItemHeight.fire({ element, height: templateData.rowContainer.offsetHeight });
974
+ this.updateItemHeight(templateData);
872
975
  }));
873
976
  if (isResponseVM(element)) {
874
977
  const info = {
@@ -888,7 +991,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
888
991
  orderedDisposablesList.push(ref);
889
992
  return ref.object.element;
890
993
  },
891
- asyncRenderCallback: () => this._onDidChangeItemHeight.fire({ element, height: templateData.rowContainer.offsetHeight }),
994
+ asyncRenderCallback: () => this.updateItemHeight(templateData),
892
995
  });
893
996
  if (isResponseVM(element)) {
894
997
  this.codeBlocksByResponseId.set(element.id, codeblocks);
@@ -897,6 +1000,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
897
1000
  disposables.add(this.markdownDecorationsRenderer.walkTreeAndAnnotateReferenceLinks(result.element));
898
1001
  orderedDisposablesList.reverse().forEach(d => disposables.add(d));
899
1002
  return {
1003
+ codeBlockCount: codeBlockIndex - codeBlockStartIndex,
900
1004
  element: result.element,
901
1005
  dispose() {
902
1006
  result.dispose();
@@ -945,7 +1049,7 @@ ChatListItemRenderer = ChatListItemRenderer_1 = ( (__decorate([
945
1049
  ( (__param(13, ITextModelService))),
946
1050
  ( (__param(14, IModelService))),
947
1051
  ( (__param(15, IHoverService))),
948
- ( (__param(16, IChatAgentNameService)))
1052
+ ( (__param(16, IChatService)))
949
1053
  ], ChatListItemRenderer)));
950
1054
  let ChatListDelegate = class ChatListDelegate {
951
1055
  constructor(defaultElementHeight, logService) {
@@ -1043,7 +1147,7 @@ let TreePool = class TreePool extends Disposable {
1043
1147
  const resourceLabels = this._register(this.instantiationService.createInstance(ResourceLabels, { onDidChangeVisibility: this._onDidChangeVisibility }));
1044
1148
  const container = $('.interactive-response-progress-tree');
1045
1149
  this._register(createFileIconThemableTreeContainerScope(container, this.themeService));
1046
- const tree = this.instantiationService.createInstance(WorkbenchCompressibleAsyncDataTree, 'ChatListRenderer', container, ( (new ChatListTreeDelegate())), ( (new ChatListTreeCompressionDelegate())), [( (new ChatListTreeRenderer(resourceLabels, this.configService.getValue('explorer.decorations'))))], ( (new ChatListTreeDataSource())), {
1150
+ const tree = this.instantiationService.createInstance((WorkbenchCompressibleAsyncDataTree), 'ChatListRenderer', container, ( (new ChatListTreeDelegate())), ( (new ChatListTreeCompressionDelegate())), [( (new ChatListTreeRenderer(resourceLabels, this.configService.getValue('explorer.decorations'))))], ( (new ChatListTreeDataSource())), {
1047
1151
  collapseByDefault: () => false,
1048
1152
  expandOnlyOnTwistieClick: () => false,
1049
1153
  identityProvider: {
@@ -1051,7 +1155,7 @@ let TreePool = class TreePool extends Disposable {
1051
1155
  },
1052
1156
  accessibilityProvider: {
1053
1157
  getAriaLabel: (element) => element.label,
1054
- getWidgetAriaLabel: () => ( localizeWithPath(_moduleId, 9, "File Tree"))
1158
+ getWidgetAriaLabel: () => ( localizeWithPath(_moduleId, 11, "File Tree"))
1055
1159
  },
1056
1160
  alwaysConsumeMouseWheel: false
1057
1161
  });
@@ -1090,10 +1194,13 @@ let ContentReferencesListPool = class ContentReferencesListPool extends Disposab
1090
1194
  const resourceLabels = this._register(this.instantiationService.createInstance(ResourceLabels, { onDidChangeVisibility: this._onDidChangeVisibility }));
1091
1195
  const container = $('.chat-used-context-list');
1092
1196
  this._register(createFileIconThemableTreeContainerScope(container, this.themeService));
1093
- const list = this.instantiationService.createInstance(WorkbenchList, 'ChatListRenderer', container, ( (new ContentReferencesListDelegate())), [this.instantiationService.createInstance(ContentReferencesListRenderer, resourceLabels)], {
1197
+ const list = this.instantiationService.createInstance((WorkbenchList), 'ChatListRenderer', container, ( (new ContentReferencesListDelegate())), [this.instantiationService.createInstance(ContentReferencesListRenderer, resourceLabels)], {
1094
1198
  alwaysConsumeMouseWheel: false,
1095
1199
  accessibilityProvider: {
1096
1200
  getAriaLabel: (element) => {
1201
+ if (element.kind === 'warning') {
1202
+ return element.content.value;
1203
+ }
1097
1204
  const reference = element.reference;
1098
1205
  if ('variableName' in reference) {
1099
1206
  return reference.variableName;
@@ -1105,10 +1212,14 @@ let ContentReferencesListPool = class ContentReferencesListPool extends Disposab
1105
1212
  return basename(reference.uri.path);
1106
1213
  }
1107
1214
  },
1108
- getWidgetAriaLabel: () => ( localizeWithPath(_moduleId, 10, "Used References"))
1215
+ getWidgetAriaLabel: () => ( localizeWithPath(_moduleId, 12, "Used References"))
1109
1216
  },
1110
1217
  dnd: {
1111
- getDragURI: ({ reference }) => {
1218
+ getDragURI: (element) => {
1219
+ if (element.kind === 'warning') {
1220
+ return null;
1221
+ }
1222
+ const { reference } = element;
1112
1223
  if ('variableName' in reference) {
1113
1224
  return null;
1114
1225
  }
@@ -1158,8 +1269,9 @@ class ContentReferencesListDelegate {
1158
1269
  let ContentReferencesListRenderer = class ContentReferencesListRenderer {
1159
1270
  static { ContentReferencesListRenderer_1 = this; }
1160
1271
  static { this.TEMPLATE_ID = 'contentReferencesListRenderer'; }
1161
- constructor(labels, chatVariablesService) {
1272
+ constructor(labels, themeService, chatVariablesService) {
1162
1273
  this.labels = labels;
1274
+ this.themeService = themeService;
1163
1275
  this.chatVariablesService = chatVariablesService;
1164
1276
  this.templateId = ContentReferencesListRenderer_1.TEMPLATE_ID;
1165
1277
  }
@@ -1168,9 +1280,23 @@ let ContentReferencesListRenderer = class ContentReferencesListRenderer {
1168
1280
  const label = templateDisposables.add(this.labels.create(container, { supportHighlights: true }));
1169
1281
  return { templateDisposables, label };
1170
1282
  }
1283
+ getReferenceIcon(data) {
1284
+ if (ThemeIcon.isThemeIcon(data.iconPath)) {
1285
+ return data.iconPath;
1286
+ }
1287
+ else {
1288
+ return this.themeService.getColorTheme().type === ColorScheme.DARK && data.iconPath?.dark
1289
+ ? data.iconPath?.dark
1290
+ : data.iconPath?.light;
1291
+ }
1292
+ }
1171
1293
  renderElement(data, index, templateData, height) {
1294
+ if (data.kind === 'warning') {
1295
+ templateData.label.setResource({ name: data.content.value }, { icon: Codicon.warning });
1296
+ return;
1297
+ }
1172
1298
  const reference = data.reference;
1173
- const icon = data.iconPath;
1299
+ const icon = this.getReferenceIcon(data);
1174
1300
  templateData.label.element.style.display = 'flex';
1175
1301
  if ('variableName' in reference) {
1176
1302
  if (reference.value) {
@@ -1206,7 +1332,8 @@ let ContentReferencesListRenderer = class ContentReferencesListRenderer {
1206
1332
  }
1207
1333
  };
1208
1334
  ContentReferencesListRenderer = ContentReferencesListRenderer_1 = ( (__decorate([
1209
- ( (__param(1, IChatVariablesService)))
1335
+ ( (__param(1, IThemeService))),
1336
+ ( (__param(2, IChatVariablesService)))
1210
1337
  ], ContentReferencesListRenderer)));
1211
1338
  class ResourcePool extends Disposable {
1212
1339
  get inUse() {
@@ -1312,6 +1439,12 @@ function contentToMarkdown(str) {
1312
1439
  function isProgressMessage(item) {
1313
1440
  return item && 'kind' in item && item.kind === 'progressMessage';
1314
1441
  }
1442
+ function isProgressTaskRenderData(item) {
1443
+ return item && 'isSettled' in item;
1444
+ }
1445
+ function isWarningRenderData(item) {
1446
+ return item && 'kind' in item && item.kind === 'warning';
1447
+ }
1315
1448
  function isProgressMessageRenderData(item) {
1316
1449
  return item && 'isAtEndOfResponse' in item;
1317
1450
  }
@@ -1321,6 +1454,9 @@ function isCommandButtonRenderData(item) {
1321
1454
  function isTextEditRenderData(item) {
1322
1455
  return item && 'kind' in item && item.kind === 'textEditGroup';
1323
1456
  }
1457
+ function isConfirmationRenderData(item) {
1458
+ return item && 'kind' in item && item.kind === 'confirmation';
1459
+ }
1324
1460
  function isMarkdownRenderData(item) {
1325
1461
  return item && 'renderedWordCount' in item;
1326
1462
  }