@codingame/monaco-vscode-api 28.4.1 → 29.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (842) hide show
  1. package/missing-services.js +232 -112
  2. package/package.json +8 -8
  3. package/services.d.ts +1 -3
  4. package/services.js +4 -6
  5. package/vscode/product.json.js +1 -1
  6. package/vscode/src/vs/base/browser/markdownRenderer.js +15 -1
  7. package/vscode/src/vs/base/browser/touch.js +1 -1
  8. package/vscode/src/vs/base/browser/ui/button/button.css +1 -0
  9. package/vscode/src/vs/base/browser/ui/dialog/dialog.css +18 -22
  10. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css +1 -0
  11. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +6 -3
  12. package/vscode/src/vs/base/browser/ui/list/listView.d.ts +4 -4
  13. package/vscode/src/vs/base/browser/ui/list/listWidget.js +1 -1
  14. package/vscode/src/vs/base/browser/ui/menu/menu.js +3 -0
  15. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +1 -1
  16. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +4 -1
  17. package/vscode/src/vs/base/browser/ui/tree/compressedObjectTreeModel.js +8 -2
  18. package/vscode/src/vs/base/common/async.d.ts +4 -4
  19. package/vscode/src/vs/base/common/codicons.d.ts +1 -0
  20. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +1 -0
  21. package/vscode/src/vs/base/common/codiconsLibrary.js +1 -0
  22. package/vscode/src/vs/base/common/event.d.ts +14 -2
  23. package/vscode/src/vs/base/common/event.js +10 -5
  24. package/vscode/src/vs/base/common/htmlContent.d.ts +2 -2
  25. package/vscode/src/vs/base/common/htmlContent.js +1 -1
  26. package/vscode/src/vs/base/common/lifecycle.d.ts +1 -1
  27. package/vscode/src/vs/base/common/network.d.ts +2 -0
  28. package/vscode/src/vs/base/common/network.js +1 -0
  29. package/vscode/src/vs/base/common/observableInternal/index.d.ts +1 -1
  30. package/vscode/src/vs/base/common/product.d.ts +1 -0
  31. package/vscode/src/vs/base/common/resources.d.ts +2 -2
  32. package/vscode/src/vs/base/common/resources.js +2 -2
  33. package/vscode/src/vs/base/parts/request/common/request.d.ts +5 -0
  34. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +2 -1
  35. package/vscode/src/vs/editor/browser/controller/pointerHandler.js +1 -1
  36. package/vscode/src/vs/editor/browser/observableCodeEditor.js +3 -3
  37. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.d.ts +2 -2
  38. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +27 -22
  39. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +10 -2
  40. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -1
  41. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +1 -1
  42. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +1 -1
  43. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +1 -1
  44. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.js +2 -2
  45. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +4 -0
  46. package/vscode/src/vs/editor/common/config/editorOptions.js +364 -357
  47. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +72 -72
  48. package/vscode/src/vs/editor/common/core/ranges/offsetRange.d.ts +1 -1
  49. package/vscode/src/vs/editor/common/editorContextKeys.js +49 -49
  50. package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
  51. package/vscode/src/vs/editor/common/languages.js +56 -56
  52. package/vscode/src/vs/editor/common/model/editStack.js +1 -1
  53. package/vscode/src/vs/editor/common/model/textModel.d.ts +2 -2
  54. package/vscode/src/vs/editor/common/model/textModel.js +7 -33
  55. package/vscode/src/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js +1 -1
  56. package/vscode/src/vs/editor/common/model/tokens/treeSitter/treeSitterTree.js +1 -1
  57. package/vscode/src/vs/editor/common/model.d.ts +1 -1
  58. package/vscode/src/vs/editor/common/modelLineProjectionData.d.ts +6 -2
  59. package/vscode/src/vs/editor/common/standaloneStrings.js +50 -50
  60. package/vscode/src/vs/editor/common/textModelEvents.d.ts +2 -18
  61. package/vscode/src/vs/editor/common/textModelEvents.js +2 -6
  62. package/vscode/src/vs/editor/common/viewLayout/lineHeights.js +38 -15
  63. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  64. package/vscode/src/vs/editor/common/viewModel/minimapTokensColorTracker.js +4 -1
  65. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.d.ts +2 -2
  66. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +8 -8
  67. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +2 -2
  68. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +6 -15
  69. package/vscode/src/vs/editor/common/viewModel/viewModelLines.d.ts +3 -3
  70. package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +12 -12
  71. package/vscode/src/vs/editor/common/viewModel.d.ts +2 -2
  72. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  73. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  74. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  75. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  76. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  77. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  78. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +18 -18
  79. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  80. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  81. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  82. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  83. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  84. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  85. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  86. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
  87. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  88. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +6 -6
  89. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +17 -10
  90. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  91. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  92. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
  93. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +5 -5
  94. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  95. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  96. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  97. package/vscode/src/vs/editor/contrib/find/browser/findController.js +39 -18
  98. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +28 -28
  99. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -20
  100. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  101. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  102. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  103. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  104. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +13 -13
  105. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +33 -33
  106. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  107. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  108. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  109. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  110. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  111. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  112. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  113. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  114. package/vscode/src/vs/editor/contrib/hover/browser/hover.css +1 -0
  115. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
  116. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  117. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +22 -22
  118. package/vscode/src/vs/editor/contrib/hover/browser/hoverCopyButton.js +2 -2
  119. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +7 -7
  120. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.d.ts +5 -1
  121. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +46 -7
  122. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  123. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +18 -18
  124. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +5 -5
  125. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +21 -21
  126. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +13 -13
  127. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +2 -2
  128. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  129. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
  130. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +1 -1
  131. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +2 -2
  132. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +1 -1
  133. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +2 -2
  134. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/suggestWidgetAdapter.js +5 -0
  135. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +6 -6
  136. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +4 -4
  137. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js +1 -1
  138. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +1 -1
  139. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +3 -3
  140. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js +1 -1
  141. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  142. package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  143. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  144. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +31 -31
  145. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  146. package/vscode/src/vs/editor/contrib/links/browser/links.js +6 -6
  147. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  148. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  149. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.css +6 -0
  150. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  151. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  152. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  153. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  154. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +1 -1
  155. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +11 -11
  156. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  157. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  158. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +11 -11
  159. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +6 -6
  160. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  161. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  162. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  163. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css +1 -1
  164. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  165. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +9 -9
  166. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +11 -11
  167. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.d.ts +2 -0
  168. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +70 -7
  169. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
  170. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  171. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  172. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  173. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  174. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  175. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  176. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  177. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  178. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  179. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  180. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  181. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
  182. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  183. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  184. package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +108 -22
  185. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +466 -130
  186. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +54 -3
  187. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +13 -13
  188. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +3 -3
  189. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -2
  190. package/vscode/src/vs/platform/actions/common/actions.d.ts +4 -0
  191. package/vscode/src/vs/platform/actions/common/actions.js +12 -0
  192. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  193. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  194. package/vscode/src/vs/platform/browserView/common/browserView.d.ts +348 -0
  195. package/vscode/src/vs/platform/browserView/common/cdp/types.d.ts +153 -0
  196. package/vscode/src/vs/platform/browserView/common/playwrightService.service.d.ts +91 -0
  197. package/vscode/src/vs/platform/configuration/common/configuration.d.ts +1 -0
  198. package/vscode/src/vs/platform/configuration/common/configuration.js +6 -1
  199. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +10 -10
  200. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  201. package/vscode/src/vs/platform/contextkey/common/contextkey.js +10 -10
  202. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  203. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  204. package/vscode/src/vs/platform/dialogs/common/dialogs.js +9 -9
  205. package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
  206. package/vscode/src/vs/platform/download/common/download.service.d.ts +1 -1
  207. package/vscode/src/vs/platform/editor/common/editor.d.ts +18 -0
  208. package/vscode/src/vs/platform/environment/common/argv.d.ts +5 -0
  209. package/vscode/src/vs/platform/environment/common/environment.service.d.ts +1 -0
  210. package/vscode/src/vs/platform/environment/common/environmentService.d.ts +1 -0
  211. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +14 -14
  212. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  213. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +7 -7
  214. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +21 -21
  215. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +10 -0
  216. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +12 -2
  217. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  218. package/vscode/src/vs/platform/files/common/files.js +6 -6
  219. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  220. package/vscode/src/vs/platform/hover/browser/hover.css +4 -0
  221. package/vscode/src/vs/platform/hover/browser/hoverWidget.js +4 -1
  222. package/vscode/src/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
  223. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
  224. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +2 -0
  225. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.js +54 -5
  226. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +1 -1
  227. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +3 -3
  228. package/vscode/src/vs/platform/list/browser/listService.js +25 -25
  229. package/vscode/src/vs/platform/log/common/log.js +6 -6
  230. package/vscode/src/vs/platform/markers/common/markerService.js +2 -2
  231. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  232. package/vscode/src/vs/platform/mcp/common/mcpManagementService.js +1 -1
  233. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.config.contribution.js +5 -5
  234. package/vscode/src/vs/platform/notification/common/notification.js +3 -3
  235. package/vscode/src/vs/platform/product/common/product.js +3 -3
  236. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +10 -10
  237. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  238. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +6 -6
  239. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +20 -6
  240. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  241. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +2 -2
  242. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  243. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeController.js +10 -3
  244. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.d.ts +8 -0
  245. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js +6 -1
  246. package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +1 -1
  247. package/vscode/src/vs/platform/remote/common/remoteAgentEnvironment.d.ts +1 -0
  248. package/vscode/src/vs/platform/request/common/request.d.ts +13 -0
  249. package/vscode/src/vs/platform/request/common/request.js +42 -20
  250. package/vscode/src/vs/platform/request/common/request.service.d.ts +6 -1
  251. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +10 -5
  252. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +12 -2
  253. package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +31 -31
  254. package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +1 -1
  255. package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
  256. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +18 -18
  257. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  258. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +95 -95
  259. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +48 -48
  260. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  261. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +7 -7
  262. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  263. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +16 -16
  264. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  265. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  266. package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
  267. package/vscode/src/vs/platform/theme/common/sizes/baseSizes.js +11 -11
  268. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -42
  269. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  270. package/vscode/src/vs/platform/update/common/update.d.ts +8 -6
  271. package/vscode/src/vs/platform/update/common/update.js +6 -6
  272. package/vscode/src/vs/platform/url/common/urlGlob.js +5 -3
  273. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  274. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +2 -2
  275. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +2 -2
  276. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +1 -1
  277. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  278. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +1 -1
  279. package/vscode/src/vs/platform/userDataSync/common/userDataSyncStoreService.js +24 -12
  280. package/vscode/src/vs/platform/workspace/common/workspace.js +1 -1
  281. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +15 -14
  282. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +53 -8
  283. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +100 -21
  284. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +4 -2
  285. package/vscode/src/vs/workbench/api/common/extHostApiDeprecationService.d.ts +6 -2
  286. package/vscode/src/vs/workbench/api/common/extHostApiDeprecationService.js +7 -5
  287. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -5
  288. package/vscode/src/vs/workbench/api/common/extHostBrowsers.d.ts +30 -0
  289. package/vscode/src/vs/workbench/api/common/extHostBrowsers.js +211 -0
  290. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +11 -4
  291. package/vscode/src/vs/workbench/api/common/extHostChatDebug.d.ts +10 -0
  292. package/vscode/src/vs/workbench/api/common/extHostChatDebug.js +132 -1
  293. package/vscode/src/vs/workbench/api/common/extHostChatSessions.d.ts +7 -8
  294. package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +81 -33
  295. package/vscode/src/vs/workbench/api/common/extHostCommands.d.ts +1 -1
  296. package/vscode/src/vs/workbench/api/common/extHostConsoleForwarder.d.ts +1 -1
  297. package/vscode/src/vs/workbench/api/common/extHostConsoleForwarder.js +3 -3
  298. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  299. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -3
  300. package/vscode/src/vs/workbench/api/common/extHostFileSystemConsumer.d.ts +1 -1
  301. package/vscode/src/vs/workbench/api/common/extHostGitExtensionService.d.ts +5 -1
  302. package/vscode/src/vs/workbench/api/common/extHostGitExtensionService.js +107 -7
  303. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +11 -11
  304. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +17 -7
  305. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.d.ts +2 -2
  306. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +5 -3
  307. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  308. package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +7 -1
  309. package/vscode/src/vs/workbench/api/common/extHostMcp.js +30 -3
  310. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  311. package/vscode/src/vs/workbench/api/common/extHostSCM.js +3 -3
  312. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +2 -2
  313. package/vscode/src/vs/workbench/api/common/extHostTask.js +3 -0
  314. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -1
  315. package/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +3 -1
  316. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +21 -6
  317. package/vscode/src/vs/workbench/api/common/extHostTimeline.js +1 -1
  318. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +2 -2
  319. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +2 -1
  320. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +22 -5
  321. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +22 -0
  322. package/vscode/src/vs/workbench/api/common/extHostTypes.js +19 -1
  323. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +3 -1
  324. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +11 -11
  325. package/vscode/src/vs/workbench/api/worker/extHostConsoleForwarder.d.ts +1 -1
  326. package/vscode/src/vs/workbench/browser/actions/developerActions.js +32 -32
  327. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +130 -130
  328. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  329. package/vscode/src/vs/workbench/browser/actions/windowActions.js +29 -29
  330. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +21 -21
  331. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +4 -4
  332. package/vscode/src/vs/workbench/browser/editor.js +2 -2
  333. package/vscode/src/vs/workbench/browser/labels.js +4 -4
  334. package/vscode/src/vs/workbench/browser/media/style.css +21 -0
  335. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +23 -23
  336. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +26 -26
  337. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +4 -4
  338. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +1 -1
  339. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +9 -9
  340. package/vscode/src/vs/workbench/browser/parts/compositePart.js +3 -3
  341. package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.js +1 -1
  342. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +3 -3
  343. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +1 -1
  344. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
  345. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +37 -37
  346. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +12 -12
  347. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +1 -1
  348. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +7 -7
  349. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +135 -135
  350. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +28 -28
  351. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +1 -1
  352. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +7 -7
  353. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +12 -12
  354. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +2 -2
  355. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.d.ts +1 -1
  356. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +8 -2
  357. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.d.ts +17 -0
  358. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +37 -5
  359. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +10 -10
  360. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +5 -5
  361. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +66 -66
  362. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +2 -2
  363. package/vscode/src/vs/workbench/browser/parts/editor/media/editorgroupview.css +5 -0
  364. package/vscode/src/vs/workbench/browser/parts/editor/media/modalEditorPart.css +16 -5
  365. package/vscode/src/vs/workbench/browser/parts/editor/modalEditorPart.d.ts +18 -4
  366. package/vscode/src/vs/workbench/browser/parts/editor/modalEditorPart.js +322 -56
  367. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +1 -1
  368. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
  369. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -1
  370. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +3 -3
  371. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +1 -1
  372. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +19 -19
  373. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsCenter.css +1 -1
  374. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsToasts.css +1 -1
  375. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +22 -22
  376. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +3 -3
  377. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +6 -6
  378. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +13 -13
  379. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +6 -6
  380. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +13 -13
  381. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +2 -2
  382. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +4 -4
  383. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +4 -4
  384. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +3 -3
  385. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +27 -27
  386. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +3 -3
  387. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarActions.js +2 -2
  388. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +1 -1
  389. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +18 -18
  390. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +15 -15
  391. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +2 -2
  392. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +1 -1
  393. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +7 -7
  394. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +4 -4
  395. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +5 -5
  396. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +6 -6
  397. package/vscode/src/vs/workbench/browser/quickaccess.js +1 -1
  398. package/vscode/src/vs/workbench/browser/window.js +14 -14
  399. package/vscode/src/vs/workbench/browser/workbench.contribution.js +251 -252
  400. package/vscode/src/vs/workbench/common/configuration.js +9 -9
  401. package/vscode/src/vs/workbench/common/contextkeys.js +77 -77
  402. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +1 -1
  403. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +1 -1
  404. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +1 -1
  405. package/vscode/src/vs/workbench/common/editor.d.ts +6 -1
  406. package/vscode/src/vs/workbench/common/editor.js +5 -4
  407. package/vscode/src/vs/workbench/common/theme.js +161 -161
  408. package/vscode/src/vs/workbench/common/views.d.ts +6 -0
  409. package/vscode/src/vs/workbench/common/views.js +4 -4
  410. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +154 -154
  411. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  412. package/vscode/src/vs/workbench/contrib/browserView/common/browserView.d.ts +182 -0
  413. package/vscode/src/vs/workbench/contrib/browserView/common/browserView.service.d.ts +55 -0
  414. package/vscode/src/vs/workbench/contrib/browserView/common/browserView.service.js +7 -0
  415. package/vscode/src/vs/workbench/contrib/browserView/common/browserZoomService.d.ts +55 -0
  416. package/vscode/src/vs/workbench/contrib/browserView/common/browserZoomService.service.d.ts +45 -0
  417. package/vscode/src/vs/workbench/contrib/browserView/common/browserZoomService.service.js +6 -0
  418. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.d.ts +1 -0
  419. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +101 -63
  420. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +26 -3
  421. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +23 -16
  422. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.d.ts +24 -16
  423. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +90 -42
  424. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service.d.ts +2 -0
  425. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.d.ts +78 -0
  426. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.js +32 -0
  427. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +1 -1
  428. package/vscode/src/vs/workbench/contrib/chat/browser/chat.d.ts +3 -5
  429. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +7 -7
  430. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.service.d.ts +13 -0
  431. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.service.js +6 -0
  432. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageUtils.js +7 -0
  433. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +10 -13
  434. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.d.ts +7 -2
  435. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +104 -84
  436. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.d.ts +49 -0
  437. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.js +29 -0
  438. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service.d.ts +1 -1
  439. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.d.ts +7 -4
  440. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +11 -7
  441. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.d.ts +215 -0
  442. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.js +17 -0
  443. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.service.d.ts +24 -1
  444. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.d.ts +50 -1
  445. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +44 -5
  446. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +91 -23
  447. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.service.d.ts +16 -5
  448. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +98 -57
  449. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.js +30 -5
  450. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +41 -32
  451. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +6 -1
  452. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +5 -0
  453. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.d.ts +159 -0
  454. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.js +157 -0
  455. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.service.d.ts +39 -0
  456. package/vscode/src/vs/workbench/contrib/chat/common/customizationHarnessService.service.js +6 -0
  457. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +2 -2
  458. package/vscode/src/vs/workbench/contrib/chat/common/enablement.d.ts +35 -0
  459. package/vscode/src/vs/workbench/contrib/chat/common/enablement.js +102 -0
  460. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +3 -3
  461. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +33 -11
  462. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +271 -36
  463. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.service.d.ts +25 -4
  464. package/vscode/src/vs/workbench/contrib/chat/common/languageModelsConfiguration.d.ts +1 -0
  465. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +14 -5
  466. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +63 -45
  467. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatQuestionCarouselData.d.ts +10 -5
  468. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatQuestionCarouselData.js +6 -2
  469. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +5 -2
  470. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +5 -2
  471. package/vscode/src/vs/workbench/contrib/chat/common/model/chatUri.d.ts +1 -0
  472. package/vscode/src/vs/workbench/contrib/chat/common/model/chatUri.js +4 -1
  473. package/vscode/src/vs/workbench/contrib/chat/common/model/chatViewModel.js +8 -6
  474. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.d.ts +2 -0
  475. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.d.ts +2 -0
  476. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.service.d.ts +18 -4
  477. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.service.d.ts +2 -3
  478. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginInstallService.d.ts +20 -0
  479. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginInstallService.service.d.ts +30 -1
  480. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.service.d.ts +28 -1
  481. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginSource.d.ts +5 -2
  482. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.service.d.ts +17 -0
  483. package/vscode/src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.service.js +6 -0
  484. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +9 -8
  485. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +36 -24
  486. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.d.ts +4 -0
  487. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.js +1 -0
  488. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.d.ts +13 -1
  489. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.js +23 -17
  490. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.js +18 -18
  491. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookTypes.js +20 -20
  492. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptFileAttributes.js +79 -79
  493. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.js +1 -1
  494. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.d.ts +20 -0
  495. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +6 -1
  496. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +16 -9
  497. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +1 -0
  498. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +1 -8
  499. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.js +4 -4
  500. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.d.ts +5 -2
  501. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.js +47 -63
  502. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.d.ts +19 -0
  503. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.js +115 -1
  504. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/editFileTool.js +2 -1
  505. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +12 -9
  506. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.d.ts +3 -0
  507. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +39 -11
  508. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.d.ts +13 -0
  509. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/setArtifactsTool.js +103 -0
  510. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.d.ts +2 -1
  511. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.js +28 -10
  512. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.service.d.ts +13 -0
  513. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.service.js +6 -0
  514. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.d.ts +13 -0
  515. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.js +11 -0
  516. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +29 -29
  517. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.d.ts +13 -3
  518. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +3 -3
  519. package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.js +1 -1
  520. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +11 -11
  521. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  522. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  523. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +4 -4
  524. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +10 -10
  525. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
  526. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  527. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +6 -6
  528. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  529. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  530. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +3 -3
  531. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  532. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  533. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +5 -5
  534. package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +65 -65
  535. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
  536. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +7 -7
  537. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +2 -2
  538. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +3 -3
  539. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +3 -3
  540. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -3
  541. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +3 -3
  542. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  543. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  544. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +7 -7
  545. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +1 -1
  546. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +9 -9
  547. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +14 -14
  548. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +16 -16
  549. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
  550. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +12 -12
  551. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +3 -3
  552. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +1 -1
  553. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +29 -29
  554. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +14 -14
  555. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +75 -75
  556. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +2 -2
  557. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +6 -6
  558. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
  559. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +38 -38
  560. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +2 -2
  561. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +3 -3
  562. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
  563. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -3
  564. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +4 -4
  565. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +2 -2
  566. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +18 -18
  567. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +5 -5
  568. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +9 -9
  569. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +1 -1
  570. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +7 -5
  571. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +69 -66
  572. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +8 -6
  573. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
  574. package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.d.ts +4 -1
  575. package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +26 -1
  576. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
  577. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +1 -1
  578. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
  579. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
  580. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
  581. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +18 -18
  582. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +1 -1
  583. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +1 -1
  584. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +42 -42
  585. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +1 -1
  586. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +15 -15
  587. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +14 -14
  588. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +160 -152
  589. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +170 -170
  590. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +1 -1
  591. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +1 -1
  592. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +5 -5
  593. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +25 -25
  594. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +4 -4
  595. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +7 -7
  596. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +47 -47
  597. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +7 -7
  598. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +30 -30
  599. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +76 -76
  600. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +2 -2
  601. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionEditor.css +4 -2
  602. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +1 -1
  603. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +2 -2
  604. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +1 -1
  605. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
  606. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -2
  607. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +3 -3
  608. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +2 -2
  609. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +3 -3
  610. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
  611. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -3
  612. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
  613. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
  614. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +18 -18
  615. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +14 -14
  616. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +39 -39
  617. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +84 -84
  618. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +4 -4
  619. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +2 -2
  620. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  621. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +27 -27
  622. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +50 -50
  623. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  624. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  625. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +4 -4
  626. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +7 -7
  627. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +17 -17
  628. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +7 -7
  629. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
  630. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
  631. package/vscode/src/vs/workbench/contrib/files/common/files.js +16 -16
  632. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  633. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  634. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  635. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  636. package/vscode/src/vs/workbench/contrib/git/browser/gitService.d.ts +3 -1
  637. package/vscode/src/vs/workbench/contrib/git/browser/gitService.js +6 -0
  638. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  639. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.service.d.ts +10 -0
  640. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.service.js +6 -0
  641. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.service.d.ts +1 -1
  642. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  643. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  644. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +66 -66
  645. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.d.ts +36 -0
  646. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.js +201 -34
  647. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.js +37 -35
  648. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditorInput.js +2 -2
  649. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.js +5 -5
  650. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.js +5 -5
  651. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +40 -40
  652. package/vscode/src/vs/workbench/contrib/mcp/common/mcpGatewayService.d.ts +14 -2
  653. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.d.ts +3 -1
  654. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +20 -18
  655. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +6 -2
  656. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +7 -5
  657. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.d.ts +3 -0
  658. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +4 -4
  659. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +23 -23
  660. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +3 -3
  661. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +8 -8
  662. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnection.contribution.js +8 -8
  663. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnectionStatus.js +4 -4
  664. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
  665. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +4 -4
  666. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +1 -1
  667. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +17 -17
  668. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  669. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +6 -6
  670. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
  671. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
  672. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  673. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  674. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  675. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  676. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  677. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  678. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +3 -3
  679. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +7 -7
  680. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +24 -24
  681. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
  682. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -5
  683. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +7 -7
  684. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  685. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +4 -4
  686. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +1 -1
  687. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +3 -3
  688. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
  689. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +2 -2
  690. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +4 -4
  691. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +1 -1
  692. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +14 -14
  693. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +2 -2
  694. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +1 -1
  695. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -2
  696. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +3 -3
  697. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +13 -13
  698. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +10 -10
  699. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +63 -59
  700. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.d.ts +1 -0
  701. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +2 -2
  702. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +3 -3
  703. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
  704. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +15 -15
  705. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
  706. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +59 -59
  707. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +11 -11
  708. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +6 -6
  709. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +14 -14
  710. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +9 -9
  711. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +3 -3
  712. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +1 -1
  713. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +12 -12
  714. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +9 -9
  715. package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +5 -5
  716. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +1 -1
  717. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +20 -20
  718. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +2 -2
  719. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +14 -14
  720. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +55 -55
  721. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +11 -11
  722. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
  723. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +4 -4
  724. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +5 -5
  725. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  726. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  727. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  728. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  729. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
  730. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  731. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +6 -6
  732. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.d.ts +3 -2
  733. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +5 -4
  734. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +3 -3
  735. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +13 -13
  736. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +40 -40
  737. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +15 -15
  738. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +10 -10
  739. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
  740. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +17 -17
  741. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
  742. package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.d.ts +5 -1
  743. package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.js +4 -0
  744. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +2 -2
  745. package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +2 -2
  746. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.d.ts +5 -1
  747. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +116 -95
  748. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.service.d.ts +4 -0
  749. package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +1 -1
  750. package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +1 -1
  751. package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +1 -1
  752. package/vscode/src/vs/workbench/contrib/terminalContrib/notification/common/terminalNotificationConfiguration.js +1 -1
  753. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +3 -3
  754. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +30 -30
  755. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +5 -5
  756. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +2 -2
  757. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  758. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
  759. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  760. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
  761. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +3 -3
  762. package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindAccessibilityHelp.js +30 -30
  763. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
  764. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
  765. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +28 -6
  766. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +11 -11
  767. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +5 -5
  768. package/vscode/src/vs/workbench/services/browserElements/browser/browserElementsService.service.d.ts +1 -0
  769. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +19 -17
  770. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
  771. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
  772. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  773. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +15 -0
  774. package/vscode/src/vs/workbench/services/editor/common/editorGroupFinder.d.ts +12 -19
  775. package/vscode/src/vs/workbench/services/editor/common/editorGroupFinder.js +12 -6
  776. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +22 -6
  777. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  778. package/vscode/src/vs/workbench/services/environment/browser/environmentService.js +1 -1
  779. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +3 -3
  780. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +6 -6
  781. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +10 -10
  782. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +2 -2
  783. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.d.ts +2 -2
  784. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +90 -90
  785. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +5 -5
  786. package/vscode/src/vs/workbench/services/language/common/languageService.js +24 -24
  787. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -1
  788. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +1 -0
  789. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  790. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
  791. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +7 -7
  792. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +1 -1
  793. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.d.ts +1 -1
  794. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +4 -4
  795. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.d.ts +137 -0
  796. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +1079 -0
  797. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.d.ts +11 -0
  798. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +359 -0
  799. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  800. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +6 -6
  801. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  802. package/vscode/src/vs/workbench/services/search/common/search.d.ts +1 -1
  803. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +9 -9
  804. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +3 -3
  805. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +18 -18
  806. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +8 -8
  807. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  808. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +24 -24
  809. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.d.ts +8 -4
  810. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.js +14 -7
  811. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +3 -3
  812. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  813. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
  814. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +16 -16
  815. package/vscode-dts/vscode.proposed.authIssuers.d.ts +2 -2
  816. package/vscode-dts/vscode.proposed.browser.d.ts +92 -0
  817. package/vscode-dts/vscode.proposed.chatDebug.d.ts +136 -2
  818. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +6 -0
  819. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +7 -0
  820. package/vscode-dts/vscode.proposed.chatProvider.d.ts +51 -0
  821. package/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts +52 -3
  822. package/vscode-dts/vscode.proposed.d.ts +3 -0
  823. package/vscode-dts/vscode.proposed.findFiles2.d.ts +6 -0
  824. package/vscode-dts/vscode.proposed.findTextInFiles2.d.ts +6 -0
  825. package/vscode-dts/vscode.proposed.mcpServerDefinitions.d.ts +36 -10
  826. package/vscode-dts/vscode.proposed.taskRunOptions.d.ts +34 -0
  827. package/vscode-dts/vscode.proposed.toolInvocationApproveCombination.d.ts +22 -0
  828. package/vscode/src/vs/base/common/parsers.d.ts +0 -32
  829. package/vscode/src/vs/base/common/parsers.js +0 -54
  830. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.service.d.ts +0 -47
  831. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.service.js +0 -6
  832. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTargetPicker.d.ts +0 -73
  833. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.service.d.ts +0 -37
  834. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.service.js +0 -6
  835. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.service.d.ts +0 -47
  836. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.service.js +0 -6
  837. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/resolveDebugEventDetailsTool.d.ts +0 -11
  838. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/resolveDebugEventDetailsTool.js +0 -205
  839. package/vscode/src/vs/workbench/contrib/tasks/common/problemMatcher.d.ts +0 -433
  840. package/vscode/src/vs/workbench/contrib/tasks/common/problemMatcher.js +0 -1637
  841. package/vscode/src/vs/workbench/contrib/tasks/common/taskConfiguration.d.ts +0 -514
  842. package/vscode/src/vs/workbench/contrib/tasks/common/taskConfiguration.js +0 -1796
