@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,29 +1,58 @@
1
1
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
2
  import { $ } from '../../../../base/browser/dom.js';
3
+ import { Button } from '../../../../base/browser/ui/button/button.js';
4
+ import { getDefaultHoverDelegate } from '../../../../base/browser/ui/hover/hoverDelegateFactory.js';
3
5
  import { toErrorMessage } from '../../../../base/common/errorMessage.js';
4
6
  import { DisposableStore } from '../../../../base/common/lifecycle.js';
5
7
  import { revive } from '../../../../base/common/marshalling.js';
6
8
  import { URI } from '../../../../base/common/uri.js';
9
+ import { IHoverService } from '../../../../platform/hover/browser/hover.service.js';
7
10
  import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
8
11
  import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.service.js';
9
12
  import { ILabelService } from '../../../../platform/label/common/label.service.js';
10
13
  import { ILogService } from '../../../../platform/log/common/log.service.js';
11
- import { ChatAgentHover } from './chatAgentHover.js';
12
- import { IChatAgentService } from '../common/chatAgents.service.js';
13
- import { ChatRequestTextPart, ChatRequestAgentPart, ChatRequestDynamicVariablePart } from '../common/chatParserTypes.js';
14
+ import { asCssVariable } from '../../../../platform/theme/common/colorUtils.js';
15
+ import { IChatWidgetService } from './chat.service.js';
16
+ import { getChatAgentHoverOptions, ChatAgentHover } from './chatAgentHover.js';
17
+ import { getFullyQualifiedId } from '../common/chatAgents.js';
18
+ import { IChatAgentNameService, IChatAgentService } from '../common/chatAgents.service.js';
19
+ import { chatSlashCommandBackground, chatSlashCommandForeground } from '../common/chatColors.js';
20
+ import { ChatRequestTextPart, ChatRequestAgentPart, ChatRequestDynamicVariablePart, chatAgentLeader, chatSubcommandLeader } from '../common/chatParserTypes.js';
21
+ import { IChatService } from '../common/chatService.service.js';
14
22
  import { contentRefUrl } from '../common/annotations.js';
