@codingame/monaco-vscode-api 7.1.0 → 7.1.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 (682) hide show
  1. package/api.js +60 -10
  2. package/extensions.d.ts +9 -0
  3. package/l10n.d.ts +13 -1
  4. package/l10n.js +3 -2
  5. package/missing-services.js +35 -21
  6. package/package.json +9 -9
  7. package/services.js +2 -2
  8. package/vscode/src/vs/base/browser/browser.js +4 -1
  9. package/vscode/src/vs/base/browser/defaultWorkerFactory.js +7 -1
  10. package/vscode/src/vs/base/browser/dom.js +8 -1
  11. package/vscode/src/vs/base/browser/markdownRenderer.js +1 -1
  12. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.d.ts +1 -0
  13. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +13 -6
  14. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +1 -1
  15. package/vscode/src/vs/base/browser/ui/button/button.js +2 -3
  16. package/vscode/src/vs/base/browser/ui/dialog/dialog.js +7 -8
  17. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +2 -3
  18. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +2 -3
  19. package/vscode/src/vs/base/browser/ui/findinput/findInputToggles.js +4 -5
  20. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +3 -4
  21. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  22. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +3 -5
  23. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +3 -4
  24. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +7 -8
  25. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +2 -3
  26. package/vscode/src/vs/base/browser/ui/list/listView.js +2 -2
  27. package/vscode/src/vs/base/browser/ui/menu/menubar.js +2 -3
  28. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +4 -5
  29. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +2 -3
  30. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
  31. package/vscode/src/vs/base/browser/ui/toggle/toggle.css.js +1 -1
  32. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -3
  33. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +11 -12
  34. package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +2 -3
  35. package/vscode/src/vs/base/common/actions.js +2 -3
  36. package/vscode/src/vs/base/common/arrays.js +7 -1
  37. package/vscode/src/vs/base/common/date.js +61 -63
  38. package/vscode/src/vs/base/common/errorMessage.js +8 -22
  39. package/vscode/src/vs/base/common/event.d.ts +16 -0
  40. package/vscode/src/vs/base/common/event.js +4 -0
  41. package/vscode/src/vs/base/common/hotReload.js +13 -1
  42. package/vscode/src/vs/base/common/hotReloadHelpers.js +25 -0
  43. package/vscode/src/vs/base/common/jsonErrorMessages.js +10 -11
  44. package/vscode/src/vs/base/common/jsonSchema.js +122 -0
  45. package/vscode/src/vs/base/common/keybindingLabels.js +21 -22
  46. package/vscode/src/vs/base/common/labels.js +2 -2
  47. package/vscode/src/vs/base/common/network.js +1 -1
  48. package/vscode/src/vs/base/common/observableInternal/base.d.ts +1 -0
  49. package/vscode/src/vs/base/common/observableInternal/base.js +6 -0
  50. package/vscode/src/vs/base/common/observableInternal/utils.js +4 -1
  51. package/vscode/src/vs/base/common/path.d.ts +1 -1
  52. package/vscode/src/vs/base/common/path.js +20 -17
  53. package/vscode/src/vs/base/common/performance.js +78 -15
  54. package/vscode/src/vs/base/common/platform.js +14 -17
  55. package/vscode/src/vs/base/common/prefixTree.d.ts +2 -0
  56. package/vscode/src/vs/base/common/prefixTree.js +3 -0
  57. package/vscode/src/vs/base/common/product.d.ts +3 -7
  58. package/vscode/src/vs/base/common/uri.js +3 -0
  59. package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +6 -3
  60. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +66 -18
  61. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +18 -5
  62. package/vscode/src/vs/editor/browser/controller/pointerHandler.js +3 -3
  63. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +9 -13
  64. package/vscode/src/vs/editor/browser/coreCommands.js +4 -5
  65. package/vscode/src/vs/editor/browser/editorExtensions.js +7 -8
  66. package/vscode/src/vs/editor/browser/observableCodeEditor.js +2 -0
  67. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +2 -3
  68. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +2 -3
  69. package/vscode/src/vs/editor/browser/view.js +3 -1
  70. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +1 -2
  71. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +4 -6
  72. package/vscode/src/vs/editor/browser/widget/codeEditor/editor.css.js +1 -1
  73. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +13 -14
  74. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +17 -38
  75. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +20 -2
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +6 -6
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +11 -2
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +10 -13
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +6 -7
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +37 -3
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +4 -2
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +33 -23
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +91 -41
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +9 -14
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -1
  86. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +3 -4
  87. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +7 -13
  88. package/vscode/src/vs/editor/browser/widget/diffEditor/style.css.js +1 -1
  89. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +80 -21
  90. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +4 -5
  91. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +24 -18
  92. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.js +26 -13
  93. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidget.js +4 -1
  94. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +8 -4
  95. package/vscode/src/vs/editor/common/config/diffEditor.js +2 -0
  96. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +86 -115
  97. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +11 -1
  98. package/vscode/src/vs/editor/common/config/editorOptions.js +547 -932
  99. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +102 -144
  100. package/vscode/src/vs/editor/common/core/lineRange.js +1 -1
  101. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.js +11 -0
  102. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.js +2 -2
  103. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +8 -3
  104. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +34 -34
  105. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +7 -0
  106. package/vscode/src/vs/editor/common/diff/rangeMapping.js +40 -0
  107. package/vscode/src/vs/editor/common/editorContextKeys.js +52 -69
  108. package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -1
  109. package/vscode/src/vs/editor/common/languageFeatureRegistry.js +27 -14
  110. package/vscode/src/vs/editor/common/languages/modesRegistry.js +2 -3
  111. package/vscode/src/vs/editor/common/languages.d.ts +4 -0
  112. package/vscode/src/vs/editor/common/languages.js +28 -29
  113. package/vscode/src/vs/editor/common/model/editStack.js +2 -3
  114. package/vscode/src/vs/editor/common/model/guidesTextModelPart.js +1 -1
  115. package/vscode/src/vs/editor/common/standaloneStrings.js +57 -54
  116. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +3 -9
  117. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +1 -1
  118. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +7 -14
  119. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +7 -12
  120. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +3 -4
  121. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +2 -3
  122. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +18 -19
  123. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +2 -3
  124. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -53
  125. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +22 -10
  126. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +8 -9
  127. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +9 -10
  128. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +1 -1
  129. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +183 -9
  130. package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.js +4 -5
  131. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +3 -4
  132. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +2 -3
  133. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +3 -4
  134. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +10 -13
  135. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +7 -8
  136. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +12 -15
  137. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +3 -4
  138. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +5 -7
  139. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -11
  140. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +9 -10
  141. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +3 -5
  142. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +4 -5
  143. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +3 -16
  144. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +3 -5
  145. package/vscode/src/vs/editor/contrib/find/browser/findController.js +20 -24
  146. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +6 -1
  147. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +31 -35
  148. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -21
  149. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +11 -25
  150. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +4 -5
  151. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +3 -4
  152. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +9 -10
  153. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +18 -25
  154. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +46 -47
  155. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js +42 -17
  156. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +3 -4
  157. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +5 -13
  158. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +4 -5
  159. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +4 -5
  160. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +15 -22
  161. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +7 -11
  162. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +5 -7
  163. package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +8 -4
  164. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +24 -38
  165. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +3 -4
  166. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +25 -27
  167. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +12 -15
  168. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +6 -7
  169. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +3 -4
  170. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +21 -22
  171. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +9 -10
  172. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +12 -13
  173. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +2 -2
  174. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +3 -4
  175. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +7 -10
  176. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +51 -42
  177. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +3 -5
  178. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +6 -7
  179. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +12 -16
  180. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js +0 -3
  181. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.css.js +1 -1
  182. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +58 -39
  183. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +1 -1
  184. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditSideBySideWidget.css.js +4 -0
  185. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditSideBySideWidget.js +301 -0
  186. package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +7 -8
  187. package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +3 -4
  188. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsController.js +1 -1
  189. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.js +1 -1
  190. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +2 -3
  191. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +31 -32
  192. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +3 -4
  193. package/vscode/src/vs/editor/contrib/links/browser/links.js +12 -14
  194. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +2 -3
  195. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +23 -24
  196. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.css.js +1 -1
  197. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +2 -3
  198. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +11 -12
  199. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +20 -35
  200. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +5 -56
  201. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css.js +1 -1
  202. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderTextContribution.js +71 -0
  203. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +8 -11
  204. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +35 -41
  205. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +3 -4
  206. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +13 -25
  207. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +9 -11
  208. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +5 -6
  209. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +5 -6
  210. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +5 -6
  211. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +13 -15
  212. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +1 -1
  213. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +10 -20
  214. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +12 -14
  215. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +19 -32
  216. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +3 -4
  217. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +3 -4
  218. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +67 -101
  219. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +6 -12
  220. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +2 -3
  221. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +30 -49
  222. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +7 -9
  223. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +18 -27
  224. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +5 -6
  225. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +2 -3
  226. package/vscode/src/vs/nls.js +27 -21
  227. package/vscode/src/vs/platform/accessibility/browser/accessibleView.js +15 -9
  228. package/vscode/src/vs/platform/accessibility/browser/accessibleViewRegistry.js +1 -16
  229. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +0 -1
  230. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +53 -56
  231. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +7 -8
  232. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +5 -6
  233. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +8 -9
  234. package/vscode/src/vs/platform/actions/browser/buttonbar.js +4 -5
  235. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +43 -13
  236. package/vscode/src/vs/platform/actions/browser/toolbar.js +5 -6
  237. package/vscode/src/vs/platform/actions/common/actions.d.ts +4 -0
  238. package/vscode/src/vs/platform/actions/common/actions.js +4 -0
  239. package/vscode/src/vs/platform/actions/common/actions.service.d.ts +14 -1
  240. package/vscode/src/vs/platform/actions/common/menuResetAction.js +2 -3
  241. package/vscode/src/vs/platform/actions/common/menuService.js +52 -21
  242. package/vscode/src/vs/platform/configuration/common/configurationModels.js +11 -3
  243. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +14 -8
  244. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +180 -146
  245. package/vscode/src/vs/platform/configuration/common/configurations.js +2 -2
  246. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +2 -3
  247. package/vscode/src/vs/platform/contextkey/common/contextkey.js +13 -21
  248. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +10 -15
  249. package/vscode/src/vs/platform/contextkey/common/scanner.js +7 -16
  250. package/vscode/src/vs/platform/contextview/browser/contextMenuService.js +2 -3
  251. package/vscode/src/vs/platform/dialogs/common/dialogs.js +11 -13
  252. package/vscode/src/vs/platform/dnd/browser/dnd.js +3 -5
  253. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +7 -1
  254. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -5
  255. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -2
  256. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +2 -3
  257. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +1 -1
  258. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +25 -33
  259. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +33 -67
  260. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +3 -18
  261. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +31 -0
  262. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +3 -8
  263. package/vscode/src/vs/platform/files/common/files.js +7 -8
  264. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +2 -3
  265. package/vscode/src/vs/platform/instantiation/common/instantiationService.js +5 -0
  266. package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.d.ts +10 -0
  267. package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.js +8 -0
  268. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +9 -14
  269. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +2 -3
  270. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +4 -5
  271. package/vscode/src/vs/platform/list/browser/listService.js +43 -71
  272. package/vscode/src/vs/platform/log/common/log.js +7 -8
  273. package/vscode/src/vs/platform/markers/common/markers.js +4 -5
  274. package/vscode/src/vs/platform/observable/common/wrapInReloadableClass.js +51 -0
  275. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css.js +1 -1
  276. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +39 -32
  277. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +7 -11
  278. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +14 -11
  279. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +99 -142
  280. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +3 -5
  281. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +3 -4
  282. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +16 -1
  283. package/vscode/src/vs/platform/quickinput/common/quickInput.js +6 -1
  284. package/vscode/src/vs/platform/request/common/request.js +23 -36
  285. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +11 -2
  286. package/vscode/src/vs/platform/theme/common/colorUtils.js +3 -4
  287. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +27 -37
  288. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +10 -11
  289. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +120 -207
  290. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +53 -61
  291. package/vscode/src/vs/platform/theme/common/colors/listColors.js +51 -98
  292. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +8 -9
  293. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +13 -15
  294. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +12 -16
  295. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +13 -17
  296. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +4 -9
  297. package/vscode/src/vs/platform/theme/common/iconRegistry.js +7 -9
  298. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +49 -56
  299. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +35 -55
  300. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +2 -3
  301. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +5 -8
  302. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +38 -19
  303. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +3 -5
  304. package/vscode/src/vs/platform/workspace/common/workspace.js +2 -3
  305. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +88 -8
  306. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +60 -0
  307. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +48 -18
  308. package/vscode/src/vs/workbench/api/common/extHostComments.js +26 -4
  309. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +4 -6
  310. package/vscode/src/vs/workbench/api/common/extHostDocumentData.js +3 -0
  311. package/vscode/src/vs/workbench/api/common/extHostEmbedding.js +1 -0
  312. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.js +6 -5
  313. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +19 -17
  314. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +45 -48
  315. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +2 -1
  316. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +2 -3
  317. package/vscode/src/vs/workbench/api/common/extHostLogService.js +2 -3
  318. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +3 -9
  319. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +3 -0
  320. package/vscode/src/vs/workbench/api/common/extHostNotebookEditor.js +3 -0
  321. package/vscode/src/vs/workbench/api/common/extHostQuickOpen.js +12 -8
  322. package/vscode/src/vs/workbench/api/common/extHostSCM.js +5 -5
  323. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +4 -6
  324. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +3 -5
  325. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +2 -8
  326. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +4 -4
  327. package/vscode/src/vs/workbench/api/common/extHostTesting.js +69 -6
  328. package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +4 -1
  329. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +2 -3
  330. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +3 -4
  331. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +41 -11
  332. package/vscode/src/vs/workbench/api/common/extHostTypes.js +78 -23
  333. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +10 -5
  334. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +19 -30
  335. package/vscode/src/vs/workbench/browser/actions/developerActions.js +41 -59
  336. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +161 -132
  337. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +7 -8
  338. package/vscode/src/vs/workbench/browser/actions/windowActions.js +30 -43
  339. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +22 -23
  340. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +5 -6
  341. package/vscode/src/vs/workbench/browser/actions.js +2 -3
  342. package/vscode/src/vs/workbench/browser/editor.js +3 -4
  343. package/vscode/src/vs/workbench/browser/labels.js +3 -4
  344. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +12 -17
  345. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +16 -25
  346. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +2 -3
  347. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +5 -7
  348. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +45 -53
  349. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +12 -13
  350. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +2 -3
  351. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +7 -8
  352. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +153 -156
  353. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +206 -329
  354. package/vscode/src/vs/workbench/browser/parts/editor/editorCommandsContext.js +134 -0
  355. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +17 -17
  356. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +14 -15
  357. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +3 -4
  358. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +15 -23
  359. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +8 -11
  360. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +63 -75
  361. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +3 -4
  362. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +16 -17
  363. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +1 -3
  364. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +2 -3
  365. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -3
  366. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +6 -9
  367. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +2 -3
  368. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +17 -19
  369. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +18 -19
  370. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +7 -11
  371. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +7 -8
  372. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +10 -11
  373. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +9 -24
  374. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +16 -28
  375. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +4 -11
  376. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +6 -13
  377. package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
  378. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +48 -49
  379. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +20 -22
  380. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +3 -4
  381. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -3
  382. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +55 -49
  383. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +2 -3
  384. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -2
  385. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +12 -11
  386. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +11 -11
  387. package/vscode/src/vs/workbench/browser/quickaccess.js +2 -3
  388. package/vscode/src/vs/workbench/browser/window.js +20 -28
  389. package/vscode/src/vs/workbench/browser/workbench.contribution.js +376 -584
  390. package/vscode/src/vs/workbench/common/configuration.js +15 -19
  391. package/vscode/src/vs/workbench/common/contextkeys.js +87 -100
  392. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +2 -3
  393. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -9
  394. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +3 -5
  395. package/vscode/src/vs/workbench/common/editor.d.ts +5 -2
  396. package/vscode/src/vs/workbench/common/editor.js +5 -6
  397. package/vscode/src/vs/workbench/common/theme.js +281 -450
  398. package/vscode/src/vs/workbench/common/views.js +7 -11
  399. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +207 -284
  400. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +50 -16
  401. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +5 -2
  402. package/vscode/src/vs/workbench/contrib/accessibility/common/accessibilityCommands.js +1 -0
  403. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +29 -15
  404. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +17 -0
  405. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +5 -6
  406. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +10 -15
  407. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -3
  408. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +26 -27
  409. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +3 -4
  410. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAttachmentsContentPart.js +119 -0
  411. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCodeCitationContentPart.js +48 -0
  412. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +2 -3
  413. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +11 -6
  414. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +62 -33
  415. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +2 -2
  416. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +5 -5
  417. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +2 -3
  418. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +3 -4
  419. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +2 -3
  420. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +47 -26
  421. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +64 -37
  422. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +2 -0
  423. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +36 -20
  424. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +32 -29
  425. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +8 -8
  426. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  427. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +0 -1
  428. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +7 -8
  429. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +17 -28
  430. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +59 -9
  431. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +10 -3
  432. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +9 -1
  433. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +16 -6
  434. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +1 -1
  435. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +8 -14
  436. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +3 -1
  437. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +80 -23
  438. package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +11 -12
  439. package/vscode/src/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +7 -8
  440. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +5 -6
  441. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +25 -30
  442. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +5 -7
  443. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +11 -12
  444. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +5 -11
  445. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +7 -8
  446. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +45 -13
  447. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -4
  448. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +5 -6
  449. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +3 -4
  450. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +3 -4
  451. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +6 -7
  452. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +9 -11
  453. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +10 -15
  454. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +5 -6
  455. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +14 -49
  456. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +21 -18
  457. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +4 -5
  458. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +8 -13
  459. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +43 -25
  460. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +27 -39
  461. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +10 -14
  462. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +2 -3
  463. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +15 -18
  464. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +25 -29
  465. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +10 -11
  466. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +11 -15
  467. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +1 -0
  468. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -17
  469. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +6 -9
  470. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +2 -3
  471. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +33 -36
  472. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +18 -22
  473. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +77 -97
  474. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +15 -17
  475. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -14
  476. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +35 -40
  477. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +58 -75
  478. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +4 -5
  479. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +2 -3
  480. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +8 -1
  481. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +90 -205
  482. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +28 -11
  483. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +2 -3
  484. package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +1 -1
  485. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +3 -4
  486. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +2 -3
  487. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +5 -6
  488. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +342 -359
  489. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +35 -74
  490. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +8 -19
  491. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +3 -4
  492. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +5 -7
  493. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +7 -14
  494. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +6 -8
  495. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +2 -3
  496. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +12 -20
  497. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +28 -38
  498. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +18 -22
  499. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +108 -168
  500. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +55 -30
  501. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +9 -9
  502. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +45 -59
  503. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +102 -151
  504. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +3 -4
  505. package/vscode/src/vs/workbench/contrib/files/browser/files.js +21 -12
  506. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +2 -3
  507. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +6 -8
  508. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +9 -10
  509. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +20 -29
  510. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +54 -35
  511. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +7 -10
  512. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +2 -3
  513. package/vscode/src/vs/workbench/contrib/files/common/files.js +19 -40
  514. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +5 -7
  515. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +28 -36
  516. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +5 -6
  517. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +2 -3
  518. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +5 -10
  519. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +23 -25
  520. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +20 -6
  521. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +26 -88
  522. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +2 -34
  523. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +7 -8
  524. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +13 -33
  525. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +2 -3
  526. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  527. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +51 -91
  528. package/vscode/src/vs/workbench/contrib/issue/common/issue.service.js +2 -1
  529. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +2 -3
  530. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +40 -56
  531. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +3 -4
  532. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +9 -10
  533. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +2 -3
  534. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +43 -46
  535. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.js +6 -5
  536. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +3 -4
  537. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +8 -14
  538. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +18 -19
  539. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +4 -5
  540. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +3 -4
  541. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +30 -5
  542. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +7 -13
  543. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +16 -6
  544. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +9 -11
  545. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +4 -5
  546. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +5 -7
  547. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +13 -18
  548. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +29 -54
  549. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -30
  550. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +1 -1
  551. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +11 -18
  552. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -6
  553. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +54 -24
  554. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +3 -9
  555. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +5 -6
  556. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +2 -3
  557. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +4 -10
  558. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +3 -4
  559. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +3 -9
  560. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -6
  561. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +2 -3
  562. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +22 -13
  563. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +8 -0
  564. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputViewModel.js +17 -0
  565. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +13 -25
  566. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +51 -43
  567. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +2 -2
  568. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +18 -26
  569. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +3 -4
  570. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +3 -1
  571. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -3
  572. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +4 -10
  573. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +14 -24
  574. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +12 -12
  575. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +50 -51
  576. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +3 -2
  577. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +24 -31
  578. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +27 -39
  579. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +18 -23
  580. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +68 -80
  581. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +3 -4
  582. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +26 -57
  583. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +11 -12
  584. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +2 -3
  585. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +14 -16
  586. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +1 -1
  587. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +3 -4
  588. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +2 -3
  589. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +3 -4
  590. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +5 -19
  591. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +4 -5
  592. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +17 -29
  593. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +30 -31
  594. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +9 -13
  595. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +9 -13
  596. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +5 -7
  597. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +5 -0
  598. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +1 -0
  599. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +5 -14
  600. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +33 -34
  601. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +2 -0
  602. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +1 -1
  603. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +9 -15
  604. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +37 -51
  605. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +21 -37
  606. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +29 -34
  607. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminal.suggest.js +4 -0
  608. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +16 -13
  609. package/vscode/src/vs/workbench/contrib/testing/common/testId.js +1 -1
  610. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +6 -7
  611. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +23 -1
  612. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +23 -1
  613. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +7 -8
  614. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +4 -5
  615. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
  616. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +2 -3
  617. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +3 -8
  618. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +17 -11
  619. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +23 -25
  620. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +21 -34
  621. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +3 -5
  622. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +35 -53
  623. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +3 -5
  624. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +2 -3
  625. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +7 -8
  626. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +145 -236
  627. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +14 -19
  628. package/vscode/src/vs/workbench/services/language/common/languageService.js +40 -57
  629. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -1
  630. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +8 -2
  631. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.d.ts +34 -4
  632. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.js +6 -1
  633. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +3 -3
  634. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +3 -4
  635. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +8 -9
  636. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +1 -3
  637. package/vscode/src/vs/workbench/services/preferences/common/preferences.js +2 -1
  638. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +5 -2
  639. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +3 -4
  640. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.d.ts +5 -3
  641. package/vscode/src/vs/workbench/services/remote/common/remoteAgentService.d.ts +1 -0
  642. package/vscode/src/vs/workbench/services/remote/common/remoteAgentService.service.d.ts +4 -0
  643. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +14 -20
  644. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +9 -9
  645. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +2 -8
  646. package/vscode/src/vs/workbench/services/search/common/search.js +1 -1
  647. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.js +41 -1
  648. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +12 -27
  649. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +4 -5
  650. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +34 -50
  651. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +22 -31
  652. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +1 -1
  653. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +4 -5
  654. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +2 -3
  655. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +12 -13
  656. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +8 -9
  657. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +25 -33
  658. package/vscode-dts/vscode.proposed.aiTextSearchProviderNew.d.ts +119 -0
  659. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +61 -3
  660. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +26 -0
  661. package/vscode-dts/vscode.proposed.commentReveal.d.ts +21 -8
  662. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +0 -2
  663. package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemChangesMenu.d.ts +7 -0
  664. package/vscode-dts/vscode.proposed.fileComments.d.ts +1 -1
  665. package/vscode-dts/vscode.proposed.fileSearchProviderNew.d.ts +100 -0
  666. package/vscode-dts/vscode.proposed.findFiles2New.d.ts +80 -0
  667. package/vscode-dts/vscode.proposed.findTextInFilesNew.d.ts +143 -0
  668. package/vscode-dts/vscode.proposed.lmTools.d.ts +5 -0
  669. package/vscode-dts/vscode.proposed.quickInputButtonLocation.d.ts +29 -0
  670. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +2 -0
  671. package/vscode-dts/vscode.proposed.testMessageStackTrace.d.ts +38 -0
  672. package/vscode-dts/vscode.proposed.testRelatedCode.d.ts +36 -0
  673. package/vscode-dts/vscode.proposed.textSearchCompleteNew.d.ts +46 -0
  674. package/vscode-dts/vscode.proposed.textSearchProviderNew.d.ts +234 -0
  675. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/model.js +0 -14
  676. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +0 -115
  677. package/vscode/src/vs/platform/issue/common/issue.service.js +0 -3
  678. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +0 -570
  679. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +0 -207
  680. package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +0 -30
  681. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +0 -1016
  682. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +0 -390