@@ -1,18 +1,19 @@
1
1
 
2
2
  import { registerCss } from '../../../../../../css.js';
3
3
  import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
4
- import { createElement, setVisibility, clearNode, addDisposableListener, isActiveElement, getWindow, isHTMLElement } from '../../../base/browser/dom.js';
4
+ import { createElement, setVisibility, clearNode, addDisposableListener, append, $, EventHelper, isActiveElement, isMouseEvent, isHTMLElement, getWindow } from '../../../base/browser/dom.js';
5
5
  import { renderMarkdown } from '../../../base/browser/markdownRenderer.js';
6
6
  import { ActionBar } from '../../../base/browser/ui/actionbar/actionbar.js';
7
7
  import { getAnchorRect } from '../../../base/browser/ui/contextview/contextview.js';
8
8
  import { KeybindingLabel } from '../../../base/browser/ui/keybindingLabel/keybindingLabel.js';
9
9
  import { List } from '../../../base/browser/ui/list/listWidget.js';
10
- import { toAction } from '../../../base/common/actions.js';
10
+ import { toAction, SubmenuAction } from '../../../base/common/actions.js';
11
11
  import { CancellationTokenSource } from '../../../base/common/cancellation.js';
12
12
  import { Codicon } from '../../../base/common/codicons.js';