15
- import { IHoverService } from '../../../../platform/hover/browser/hover.service.js';
16
- import { getDefaultHoverDelegate } from '../../../../base/browser/ui/hover/hoverDelegateFactory.js';
17
- const variableRefUrl = 'http://_vscodedecoration_';
18
- const agentRefUrl = 'http://_chatagent_';
23
+ import { Lazy } from '../../../../base/common/lazy.js';
24
+ import { ICommandService } from '../../../../platform/commands/common/commands.service.js';
25
+ const decorationRefUrl = `http://_vscodedecoration_`;
26
+ const agentRefUrl = `http://_chatagent_`;
27
+ const agentSlashRefUrl = `http://_chatslash_`;
28
+ function agentToMarkdown(agent, isClickable, accessor) {
29
+ const chatAgentNameService = accessor.get(IChatAgentNameService);
30
+ const chatAgentService = accessor.get(IChatAgentService);
31
+ const isAllowed = chatAgentNameService.getAgentNameRestriction(agent);
32
+ let name = `${isAllowed ? agent.name : getFullyQualifiedId(agent)}`;
33
+ const isDupe = isAllowed && chatAgentService.getAgentsByName(agent.name).length > 1;
34
+ if (isDupe) {
35
+ name += ` (${agent.publisherDisplayName})`;
36
+ }
37
+ const args = { agentId: agent.id, name, isClickable };
38
+ return `[${agent.name}](${agentRefUrl}?${encodeURIComponent(JSON.stringify(args))})`;
39
+ }
40
+ function agentSlashCommandToMarkdown(agent, command) {
41
+ const text = `${chatSubcommandLeader}${command.name}`;
42
+ const args = { agentId: agent.id, command: command.name };
43
+ return `[${text}](${agentSlashRefUrl}?${encodeURIComponent(JSON.stringify(args))})`;
44
+ }
19
45
  let ChatMarkdownDecorationsRenderer = class ChatMarkdownDecorationsRenderer {
20
- constructor(keybindingService, labelService, logService, chatAgentService, instantiationService, hoverService) {
46
+ constructor(keybindingService, labelService, logService, chatAgentService, instantiationService, hoverService, chatService, chatWidgetService, commandService) {
21
47
  this.keybindingService = keybindingService;
22
48
  this.labelService = labelService;
23
49
  this.logService = logService;
24
50
  this.chatAgentService = chatAgentService;
25
51
  this.instantiationService = instantiationService;
26
52
  this.hoverService = hoverService;
53
+ this.chatService = chatService;
54
+ this.chatWidgetService = chatWidgetService;
55
+ this.commandService = commandService;
27
56
  }
28
57
  convertParsedRequestToMarkdown(parsedRequest) {
29
58
  let result = '';
@@ -32,21 +61,17 @@ let ChatMarkdownDecorationsRenderer = class ChatMarkdownDecorationsRenderer {
32
61
  result += part.text;
33
62
  }
34
63
  else if (part instanceof ChatRequestAgentPart) {
35
- let text = part.text;
36
- const isDupe = this.chatAgentService.getAgentsByName(part.agent.name).length > 1;
37
- if (isDupe) {
38
- text += ` (${part.agent.extensionPublisherDisplayName})`;
39
- }
40
- result += `[${text}](${agentRefUrl}?${encodeURIComponent(part.agent.id)})`;
64
+ result += this.instantiationService.invokeFunction(accessor => agentToMarkdown(part.agent, false, accessor));
41
65
  }
42
66
  else {
43
- const uri = part instanceof ChatRequestDynamicVariablePart && ( part.data.map(d => d.value)).find((d) => d instanceof URI)
44
- || undefined;
67
+ const uri = part instanceof ChatRequestDynamicVariablePart && part.data instanceof URI ?
68
+ part.data :
69
+ undefined;
45
70
  const title = uri ? encodeURIComponent(this.labelService.getUriLabel(uri, { relative: true })) :
46
71
  part instanceof ChatRequestAgentPart ? part.agent.id :
47
72
  '';
48
73
  const text = part.text;
49
- result += `[${text}](${variableRefUrl}?${title})`;
74
+ result += `[${text}](${decorationRefUrl}?${title})`;
50
75
  }
51
76
  }
52
77
  return result;
@@ -57,11 +82,31 @@ let ChatMarkdownDecorationsRenderer = class ChatMarkdownDecorationsRenderer {
57
82
  const href = a.getAttribute('data-href');
58
83
  if (href) {
59
84
  if (href.startsWith(agentRefUrl)) {
60
- const title = decodeURIComponent(href.slice(agentRefUrl.length + 1));
61
- a.parentElement.replaceChild(this.renderAgentWidget(a.textContent, title, store), a);
85
+ let args;
86
+ try {
87
+ args = JSON.parse(decodeURIComponent(href.slice(agentRefUrl.length + 1)));
88
+ }
89
+ catch (e) {
90
+ this.logService.error('Invalid chat widget render data JSON', toErrorMessage(e));
91
+ }
92
+ if (args) {
93
+ a.parentElement.replaceChild(this.renderAgentWidget(args, store), a);
94
+ }
95
+ }
96
+ else if (href.startsWith(agentSlashRefUrl)) {
97
+ let args;
98
+ try {
99
+ args = JSON.parse(decodeURIComponent(href.slice(agentRefUrl.length + 1)));
100
+ }
101
+ catch (e) {
102
+ this.logService.error('Invalid chat slash command render data JSON', toErrorMessage(e));
103
+ }
104
+ if (args) {
105
+ a.parentElement.replaceChild(this.renderSlashCommandWidget(a.textContent, args, store), a);
106
+ }
62
107
  }
63
- else if (href.startsWith(variableRefUrl)) {
64
- const title = decodeURIComponent(href.slice(variableRefUrl.length + 1));
108
+ else if (href.startsWith(decorationRefUrl)) {
109
+ const title = decodeURIComponent(href.slice(decorationRefUrl.length + 1));
65
110
  a.parentElement.replaceChild(this.renderResourceWidget(a.textContent, title), a);
66
111
  }
67
112
  else if (href.startsWith(contentRefUrl)) {
@@ -74,12 +119,53 @@ let ChatMarkdownDecorationsRenderer = class ChatMarkdownDecorationsRenderer {
74
119
  });
75
120
  return store;
76
121
  }
77
- renderAgentWidget(name, id, store) {
78
- const container = $('span.chat-resource-widget', undefined, $('span', undefined, name));
122
+ renderAgentWidget(args, store) {
123
+ const nameWithLeader = `${chatAgentLeader}${args.name}`;
124
+ let container;
125
+ if (args.isClickable) {
126
+ container = $('span.chat-agent-widget');
127
+ const button = store.add(( new Button(container, {
128
+ buttonBackground: asCssVariable(chatSlashCommandBackground),
129
+ buttonForeground: asCssVariable(chatSlashCommandForeground),
130
+ buttonHoverBackground: undefined
131
+ })));
132
+ button.label = nameWithLeader;
133
+ store.add(button.onDidClick(() => {
134
+ const agent = this.chatAgentService.getAgent(args.agentId);
135
+ const widget = this.chatWidgetService.lastFocusedWidget;
136
+ if (!widget || !agent) {
137
+ return;
138
+ }
139
+ this.chatService.sendRequest(widget.viewModel.sessionId, agent.metadata.sampleRequest ?? '', { location: widget.location, agentId: agent.id });
140
+ }));
141
+ }
142
+ else {
143
+ container = this.renderResourceWidget(nameWithLeader, undefined);
144
+ }
145
+ const agent = this.chatAgentService.getAgent(args.agentId);
146
+ const hover = ( new Lazy(() => store.add(this.instantiationService.createInstance(ChatAgentHover))));
79
147
  store.add(this.hoverService.setupUpdatableHover(getDefaultHoverDelegate('element'), container, () => {
80
- const hover = store.add(this.instantiationService.createInstance(ChatAgentHover));
81
- hover.setAgent(id);
82
- return hover.domNode;
148
+ hover.value.setAgent(args.agentId);
149
+ return hover.value.domNode;
150
+ }, agent && getChatAgentHoverOptions(() => agent, this.commandService)));
151
+ return container;
152
+ }
153
+ renderSlashCommandWidget(name, args, store) {
154
+ const container = $('span.chat-agent-widget.chat-command-widget');
155
+ const agent = this.chatAgentService.getAgent(args.agentId);
156
+ const button = store.add(( new Button(container, {
157
+ buttonBackground: asCssVariable(chatSlashCommandBackground),
158
+ buttonForeground: asCssVariable(chatSlashCommandForeground),
159
+ buttonHoverBackground: undefined
160
+ })));
161
+ button.label = name;
162
+ store.add(button.onDidClick(() => {
163
+ const widget = this.chatWidgetService.lastFocusedWidget;
164
+ if (!widget || !agent) {
165
+ return;
166
+ }
167
+ const command = agent.slashCommands.find(c => c.name === args.command);
168
+ this.chatService.sendRequest(widget.viewModel.sessionId, command?.sampleRequest ?? '', { location: widget.location, agentId: agent.id, slashCommand: args.command });
83
169
  }));
84
170
  return container;
85
171
  }
@@ -107,7 +193,9 @@ let ChatMarkdownDecorationsRenderer = class ChatMarkdownDecorationsRenderer {
107
193
  renderResourceWidget(name, title) {
108
194
  const container = $('span.chat-resource-widget');
109
195
  const alias = $('span', undefined, name);
110
- alias.title = title;
196
+ if (title) {
197
+ alias.title = title;
198
+ }
111
199
  container.appendChild(alias);
112
200
  return container;
113
201
  }
@@ -130,6 +218,9 @@ ChatMarkdownDecorationsRenderer = ( __decorate([
130
218
  ( __param(2, ILogService)),
131
219
  ( __param(3, IChatAgentService)),
132
220
  ( __param(4, IInstantiationService)),
133
- ( __param(5, IHoverService))
221
+ ( __param(5, IHoverService)),
222
+ ( __param(6, IChatService)),
223
+ ( __param(7, IChatWidgetService)),
224
+ ( __param(8, ICommandService))
134
225
  ], ChatMarkdownDecorationsRenderer));
135
- export { ChatMarkdownDecorationsRenderer };
226
+ export { ChatMarkdownDecorationsRenderer, agentSlashCommandToMarkdown, agentToMarkdown };
@@ -0,0 +1,65 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { MarkdownRenderer } from '../../../../editor/browser/widget/markdownRenderer/browser/markdownRenderer.js';
3
+ import { ILanguageService } from '../../../../editor/common/languages/language.js';
4
+ import { IOpenerService } from '../../../../platform/opener/common/opener.service.js';
5
+ import { ITrustedDomainService } from '../../url/browser/trustedDomainService.service.js';
6
+ const allowedHtmlTags = [
7
+ 'b',
8
+ 'blockquote',
9
+ 'br',
10
+ 'code',
11
+ 'em',
12
+ 'h1',
13
+ 'h2',
14
+ 'h3',
15
+ 'h4',
16
+ 'h5',
17
+ 'h6',
18
+ 'hr',
19
+ 'i',
20
+ 'li',
21
+ 'ol',
22
+ 'p',
23
+ 'pre',
24
+ 'strong',
25
+ 'table',
26
+ 'tbody',
27
+ 'td',
28
+ 'th',
29
+ 'thead',
30
+ 'tr',
31
+ 'ul',
32
+ 'a',
33
+ 'img',
34
+ 'span',
35
+ 'div',
36
+ ];
37
+ let ChatMarkdownRenderer = class ChatMarkdownRenderer extends MarkdownRenderer {
38
+ constructor(options, languageService, openerService, trustedDomainService) {
39
+ super(options ?? {}, languageService, openerService);
40
+ this.trustedDomainService = trustedDomainService;
41
+ }
42
+ render(markdown, options, markedOptions) {
43
+ options = {
44
+ ...options,
45
+ remoteImageIsAllowed: (uri) => this.trustedDomainService.isValid(uri),
46
+ sanitizerOptions: {
47
+ replaceWithPlaintext: true,
48
+ allowedTags: allowedHtmlTags,
49
+ }
50
+ };
51
+ const mdWithBody = (markdown && markdown.supportHtml) ?
52
+ {
53
+ ...markdown,
54
+ value: `<body>${markdown.value}</body>`,
55
+ }
56
+ : markdown;
57
+ return super.render(mdWithBody, options, markedOptions);
58
+ }
59
+ };
60
+ ChatMarkdownRenderer = ( __decorate([
61
+ ( __param(1, ILanguageService)),
62
+ ( __param(2, IOpenerService)),
63
+ ( __param(3, ITrustedDomainService))
64
+ ], ChatMarkdownRenderer));
65
+ export { ChatMarkdownRenderer };
@@ -4,8 +4,8 @@ import { timeout, disposableTimeout } from '../../../../base/common/async.js';
4
4
  import { toErrorMessage } from '../../../../base/common/errorMessage.js';
5
5
  import { Emitter, Event } from '../../../../base/common/event.js';
6
6
  import { Disposable, DisposableStore, MutableDisposable, combinedDisposable, toDisposable } from '../../../../base/common/lifecycle.js';
7
- import { Schemas } from '../../../../base/common/network.js';
8
- import { isEqual } from '../../../../base/common/resources.js';
7
+ import { matchesScheme, Schemas } from '../../../../base/common/network.js';
8
+ import { extUri, isEqual } from '../../../../base/common/resources.js';
9
9
  import { isDefined } from '../../../../base/common/types.js';
10
10
  import './media/chat.css.js';
11
11
  import './media/chatAgentHover.css.js';
@@ -24,9 +24,9 @@ import { ChatInputPart } from './chatInputPart.js';
24
24
  import { ChatListDelegate, ChatListItemRenderer } from './chatListRenderer.js';
25
25
  import { ChatEditorOptions } from './chatOptions.js';
26
26
  import { IChatAgentService } from '../common/chatAgents.service.js';
27
- import { CONTEXT_IN_CHAT_SESSION, CONTEXT_CHAT_LOCATION, CONTEXT_CHAT_INPUT_HAS_AGENT, CONTEXT_CHAT_REQUEST_IN_PROGRESS, CONTEXT_RESPONSE_FILTERED } from '../common/chatContextKeys.js';
27
+ import { CONTEXT_IN_CHAT_SESSION, CONTEXT_CHAT_LOCATION, CONTEXT_IN_QUICK_CHAT, CONTEXT_CHAT_INPUT_HAS_AGENT, CONTEXT_CHAT_REQUEST_IN_PROGRESS, CONTEXT_RESPONSE_FILTERED } from '../common/chatContextKeys.js';
28
28
  import { ChatModelInitState } from '../common/chatModel.js';
29
- import { ChatRequestAgentPart, extractAgentAndCommand, chatAgentLeader, chatSubcommandLeader } from '../common/chatParserTypes.js';
29
+ import { ChatRequestAgentPart, chatAgentLeader, chatSubcommandLeader } from '../common/chatParserTypes.js';
30
30
  import { ChatRequestParser } from '../common/chatRequestParser.js';
31
31
  import { IChatService } from '../common/chatService.service.js';
32
32
  import { IChatSlashCommandService } from '../common/chatSlashCommands.service.js';
@@ -64,6 +64,9 @@ let ChatWidget = class ChatWidget extends Disposable {
64
64
  }
65
65
  return this.parsedChatRequest;
66
66
  }
67
+ get scopedContextKeyService() {
68
+ return this.contextKeyService;
69
+ }
67
70
  constructor(location, viewContext, viewOptions, styles, codeEditorService, contextKeyService, instantiationService, chatService, chatAgentService, chatWidgetService, contextMenuService, chatAccessibilityService, logService, themeService, chatSlashCommandService) {
68
71
  super();
69
72
  this.location = location;
@@ -91,6 +94,10 @@ let ChatWidget = class ChatWidget extends Disposable {
91
94
  this.onDidClear = this._onDidClear.event;
92
95
  this._onDidAcceptInput = this._register(( new Emitter()));
93
96
  this.onDidAcceptInput = this._onDidAcceptInput.event;
97
+ this._onDidDeleteContext = this._register(( new Emitter()));
98
+ this.onDidDeleteContext = this._onDidDeleteContext.event;
99
+ this._onDidHide = this._register(( new Emitter()));
100
+ this.onDidHide = this._onDidHide.event;
94
101
  this._onDidChangeParsedInput = this._register(( new Emitter()));
95
102
  this.onDidChangeParsedInput = this._onDidChangeParsedInput.event;
96
103
  this._onDidChangeHeight = this._register(( new Emitter()));
@@ -104,15 +111,20 @@ let ChatWidget = class ChatWidget extends Disposable {
104
111
  this.viewModelDisposables = this._register(( new DisposableStore()));
105
112
  CONTEXT_IN_CHAT_SESSION.bindTo(contextKeyService).set(true);
106
113
  CONTEXT_CHAT_LOCATION.bindTo(contextKeyService).set(location);
114
+ CONTEXT_IN_QUICK_CHAT.bindTo(contextKeyService).set('resource' in viewContext);
107
115
  this.agentInInput = CONTEXT_CHAT_INPUT_HAS_AGENT.bindTo(contextKeyService);
108
116
  this.requestInProgress = CONTEXT_CHAT_REQUEST_IN_PROGRESS.bindTo(contextKeyService);
109
117
  this._register(chatWidgetService.register(this));
110
118
  this._codeBlockModelCollection = this._register(instantiationService.createInstance(CodeBlockModelCollection));
111
119
  this._register(codeEditorService.registerCodeEditorOpenHandler(async (input, _source, _sideBySide) => {
112
- if (input.resource.scheme !== Schemas.vscodeChatCodeBlock) {
120
+ let resource = input.resource;
121
+ if (matchesScheme(resource, Schemas.vscodeCopilotBackingChatCodeBlock)) {
122
+ resource = resource.with({ scheme: Schemas.vscodeChatCodeBlock });
123
+ }
124
+ if (resource.scheme !== Schemas.vscodeChatCodeBlock) {
113
125
  return null;
114
126
  }
115
- const responseId = input.resource.path.split('/').at(1);
127
+ const responseId = resource.path.split('/').at(1);
116
128
  if (!responseId) {
117
129
  return null;
118
130
  }
@@ -123,7 +135,7 @@ let ChatWidget = class ChatWidget extends Disposable {
123
135
  this.reveal(item);
124
136
  await timeout(0);
125
137
  for (const editor of this.renderer.editorsInUse() ?? []) {
126
- if (editor.uri?.toString() === ( input.resource.toString())) {
138
+ if (extUri.isEqual(editor.uri, resource, true)) {
127
139
  const inner = editor.editor;
128
140
  if (input.options?.selection) {
129
141
  inner.setSelection({
@@ -231,7 +243,7 @@ let ChatWidget = class ChatWidget extends Disposable {
231
243
  onDidChangeItems(skipDynamicLayout) {
232
244
  if (this.tree && this._visible) {
233
245
  const treeItems = ( (this.viewModel?.getItems() ?? [])
234
- .map(item => {
246
+ .map((item) => {
235
247
  return {
236
248
  element: item,
237
249
  collapsed: false,
@@ -271,9 +283,11 @@ let ChatWidget = class ChatWidget extends Disposable {
271
283
  }
272
284
  }
273
285
  setVisible(visible) {
286
+ const wasVisible = this._visible;
274
287
  this._visible = visible;
275
288
  this.visibleChangeCount++;
276
289
  this.renderer.setVisible(visible);
290
+ this.input.setVisible(visible);
277
291
  if (visible) {
278
292
  this._register(disposableTimeout(() => {
279
293
  if (this._visible) {
@@ -281,9 +295,12 @@ let ChatWidget = class ChatWidget extends Disposable {
281
295
  }
282
296
  }, 0));
283
297
  }
298
+ else if (wasVisible) {
299
+ this._onDidHide.fire();
300
+ }
284
301
  }
285
302
  createList(listContainer, options) {
286
- const scopedInstantiationService = this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, this.contextKeyService])));
303
+ const scopedInstantiationService = this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, this.contextKeyService]))));
287
304
  const delegate = scopedInstantiationService.createInstance(ChatListDelegate, this.viewOptions.defaultElementHeight ?? 200);
288
305
  const rendererDelegate = {
289
306
  getListLength: () => this.tree.getNode(null).visibleChildrenCount,
@@ -296,9 +313,16 @@ let ChatWidget = class ChatWidget extends Disposable {
296
313
  this._register(this.renderer.onDidClickFollowup(item => {
297
314
  this.acceptInput(item.message);
298
315
  }));
316
+ this._register(this.renderer.onDidClickRerunWithAgentOrCommandDetection(item => {
317
+ const request = this.chatService.getSession(item.sessionId)?.getRequests().find(candidate => candidate.id === item.requestId);
318
+ if (request) {
319
+ this.chatService.resendRequest(request, { noCommandDetection: true, attempt: request.attempt, location: this.location }).catch(e => this.logService.error('FAILED to rerun request', e));
320
+ }
321
+ }));
299
322
  this.tree = scopedInstantiationService.createInstance(WorkbenchObjectTree, 'Chat', listContainer, delegate, [this.renderer], {
300
323
  identityProvider: { getId: (e) => e.id },
301
324
  horizontalScrolling: false,
325
+ alwaysConsumeMouseWheel: false,
302
326
  supportDynamicHeights: true,
303
327
  hideTwistiesOfChildlessElements: true,
304
328
  accessibilityProvider: this.instantiationService.createInstance(ChatAccessibilityProvider),
@@ -378,6 +402,7 @@ let ChatWidget = class ChatWidget extends Disposable {
378
402
  });
379
403
  }));
380
404
  this._register(this.inputPart.onDidFocus(() => this._onDidFocus.fire()));
405
+ this._register(this.inputPart.onDidDeleteContext((e) => this._onDidDeleteContext.fire(e)));
381
406
  this._register(this.inputPart.onDidAcceptFollowup(e => {
382
407
  if (!this.viewModel) {
383
408
  return;
@@ -419,33 +444,14 @@ let ChatWidget = class ChatWidget extends Disposable {
419
444
  }
420
445
  this._onDidChangeContentHeight.fire();
421
446
  }));
422
- this._register(this.inputEditor.onDidChangeModelContent(() => this.updateImplicitContextKinds()));
423
- this._register(this.chatAgentService.onDidChangeAgents(() => {
424
- if (this.viewModel) {
425
- this.updateImplicitContextKinds();
426
- }
427
- }));
447
+ this._register(this.inputEditor.onDidChangeModelContent(() => this.parsedChatRequest = undefined));
448
+ this._register(this.chatAgentService.onDidChangeAgents(() => this.parsedChatRequest = undefined));
428
449
  }
429
450
  onDidStyleChange() {
430
451
  this.container.style.setProperty('--vscode-interactive-result-editor-background-color', this.editorOptions.configuration.resultEditor.backgroundColor?.toString() ?? '');
431
452
  this.container.style.setProperty('--vscode-interactive-session-foreground', this.editorOptions.configuration.foreground?.toString() ?? '');
432
453
  this.container.style.setProperty('--vscode-chat-list-background', this.themeService.getColorTheme().getColor(this.styles.listBackground)?.toString() ?? '');
433
454
  }
434
- updateImplicitContextKinds() {
435
- if (!this.viewModel) {
436
- return;
437
- }
438
- this.parsedChatRequest = undefined;
439
- const agentAndSubcommand = extractAgentAndCommand(this.parsedInput);
440
- const currentAgent = agentAndSubcommand.agentPart?.agent ?? this.chatAgentService.getDefaultAgent(this.location);
441
- const implicitVariables = agentAndSubcommand.commandPart ?
442
- agentAndSubcommand.commandPart.command.defaultImplicitVariables :
443
- currentAgent?.defaultImplicitVariables;
444
- this.inputPart.setImplicitContextKinds(implicitVariables ?? []);
445
- if (this.bodyDimension) {
446
- this.layout(this.bodyDimension.height, this.bodyDimension.width);
447
- }
448
- }
449
455
  setModel(model, viewState) {
450
456
  if (!this.container) {
451
457
  throw ( new Error('Call render() before setModel()'));
@@ -479,7 +485,6 @@ let ChatWidget = class ChatWidget extends Disposable {
479
485
  this.onDidChangeItems();
480
486
  revealLastElement(this.tree);
481
487
  }
482
- this.updateImplicitContextKinds();
483
488
  }
484
489
  getFocus() {
485
490
  return this.tree.getFocus()[0] ?? undefined;
@@ -512,7 +517,7 @@ let ChatWidget = class ChatWidget extends Disposable {
512
517
  return this.inputPart.inputEditor.getValue();
513
518
  }
514
519
  async acceptInput(query) {
515
- this._acceptInput(query ? { query } : undefined);
520
+ return this._acceptInput(query ? { query } : undefined);
516
521
  }
517
522
  async acceptInputWithPrefix(prefix) {
518
523
  this._acceptInput({ prefix });
@@ -535,18 +540,30 @@ let ChatWidget = class ChatWidget extends Disposable {
535
540
  'query' in opts ? opts.query :
536
541
  `${opts.prefix} ${editorValue}`;
537
542
  const isUserQuery = !opts || 'prefix' in opts;
538
- const result = await this.chatService.sendRequest(this.viewModel.sessionId, input, { implicitVariablesEnabled: this.inputPart.implicitContextEnabled, location: this.location, parserContext: { selectedAgent: this._lastSelectedAgent } });
543
+ const result = await this.chatService.sendRequest(this.viewModel.sessionId, input, { location: this.location, parserContext: { selectedAgent: this._lastSelectedAgent }, attachedContext: [...( this.inputPart.attachedContext.values())] });
539
544
  if (result) {
545
+ this.inputPart.attachedContext.clear();
540
546
  const inputState = this.collectInputState();
541
547
  this.inputPart.acceptInput(isUserQuery ? input : undefined, isUserQuery ? inputState : undefined);
542
548
  this._onDidSubmitAgent.fire({ agent: result.agent, slashCommand: result.slashCommand });
543
- result.responseCompletePromise.then(async () => {
549
+ result.responseCompletePromise.then(() => {
544
550
  const responses = this.viewModel?.getItems().filter(isResponseVM);
545
551
  const lastResponse = responses?.[responses.length - 1];
546
552
  this.chatAccessibilityService.acceptResponse(lastResponse, requestId);
547
553
  });
554
+ return result.responseCreatedPromise;
548
555
  }
549
556
  }
557
+ return undefined;
558
+ }
559
+ setContext(overwrite, ...contentReferences) {
560
+ if (overwrite) {
561
+ this.inputPart.attachedContext.clear();
562
+ }
563
+ this.inputPart.attachContext(...contentReferences);
564
+ if (this.bodyDimension) {
565
+ this.layout(this.bodyDimension.height, this.bodyDimension.width);
566
+ }
550
567
  }
551
568
  getCodeBlockInfosForResponse(response) {
552
569
  return this.renderer.getCodeBlockInfosForResponse(response);
@@ -1,4 +1,4 @@
1
1
  import n from '../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
- var css = ".interactive-result-code-block{position:relative}.interactive-result-code-block .monaco-toolbar{background-color:var(--vscode-interactive-result-editor-background-color,var(--vscode-editor-background));border:1px solid var(--vscode-chat-requestBorder);display:none;height:26px;position:absolute;right:10px;top:-13px;z-index:100}.interactive-result-code-block .monaco-toolbar .action-item{height:24px;margin:1px 2px;width:24px}.interactive-result-code-block .monaco-toolbar .action-item .codicon{margin:1px}.interactive-result-code-block .monaco-toolbar:focus-within,.interactive-result-code-block.focused .monaco-toolbar,.interactive-result-code-block:hover .monaco-toolbar{border-radius:2px;display:initial}.interactive-result-code-block .interactive-result-code-block-toolbar.force-visibility .monaco-toolbar{display:initial!important}.interactive-item-container .value .rendered-markdown [data-code]{margin:16px 0}.interactive-result-code-block{background-color:var(--vscode-interactive-result-editor-background-color);border:1px solid var(--vscode-input-border,transparent)}.interactive-result-code-block:has(.monaco-editor.focused){border-color:var(--vscode-focusBorder,transparent)}.interactive-result-code-block,.interactive-result-code-block .monaco-editor,.interactive-result-code-block .monaco-editor .overflow-guard{border-radius:4px}.interactive-result-code-block .interactive-result-vulns{font-size:.9em;padding:0 8px 2px}.interactive-result-code-block .interactive-result-vulns-header{display:flex;height:22px}.interactive-result-code-block .interactive-result-vulns-header,.interactive-result-code-block .interactive-result-vulns-list{opacity:.8}.interactive-result-code-block .interactive-result-vulns-list{margin:0;padding-bottom:3px;padding-left:16px!important}.interactive-result-code-block.chat-vulnerabilities-collapsed .interactive-result-vulns-list{display:none}.interactive-result-code-block .interactive-result-vulns-list .chat-vuln-title{font-weight:700}.interactive-result-code-block.no-vulns .interactive-result-vulns{display:none}.interactive-result-code-block .interactive-result-vulns-header .monaco-button{border:none;color:var(--vscode-foreground)!important;display:inline-flex;justify-content:normal;padding:0;text-align:initial;user-select:none;width:100%}.interactive-result-code-block .interactive-result-vulns-header .monaco-text-button:focus{outline:none}.interactive-result-code-block .interactive-result-vulns-header .monaco-text-button:focus-visible{outline:1px solid var(--vscode-focusBorder)}.interactive-result-code-block.compare.no-diff .message{display:inherit}.interactive-result-code-block.compare .message{display:none;padding:6px}.interactive-result-code-block.compare .message A{color:var(--vscode-textLink-foreground);cursor:pointer}";
2
+ var css = ".interactive-result-code-block{position:relative}.interactive-result-code-block .interactive-result-code-block-toolbar{display:none}.interactive-result-code-block .interactive-result-code-block-toolbar>.monaco-action-bar,.interactive-result-code-block .interactive-result-code-block-toolbar>.monaco-toolbar{background-color:var(--vscode-interactive-result-editor-background-color,var(--vscode-editor-background));border:1px solid var(--vscode-chat-requestBorder);height:26px;line-height:26px;max-width:70%;overflow:hidden;position:absolute;text-overflow:ellipsis;top:-13px;z-index:100}.interactive-result-code-block .interactive-result-code-block-toolbar>.monaco-action-bar{left:0}.interactive-result-code-block .interactive-result-code-block-toolbar>.monaco-toolbar{right:10px}.interactive-result-code-block .monaco-toolbar .action-item{height:24px;margin:1px 2px;width:24px}.interactive-result-code-block .monaco-toolbar .action-item .codicon{margin:1px}.interactive-result-code-block .interactive-result-code-block-toolbar:focus-within,.interactive-result-code-block.focused .interactive-result-code-block-toolbar,.interactive-result-code-block:hover .interactive-result-code-block-toolbar{border-radius:2px;display:initial}.interactive-result-code-block .interactive-result-code-block-toolbar.force-visibility .monaco-toolbar{display:initial!important}.interactive-item-container .value .rendered-markdown [data-code]{margin:16px 0}.interactive-result-code-block{background-color:var(--vscode-interactive-result-editor-background-color);border:1px solid var(--vscode-input-border,transparent)}.interactive-result-code-block:has(.monaco-editor.focused){border-color:var(--vscode-focusBorder,transparent)}.interactive-result-code-block,.interactive-result-code-block .monaco-editor,.interactive-result-code-block .monaco-editor .overflow-guard{border-radius:4px}.interactive-result-code-block .interactive-result-vulns{font-size:.9em;padding:0 8px 2px}.interactive-result-code-block .interactive-result-vulns-header{display:flex;height:22px}.interactive-result-code-block .interactive-result-vulns-header,.interactive-result-code-block .interactive-result-vulns-list{opacity:.8}.interactive-result-code-block .interactive-result-vulns-list{margin:0;padding-bottom:3px;padding-left:16px!important}.interactive-result-code-block.chat-vulnerabilities-collapsed .interactive-result-vulns-list{display:none}.interactive-result-code-block .interactive-result-vulns-list .chat-vuln-title{font-weight:700}.interactive-result-code-block.no-vulns .interactive-result-vulns{display:none}.interactive-result-code-block .interactive-result-vulns-header .monaco-button{border:none;color:var(--vscode-foreground)!important;display:inline-flex;justify-content:normal;padding:0;text-align:initial;user-select:none;width:100%}.interactive-result-code-block .interactive-result-vulns-header .monaco-text-button:focus{outline:none}.interactive-result-code-block .interactive-result-vulns-header .monaco-text-button:focus-visible{outline:1px solid var(--vscode-focusBorder)}.interactive-result-code-block.compare.no-diff .message{display:inherit}.interactive-result-code-block.compare .message{display:none;padding:6px}.interactive-result-code-block.compare .message A{color:var(--vscode-textLink-foreground);cursor:pointer}.interactive-result-code-block.compare .message A>CODE{color:var(--vscode-textLink-foreground)}";
3
3
  n(css,{});
4
4
  export { css, css as default };