@@ -17,7 +17,7 @@ import { CodeEditorWidget } from '../../../../editor/browser/widget/codeEditor/c
17
17
  import { Range } from '../../../../editor/common/core/range.js';
18
18
  import { IModelService } from '../../../../editor/common/services/model.js';
19
19
  import { HoverController } from '../../../../editor/contrib/hover/browser/hoverController.js';
20
- import { localizeWithPath } from '../../../../nls.js';
20
+ import { localize } from '../../../../nls.js';
21
21
  import { IAccessibilityService } from '../../../../platform/accessibility/common/accessibility.service.js';
22
22
  import { DropdownWithPrimaryActionViewItem } from '../../../../platform/actions/browser/dropdownWithPrimaryActionViewItem.js';
23
23
  import { createAndFillInActionBarActions } from '../../../../platform/actions/browser/menuEntryActionViewItem.js';
@@ -46,7 +46,6 @@ import { CONTEXT_CHAT_INPUT_HAS_TEXT, CONTEXT_CHAT_INPUT_CURSOR_AT_TOP, CONTEXT_
46
46
  import { IChatWidgetHistoryService } from '../common/chatWidgetHistoryService.service.js';
47
47
  import { getSimpleEditorOptions, getSimpleCodeEditorWidgetOptions } from '../../codeEditor/browser/simpleEditorOptions.js';
48
48
  var ChatInputPart_1;
49
- const _moduleId = "vs/workbench/contrib/chat/browser/chatInputPart";
50
49
  const $ = $$1;
51
50
  const INPUT_EDITOR_MAX_HEIGHT = 250;
52
51
  let ChatInputPart = class ChatInputPart extends Disposable {
@@ -83,8 +82,8 @@ let ChatInputPart = class ChatInputPart extends Disposable {
83
82
  this.onDidFocus = this._onDidFocus.event;
84
83
  this._onDidBlur = this._register(( (new Emitter())));
85
84
  this.onDidBlur = this._onDidBlur.event;
86
- this._onDidDeleteContext = this._register(( (new Emitter())));
87
- this.onDidDeleteContext = this._onDidDeleteContext.event;
85
+ this._onDidChangeContext = this._register(( (new Emitter())));
86
+ this.onDidChangeContext = this._onDidChangeContext.event;
88
87
  this._onDidAcceptFollowup = this._register(( (new Emitter())));
89
88
  this.onDidAcceptFollowup = this._onDidAcceptFollowup.event;
90
89
  this._indexOfLastAttachedContextDeletedWithKeyboard = -1;
@@ -122,18 +121,16 @@ let ChatInputPart = class ChatInputPart extends Disposable {
122
121
  const verbose = this.configurationService.getValue(AccessibilityVerbositySettingId.Chat);
123
122
  if (verbose) {
124
123
  const kbLabel = this.keybindingService.lookupKeybinding(AccessibilityCommandId.OpenAccessibilityHelp)?.getLabel();
125
- return kbLabel ? ( localizeWithPath(
126
- _moduleId,
127
- 0,
124
+ return kbLabel ? ( localize(
125
+ 7148,
128
126
  "Chat Input, Type to ask questions or type / for topics, press enter to send out the request. Use {0} for Chat Accessibility Help.",
129
127
  kbLabel
130
- )) : ( localizeWithPath(
131
- _moduleId,
132
- 1,
128
+ )) : ( localize(
129
+ 7149,
133
130
  "Chat Input, Type code here and press Enter to run. Use the Chat Accessibility Help command for more information."
134
131
  ));
135
132
  }
136
- return ( localizeWithPath(_moduleId, 2, "Chat Input"));
133
+ return ( localize(7150, "Chat Input"));
137
134
  }
138
135
  updateState(inputState) {
139
136
  if (this.inHistoryNavigation) {
@@ -255,11 +252,30 @@ let ChatInputPart = class ChatInputPart extends Disposable {
255
252
  this._inputEditorElement.appendChild(domNode);
256
253
  this._inputEditor.focus();
257
254
  }
258
- attachContext(...contentReferences) {
259
- for (const reference of contentReferences) {
260
- this.attachedContext.add(reference);
255
+ clearContext() {
256
+ if (this._attachedContext.size > 0) {
257
+ const removed = Array.from(this._attachedContext);
258
+ this._attachedContext.clear();
259
+ this._onDidChangeContext.fire({ removed });
260
+ }
261
+ }
262
+ attachContext(overwrite, ...contentReferences) {
263
+ const removed = [];
264
+ if (overwrite) {
265
+ removed.push(...Array.from(this._attachedContext));
266
+ this._attachedContext.clear();
267
+ }
268
+ if (contentReferences.length > 0) {
269
+ for (const reference of contentReferences) {
270
+ this._attachedContext.add(reference);
271
+ }
272
+ }
273
+ if (removed.length > 0 || contentReferences.length > 0) {
274
+ this.initAttachedContext(this.attachedContextContainer);
275
+ if (!overwrite) {
276
+ this._onDidChangeContext.fire({ removed, added: contentReferences });
277
+ }
261
278
  }
262
- this.initAttachedContext(this.attachedContextContainer);
263
279
  }
264
280
  render(container, initialValue, widget) {
265
281
  this.container = append(container, $('.interactive-input-part'));
@@ -271,7 +287,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
271
287
  const inputContainer = append(inputAndSideToolbar, $('.interactive-input-and-execute-toolbar'));
272
288
  const inputScopedContextKeyService = this._register(this.contextKeyService.createScoped(inputContainer));
273
289
  CONTEXT_IN_CHAT_INPUT.bindTo(inputScopedContextKeyService).set(true);
274
- const scopedInstantiationService = this.instantiationService.createChild(( (new ServiceCollection([IContextKeyService, inputScopedContextKeyService]))));
290
+ const scopedInstantiationService = this._register(this.instantiationService.createChild(( (new ServiceCollection([IContextKeyService, inputScopedContextKeyService])))));
275
291
  const { historyNavigationBackwardsEnablement, historyNavigationForwardsEnablement } = this._register(registerAndCreateHistoryNavigationContext(inputScopedContextKeyService, this));
276
292
  this.historyNavigationBackwardsEnablement = historyNavigationBackwardsEnablement;
277
293
  this.historyNavigationForewardsEnablement = historyNavigationForwardsEnablement;
@@ -294,6 +310,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
294
310
  insertMode: 'replace',
295
311
  };
296
312
  options.scrollbar = { ...(options.scrollbar ?? {}), vertical: 'hidden' };
313
+ options.stickyScroll = { enabled: false };
297
314
  this._inputEditorElement = append(inputContainer, $('.interactive-input-editor'));
298
315
  const editorOptions = getSimpleCodeEditorWidgetOptions();
299
316
  editorOptions.contributions?.push(...EditorExtensionsRegistry.getSomeEditorContributions([HoverController.ID]));
@@ -337,7 +354,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
337
354
  actionViewItemProvider: (action, options) => {
338
355
  if (this.location === ChatAgentLocation.Panel) {
339
356
  if ((action.id === SubmitAction.ID || action.id === CancelAction.ID) && action instanceof MenuItemAction) {
340
- const dropdownAction = this.instantiationService.createInstance(MenuItemAction, { id: 'chat.moreExecuteActions', title: ( localizeWithPath(_moduleId, 3, "More...")), icon: Codicon.chevronDown }, undefined, undefined, undefined, undefined);
357
+ const dropdownAction = this.instantiationService.createInstance(MenuItemAction, { id: 'chat.moreExecuteActions', title: ( localize(7151, "More...")), icon: Codicon.chevronDown }, undefined, undefined, undefined, undefined);
341
358
  return this.instantiationService.createInstance(ChatSubmitDropdownActionItem, action, dropdownAction);
342
359
  }
343
360
  }
@@ -377,6 +394,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
377
394
  }
378
395
  }
379
396
  initAttachedContext(container) {
397
+ const oldHeight = container.offsetHeight;
380
398
  clearNode(container);
381
399
  this.attachedContextDisposables.clear();
382
400
  setVisibility(Boolean(this.attachedContext.size), this.attachedContextContainer);
@@ -392,14 +410,13 @@ let ChatInputPart = class ChatInputPart extends Disposable {
392
410
  const fileBasename = basename(file.path);
393
411
  const fileDirname = dirname(file.path);
394
412
  const friendlyName = `${fileBasename} ${fileDirname}`;
395
- const ariaLabel = range ? ( localizeWithPath(
396
- _moduleId,
397
- 4,
413
+ const ariaLabel = range ? ( localize(
414
+ 7152,
398
415
  "Attached file, {0}, line {1} to line {2}",
399
416
  friendlyName,
400
417
  range.startLineNumber,
401
418
  range.endLineNumber
402
- )) : ( localizeWithPath(_moduleId, 5, "Attached file, {0}", friendlyName));
419
+ )) : ( localize(7153, "Attached file, {0}", friendlyName));
403
420
  label.setFile(file, {
404
421
  fileKind: FileKind.FILE,
405
422
  hidePath: true,
@@ -410,8 +427,9 @@ let ChatInputPart = class ChatInputPart extends Disposable {
410
427
  }
411
428
  else {
412
429
  const attachmentLabel = attachment.fullName ?? attachment.name;
413
- label.setLabel(attachmentLabel, undefined);
414
- widget.ariaLabel = ( localizeWithPath(_moduleId, 6, "Attached context, {0}", attachment.name));
430
+ const withIcon = attachment.icon?.id ? `$(${attachment.icon.id}) ${attachmentLabel}` : attachmentLabel;
431
+ label.setLabel(withIcon, undefined);
432
+ widget.ariaLabel = ( localize(7154, "Attached context, {0}", attachment.name));
415
433
  widget.tabIndex = 0;
416
434
  }
417
435
  const clearButton = ( (new Button(widget, { supportIcons: true })));
@@ -421,7 +439,7 @@ let ChatInputPart = class ChatInputPart extends Disposable {
421
439
  this.attachedContextDisposables.add(clearButton);
422
440
  clearButton.icon = Codicon.close;
423
441
  const disp = clearButton.onDidClick((e) => {
424
- this.attachedContext.delete(attachment);
442
+ this._attachedContext.delete(attachment);
425
443
  disp.dispose();
426
444
  if (isKeyboardEvent(e)) {
427
445
  const event = ( (new StandardKeyboardEvent(e)));
@@ -430,10 +448,13 @@ let ChatInputPart = class ChatInputPart extends Disposable {
430
448
  }
431
449
  }
432
450
  this._onDidChangeHeight.fire();
433
- this._onDidDeleteContext.fire(attachment);
451
+ this._onDidChangeContext.fire({ removed: [attachment] });
434
452
  });
435
453
  this.attachedContextDisposables.add(disp);
436
454
  });
455
+ if (oldHeight !== container.offsetHeight) {
456
+ this._onDidChangeHeight.fire();
457
+ }
437
458
  }
438
459
  async renderFollowups(items, response) {
439
460
  if (!this.options.renderFollowups) {
@@ -519,7 +540,7 @@ let ChatSubmitDropdownActionItem = class ChatSubmitDropdownActionItem extends Dr
519
540
  if (secondaryAgent) {
520
541
  secondary.forEach(a => {
521
542
  if (a.id === ChatSubmitSecondaryAgentAction.ID) {
522
- a.label = ( localizeWithPath(_moduleId, 7, "Send to @{0}", secondaryAgent.name));
543
+ a.label = ( localize(7155, "Send to @{0}", secondaryAgent.name));
523
544
  }
524
545
  return a;
525
546
  });
@@ -8,7 +8,7 @@ import { Codicon } from '../../../../base/common/codicons.js';
8
8
  import { Emitter } from '../../../../base/common/event.js';
9
9
  import { MarkdownString } from '../../../../base/common/htmlContent.js';
10
10
  import { KeyCode } from '../../../../base/common/keyCodes.js';
11
- import { Disposable, toDisposable, dispose, DisposableStore } from '../../../../base/common/lifecycle.js';
11
+ import { Disposable, dispose, toDisposable, DisposableStore } from '../../../../base/common/lifecycle.js';
12
12
  import { ResourceMap } from '../../../../base/common/map.js';
13
13
  import { FileAccess } from '../../../../base/common/network.js';
14
14
  import { clamp } from '../../../../base/common/numbers.js';
@@ -18,7 +18,7 @@ import '../../../../base/common/observableInternal/utils.js';
18
18
  import '../../../../base/common/cancellation.js';
19
19
  import { ThemeIcon } from '../../../../base/common/themables.js';
20
20
  import { URI } from '../../../../base/common/uri.js';
21
- import { localizeWithPath } from '../../../../nls.js';
21
+ import { localize } from '../../../../nls.js';
22
22
  import { createActionViewItem, MenuEntryActionViewItem } from '../../../../platform/actions/browser/menuEntryActionViewItem.js';
23
23
  import { MenuWorkbenchToolBar } from '../../../../platform/actions/browser/toolbar.js';
24
24
  import { MenuId, MenuItemAction } from '../../../../platform/actions/common/actions.js';
@@ -33,11 +33,13 @@ import { ColorScheme } from '../../../../platform/theme/common/theme.js';
33
33
  import { IThemeService } from '../../../../platform/theme/common/themeService.service.js';
34
34
  import { GeneratingPhrase } from './chat.js';
35
35
  import { ChatAgentHover, getChatAgentHoverOptions } from './chatAgentHover.js';
36
+ import { ChatAttachmentsContentPart } from './chatContentParts/chatAttachmentsContentPart.js';
37
+ import { ChatCodeCitationContentPart } from './chatContentParts/chatCodeCitationContentPart.js';
36
38
  import { ChatCommandButtonContentPart } from './chatContentParts/chatCommandContentPart.js';
37
39
  import { ChatConfirmationContentPart } from './chatContentParts/chatConfirmationContentPart.js';
38
40
  import { EditorPool, ChatMarkdownContentPart } from './chatContentParts/chatMarkdownContentPart.js';
39
41
  import { ChatProgressContentPart } from './chatContentParts/chatProgressContentPart.js';
40
- import { ContentReferencesListPool, ChatReferencesContentPart } from './chatContentParts/chatReferencesContentPart.js';
42
+ import { CollapsibleListPool, ChatCollapsibleListContentPart } from './chatContentParts/chatReferencesContentPart.js';
41
43
  import { ChatTaskContentPart } from './chatContentParts/chatTaskContentPart.js';
42
44
  import { DiffEditorPool, ChatTextEditContentPart } from './chatContentParts/chatTextEditContentPart.js';
43
45
  import { TreePool, ChatTreeContentPart } from './chatContentParts/chatTreeContentPart.js';
@@ -53,7 +55,6 @@ import { isResponseVM, isRequestVM, isWelcomeVM } from '../common/chatViewModel.
53
55
  import { getNWords } from '../common/chatWordCounter.js';
54
56
  import { annotateSpecialMarkdownContent } from '../common/annotations.js';
55
57
  var ChatListItemRenderer_1;
56
- const _moduleId = "vs/workbench/contrib/chat/browser/chatListRenderer";
57
58
  const $ = $$1;
58
59
  let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
59
60
  static { ChatListItemRenderer_1 = this; }
@@ -88,7 +89,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
88
89
  this._editorPool = this._register(this.instantiationService.createInstance(EditorPool, editorOptions, delegate, overflowWidgetsDomNode));
89
90
  this._diffEditorPool = this._register(this.instantiationService.createInstance(DiffEditorPool, editorOptions, delegate, overflowWidgetsDomNode));
90
91
  this._treePool = this._register(this.instantiationService.createInstance(TreePool, this._onDidChangeVisibility.event));
91
- this._contentReferencesListPool = this._register(this.instantiationService.createInstance(ContentReferencesListPool, this._onDidChangeVisibility.event));
92
+ this._contentReferencesListPool = this._register(this.instantiationService.createInstance(CollapsibleListPool, this._onDidChangeVisibility.event));
92
93
  this._register(this.instantiationService.createInstance(ChatCodeBlockContentProvider));
93
94
  }
94
95
  get templateId() {
@@ -107,10 +108,9 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
107
108
  return 80;
108
109
  }
109
110
  if (element.contentUpdateTimings && element.contentUpdateTimings.impliedWordLoadRate) {
110
- const minRate = 12;
111
+ const minRate = 5;
111
112
  const maxRate = 80;
112
- const rateBoost = 1.5;
113
- const rate = element.contentUpdateTimings.impliedWordLoadRate * rateBoost;
113
+ const rate = element.contentUpdateTimings.impliedWordLoadRate;
114
114
  return clamp(rate, minRate, maxRate);
115
115
  }
116
116
  return 8;
@@ -182,7 +182,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
182
182
  const value = append(valueParent, $('.value'));
183
183
  const elementDisposables = ( (new DisposableStore()));
184
184
  const contextKeyService = templateDisposables.add(this.contextKeyService.createScoped(rowContainer));
185
- const scopedInstantiationService = this.instantiationService.createChild(( (new ServiceCollection([IContextKeyService, contextKeyService]))));
185
+ const scopedInstantiationService = templateDisposables.add(this.instantiationService.createChild(( (new ServiceCollection([IContextKeyService, contextKeyService])))));
186
186
  let titleToolbar;
187
187
  if (this.rendererOptions.noHeader) {
188
188
  header.classList.add('hidden');
@@ -299,9 +299,12 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
299
299
  }
300
300
  _renderDetail(element, templateData) {
301
301
  clearNode(templateData.detail);
302
- if (element.slashCommand && element.agentOrSlashCommandDetected) {
303
- const usingMsg = `${chatSubcommandLeader}${element.slashCommand.name}`;
304
- const msg = ( localizeWithPath(_moduleId, 0, "used {0} [[(rerun without)]]", usingMsg));
302
+ if (element.agentOrSlashCommandDetected) {
303
+ const msg = element.slashCommand ? ( localize(
304
+ 7156,
305
+ "used {0} [[(rerun without)]]",
306
+ `${chatSubcommandLeader}${element.slashCommand.name}`
307
+ )) : ( localize(7157, "[[(rerun without)]]"));
305
308
  reset(templateData.detail, renderFormattedText(msg, {
306
309
  className: 'agentOrSlashCommandDetected',
307
310
  inline: true,
@@ -354,9 +357,12 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
354
357
  value = [{ content: ( (new MarkdownString(markdown))), kind: 'markdownContent' }];
355
358
  }
356
359
  else if (isResponseVM(element)) {
357
- value = annotateSpecialMarkdownContent(element.response.value);
358
360
  if (element.contentReferences.length) {
359
- value.unshift({ kind: 'references', references: element.contentReferences });
361
+ value.push({ kind: 'references', references: element.contentReferences });
362
+ }
363
+ value.push(...annotateSpecialMarkdownContent(element.response.value));
364
+ if (element.codeCitations.length) {
365
+ value.push({ kind: 'codeCitations', citations: element.codeCitations });
360
366
  }
361
367
  }
362
368
  clearNode(templateData.value);
@@ -377,7 +383,17 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
377
383
  parts.push(newPart);
378
384
  }
379
385
  });
386
+ if (templateData.renderedParts) {
387
+ dispose(templateData.renderedParts);
388
+ }
380
389
  templateData.renderedParts = parts;
390
+ if (isRequestVM(element) && element.variables.length) {
391
+ const newPart = this.renderAttachments(element.variables, element.contentReferences, templateData);
392
+ if (newPart) {
393
+ templateData.value.appendChild(newPart.domNode);
394
+ templateData.elementDisposables.add(newPart);
395
+ }
396
+ }
381
397
  if (isResponseVM(element) && element.errorDetails?.message) {
382
398
  const renderedError = this.instantiationService.createInstance(ChatWarningContentPart, element.errorDetails.responseIsFiltered ? 'info' : 'error', ( (new MarkdownString(element.errorDetails.message))), this.renderer);
383
399
  templateData.elementDisposables.add(renderedError);
@@ -406,7 +422,7 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
406
422
  clearNode(templateData.value);
407
423
  element.content.forEach((item, i) => {
408
424
  if (Array.isArray(item)) {
409
- const scopedInstaService = this.instantiationService.createChild(( (new ServiceCollection([IContextKeyService, templateData.contextKeyService]))));
425
+ const scopedInstaService = templateData.elementDisposables.add(this.instantiationService.createChild(( (new ServiceCollection([IContextKeyService, templateData.contextKeyService])))));
410
426
  templateData.elementDisposables.add(scopedInstaService.createInstance(ChatFollowups, templateData.value, item, this.location, undefined, followup => this._onDidClickFollowup.fire(followup)));
411
427
  }
412
428
  else {
@@ -436,37 +452,35 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
436
452
  if (!this._isVisible) {
437
453
  return true;
438
454
  }
439
- let isFullyRendered = false;
440
455
  if (element.isCanceled) {
441
456
  this.traceLayout('doNextProgressiveRender', `canceled, index=${index}`);
442
457
  element.renderData = undefined;
443
458
  this.basicRenderElement(element, index, templateData);
444
- isFullyRendered = true;
459
+ return true;
445
460
  }
446
- else {
447
- this.traceLayout('doNextProgressiveRender', `START progressive render, index=${index}, renderData=${JSON.stringify(element.renderData)}`);
448
- const contentForThisTurn = this.getNextProgressiveRenderContent(element);
449
- const partsToRender = this.diff(templateData.renderedParts ?? [], contentForThisTurn, element);
450
- isFullyRendered = partsToRender.every(part => part === null);
451
- if (isFullyRendered && element.isComplete) {
461
+ let isFullyRendered = false;
462
+ this.traceLayout('doNextProgressiveRender', `START progressive render, index=${index}, renderData=${JSON.stringify(element.renderData)}`);
463
+ const contentForThisTurn = this.getNextProgressiveRenderContent(element);
464
+ const partsToRender = this.diff(templateData.renderedParts ?? [], contentForThisTurn, element);
465
+ isFullyRendered = partsToRender.every(part => part === null);
466
+ if (isFullyRendered) {
467
+ if (element.isComplete) {
452
468
  this.traceLayout('doNextProgressiveRender', `END progressive render, index=${index} and clearing renderData, response is complete`);
453
469
  element.renderData = undefined;
454
470
  this.basicRenderElement(element, index, templateData);
471
+ return true;
455
472
  }
456
- else if (!isFullyRendered) {
457
- this.traceLayout('doNextProgressiveRender', `doing progressive render, ${partsToRender.length} parts to render`);
458
- this.renderChatContentDiff(partsToRender, contentForThisTurn, element, templateData);
459
- }
460
- else {
461
- return false;
462
- }
473
+ this.traceLayout('doNextProgressiveRender', 'caught up with the stream- no new content to render');
474
+ return false;
463
475
  }
476
+ this.traceLayout('doNextProgressiveRender', `doing progressive render, ${partsToRender.length} parts to render`);
477
+ this.renderChatContentDiff(partsToRender, contentForThisTurn, element, templateData);
464
478
  const height = templateData.rowContainer.offsetHeight;
465
479
  element.currentRenderedHeight = height;
466
480
  if (!isInRenderElement) {
467
481
  this._onDidChangeItemHeight.fire({ element, height: templateData.rowContainer.offsetHeight });
468
482
  }
469
- return isFullyRendered;
483
+ return false;
470
484
  }
471
485
  renderChatContentDiff(partsToRender, contentForThisTurn, element, templateData) {
472
486
  const renderedParts = templateData.renderedParts ?? [];
@@ -509,13 +523,14 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
509
523
  getNextProgressiveRenderContent(element) {
510
524
  const data = this.getDataForProgressiveRender(element);
511
525
  const renderableResponse = annotateSpecialMarkdownContent(element.response.value);
512
- this.traceLayout('getNextProgressiveRenderContent', `Want to render ${data.numWordsToRender}, counting...`);
526
+ this.traceLayout('getNextProgressiveRenderContent', `Want to render ${data.numWordsToRender} at ${data.rate} words/s, counting...`);
513
527
  let numNeededWords = data.numWordsToRender;
514
528
  const partsToRender = [];
515
529
  if (element.contentReferences.length) {
516
530
  partsToRender.push({ kind: 'references', references: element.contentReferences });
517
531
  }
518
- for (const part of renderableResponse) {
532
+ for (let i = 0; i < renderableResponse.length; i++) {
533
+ const part = renderableResponse[i];
519
534
  if (numNeededWords <= 0) {
520
535
  break;
521
536
  }
@@ -527,16 +542,18 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
527
542
  else {
528
543
  partsToRender.push({ kind: 'markdownContent', content: ( (new MarkdownString(wordCountResult.value, part.content))) });
529
544
  }
530
- this.traceLayout('getNextProgressiveRenderContent', ` Want to render ${numNeededWords} words and found ${wordCountResult.returnedWordCount} words. Total words in chunk: ${wordCountResult.totalWordCount}`);
545
+ this.traceLayout('getNextProgressiveRenderContent', ` Chunk ${i}: Want to render ${numNeededWords} words and found ${wordCountResult.returnedWordCount} words. Total words in chunk: ${wordCountResult.totalWordCount}`);
531
546
  numNeededWords -= wordCountResult.returnedWordCount;
532
547
  }
533
548
  else {
534
549
  partsToRender.push(part);
535
550
  }
536
551
  }
537
- this.traceLayout('getNextProgressiveRenderContent', `Want to render ${data.numWordsToRender} words and ${data.numWordsToRender - numNeededWords} words available`);
552
+ const lastWordCount = element.contentUpdateTimings?.lastWordCount ?? 0;
538
553
  const newRenderedWordCount = data.numWordsToRender - numNeededWords;
539
- if (newRenderedWordCount !== element.renderData?.renderedWordCount) {
554
+ const bufferWords = lastWordCount - newRenderedWordCount;
555
+ this.traceLayout('getNextProgressiveRenderContent', `Want to render ${data.numWordsToRender} words. Rendering ${newRenderedWordCount} words. Buffer: ${bufferWords} words`);
556
+ if (newRenderedWordCount > 0 && newRenderedWordCount !== element.renderData?.renderedWordCount) {
540
557
  element.renderData = { lastRenderTime: Date.now(), renderedWordCount: newRenderedWordCount, renderedParts: partsToRender };
541
558
  }
542
559
  return partsToRender;
@@ -595,6 +612,9 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
595
612
  else if (content.kind === 'references') {
596
613
  return this.renderContentReferencesListData(content, undefined, context, templateData);
597
614
  }
615
+ else if (content.kind === 'codeCitations') {
616
+ return this.renderCodeCitationsListData(content, context, templateData);
617
+ }
598
618
  return undefined;
599
619
  }
600
620
  renderTreeData(content, templateData, context) {
@@ -623,12 +643,16 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
623
643
  return treePart;
624
644
  }
625
645
  renderContentReferencesListData(references, labelOverride, context, templateData) {
626
- const referencesPart = this.instantiationService.createInstance(ChatReferencesContentPart, references.references, labelOverride, context.element, this._contentReferencesListPool);
646
+ const referencesPart = this.instantiationService.createInstance(ChatCollapsibleListContentPart, references.references, labelOverride, context.element, this._contentReferencesListPool);
627
647
  referencesPart.addDisposable(referencesPart.onDidChangeHeight(() => {
628
648
  this.updateItemHeight(templateData);
629
649
  }));
630
650
  return referencesPart;
631
651
  }
652
+ renderCodeCitationsListData(citations, context, templateData) {
653
+ const citationsPart = this.instantiationService.createInstance(ChatCodeCitationContentPart, citations, context);
654
+ return citationsPart;
655
+ }
632
656
  renderProgressTask(task, templateData, context) {
633
657
  if (!isResponseVM(context.element)) {
634
658
  return;
@@ -644,6 +668,9 @@ let ChatListItemRenderer = class ChatListItemRenderer extends Disposable {
644
668
  part.addDisposable(part.onDidChangeHeight(() => this.updateItemHeight(templateData)));
645
669
  return part;
646
670
  }
671
+ renderAttachments(variables, contentReferences, templateData) {
672
+ return this.instantiationService.createInstance(ChatAttachmentsContentPart, variables, contentReferences, undefined);
673
+ }
647
674
  renderTextEdit(context, chatTextEdit, templateData) {
648
675
  const textEditPart = this.instantiationService.createInstance(ChatTextEditContentPart, chatTextEdit, context, this.rendererOptions, this._diffEditorPool, this._currentLayoutWidth);
649
676
  textEditPart.addDisposable(textEditPart.onDidChangeHeight(() => {
@@ -22,6 +22,8 @@ const allowedHtmlTags = [
22
22
  'p',
23
23
  'pre',
24
24
  'strong',
25
+ 'sub',
26
+ 'sup',
25
27
  'table',
26
28
  'tbody',
27
29
  'td',
@@ -67,9 +67,11 @@ let ChatWidget = class ChatWidget extends Disposable {
67
67
  get scopedContextKeyService() {
68
68
  return this.contextKeyService;
69
69
  }
70
+ get location() {
71
+ return this._location.location;
72
+ }
70
73
  constructor(location, viewContext, viewOptions, styles, codeEditorService, contextKeyService, instantiationService, chatService, chatAgentService, chatWidgetService, contextMenuService, chatAccessibilityService, logService, themeService, chatSlashCommandService) {
71
74
  super();
72
- this.location = location;
73
75
  this.viewContext = viewContext;
74
76
  this.viewOptions = viewOptions;
75
77
  this.styles = styles;
@@ -84,6 +86,8 @@ let ChatWidget = class ChatWidget extends Disposable {
84
86
  this.chatSlashCommandService = chatSlashCommandService;
85
87
  this._onDidSubmitAgent = this._register(( new Emitter()));
86
88
  this.onDidSubmitAgent = this._onDidSubmitAgent.event;
89
+ this._onDidChangeAgent = this._register(( new Emitter()));
90
+ this.onDidChangeAgent = this._onDidChangeAgent.event;
87
91
  this._onDidFocus = this._register(( new Emitter()));
88
92
  this.onDidFocus = this._onDidFocus.event;
89
93
  this._onDidChangeViewModel = this._register(( new Emitter()));
@@ -94,8 +98,8 @@ let ChatWidget = class ChatWidget extends Disposable {
94
98
  this.onDidClear = this._onDidClear.event;
95
99
  this._onDidAcceptInput = this._register(( new Emitter()));
96
100
  this.onDidAcceptInput = this._onDidAcceptInput.event;
97
- this._onDidDeleteContext = this._register(( new Emitter()));
98
- this.onDidDeleteContext = this._onDidDeleteContext.event;
101
+ this._onDidChangeContext = this._register(( new Emitter()));
102
+ this.onDidChangeContext = this._onDidChangeContext.event;
99
103
  this._onDidHide = this._register(( new Emitter()));
100
104
  this.onDidHide = this._onDidHide.event;
101
105
  this._onDidChangeParsedInput = this._register(( new Emitter()));
@@ -111,8 +115,14 @@ let ChatWidget = class ChatWidget extends Disposable {
111
115
  this._visible = false;
112
116
  this.previousTreeScrollHeight = 0;
113
117
  this.viewModelDisposables = this._register(( new DisposableStore()));
118
+ if (typeof location === 'object') {
119
+ this._location = location;
120
+ }
121
+ else {
122
+ this._location = { location };
123
+ }
114
124
  CONTEXT_IN_CHAT_SESSION.bindTo(contextKeyService).set(true);
115
- CONTEXT_CHAT_LOCATION.bindTo(contextKeyService).set(location);
125
+ CONTEXT_CHAT_LOCATION.bindTo(contextKeyService).set(this._location.location);
116
126
  CONTEXT_IN_QUICK_CHAT.bindTo(contextKeyService).set('resource' in viewContext);
117
127
  this.agentInInput = CONTEXT_CHAT_INPUT_HAS_AGENT.bindTo(contextKeyService);
118
128
  this.requestInProgress = CONTEXT_CHAT_REQUEST_IN_PROGRESS.bindTo(contextKeyService);
@@ -143,8 +153,8 @@ let ChatWidget = class ChatWidget extends Disposable {
143
153
  inner.setSelection({
144
154
  startLineNumber: input.options.selection.startLineNumber,
145
155
  startColumn: input.options.selection.startColumn,
146
- endLineNumber: input.options.selection.startLineNumber ?? input.options.selection.endLineNumber,
147
- endColumn: input.options.selection.startColumn ?? input.options.selection.endColumn
156
+ endLineNumber: input.options.selection.endLineNumber ?? input.options.selection.startLineNumber,
157
+ endColumn: input.options.selection.endColumn ?? input.options.selection.startColumn
148
158
  });
149
159
  }
150
160
  return inner;
@@ -225,7 +235,7 @@ let ChatWidget = class ChatWidget extends Disposable {
225
235
  hasInputFocus() {
226
236
  return this.inputPart.hasFocus();
227
237
  }
228
- moveFocus(item, type) {
238
+ getSibling(item, type) {
229
239
  if (!isResponseVM(item)) {
230
240
  return;
231
241
  }
@@ -242,7 +252,7 @@ let ChatWidget = class ChatWidget extends Disposable {
242
252
  if (indexToFocus < 0 || indexToFocus > responseItems.length - 1) {
243
253
  return;
244
254
  }
245
- this.focus(responseItems[indexToFocus]);
255
+ return responseItems[indexToFocus];
246
256
  }
247
257
  clear() {
248
258
  if (this._dynamicMessageLayoutData) {
@@ -268,7 +278,8 @@ let ChatWidget = class ChatWidget extends Disposable {
268
278
  ((isWelcomeVM(element) && this.viewModel) ? `_${ChatModelInitState[this.viewModel.initState]}` : '') +
269
279
  `${(isRequestVM(element) || isWelcomeVM(element)) }` +
270
280
  `${isResponseVM(element) && element.renderData ? `_${this.visibleChangeCount}` : ''}` +
271
- (isResponseVM(element) ? `_${element.contentReferences.length}` : '');
281
+ (isResponseVM(element) ? `_${element.contentReferences.length}` : '') +
282
+ (isRequestVM(element) && element.contentReferences ? `_${element.contentReferences?.length}` : '');
272
283
  },
273
284
  }
274
285
  });
@@ -311,7 +322,7 @@ let ChatWidget = class ChatWidget extends Disposable {
311
322
  }
312
323
  }
313
324
  createList(listContainer, options) {
314
- const scopedInstantiationService = this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, this.contextKeyService]))));
325
+ const scopedInstantiationService = this._register(this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, this.contextKeyService])))));
315
326
  const delegate = scopedInstantiationService.createInstance(ChatListDelegate, this.viewOptions.defaultElementHeight ?? 200);
316
327
  const rendererDelegate = {
317
328
  getListLength: () => this.tree.getNode(null).visibleChildrenCount,
@@ -414,7 +425,7 @@ let ChatWidget = class ChatWidget extends Disposable {
414
425
  });
415
426
  }));
416
427
  this._register(this.inputPart.onDidFocus(() => this._onDidFocus.fire()));
417
- this._register(this.inputPart.onDidDeleteContext((e) => this._onDidDeleteContext.fire(e)));
428
+ this._register(this.inputPart.onDidChangeContext((e) => this._onDidChangeContext.fire(e)));
418
429
  this._register(this.inputPart.onDidAcceptFollowup(e => {
419
430
  if (!this.viewModel) {
420
431
  return;
@@ -443,6 +454,7 @@ let ChatWidget = class ChatWidget extends Disposable {
443
454
  sessionId: this.viewModel.sessionId,
444
455
  requestId: e.response.requestId,
445
456
  agentId: e.response.agent?.id,
457
+ command: e.response.slashCommand?.name,
446
458
  result: e.response.result,
447
459
  action: {
448
460
  kind: 'followUp',
@@ -493,6 +505,11 @@ let ChatWidget = class ChatWidget extends Disposable {
493
505
  c.setInputState(viewState.inputState?.[c.id]);
494
506
  }
495
507
  });
508
+ this.viewModelDisposables.add(model.onDidChange((e) => {
509
+ if (e.kind === 'setAgent') {
510
+ this._onDidChangeAgent.fire({ agent: e.agent, slashCommand: e.command });
511
+ }
512
+ }));
496
513
  if (this.tree) {
497
514
  this.onDidChangeItems();
498
515
  revealLastElement(this.tree);
@@ -555,12 +572,17 @@ let ChatWidget = class ChatWidget extends Disposable {
555
572
  'query' in opts ? opts.query :
556
573
  `${opts.prefix} ${editorValue}`;
557
574
  const isUserQuery = !opts || 'prefix' in opts;
558
- const result = await this.chatService.sendRequest(this.viewModel.sessionId, input, { location: this.location, parserContext: { selectedAgent: this._lastSelectedAgent }, attachedContext: [...( this.inputPart.attachedContext.values())] });
575
+ const result = await this.chatService.sendRequest(this.viewModel.sessionId, input, {
576
+ location: this.location,
577
+ locationData: this._location.resolveData?.(),
578
+ parserContext: { selectedAgent: this._lastSelectedAgent },
579
+ attachedContext: [...( this.inputPart.attachedContext.values())]
580
+ });
559
581
  if (result) {
560
- this.inputPart.attachedContext.clear();
561
582
  this.inputPart.acceptInput(isUserQuery);
562
583
  this._onDidSubmitAgent.fire({ agent: result.agent, slashCommand: result.slashCommand });
563
584
  this.inputPart.updateState(this.collectInputState());
585
+ this.inputPart.clearContext();
564
586
  result.responseCompletePromise.then(() => {
565
587
  const responses = this.viewModel?.getItems().filter(isResponseVM);
566
588
  const lastResponse = responses?.[responses.length - 1];
@@ -572,13 +594,7 @@ let ChatWidget = class ChatWidget extends Disposable {
572
594
  return undefined;
573
595
  }
574
596
  setContext(overwrite, ...contentReferences) {
575
- if (overwrite) {
576
- this.inputPart.attachedContext.clear();
577
- }
578
- this.inputPart.attachContext(...contentReferences);
579
- if (this.bodyDimension) {
580
- this.layout(this.bodyDimension.height, this.bodyDimension.width);
581
- }
597
+ this.inputPart.attachContext(overwrite, ...contentReferences);
582
598
  }
583
599
  getCodeBlockInfosForResponse(response) {
584
600
  return this.renderer.getCodeBlockInfosForResponse(response);