13
+ import { Emitter } from '../../../base/common/event.js';
13
14
  import { MarkdownString } from '../../../base/common/htmlContent.js';
14
15
  import { AnchorPosition } from '../../../base/common/layout.js';
15
- import { DisposableStore, Disposable, MutableDisposable } from '../../../base/common/lifecycle.js';
16
+ import { DisposableStore, Disposable, MutableDisposable, toDisposable } from '../../../base/common/lifecycle.js';
16
17
  import { OS } from '../../../base/common/platform.js';
17
18
  import { ThemeIcon } from '../../../base/common/themables.js';
18
19
  import { URI } from '../../../base/common/uri.js';
@@ -34,9 +35,11 @@ import '../../theme/common/colors/miscColors.js';
34
35
  import '../../theme/common/colors/quickpickColors.js';
35
36
  import '../../theme/common/colors/searchColors.js';
36
37
  import { ILayoutService } from '../../layout/browser/layoutService.service.js';
38
+ import { IInstantiationService } from '../../instantiation/common/instantiation.js';
37
39
  import { IHoverService } from '../../hover/browser/hover.service.js';
38
40
  import { HoverPosition } from '../../../base/browser/ui/hover/hoverWidget.js';
39
41
 
42
+ var ActionListWidget_1;
40
43
  registerCss(actionWidget);
41
44
  const acceptSelectedActionCommand = "acceptSelectedCodeAction";
42
45
  const previewSelectedActionCommand = "previewSelectedCodeAction";
@@ -86,9 +89,18 @@ let ActionItemRenderer = class ActionItemRenderer {
86
89
  get templateId() {
87
90
  return ActionListItemKind.Action;
88
91
  }
89
- constructor(_supportsPreview, _onRemoveItem, _keybindingService, _openerService) {
92
+ constructor(
93
+ _supportsPreview,
94
+ _onRemoveItem,
95
+ _hasAnySubmenuActions,
96
+ _linkHandler,
97
+ _keybindingService,
98
+ _openerService
99
+ ) {
90
100
  this._supportsPreview = _supportsPreview;
91
101
  this._onRemoveItem = _onRemoveItem;
102
+ this._hasAnySubmenuActions = _hasAnySubmenuActions;
103
+ this._linkHandler = _linkHandler;
92
104
  this._keybindingService = _keybindingService;
93
105
  this._openerService = _openerService;
94
106
  }
@@ -110,6 +122,9 @@ let ActionItemRenderer = class ActionItemRenderer {
110
122
  const toolbar = createElement("div");
111
123
  toolbar.className = "action-list-item-toolbar";
112
124
  container.append(toolbar);
125
+ const submenuIndicator = createElement("div");
126
+ submenuIndicator.className = "action-list-submenu-indicator";
127
+ container.append(submenuIndicator);
113
128
  const elementDisposables = ( new DisposableStore());
114
129
  return {
115
130
  container,
@@ -119,6 +134,7 @@ let ActionItemRenderer = class ActionItemRenderer {
119
134
  description,
120
135
  keybinding,
121
136
  toolbar,
137
+ submenuIndicator,
122
138
  elementDisposables
123
139
  };
124
140
  }
@@ -164,9 +180,14 @@ let ActionItemRenderer = class ActionItemRenderer {
164
180
  } else {
165
181
  const rendered = renderMarkdown(element.description, {
166
182
  actionHandler: content => {
167
- this._openerService.open(( URI.parse(content)), {
168
- allowCommands: true
169
- });
183
+ const uri = ( URI.parse(content));
184
+ if (this._linkHandler) {
185
+ this._linkHandler(uri, element);
186
+ } else {
187
+ void this._openerService.open(uri, {
188
+ allowCommands: true
189
+ });
190
+ }
170
191
  }
171
192
  });
172
193
  data.elementDisposables.add(rendered);
@@ -188,9 +209,9 @@ let ActionItemRenderer = class ActionItemRenderer {
188
209
  data.container.title = element.label;
189
210
  } else if (actionTitle && previewTitle) {
190
211
  if (this._supportsPreview && element.canPreview) {
191
- data.container.title = ( localize(1773, "{0} to Apply, {1} to Preview", actionTitle, previewTitle));
212
+ data.container.title = ( localize(1778, "{0} to Apply, {1} to Preview", actionTitle, previewTitle));
192
213
  } else {
193
- data.container.title = ( localize(1774, "{0} to Apply", actionTitle));
214
+ data.container.title = ( localize(1779, "{0} to Apply", actionTitle));
194
215
  }
195
216
  } else {
196
217
  data.container.title = "";
@@ -200,7 +221,7 @@ let ActionItemRenderer = class ActionItemRenderer {
200
221
  if (element.onRemove) {
201
222
  toolbarActions.push(toAction({
202
223
  id: "actionList.remove",
203
- label: ( localize(1775, "Remove")),
224
+ label: ( localize(1780, "Remove")),
204
225
  class: ThemeIcon.asClassName(Codicon.close),
205
226
  run: () => {
206
227
  element.onRemove();
@@ -217,13 +238,23 @@ let ActionItemRenderer = class ActionItemRenderer {
217
238
  label: false
218
239
  });
219
240
  }
241
+ const hasSubmenu = !!element.submenuActions?.length;
242
+ if (hasSubmenu) {
243
+ data.submenuIndicator.className = "action-list-submenu-indicator has-submenu " + ThemeIcon.asClassName(Codicon.chevronRight);
244
+ data.submenuIndicator.style.display = "";
245
+ } else if (this._hasAnySubmenuActions) {
246
+ data.submenuIndicator.className = "action-list-submenu-indicator";
247
+ data.submenuIndicator.style.display = "";
248
+ } else {
249
+ data.submenuIndicator.style.display = "none";
250
+ }
220
251
  }
221
252
  disposeTemplate(templateData) {
222
253
  templateData.keybinding.dispose();
223
254
  templateData.elementDisposables.dispose();
224
255
  }
225
256
  };
226
- ActionItemRenderer = ( __decorate([( __param(2, IKeybindingService)), ( __param(3, IOpenerService))], ActionItemRenderer));
257
+ ActionItemRenderer = ( __decorate([( __param(4, IKeybindingService)), ( __param(5, IOpenerService))], ActionItemRenderer));
227
258
  class AcceptSelectedEvent extends UIEvent {
228
259
  constructor() {
229
260
  super("acceptSelectedAction");
@@ -240,13 +271,7 @@ function getKeyboardNavigationLabel(item) {
240
271
  }
241
272
  return undefined;
242
273
  }
243
- let ActionList = class ActionList extends Disposable {
244
- get anchorPosition() {
245
- if (this._showAbove === undefined) {
246
- return undefined;
247
- }
248
- return this._showAbove ? AnchorPosition.ABOVE : AnchorPosition.BELOW;
249
- }
274
+ let ActionListWidget = ActionListWidget_1 = class ActionListWidget extends Disposable {
250
275
  constructor(
251
276
  user,
252
277
  preview,
@@ -254,37 +279,48 @@ let ActionList = class ActionList extends Disposable {
254
279
  _delegate,
255
280
  accessibilityProvider,
256
281
  _options,
257
- _anchor,
258
- _contextViewService,
259
282
  _keybindingService,
260
- _layoutService,
261
283
  _hoverService,
262
- _openerService
284
+ _openerService,
285
+ _instantiationService
263
286
  ) {
264
287
  super();
265
288
  this._delegate = _delegate;
266
289
  this._options = _options;
267
- this._anchor = _anchor;
268
- this._contextViewService = _contextViewService;
269
290
  this._keybindingService = _keybindingService;
270
- this._layoutService = _layoutService;
271
291
  this._hoverService = _hoverService;
272
292
  this._openerService = _openerService;
293
+ this._instantiationService = _instantiationService;
273
294
  this._headerLineHeight = 24;
274
295
  this._separatorLineHeight = 8;
275
296
  this.cts = this._register(( new CancellationTokenSource()));
276
297
  this._hover = this._register(( new MutableDisposable()));
298
+ this._submenuDisposables = this._register(( new DisposableStore()));
277
299
  this._collapsedSections = ( new Set());
278
300
  this._filterText = "";
279
301
  this._suppressHover = false;
280
- this._lastMinWidth = 0;
281
- this._hasLaidOut = false;
302
+ this._onDidRequestLayout = this._register(( new Emitter()));
303
+ this.onDidRequestLayout = this._onDidRequestLayout.event;
282
304
  this.domNode = createElement("div");
283
305
  this.domNode.classList.add("actionList");
284
306
  if (this._options?.descriptionBelow) {
285
307
  this.domNode.classList.add("description-below");
286
308
  }
287
309
  this._actionLineHeight = this._options?.descriptionBelow ? 48 : 24;
310
+ this._submenuContainer = createElement("div");
311
+ this._submenuContainer.className = "action-list-submenu-panel action-widget";
312
+ this._submenuContainer.style.display = "none";
313
+ this.domNode.append(this._submenuContainer);
314
+ this._register(addDisposableListener(this._submenuContainer, "mouseenter", () => {
315
+ this._cancelSubmenuHide();
316
+ }));
317
+ this._register(addDisposableListener(this._submenuContainer, "mouseleave", () => {
318
+ this._scheduleSubmenuHide();
319
+ }));
320
+ this._register(toDisposable(() => {
321
+ this._cancelSubmenuHide();
322
+ this._cancelSubmenuShow();
323
+ }));
288
324
  if (this._options?.collapsedByDefault) {
289
325
  for (const section of this._options.collapsedByDefault) {
290
326
  this._collapsedSections.add(section);
@@ -303,9 +339,12 @@ let ActionList = class ActionList extends Disposable {
303
339
  },
304
340
  getTemplateId: element => element.kind
305
341
  };
342
+ const hasAnySubmenuActions = ( items.some(item => !!item.submenuActions?.length));
306
343
  this._list = this._register(( new List(user, this.domNode, virtualDelegate, [( new ActionItemRenderer(
307
344
  preview,
308
345
  item => this._removeItem(item),
346
+ hasAnySubmenuActions,
347
+ this._options?.linkHandler,
309
348
  this._keybindingService,
310
349
  this._openerService
311
350
  )), ( new HeaderRenderer()), ( new SeparatorRenderer())], {
@@ -323,13 +362,13 @@ let ActionList = class ActionList extends Disposable {
323
362
  label = label + ", " + stripNewlines(descText);
324
363
  }
325
364
  if (element.disabled) {
326
- label = ( localize(1776, "{0}, Disabled Reason: {1}", label, element.disabled));
365
+ label = ( localize(1781, "{0}, Disabled Reason: {1}", label, element.disabled));
327
366
  }
328
367
  return label;
329
368
  }
330
369
  return null;
331
370
  },
332
- getWidgetAriaLabel: () => ( localize(1777, "Action Widget")),
371
+ getWidgetAriaLabel: () => ( localize(1782, "Action Widget")),
333
372
  getRole: e => {
334
373
  switch (e.kind) {
335
374
  case ActionListItemKind.Action:
@@ -353,12 +392,22 @@ let ActionList = class ActionList extends Disposable {
353
392
  if (this._options?.showFilter) {
354
393
  this._filterContainer = createElement("div");
355
394
  this._filterContainer.className = "action-list-filter";
395
+ const filterRow = append(this._filterContainer, $(".action-list-filter-row"));
356
396
  this._filterInput = createElement("input");
357
397
  this._filterInput.type = "text";
358
398
  this._filterInput.className = "action-list-filter-input";
359
- this._filterInput.placeholder = this._options?.filterPlaceholder ?? ( localize(1778, "Search..."));
360
- this._filterInput.setAttribute("aria-label", ( localize(1779, "Filter items")));
361
- this._filterContainer.appendChild(this._filterInput);
399
+ this._filterInput.placeholder = this._options?.filterPlaceholder ?? ( localize(1783, "Search..."));
400
+ this._filterInput.setAttribute("aria-label", ( localize(1784, "Filter items")));
401
+ filterRow.appendChild(this._filterInput);
402
+ const filterActions = this._options?.filterActions ?? [];
403
+ if (filterActions.length > 0) {
404
+ const filterActionsContainer = append(filterRow, $(".action-list-filter-actions"));
405
+ const filterActionBar = this._register(( new ActionBar(filterActionsContainer)));
406
+ filterActionBar.push(filterActions, {
407
+ icon: true,
408
+ label: false
409
+ });
410
+ }
362
411
  this._register(addDisposableListener(this._filterInput, "input", () => {
363
412
  this._filterText = this._filterInput.value;
364
413
  this._applyFilter();
@@ -368,6 +417,22 @@ let ActionList = class ActionList extends Disposable {
368
417
  if (this._list.length) {
369
418
  this._focusCheckedOrFirst();
370
419
  }
420
+ this._register(addDisposableListener(this.domNode, "keydown", e => {
421
+ if (e.key === "ArrowRight") {
422
+ const focused = this._list.getFocus();
423
+ if (focused.length > 0) {
424
+ const element = this._list.element(focused[0]);
425
+ if (element?.submenuActions?.length) {
426
+ EventHelper.stop(e, true);
427
+ const rowElement = this._getRowElement(focused[0]);
428
+ if (rowElement) {
429
+ this._showSubmenuForElement(element, rowElement);
430
+ this._currentSubmenuWidget?.focus();
431
+ }
432
+ }
433
+ }
434
+ }
435
+ }));
371
436
  if (this._filterInput) {
372
437
  this._register(addDisposableListener(this.domNode, "keydown", e => {
373
438
  if (this._filterInput && !isActiveElement(this._filterInput) && e.key.length === 1 && e.key !== " " && !e.ctrlKey && !e.metaKey && !e.altKey) {
@@ -387,6 +452,7 @@ let ActionList = class ActionList extends Disposable {
387
452
  } else {
388
453
  this._collapsedSections.add(section);
389
454
  }
455
+ this._options?.onDidToggleSection?.(section, ( this._collapsedSections.has(section)));
390
456
  this._applyFilter();
391
457
  }
392
458
  _applyFilter() {
@@ -450,28 +516,25 @@ let ActionList = class ActionList extends Disposable {
450
516
  }
451
517
  const filterInputHasFocus = this._filterInput && isActiveElement(this._filterInput);
452
518
  this._list.splice(0, this._list.length, visible);
453
- if (this._hasLaidOut) {
454
- this.layout(this._lastMinWidth);
455
- if (filterInputHasFocus) {
456
- this._filterInput?.focus();
457
- this._focusCheckedOrFirst();
458
- } else {
459
- this._list.domFocus();
460
- if (focusedItem) {
461
- const focusedItemId = focusedItem.item?.id;
462
- if (focusedItemId) {
463
- for (let i = 0; i < this._list.length; i++) {
464
- const el = this._list.element(i);
465
- if (el.item?.id === focusedItemId) {
466
- this._list.setFocus([i]);
467
- this._list.reveal(i);
468
- break;
469
- }
519
+ this._onDidRequestLayout.fire();
520
+ if (filterInputHasFocus) {
521
+ this._filterInput?.focus();
522
+ this._focusCheckedOrFirst();
523
+ } else {
524
+ this._list.domFocus();
525
+ if (focusedItem) {
526
+ const focusedItemId = focusedItem.item?.id;
527
+ if (focusedItemId) {
528
+ for (let i = 0; i < this._list.length; i++) {
529
+ const el = this._list.element(i);
530
+ if (el.item?.id === focusedItemId) {
531
+ this._list.setFocus([i]);
532
+ this._list.reveal(i);
533
+ break;
470
534
  }
471
535
  }
472
536
  }
473
537
  }
474
- this._contextViewService.layout();
475
538
  }
476
539
  }
477
540
  get filterContainer() {
@@ -492,6 +555,13 @@ let ActionList = class ActionList extends Disposable {
492
555
  this._list.domFocus();
493
556
  this._focusCheckedOrFirst();
494
557
  }
558
+ getFocusedElement() {
559
+ const focused = this._list.getFocus();
560
+ if (focused.length > 0) {
561
+ return this._list.element(focused[0]);
562
+ }
563
+ return undefined;
564
+ }
495
565
  _focusCheckedOrFirst() {
496
566
  this._suppressHover = true;
497
567
  try {
@@ -516,7 +586,7 @@ let ActionList = class ActionList extends Disposable {
516
586
  this._delegate.onHide(didCancel);
517
587
  this.cts.cancel();
518
588
  this._hover.clear();
519
- this._contextViewService.hideContextView();
589
+ this._hideSubmenu();
520
590
  }
521
591
  clearFilter() {
522
592
  if (this._filterInput && this._filterText) {
@@ -527,13 +597,33 @@ let ActionList = class ActionList extends Disposable {
527
597
  }
528
598
  return false;
529
599
  }
530
- hasDynamicHeight() {
600
+ get hasDynamicHeight() {
531
601
  if (this._options?.showFilter) {
532
602
  return true;
533
603
  }
534
604
  return ( this._allMenuItems.some(item => item.isSectionToggle));
535
605
  }
536
- computeHeight() {
606
+ get lineHeight() {
607
+ return this._actionLineHeight;
608
+ }
609
+ computeFullHeight() {
610
+ let fullHeight = 0;
611
+ for (const item of this._allMenuItems) {
612
+ switch (item.kind) {
613
+ case ActionListItemKind.Header:
614
+ fullHeight += this._headerLineHeight;
615
+ break;
616
+ case ActionListItemKind.Separator:
617
+ fullHeight += this._separatorLineHeight;
618
+ break;
619
+ default:
620
+ fullHeight += this._actionLineHeight;
621
+ break;
622
+ }
623
+ }
624
+ return fullHeight;
625
+ }
626
+ computeListHeight() {
537
627
  const visibleCount = this._list.length;
538
628
  let listHeight = 0;
539
629
  for (let i = 0; i < visibleCount; i++) {
@@ -550,46 +640,14 @@ let ActionList = class ActionList extends Disposable {
550
640
  break;
551
641
  }
552
642
  }
553
- const filterHeight = this._filterContainer ? 36 : 0;
554
- const padding = 10;
555
- const targetWindow = getWindow(this.domNode);
556
- let availableHeight;
557
- if (this.hasDynamicHeight()) {
558
- const viewportHeight = targetWindow.innerHeight;
559
- const anchorRect = getAnchorRect(this._anchor);
560
- const anchorTopInViewport = anchorRect.top - targetWindow.pageYOffset;
561
- const spaceBelow = viewportHeight - anchorTopInViewport - anchorRect.height - padding;
562
- const spaceAbove = anchorTopInViewport - padding;
563
- if (this._showAbove === undefined) {
564
- let fullHeight = filterHeight;
565
- for (const item of this._allMenuItems) {
566
- switch (item.kind) {
567
- case ActionListItemKind.Header:
568
- fullHeight += this._headerLineHeight;
569
- break;
570
- case ActionListItemKind.Separator:
571
- fullHeight += this._separatorLineHeight;
572
- break;
573
- default:
574
- fullHeight += this._actionLineHeight;
575
- break;
576
- }
577
- }
578
- this._showAbove = fullHeight > spaceBelow && spaceAbove > spaceBelow;
579
- }
580
- availableHeight = this._showAbove ? spaceAbove : spaceBelow;
581
- } else {
582
- const windowHeight = this._layoutService.getContainer(targetWindow).clientHeight;
583
- const widgetTop = this.domNode.getBoundingClientRect().top;
584
- availableHeight = widgetTop > 0 ? windowHeight - widgetTop - padding : windowHeight * 0.7;
643
+ return listHeight;
644
+ }
645
+ layout(height, width) {
646
+ this._list.layout(height, width);
647
+ this.domNode.style.height = `${height}px`;
648
+ if (this._filterContainer && this._filterContainer.parentElement) {
649
+ this._filterContainer.parentElement.insertBefore(this._filterContainer, this.domNode);
585
650
  }
586
- const viewportMaxHeight = Math.floor(targetWindow.innerHeight * 0.4);
587
- const maxHeight = Math.min(
588
- Math.max(availableHeight, this._actionLineHeight * 3 + filterHeight),
589
- viewportMaxHeight
590
- );
591
- const height = Math.min(listHeight + filterHeight, maxHeight);
592
- return height - filterHeight;
593
651
  }
594
652
  computeMaxWidth(minWidth) {
595
653
  const visibleCount = this._list.length;
@@ -599,9 +657,6 @@ let ActionList = class ActionList extends Disposable {
599
657
  if (totalItemCount >= 50) {
600
658
  return Math.max(380, effectiveMinWidth);
601
659
  }
602
- if (this._cachedMaxWidth !== undefined) {
603
- return this._cachedMaxWidth;
604
- }
605
660
  if (totalItemCount > visibleCount) {
606
661
  const visibleItems = [];
607
662
  for (let i = 0; i < visibleCount; i++) {
@@ -650,19 +705,6 @@ let ActionList = class ActionList extends Disposable {
650
705
  }
651
706
  return Math.max(...itemWidths, effectiveMinWidth);
652
707
  }
653
- layout(minWidth) {
654
- this._hasLaidOut = true;
655
- this._lastMinWidth = minWidth;
656
- const listHeight = this.computeHeight();
657
- this._list.layout(listHeight);
658
- this._cachedMaxWidth = this.computeMaxWidth(minWidth);
659
- this._list.layout(listHeight, this._cachedMaxWidth);
660
- this.domNode.style.height = `${listHeight}px`;
661
- if (this._filterContainer && this._filterContainer.parentElement) {
662
- this._filterContainer.parentElement.insertBefore(this._filterContainer, this.domNode);
663
- }
664
- return this._cachedMaxWidth;
665
- }
666
708
  focusPrevious() {
667
709
  if (this._filterInput && isActiveElement(this._filterInput)) {
668
710
  this._list.domFocus();
@@ -784,6 +826,13 @@ let ActionList = class ActionList extends Disposable {
784
826
  this._list.setSelection([]);
785
827
  return;
786
828
  }
829
+ if (element.submenuActions?.length && isMouseEvent(e.browserEvent)) {
830
+ const target = e.browserEvent.target;
831
+ if (isHTMLElement(target) && target.closest(".action-list-submenu-indicator")) {
832
+ this._list.setSelection([]);
833
+ return;
834
+ }
835
+ }
787
836
  if (element.item && this.focusCondition(element)) {
788
837
  this._delegate.onSelect(element.item, e.browserEvent instanceof PreviewSelectedEvent);
789
838
  } else {
@@ -827,40 +876,204 @@ let ActionList = class ActionList extends Disposable {
827
876
  return this.domNode.getRootNode().getElementById(this._list.getElementID(index));
828
877
  }
829
878
  _showHoverForElement(element, index) {
830
- let newHover;
831
- if (element.hover?.content) {
832
- const rowElement = this._getRowElement(index);
833
- if (rowElement) {
834
- const markdown = typeof element.hover.content === "string" ? ( new MarkdownString(element.hover.content)) : element.hover.content;
835
- newHover = this._hoverService.showDelayedHover({
836
- content: markdown ?? "",
837
- target: rowElement,
838
- additionalClasses: ["action-widget-hover"],
839
- position: {
840
- hoverPosition: HoverPosition.LEFT,
841
- forcePosition: false,
842
- ...element.hover.position
879
+ if (this._currentSubmenuElement === element || element.submenuActions?.length) {
880
+ return;
881
+ }
882
+ this._submenuDisposables.clear();
883
+ const rowElement = this._getRowElement(index);
884
+ if (!rowElement) {
885
+ this._hover.clear();
886
+ return;
887
+ }
888
+ const hasHoverContent = !!element.hover?.content;
889
+ if (!hasHoverContent) {
890
+ this._hover.clear();
891
+ return;
892
+ }
893
+ const markdown = typeof element.hover.content === "string" ? ( new MarkdownString(element.hover.content)) : element.hover.content;
894
+ const linkHandler = this._options?.linkHandler;
895
+ this._hover.value = this._hoverService.showDelayedHover({
896
+ content: markdown ?? "",
897
+ target: rowElement,
898
+ additionalClasses: ["action-widget-hover"],
899
+ linkHandler: linkHandler ? url => {
900
+ linkHandler(( URI.parse(url)), element);
901
+ } : undefined,
902
+ position: {
903
+ hoverPosition: HoverPosition.LEFT,
904
+ forcePosition: false,
905
+ ...element.hover.position
906
+ },
907
+ appearance: {
908
+ showPointer: true
909
+ }
910
+ }, {
911
+ groupId: `actionListHover`
912
+ });
913
+ }
914
+ _showSubmenuForElement(element, anchor) {
915
+ this._submenuDisposables.clear();
916
+ this._hover.clear();
917
+ this._currentSubmenuElement = element;
918
+ clearNode(this._submenuContainer);
919
+ const submenuItems = [];
920
+ for (const action of element.submenuActions) {
921
+ if (action instanceof SubmenuAction) {
922
+ submenuItems.push({
923
+ kind: ActionListItemKind.Header,
924
+ group: {
925
+ title: action.label
843
926
  },
844
- appearance: {
845
- showPointer: true
846
- }
847
- }, {
848
- groupId: `actionListHover`
927
+ label: action.label
849
928
  });
929
+ for (const child of action.actions) {
930
+ submenuItems.push({
931
+ item: child,
932
+ kind: ActionListItemKind.Action,
933
+ label: child.label,
934
+ description: child.tooltip || undefined,
935
+ group: {
936
+ title: "",
937
+ icon: ThemeIcon.fromId(child.checked ? Codicon.check.id : Codicon.blank.id)
938
+ },
939
+ hideIcon: false
940
+ });
941
+ }
942
+ }
943
+ }
944
+ const submenuDelegate = {
945
+ onHide: () => {},
946
+ onSelect: action => {
947
+ action.run();
948
+ const parentItem = this._currentSubmenuElement?.item;
949
+ this._hideSubmenu();
950
+ if (parentItem) {
951
+ this._delegate.onSelect(parentItem);
952
+ }
953
+ this.hide();
850
954
  }
955
+ };
956
+ this._submenuContainer.style.display = "";
957
+ this._submenuContainer.style.position = "absolute";
958
+ const anchorRect = anchor.getBoundingClientRect();
959
+ const parentRect = this.domNode.getBoundingClientRect();
960
+ const submenuWidget = this._submenuDisposables.add(this._instantiationService.createInstance(
961
+ ActionListWidget_1,
962
+ "submenu",
963
+ false,
964
+ submenuItems,
965
+ submenuDelegate,
966
+ undefined,
967
+ undefined
968
+ ));
969
+ this._submenuContainer.appendChild(submenuWidget.domNode);
970
+ this._currentSubmenuWidget = submenuWidget;
971
+ const totalHeight = submenuWidget.computeListHeight();
972
+ submenuWidget.layout(totalHeight);
973
+ const maxWidth = submenuWidget.computeMaxWidth(0);
974
+ submenuWidget.layout(totalHeight, maxWidth);
975
+ submenuWidget.domNode.style.width = `${maxWidth}px`;
976
+ const targetWindow = getWindow(this.domNode);
977
+ const viewportWidth = targetWindow.innerWidth;
978
+ const spaceRight = viewportWidth - anchorRect.right;
979
+ const spaceLeft = parentRect.left;
980
+ const submenuWidth = maxWidth + 10;
981
+ const gap = 4;
982
+ if (spaceRight >= submenuWidth || spaceRight >= spaceLeft) {
983
+ this._submenuContainer.style.left = `${parentRect.right - parentRect.left + gap}px`;
984
+ } else {
985
+ this._submenuContainer.style.left = `${-submenuWidth - gap}px`;
986
+ }
987
+ this._submenuContainer.style.top = `${anchorRect.top - parentRect.top - 4}px`;
988
+ this._submenuDisposables.add(addDisposableListener(submenuWidget.domNode, "keydown", e => {
989
+ if (e.key === "ArrowLeft" || e.key === "Escape") {
990
+ EventHelper.stop(e, true);
991
+ this._hideSubmenu();
992
+ this._list.domFocus();
993
+ } else if (e.key === "Enter") {
994
+ EventHelper.stop(e, true);
995
+ const focused = submenuWidget.getFocusedElement();
996
+ if (focused?.item) {
997
+ focused.item.run();
998
+ const parentItem = this._currentSubmenuElement?.item;
999
+ this._hideSubmenu();
1000
+ if (parentItem) {
1001
+ this._delegate.onSelect(parentItem);
1002
+ }
1003
+ this.hide();
1004
+ }
1005
+ } else if (e.key === "ArrowDown") {
1006
+ EventHelper.stop(e, true);
1007
+ submenuWidget.focusNext();
1008
+ } else if (e.key === "ArrowUp") {
1009
+ EventHelper.stop(e, true);
1010
+ submenuWidget.focusPrevious();
1011
+ }
1012
+ }));
1013
+ }
1014
+ _hideSubmenu() {
1015
+ this._cancelSubmenuHide();
1016
+ this._cancelSubmenuShow();
1017
+ this._submenuDisposables.clear();
1018
+ this._currentSubmenuWidget = undefined;
1019
+ this._currentSubmenuElement = undefined;
1020
+ clearNode(this._submenuContainer);
1021
+ this._submenuContainer.style.display = "none";
1022
+ }
1023
+ _scheduleSubmenuHide() {
1024
+ this._cancelSubmenuHide();
1025
+ this._submenuHideTimeout = setTimeout(() => {
1026
+ this._hideSubmenu();
1027
+ }, 300);
1028
+ }
1029
+ _cancelSubmenuHide() {
1030
+ if (this._submenuHideTimeout !== undefined) {
1031
+ clearTimeout(this._submenuHideTimeout);
1032
+ this._submenuHideTimeout = undefined;
1033
+ }
1034
+ }
1035
+ _scheduleSubmenuShow(element, index) {
1036
+ this._cancelSubmenuShow();
1037
+ this._submenuShowTimeout = setTimeout(() => {
1038
+ this._submenuShowTimeout = undefined;
1039
+ const rowElement = typeof index === "number" ? this._getRowElement(index) : null;
1040
+ if (rowElement) {
1041
+ this._showSubmenuForElement(element, rowElement);
1042
+ }
1043
+ }, 300);
1044
+ }
1045
+ _cancelSubmenuShow() {
1046
+ if (this._submenuShowTimeout !== undefined) {
1047
+ clearTimeout(this._submenuShowTimeout);
1048
+ this._submenuShowTimeout = undefined;
851
1049
  }
852
- this._hover.value = newHover;
853
1050
  }
854
1051
  async onListHover(e) {
855
1052
  const element = e.element;
856
1053
  if (element && element.item && this.focusCondition(element)) {
857
1054
  const isHoveringToolbar = isHTMLElement(e.browserEvent.target) && e.browserEvent.target.closest(".action-list-item-toolbar") !== null;
858
1055
  if (isHoveringToolbar) {
1056
+ this._cancelSubmenuShow();
859
1057
  this._list.setFocus([]);
860
1058
  return;
861
1059
  }
862
1060
  this._list.setFocus(typeof e.index === "number" ? [e.index] : []);
863
- if (this._delegate.onHover && !element.disabled && element.kind === ActionListItemKind.Action) {
1061
+ if (element.submenuActions?.length) {
1062
+ if (this._currentSubmenuElement === element) {
1063
+ this._cancelSubmenuHide();
1064
+ this._cancelSubmenuShow();
1065
+ } else {
1066
+ this._scheduleSubmenuShow(element, e.index);
1067
+ }
1068
+ return;
1069
+ }
1070
+ if (this._currentSubmenuElement === element) {
1071
+ this._cancelSubmenuHide();
1072
+ } else {
1073
+ this._cancelSubmenuShow();
1074
+ this._hideSubmenu();
1075
+ }
1076
+ if (this._delegate.onHover && !element.disabled && element.kind === ActionListItemKind.Action && this._currentSubmenuElement !== element) {
864
1077
  const result = await this._delegate.onHover(element.item, this.cts.token);
865
1078
  const canPreview = result ? result.canPreview : undefined;
866
1079
  if (canPreview !== element.canPreview) {
@@ -886,9 +1099,132 @@ let ActionList = class ActionList extends Disposable {
886
1099
  }
887
1100
  }
888
1101
  };
889
- ActionList = ( __decorate([( __param(7, IContextViewService)), ( __param(8, IKeybindingService)), ( __param(9, ILayoutService)), ( __param(10, IHoverService)), ( __param(11, IOpenerService))], ActionList));
1102
+ ActionListWidget = ActionListWidget_1 = ( __decorate([( __param(6, IKeybindingService)), ( __param(7, IHoverService)), ( __param(8, IOpenerService)), ( __param(9, IInstantiationService))], ActionListWidget));
1103
+ let ActionList = class ActionList extends Disposable {
1104
+ get domNode() {
1105
+ return this._widget.domNode;
1106
+ }
1107
+ get filterContainer() {
1108
+ return this._widget.filterContainer;
1109
+ }
1110
+ get filterInput() {
1111
+ return this._widget.filterInput;
1112
+ }
1113
+ get anchorPosition() {
1114
+ if (this._showAbove === undefined) {
1115
+ return undefined;
1116
+ }
1117
+ return this._showAbove ? AnchorPosition.ABOVE : AnchorPosition.BELOW;
1118
+ }
1119
+ constructor(
1120
+ user,
1121
+ preview,
1122
+ items,
1123
+ _delegate,
1124
+ accessibilityProvider,
1125
+ options,
1126
+ anchor,
1127
+ _contextViewService,
1128
+ _layoutService,
1129
+ instantiationService
1130
+ ) {
1131
+ super();
1132
+ this._contextViewService = _contextViewService;
1133
+ this._layoutService = _layoutService;
1134
+ this._lastMinWidth = 0;
1135
+ this._hasLaidOut = false;
1136
+ this._anchor = anchor;
1137
+ this._widget = this._register(instantiationService.createInstance(
1138
+ ActionListWidget,
1139
+ user,
1140
+ preview,
1141
+ items,
1142
+ _delegate,
1143
+ accessibilityProvider,
1144
+ options
1145
+ ));
1146
+ this._register(this._widget.onDidRequestLayout(() => {
1147
+ if (this._hasLaidOut) {
1148
+ this.layout(this._lastMinWidth);
1149
+ this._contextViewService.layout();
1150
+ }
1151
+ }));
1152
+ }
1153
+ focus() {
1154
+ this._widget.focus();
1155
+ }
1156
+ hide(didCancel) {
1157
+ this._widget.hide(didCancel);
1158
+ this._contextViewService.hideContextView();
1159
+ }
1160
+ clearFilter() {
1161
+ return this._widget.clearFilter();
1162
+ }
1163
+ focusPrevious() {
1164
+ this._widget.focusPrevious();
1165
+ }
1166
+ focusNext() {
1167
+ this._widget.focusNext();
1168
+ }
1169
+ collapseFocusedSection() {
1170
+ this._widget.collapseFocusedSection();
1171
+ }
1172
+ expandFocusedSection() {
1173
+ this._widget.expandFocusedSection();
1174
+ }
1175
+ toggleFocusedSection() {
1176
+ return this._widget.toggleFocusedSection();
1177
+ }
1178
+ acceptSelected(preview) {
1179
+ this._widget.acceptSelected(preview);
1180
+ }
1181
+ hasDynamicHeight() {
1182
+ return this._widget.hasDynamicHeight;
1183
+ }
1184
+ computeHeight() {
1185
+ const listHeight = this._widget.computeListHeight();
1186
+ const filterHeight = this._widget.filterContainer ? 36 : 0;
1187
+ const padding = 10;
1188
+ const targetWindow = getWindow(this.domNode);
1189
+ let availableHeight;
1190
+ if (this.hasDynamicHeight()) {
1191
+ const viewportHeight = targetWindow.innerHeight;
1192
+ const anchorRect = getAnchorRect(this._anchor);
1193
+ const anchorTopInViewport = anchorRect.top - targetWindow.pageYOffset;
1194
+ const spaceBelow = viewportHeight - anchorTopInViewport - anchorRect.height - padding;
1195
+ const spaceAbove = anchorTopInViewport - padding;
1196
+ if (this._showAbove === undefined) {
1197
+ const fullHeight = filterHeight + this._widget.computeFullHeight();
1198
+ this._showAbove = fullHeight > spaceBelow && spaceAbove > spaceBelow;
1199
+ }
1200
+ availableHeight = this._showAbove ? spaceAbove : spaceBelow;
1201
+ } else {
1202
+ const windowHeight = this._layoutService.getContainer(targetWindow).clientHeight;
1203
+ const widgetTop = this.domNode.getBoundingClientRect().top;
1204
+ availableHeight = widgetTop > 0 ? windowHeight - widgetTop - padding : windowHeight * 0.7;
1205
+ }
1206
+ const viewportMaxHeight = Math.floor(targetWindow.innerHeight * 0.6);
1207
+ const actionLineHeight = this._widget.lineHeight;
1208
+ const maxHeight = Math.min(
1209
+ Math.max(availableHeight, actionLineHeight * 3 + filterHeight),
1210
+ viewportMaxHeight
1211
+ );
1212
+ const height = Math.min(listHeight + filterHeight, maxHeight);
1213
+ return height - filterHeight;
1214
+ }
1215
+ layout(minWidth) {
1216
+ this._hasLaidOut = true;
1217
+ this._lastMinWidth = minWidth;
1218
+ const listHeight = this.computeHeight();
1219
+ this._widget.layout(listHeight);
1220
+ this._cachedMaxWidth = this._widget.computeMaxWidth(minWidth);
1221
+ this._widget.layout(listHeight, this._cachedMaxWidth);
1222
+ return this._cachedMaxWidth;
1223
+ }
1224
+ };
1225
+ ActionList = ( __decorate([( __param(7, IContextViewService)), ( __param(8, ILayoutService)), ( __param(9, IInstantiationService))], ActionList));
890
1226
  function stripNewlines(str) {
891
1227
  return str.replace(/\r\n|\r|\n/g, " ");
892
1228
  }
893
1229
 
894
- export { ActionList, ActionListItemKind, acceptSelectedActionCommand, previewSelectedActionCommand };
1230
+ export { ActionList, ActionListItemKind, ActionListWidget, acceptSelectedActionCommand, previewSelectedActionCommand };