@codingame/monaco-vscode-api 28.4.1 → 29.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -0,0 +1,1079 @@
1
+
2
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
3
+ import { coalesce } from '../../../../base/common/arrays.js';
4
+ import { Emitter } from '../../../../base/common/event.js';
5
+ import { visit } from '../../../../base/common/json.js';
6
+ import { Disposable } from '../../../../base/common/lifecycle.js';
7
+ import { Range } from '../../../../editor/common/core/range.js';
8
+ import { Selection } from '../../../../editor/common/core/selection.js';
9
+ import { localize } from '../../../../nls.js';
10
+ import { ConfigurationTarget } from '../../../../platform/configuration/common/configuration.js';
11
+ import { IConfigurationService } from '../../../../platform/configuration/common/configuration.service.js';
12
+ import { Extensions, OVERRIDE_PROPERTY_REGEX, ConfigurationScope } from '../../../../platform/configuration/common/configurationRegistry.js';
13
+ import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.service.js';
14
+ import { Registry } from '../../../../platform/registry/common/platform.js';
15
+ import { EditorModel } from '../../../common/editor/editorModel.js';
16
+ import { SettingMatchType } from './preferences.js';
17
+ import { FOLDER_SCOPES, WORKSPACE_SCOPES } from '../../configuration/common/configuration.js';
18
+ import { createValidator } from './preferencesValidation.js';
19
+ import { isString } from '../../../../base/common/types.js';
20
+
21
+ const nullRange = {
22
+ startLineNumber: -1,
23
+ startColumn: -1,
24
+ endLineNumber: -1,
25
+ endColumn: -1
26
+ };
27
+ function isNullRange(range) {
28
+ return range.startLineNumber === -1 && range.startColumn === -1 && range.endLineNumber === -1 && range.endColumn === -1;
29
+ }
30
+ function fixSettingLinks(text) {
31
+ return text.replace(/`#([^#`]*)#`/g, (_, settingName) => `\`${settingName}\``);
32
+ }
33
+ class AbstractSettingsModel extends EditorModel {
34
+ constructor() {
35
+ super(...arguments);
36
+ this._currentResultGroups = ( new Map());
37
+ }
38
+ updateResultGroup(id, resultGroup) {
39
+ if (resultGroup) {
40
+ this._currentResultGroups.set(id, resultGroup);
41
+ } else {
42
+ this._currentResultGroups.delete(id);
43
+ }
44
+ this.removeDuplicateResults();
45
+ return this.update();
46
+ }
47
+ removeDuplicateResults() {
48
+ const settingKeys = ( new Set());
49
+ [...( this._currentResultGroups.keys())].sort(
50
+ (a, b) => this._currentResultGroups.get(a).order - this._currentResultGroups.get(b).order
51
+ ).forEach(groupId => {
52
+ const group = this._currentResultGroups.get(groupId);
53
+ group.result.filterMatches = group.result.filterMatches.filter(s => !( settingKeys.has(s.setting.key)));
54
+ group.result.filterMatches.forEach(s => settingKeys.add(s.setting.key));
55
+ });
56
+ }
57
+ filterSettings(filter, groupFilter, settingMatcher) {
58
+ const allGroups = this.filterGroups;
59
+ const filterMatches = [];
60
+ for (const group of allGroups) {
61
+ const groupMatched = groupFilter(group);
62
+ for (const section of group.sections) {
63
+ for (const setting of section.settings) {
64
+ const settingMatchResult = settingMatcher(setting, group);
65
+ if (groupMatched || settingMatchResult) {
66
+ filterMatches.push({
67
+ setting,
68
+ matches: settingMatchResult && settingMatchResult.matches,
69
+ matchType: settingMatchResult?.matchType ?? SettingMatchType.None,
70
+ keyMatchScore: settingMatchResult?.keyMatchScore ?? 0,
71
+ score: settingMatchResult?.score ?? 0
72
+ });
73
+ }
74
+ }
75
+ }
76
+ }
77
+ return filterMatches;
78
+ }
79
+ getPreference(key) {
80
+ for (const group of this.settingsGroups) {
81
+ for (const section of group.sections) {
82
+ for (const setting of section.settings) {
83
+ if (key === setting.key) {
84
+ return setting;
85
+ }
86
+ }
87
+ }
88
+ }
89
+ return undefined;
90
+ }
91
+ collectMetadata(groups) {
92
+ const metadata = Object.create(null);
93
+ let hasMetadata = false;
94
+ groups.forEach(g => {
95
+ if (g.result.metadata) {
96
+ metadata[g.id] = g.result.metadata;
97
+ hasMetadata = true;
98
+ }
99
+ });
100
+ return hasMetadata ? metadata : null;
101
+ }
102
+ get filterGroups() {
103
+ return this.settingsGroups;
104
+ }
105
+ }
106
+ class SettingsEditorModel extends AbstractSettingsModel {
107
+ constructor(reference, _configurationTarget) {
108
+ super();
109
+ this._configurationTarget = _configurationTarget;
110
+ this._onDidChangeGroups = this._register(( new Emitter()));
111
+ this.onDidChangeGroups = this._onDidChangeGroups.event;
112
+ this.settingsModel = reference.object.textEditorModel;
113
+ this._register(this.onWillDispose(() => reference.dispose()));
114
+ this._register(this.settingsModel.onDidChangeContent(() => {
115
+ this._settingsGroups = undefined;
116
+ this._onDidChangeGroups.fire();
117
+ }));
118
+ }
119
+ get uri() {
120
+ return this.settingsModel.uri;
121
+ }
122
+ get configurationTarget() {
123
+ return this._configurationTarget;
124
+ }
125
+ get settingsGroups() {
126
+ if (!this._settingsGroups) {
127
+ this.parse();
128
+ }
129
+ return this._settingsGroups;
130
+ }
131
+ get content() {
132
+ return this.settingsModel.getValue();
133
+ }
134
+ isSettingsProperty(property, previousParents) {
135
+ return previousParents.length === 0;
136
+ }
137
+ parse() {
138
+ this._settingsGroups = parse(
139
+ this.settingsModel,
140
+ (property, previousParents) => this.isSettingsProperty(property, previousParents)
141
+ );
142
+ }
143
+ update() {
144
+ const resultGroups = [...( this._currentResultGroups.values())];
145
+ if (!resultGroups.length) {
146
+ return undefined;
147
+ }
148
+ const filteredSettings = [];
149
+ const matches = [];
150
+ resultGroups.forEach(group => {
151
+ group.result.filterMatches.forEach(filterMatch => {
152
+ filteredSettings.push(filterMatch.setting);
153
+ if (filterMatch.matches) {
154
+ matches.push(...filterMatch.matches);
155
+ }
156
+ });
157
+ });
158
+ let filteredGroup;
159
+ const modelGroup = this.settingsGroups[0];
160
+ if (modelGroup) {
161
+ filteredGroup = {
162
+ id: modelGroup.id,
163
+ range: modelGroup.range,
164
+ sections: [{
165
+ settings: filteredSettings
166
+ }],
167
+ title: modelGroup.title,
168
+ titleRange: modelGroup.titleRange,
169
+ order: modelGroup.order,
170
+ extensionInfo: modelGroup.extensionInfo
171
+ };
172
+ }
173
+ const metadata = this.collectMetadata(resultGroups);
174
+ return {
175
+ allGroups: this.settingsGroups,
176
+ filteredGroups: filteredGroup ? [filteredGroup] : [],
177
+ matches,
178
+ metadata: metadata ?? undefined
179
+ };
180
+ }
181
+ }
182
+ let Settings2EditorModel = class Settings2EditorModel extends AbstractSettingsModel {
183
+ constructor(_defaultSettings, configurationService) {
184
+ super();
185
+ this._defaultSettings = _defaultSettings;
186
+ this._onDidChangeGroups = this._register(( new Emitter()));
187
+ this.onDidChangeGroups = this._onDidChangeGroups.event;
188
+ this.additionalGroups = [];
189
+ this.dirty = false;
190
+ this._register(configurationService.onDidChangeConfiguration(e => {
191
+ if (e.source === ConfigurationTarget.DEFAULT) {
192
+ this.dirty = true;
193
+ this._onDidChangeGroups.fire();
194
+ }
195
+ }));
196
+ this._register(( Registry.as(Extensions.Configuration)).onDidSchemaChange(e => {
197
+ this.dirty = true;
198
+ this._onDidChangeGroups.fire();
199
+ }));
200
+ }
201
+ get filterGroups() {
202
+ return this.settingsGroups.slice(1);
203
+ }
204
+ get settingsGroups() {
205
+ const groups = this._defaultSettings.getSettingsGroups(this.dirty);
206
+ this.dirty = false;
207
+ return [...groups, ...this.additionalGroups];
208
+ }
209
+ setAdditionalGroups(groups) {
210
+ this.additionalGroups = groups;
211
+ }
212
+ update() {
213
+ throw ( new Error("Not supported"));
214
+ }
215
+ };
216
+ Settings2EditorModel = ( __decorate([( __param(1, IConfigurationService))], Settings2EditorModel));
217
+ function parse(model, isSettingsProperty) {
218
+ const settings = [];
219
+ let overrideSetting = null;
220
+ let currentProperty = null;
221
+ let currentParent = [];
222
+ const previousParents = [];
223
+ let settingsPropertyIndex = -1;
224
+ const range = {
225
+ startLineNumber: 0,
226
+ startColumn: 0,
227
+ endLineNumber: 0,
228
+ endColumn: 0
229
+ };
230
+ function onValue(value, offset, length) {
231
+ if (Array.isArray(currentParent)) {
232
+ currentParent.push(value);
233
+ } else if (currentProperty) {
234
+ currentParent[currentProperty] = value;
235
+ }
236
+ if (previousParents.length === settingsPropertyIndex + 1 || (previousParents.length === settingsPropertyIndex + 2 && overrideSetting !== null)) {
237
+ const setting = previousParents.length === settingsPropertyIndex + 1 ? settings[settings.length - 1] : overrideSetting.overrides[overrideSetting.overrides.length - 1];
238
+ if (setting) {
239
+ const valueStartPosition = model.getPositionAt(offset);
240
+ const valueEndPosition = model.getPositionAt(offset + length);
241
+ setting.value = value;
242
+ setting.valueRange = {
243
+ startLineNumber: valueStartPosition.lineNumber,
244
+ startColumn: valueStartPosition.column,
245
+ endLineNumber: valueEndPosition.lineNumber,
246
+ endColumn: valueEndPosition.column
247
+ };
248
+ setting.range = Object.assign(setting.range, {
249
+ endLineNumber: valueEndPosition.lineNumber,
250
+ endColumn: valueEndPosition.column
251
+ });
252
+ }
253
+ }
254
+ }
255
+ const visitor = {
256
+ onObjectBegin: (offset, length) => {
257
+ if (isSettingsProperty(currentProperty, previousParents)) {
258
+ settingsPropertyIndex = previousParents.length;
259
+ const position = model.getPositionAt(offset);
260
+ range.startLineNumber = position.lineNumber;
261
+ range.startColumn = position.column;
262
+ }
263
+ const object = {};
264
+ onValue(object, offset, length);
265
+ currentParent = object;
266
+ currentProperty = null;
267
+ previousParents.push(currentParent);
268
+ },
269
+ onObjectProperty: (name, offset, length) => {
270
+ currentProperty = name;
271
+ if (previousParents.length === settingsPropertyIndex + 1 || (previousParents.length === settingsPropertyIndex + 2 && overrideSetting !== null)) {
272
+ const settingStartPosition = model.getPositionAt(offset);
273
+ const setting = {
274
+ description: [],
275
+ descriptionIsMarkdown: false,
276
+ key: name,
277
+ keyRange: {
278
+ startLineNumber: settingStartPosition.lineNumber,
279
+ startColumn: settingStartPosition.column + 1,
280
+ endLineNumber: settingStartPosition.lineNumber,
281
+ endColumn: settingStartPosition.column + length
282
+ },
283
+ range: {
284
+ startLineNumber: settingStartPosition.lineNumber,
285
+ startColumn: settingStartPosition.column,
286
+ endLineNumber: 0,
287
+ endColumn: 0
288
+ },
289
+ value: null,
290
+ valueRange: nullRange,
291
+ descriptionRanges: [],
292
+ overrides: [],
293
+ overrideOf: overrideSetting ?? undefined
294
+ };
295
+ if (previousParents.length === settingsPropertyIndex + 1) {
296
+ settings.push(setting);
297
+ if (OVERRIDE_PROPERTY_REGEX.test(name)) {
298
+ overrideSetting = setting;
299
+ }
300
+ } else {
301
+ overrideSetting.overrides.push(setting);
302
+ }
303
+ }
304
+ },
305
+ onObjectEnd: (offset, length) => {
306
+ currentParent = previousParents.pop();
307
+ if (settingsPropertyIndex !== -1 && (previousParents.length === settingsPropertyIndex + 1 || (previousParents.length === settingsPropertyIndex + 2 && overrideSetting !== null))) {
308
+ const setting = previousParents.length === settingsPropertyIndex + 1 ? settings[settings.length - 1] : overrideSetting.overrides[overrideSetting.overrides.length - 1];
309
+ if (setting) {
310
+ const valueEndPosition = model.getPositionAt(offset + length);
311
+ setting.valueRange = Object.assign(setting.valueRange, {
312
+ endLineNumber: valueEndPosition.lineNumber,
313
+ endColumn: valueEndPosition.column
314
+ });
315
+ setting.range = Object.assign(setting.range, {
316
+ endLineNumber: valueEndPosition.lineNumber,
317
+ endColumn: valueEndPosition.column
318
+ });
319
+ }
320
+ if (previousParents.length === settingsPropertyIndex + 1) {
321
+ overrideSetting = null;
322
+ }
323
+ }
324
+ if (previousParents.length === settingsPropertyIndex) {
325
+ const position = model.getPositionAt(offset);
326
+ range.endLineNumber = position.lineNumber;
327
+ range.endColumn = position.column;
328
+ settingsPropertyIndex = -1;
329
+ }
330
+ },
331
+ onArrayBegin: (offset, length) => {
332
+ const array = [];
333
+ onValue(array, offset, length);
334
+ previousParents.push(currentParent);
335
+ currentParent = array;
336
+ currentProperty = null;
337
+ },
338
+ onArrayEnd: (offset, length) => {
339
+ currentParent = previousParents.pop();
340
+ if (previousParents.length === settingsPropertyIndex + 1 || (previousParents.length === settingsPropertyIndex + 2 && overrideSetting !== null)) {
341
+ const setting = previousParents.length === settingsPropertyIndex + 1 ? settings[settings.length - 1] : overrideSetting.overrides[overrideSetting.overrides.length - 1];
342
+ if (setting) {
343
+ const valueEndPosition = model.getPositionAt(offset + length);
344
+ setting.valueRange = Object.assign(setting.valueRange, {
345
+ endLineNumber: valueEndPosition.lineNumber,
346
+ endColumn: valueEndPosition.column
347
+ });
348
+ setting.range = Object.assign(setting.range, {
349
+ endLineNumber: valueEndPosition.lineNumber,
350
+ endColumn: valueEndPosition.column
351
+ });
352
+ }
353
+ }
354
+ },
355
+ onLiteralValue: onValue,
356
+ onError: error => {
357
+ const setting = settings[settings.length - 1];
358
+ if (setting && (isNullRange(setting.range) || isNullRange(setting.keyRange) || isNullRange(setting.valueRange))) {
359
+ settings.pop();
360
+ }
361
+ }
362
+ };
363
+ if (!model.isDisposed()) {
364
+ visit(model.getValue(), visitor);
365
+ }
366
+ return settings.length > 0 ? [{
367
+ id: model.isDisposed() ? "" : model.id,
368
+ sections: [{
369
+ settings
370
+ }],
371
+ title: "",
372
+ titleRange: nullRange,
373
+ range
374
+ }] : [];
375
+ }
376
+ class WorkspaceConfigurationEditorModel extends SettingsEditorModel {
377
+ constructor() {
378
+ super(...arguments);
379
+ this._configurationGroups = [];
380
+ }
381
+ get configurationGroups() {
382
+ return this._configurationGroups;
383
+ }
384
+ parse() {
385
+ super.parse();
386
+ this._configurationGroups = parse(
387
+ this.settingsModel,
388
+ (property, previousParents) => previousParents.length === 0
389
+ );
390
+ }
391
+ isSettingsProperty(property, previousParents) {
392
+ return property === "settings" && previousParents.length === 1;
393
+ }
394
+ }
395
+ class DefaultSettings extends Disposable {
396
+ constructor(_mostCommonlyUsedSettingsKeys, target, configurationService) {
397
+ super();
398
+ this._mostCommonlyUsedSettingsKeys = _mostCommonlyUsedSettingsKeys;
399
+ this.target = target;
400
+ this.configurationService = configurationService;
401
+ this._settingsByName = ( new Map());
402
+ this._onDidChange = this._register(( new Emitter()));
403
+ this.onDidChange = this._onDidChange.event;
404
+ this._register(configurationService.onDidChangeConfiguration(e => {
405
+ if (e.source === ConfigurationTarget.DEFAULT) {
406
+ this.reset();
407
+ this._onDidChange.fire();
408
+ }
409
+ }));
410
+ }
411
+ getContent(forceUpdate = false) {
412
+ if (!this._content || forceUpdate) {
413
+ this.initialize();
414
+ }
415
+ return this._content;
416
+ }
417
+ getContentWithoutMostCommonlyUsed(forceUpdate = false) {
418
+ if (!this._contentWithoutMostCommonlyUsed || forceUpdate) {
419
+ this.initialize();
420
+ }
421
+ return this._contentWithoutMostCommonlyUsed;
422
+ }
423
+ getSettingsGroups(forceUpdate = false) {
424
+ if (!this._allSettingsGroups || forceUpdate) {
425
+ this.initialize();
426
+ }
427
+ return this._allSettingsGroups;
428
+ }
429
+ initialize() {
430
+ this._allSettingsGroups = this.parse();
431
+ this._content = this.toContent(this._allSettingsGroups, 0);
432
+ this._contentWithoutMostCommonlyUsed = this.toContent(this._allSettingsGroups, 1);
433
+ }
434
+ reset() {
435
+ this._content = undefined;
436
+ this._contentWithoutMostCommonlyUsed = undefined;
437
+ this._allSettingsGroups = undefined;
438
+ }
439
+ parse() {
440
+ const settingsGroups = this.getRegisteredGroups();
441
+ this.initAllSettingsMap(settingsGroups);
442
+ const mostCommonlyUsed = this.getMostCommonlyUsedSettings();
443
+ return [mostCommonlyUsed, ...settingsGroups];
444
+ }
445
+ getRegisteredGroups() {
446
+ const registry = ( Registry.as(Extensions.Configuration));
447
+ const allConfigurations = {
448
+ ...registry.getConfigurationProperties()
449
+ };
450
+ const excludedConfigurations = registry.getExcludedConfigurationProperties();
451
+ for (const policyKey of ( this.configurationService.keys()).policy ?? []) {
452
+ const policyConfiguration = excludedConfigurations[policyKey];
453
+ if (policyConfiguration) {
454
+ allConfigurations[policyKey] = policyConfiguration;
455
+ }
456
+ }
457
+ const groups = this.removeEmptySettingsGroups(this.parseProperties(allConfigurations).sort(this.compareGroups));
458
+ return this.sortGroups(groups);
459
+ }
460
+ sortGroups(groups) {
461
+ groups.forEach(group => {
462
+ group.sections.forEach(section => {
463
+ section.settings.sort((a, b) => a.key.localeCompare(b.key));
464
+ });
465
+ });
466
+ return groups;
467
+ }
468
+ initAllSettingsMap(allSettingsGroups) {
469
+ this._settingsByName = ( new Map());
470
+ for (const group of allSettingsGroups) {
471
+ for (const section of group.sections) {
472
+ for (const setting of section.settings) {
473
+ this._settingsByName.set(setting.key, setting);
474
+ }
475
+ }
476
+ }
477
+ }
478
+ getMostCommonlyUsedSettings() {
479
+ const settings = coalesce(( this._mostCommonlyUsedSettingsKeys.map(key => {
480
+ const setting = this._settingsByName.get(key);
481
+ if (setting) {
482
+ return {
483
+ description: setting.description,
484
+ key: setting.key,
485
+ value: setting.value,
486
+ keyRange: nullRange,
487
+ range: nullRange,
488
+ valueRange: nullRange,
489
+ overrides: [],
490
+ scope: ConfigurationScope.RESOURCE,
491
+ type: setting.type,
492
+ enum: setting.enum,
493
+ enumDescriptions: setting.enumDescriptions,
494
+ descriptionRanges: []
495
+ };
496
+ }
497
+ return null;
498
+ })));
499
+ return {
500
+ id: "mostCommonlyUsed",
501
+ range: nullRange,
502
+ title: ( localize(16209, "Commonly Used")),
503
+ titleRange: nullRange,
504
+ sections: [{
505
+ settings
506
+ }]
507
+ };
508
+ }
509
+ parseProperties(properties) {
510
+ const result = [];
511
+ const byTitle = ( new Map());
512
+ const byId = ( new Map());
513
+ for (const [key, property] of Object.entries(properties)) {
514
+ if (!property.section) {
515
+ continue;
516
+ }
517
+ let settingsGroup;
518
+ if (property.section.title) {
519
+ const groups = byTitle.get(property.section.title);
520
+ if (groups) {
521
+ const extensionId = property.section.extensionInfo?.id;
522
+ settingsGroup = groups.find(g => g.extensionInfo?.id === extensionId);
523
+ }
524
+ }
525
+ if (!settingsGroup && property.section.id) {
526
+ const groups = byId.get(property.section.id);
527
+ if (groups) {
528
+ const extensionId = property.section.extensionInfo?.id;
529
+ settingsGroup = groups.find(g => g.extensionInfo?.id === extensionId && !g.title);
530
+ }
531
+ if (settingsGroup && !settingsGroup?.title && property.section.title) {
532
+ settingsGroup.title = property.section.title;
533
+ const byTitleGroups = byTitle.get(property.section.title);
534
+ if (byTitleGroups) {
535
+ byTitleGroups.push(settingsGroup);
536
+ } else {
537
+ byTitle.set(property.section.title, [settingsGroup]);
538
+ }
539
+ }
540
+ }
541
+ if (!settingsGroup) {
542
+ settingsGroup = {
543
+ sections: [{
544
+ title: property.section.title,
545
+ settings: []
546
+ }],
547
+ id: property.section.id || "",
548
+ title: property.section.title ?? "",
549
+ titleRange: nullRange,
550
+ order: property.section.order,
551
+ range: nullRange,
552
+ extensionInfo: isString(property.source) ? undefined : property.source
553
+ };
554
+ result.push(settingsGroup);
555
+ if (property.section.title) {
556
+ const byTitleGroups = byTitle.get(property.section.title);
557
+ if (byTitleGroups) {
558
+ byTitleGroups.push(settingsGroup);
559
+ } else {
560
+ byTitle.set(property.section.title, [settingsGroup]);
561
+ }
562
+ }
563
+ if (property.section.id) {
564
+ const byIdGroups = byId.get(property.section.id);
565
+ if (byIdGroups) {
566
+ byIdGroups.push(settingsGroup);
567
+ } else {
568
+ byId.set(property.section.id, [settingsGroup]);
569
+ }
570
+ }
571
+ }
572
+ const setting = this.parseSetting(key, property);
573
+ if (setting) {
574
+ settingsGroup.sections[0].settings.push(setting);
575
+ }
576
+ }
577
+ return result;
578
+ }
579
+ removeEmptySettingsGroups(settingsGroups) {
580
+ const result = [];
581
+ for (const settingsGroup of settingsGroups) {
582
+ settingsGroup.sections = settingsGroup.sections.filter(section => section.settings.length > 0);
583
+ if (settingsGroup.sections.length) {
584
+ result.push(settingsGroup);
585
+ }
586
+ }
587
+ return result;
588
+ }
589
+ parseSetting(key, prop) {
590
+ if (!this.matchesScope(prop)) {
591
+ return undefined;
592
+ }
593
+ const value = prop.default;
594
+ let description = (prop.markdownDescription || prop.description || "");
595
+ if (typeof description !== "string") {
596
+ description = "";
597
+ }
598
+ const descriptionLines = description.split("\n");
599
+ const overrides = OVERRIDE_PROPERTY_REGEX.test(key) ? this.parseOverrideSettings(prop.default) : [];
600
+ let listItemType;
601
+ if (prop.type === "array" && prop.items && !Array.isArray(prop.items) && prop.items.type) {
602
+ if (prop.items.enum) {
603
+ listItemType = "enum";
604
+ } else if (!Array.isArray(prop.items.type)) {
605
+ listItemType = prop.items.type;
606
+ }
607
+ }
608
+ const objectProperties = prop.type === "object" ? prop.properties : undefined;
609
+ const objectPatternProperties = prop.type === "object" ? prop.patternProperties : undefined;
610
+ const objectAdditionalProperties = prop.type === "object" ? prop.additionalProperties : undefined;
611
+ const propertyNames = prop.type === "object" ? prop.propertyNames : undefined;
612
+ let enumToUse = prop.enum;
613
+ let enumDescriptions = prop.markdownEnumDescriptions ?? prop.enumDescriptions;
614
+ let enumDescriptionsAreMarkdown = !!prop.markdownEnumDescriptions;
615
+ if (listItemType === "enum" && !Array.isArray(prop.items)) {
616
+ enumToUse = prop.items.enum;
617
+ enumDescriptions = prop.items.markdownEnumDescriptions ?? prop.items.enumDescriptions;
618
+ enumDescriptionsAreMarkdown = !!prop.items.markdownEnumDescriptions;
619
+ }
620
+ let allKeysAreBoolean = false;
621
+ if (prop.type === "object" && !prop.additionalProperties && prop.properties && ( Object.keys(prop.properties)).length) {
622
+ allKeysAreBoolean = ( Object.keys(prop.properties)).every(key => {
623
+ return prop.properties[key].type === "boolean";
624
+ });
625
+ }
626
+ let isLanguageTagSetting = false;
627
+ if (OVERRIDE_PROPERTY_REGEX.test(key)) {
628
+ isLanguageTagSetting = true;
629
+ }
630
+ let defaultValueSource;
631
+ if (!isLanguageTagSetting) {
632
+ const registeredConfigurationProp = prop;
633
+ if (registeredConfigurationProp && registeredConfigurationProp.defaultValueSource) {
634
+ defaultValueSource = registeredConfigurationProp.defaultValueSource;
635
+ }
636
+ }
637
+ if (!enumToUse && (prop.enumItemLabels || enumDescriptions || enumDescriptionsAreMarkdown)) {
638
+ console.error(
639
+ `The setting ${key} has enum-related fields, but doesn't have an enum field. This setting may render improperly in the Settings editor.`
640
+ );
641
+ }
642
+ return {
643
+ key,
644
+ value,
645
+ description: descriptionLines,
646
+ descriptionIsMarkdown: !!prop.markdownDescription,
647
+ keywords: prop.keywords,
648
+ range: nullRange,
649
+ keyRange: nullRange,
650
+ valueRange: nullRange,
651
+ descriptionRanges: [],
652
+ overrides,
653
+ scope: prop.scope,
654
+ type: prop.type,
655
+ arrayItemType: listItemType,
656
+ objectProperties,
657
+ objectPatternProperties,
658
+ objectAdditionalProperties,
659
+ propertyNames,
660
+ enum: enumToUse,
661
+ enumDescriptions: enumDescriptions,
662
+ enumDescriptionsAreMarkdown: enumDescriptionsAreMarkdown,
663
+ enumItemLabels: prop.enumItemLabels,
664
+ uniqueItems: prop.uniqueItems,
665
+ tags: prop.tags,
666
+ disallowSyncIgnore: prop.disallowSyncIgnore,
667
+ restricted: prop.restricted,
668
+ extensionInfo: isString(prop.source) ? undefined : prop.source,
669
+ deprecationMessage: prop.markdownDeprecationMessage || prop.deprecationMessage,
670
+ deprecationMessageIsMarkdown: !!prop.markdownDeprecationMessage,
671
+ validator: createValidator(prop),
672
+ allKeysAreBoolean,
673
+ editPresentation: prop.editPresentation,
674
+ order: prop.order,
675
+ nonLanguageSpecificDefaultValueSource: defaultValueSource,
676
+ isLanguageTagSetting,
677
+ categoryLabel: (isString(prop.source) ? undefined : prop.source?.id) === prop.section?.id ? prop.title : prop.section?.id
678
+ };
679
+ }
680
+ parseOverrideSettings(overrideSettings) {
681
+ return ( ( Object.keys(overrideSettings)).map(key => ({
682
+ key,
683
+ value: overrideSettings[key],
684
+ description: [],
685
+ descriptionIsMarkdown: false,
686
+ range: nullRange,
687
+ keyRange: nullRange,
688
+ valueRange: nullRange,
689
+ descriptionRanges: [],
690
+ overrides: []
691
+ })));
692
+ }
693
+ matchesScope(property) {
694
+ if (!property.scope) {
695
+ return true;
696
+ }
697
+ if (this.target === ConfigurationTarget.WORKSPACE_FOLDER) {
698
+ return FOLDER_SCOPES.indexOf(property.scope) !== -1;
699
+ }
700
+ if (this.target === ConfigurationTarget.WORKSPACE) {
701
+ return WORKSPACE_SCOPES.indexOf(property.scope) !== -1;
702
+ }
703
+ return true;
704
+ }
705
+ compareGroups(c1, c2) {
706
+ if (typeof c1?.order !== "number") {
707
+ return 1;
708
+ }
709
+ if (typeof c2?.order !== "number") {
710
+ return -1;
711
+ }
712
+ if (c1.order === c2.order) {
713
+ const title1 = c1.title || "";
714
+ const title2 = c2.title || "";
715
+ return title1.localeCompare(title2);
716
+ }
717
+ return c1.order - c2.order;
718
+ }
719
+ toContent(settingsGroups, startIndex) {
720
+ const builder = ( new SettingsContentBuilder());
721
+ for (let i = startIndex; i < settingsGroups.length; i++) {
722
+ builder.pushGroup(settingsGroups[i], i === startIndex, i === settingsGroups.length - 1);
723
+ }
724
+ return builder.getContent();
725
+ }
726
+ }
727
+ class DefaultSettingsEditorModel extends AbstractSettingsModel {
728
+ constructor(_uri, reference, defaultSettings) {
729
+ super();
730
+ this._uri = _uri;
731
+ this.defaultSettings = defaultSettings;
732
+ this._onDidChangeGroups = this._register(( new Emitter()));
733
+ this.onDidChangeGroups = this._onDidChangeGroups.event;
734
+ this._register(defaultSettings.onDidChange(() => this._onDidChangeGroups.fire()));
735
+ this._model = reference.object.textEditorModel;
736
+ this._register(this.onWillDispose(() => reference.dispose()));
737
+ }
738
+ get uri() {
739
+ return this._uri;
740
+ }
741
+ get target() {
742
+ return this.defaultSettings.target;
743
+ }
744
+ get settingsGroups() {
745
+ return this.defaultSettings.getSettingsGroups();
746
+ }
747
+ get filterGroups() {
748
+ return this.settingsGroups.slice(1);
749
+ }
750
+ update() {
751
+ if (this._model.isDisposed()) {
752
+ return undefined;
753
+ }
754
+ const resultGroups = [...( this._currentResultGroups.values())].sort((a, b) => a.order - b.order);
755
+ const nonEmptyResultGroups = resultGroups.filter(group => group.result.filterMatches.length);
756
+ const startLine = this.settingsGroups.at(-1).range.endLineNumber + 2;
757
+ const {
758
+ settingsGroups: filteredGroups,
759
+ matches
760
+ } = this.writeResultGroups(nonEmptyResultGroups, startLine);
761
+ const metadata = this.collectMetadata(resultGroups);
762
+ return resultGroups.length ? {
763
+ allGroups: this.settingsGroups,
764
+ filteredGroups,
765
+ matches,
766
+ metadata: metadata ?? undefined
767
+ } : undefined;
768
+ }
769
+ writeResultGroups(groups, startLine) {
770
+ const contentBuilderOffset = startLine - 1;
771
+ const builder = ( new SettingsContentBuilder(contentBuilderOffset));
772
+ const settingsGroups = [];
773
+ const matches = [];
774
+ if (groups.length) {
775
+ builder.pushLine(",");
776
+ groups.forEach(resultGroup => {
777
+ const settingsGroup = this.getGroup(resultGroup);
778
+ settingsGroups.push(settingsGroup);
779
+ matches.push(
780
+ ...this.writeSettingsGroupToBuilder(builder, settingsGroup, resultGroup.result.filterMatches)
781
+ );
782
+ });
783
+ }
784
+ const groupContent = builder.getContent() + "\n";
785
+ const groupEndLine = this._model.getLineCount();
786
+ const cursorPosition = ( new Selection(startLine, 1, startLine, 1));
787
+ const edit = {
788
+ text: groupContent,
789
+ forceMoveMarkers: true,
790
+ range: ( new Range(startLine, 1, groupEndLine, 1))
791
+ };
792
+ this._model.pushEditOperations([cursorPosition], [edit], () => [cursorPosition]);
793
+ const tokenizeTo = Math.min(startLine + 60, this._model.getLineCount());
794
+ this._model.tokenization.forceTokenization(tokenizeTo);
795
+ return {
796
+ matches,
797
+ settingsGroups
798
+ };
799
+ }
800
+ writeSettingsGroupToBuilder(builder, settingsGroup, filterMatches) {
801
+ filterMatches = ( filterMatches.map(filteredMatch => {
802
+ return {
803
+ setting: filteredMatch.setting,
804
+ score: filteredMatch.score,
805
+ matchType: filteredMatch.matchType,
806
+ keyMatchScore: filteredMatch.keyMatchScore,
807
+ matches: filteredMatch.matches && ( filteredMatch.matches.map(match => {
808
+ return ( new Range(
809
+ match.startLineNumber - filteredMatch.setting.range.startLineNumber,
810
+ match.startColumn,
811
+ match.endLineNumber - filteredMatch.setting.range.startLineNumber,
812
+ match.endColumn
813
+ ));
814
+ }))
815
+ };
816
+ }));
817
+ builder.pushGroup(settingsGroup);
818
+ const fixedMatches = ( filterMatches.map(m => m.matches || [])).flatMap((settingMatches, i) => {
819
+ const setting = settingsGroup.sections[0].settings[i];
820
+ return ( settingMatches.map(range => {
821
+ return ( new Range(
822
+ range.startLineNumber + setting.range.startLineNumber,
823
+ range.startColumn,
824
+ range.endLineNumber + setting.range.startLineNumber,
825
+ range.endColumn
826
+ ));
827
+ }));
828
+ });
829
+ return fixedMatches;
830
+ }
831
+ copySetting(setting) {
832
+ return {
833
+ description: setting.description,
834
+ scope: setting.scope,
835
+ type: setting.type,
836
+ enum: setting.enum,
837
+ enumDescriptions: setting.enumDescriptions,
838
+ key: setting.key,
839
+ value: setting.value,
840
+ range: setting.range,
841
+ overrides: [],
842
+ overrideOf: setting.overrideOf,
843
+ tags: setting.tags,
844
+ deprecationMessage: setting.deprecationMessage,
845
+ keyRange: nullRange,
846
+ valueRange: nullRange,
847
+ descriptionIsMarkdown: undefined,
848
+ descriptionRanges: []
849
+ };
850
+ }
851
+ getPreference(key) {
852
+ for (const group of this.settingsGroups) {
853
+ for (const section of group.sections) {
854
+ for (const setting of section.settings) {
855
+ if (setting.key === key) {
856
+ return setting;
857
+ }
858
+ }
859
+ }
860
+ }
861
+ return undefined;
862
+ }
863
+ getGroup(resultGroup) {
864
+ return {
865
+ id: resultGroup.id,
866
+ range: nullRange,
867
+ title: resultGroup.label,
868
+ titleRange: nullRange,
869
+ sections: [{
870
+ settings: ( resultGroup.result.filterMatches.map(m => this.copySetting(m.setting)))
871
+ }]
872
+ };
873
+ }
874
+ }
875
+ class SettingsContentBuilder {
876
+ get lineCountWithOffset() {
877
+ return this._contentByLines.length + this._rangeOffset;
878
+ }
879
+ get lastLine() {
880
+ return this._contentByLines[this._contentByLines.length - 1] || "";
881
+ }
882
+ constructor(_rangeOffset = 0) {
883
+ this._rangeOffset = _rangeOffset;
884
+ this._contentByLines = [];
885
+ }
886
+ pushLine(...lineText) {
887
+ this._contentByLines.push(...lineText);
888
+ }
889
+ pushGroup(settingsGroups, isFirst, isLast) {
890
+ this._contentByLines.push(isFirst ? "[{" : "{");
891
+ const lastSetting = this._pushGroup(settingsGroups, " ");
892
+ if (lastSetting) {
893
+ const lineIdx = lastSetting.range.endLineNumber - this._rangeOffset;
894
+ const content = this._contentByLines[lineIdx - 2];
895
+ this._contentByLines[lineIdx - 2] = content.substring(0, content.length - 1);
896
+ }
897
+ this._contentByLines.push(isLast ? "}]" : "},");
898
+ }
899
+ _pushGroup(group, indent) {
900
+ let lastSetting = null;
901
+ const groupStart = this.lineCountWithOffset + 1;
902
+ for (const section of group.sections) {
903
+ if (section.title) {
904
+ this.addDescription([section.title], indent, this._contentByLines);
905
+ }
906
+ if (section.settings.length) {
907
+ for (const setting of section.settings) {
908
+ this.pushSetting(setting, indent);
909
+ lastSetting = setting;
910
+ }
911
+ }
912
+ }
913
+ group.range = {
914
+ startLineNumber: groupStart,
915
+ startColumn: 1,
916
+ endLineNumber: this.lineCountWithOffset,
917
+ endColumn: this.lastLine.length
918
+ };
919
+ return lastSetting;
920
+ }
921
+ getContent() {
922
+ return this._contentByLines.join("\n");
923
+ }
924
+ pushSetting(setting, indent) {
925
+ const settingStart = this.lineCountWithOffset + 1;
926
+ this.pushSettingDescription(setting, indent);
927
+ let preValueContent = indent;
928
+ const keyString = JSON.stringify(setting.key);
929
+ preValueContent += keyString;
930
+ setting.keyRange = {
931
+ startLineNumber: this.lineCountWithOffset + 1,
932
+ startColumn: preValueContent.indexOf(setting.key) + 1,
933
+ endLineNumber: this.lineCountWithOffset + 1,
934
+ endColumn: setting.key.length
935
+ };
936
+ preValueContent += ": ";
937
+ const valueStart = this.lineCountWithOffset + 1;
938
+ this.pushValue(setting, preValueContent, indent);
939
+ setting.valueRange = {
940
+ startLineNumber: valueStart,
941
+ startColumn: preValueContent.length + 1,
942
+ endLineNumber: this.lineCountWithOffset,
943
+ endColumn: this.lastLine.length + 1
944
+ };
945
+ this._contentByLines[this._contentByLines.length - 1] += ",";
946
+ this._contentByLines.push("");
947
+ setting.range = {
948
+ startLineNumber: settingStart,
949
+ startColumn: 1,
950
+ endLineNumber: this.lineCountWithOffset,
951
+ endColumn: this.lastLine.length
952
+ };
953
+ }
954
+ pushSettingDescription(setting, indent) {
955
+ setting.descriptionRanges = [];
956
+ const descriptionPreValue = indent + "// ";
957
+ const deprecationMessageLines = setting.deprecationMessage?.split(/\n/g) ?? [];
958
+ for (let line of [...deprecationMessageLines, ...setting.description]) {
959
+ line = fixSettingLinks(line);
960
+ this._contentByLines.push(descriptionPreValue + line);
961
+ setting.descriptionRanges.push({
962
+ startLineNumber: this.lineCountWithOffset,
963
+ startColumn: this.lastLine.indexOf(line) + 1,
964
+ endLineNumber: this.lineCountWithOffset,
965
+ endColumn: this.lastLine.length
966
+ });
967
+ }
968
+ if (setting.enum && setting.enumDescriptions?.some(desc => !!desc)) {
969
+ setting.enumDescriptions.forEach((desc, i) => {
970
+ const displayEnum = escapeInvisibleChars(String(setting.enum[i]));
971
+ const line = desc ? `${displayEnum}: ${fixSettingLinks(desc)}` : displayEnum;
972
+ const lines = line.split(/\n/g);
973
+ lines[0] = " - " + lines[0];
974
+ this._contentByLines.push(...( lines.map(l => `${indent}// ${l}`)));
975
+ setting.descriptionRanges.push({
976
+ startLineNumber: this.lineCountWithOffset,
977
+ startColumn: this.lastLine.indexOf(line) + 1,
978
+ endLineNumber: this.lineCountWithOffset,
979
+ endColumn: this.lastLine.length
980
+ });
981
+ });
982
+ }
983
+ }
984
+ pushValue(setting, preValueConent, indent) {
985
+ const valueString = JSON.stringify(setting.value, null, indent);
986
+ if (valueString && (typeof setting.value === "object")) {
987
+ if (setting.overrides && setting.overrides.length) {
988
+ this._contentByLines.push(preValueConent + " {");
989
+ for (const subSetting of setting.overrides) {
990
+ this.pushSetting(subSetting, indent + indent);
991
+ this._contentByLines.pop();
992
+ }
993
+ const lastSetting = setting.overrides[setting.overrides.length - 1];
994
+ const content = this._contentByLines[lastSetting.range.endLineNumber - 2];
995
+ this._contentByLines[lastSetting.range.endLineNumber - 2] = content.substring(0, content.length - 1);
996
+ this._contentByLines.push(indent + "}");
997
+ } else {
998
+ const mulitLineValue = valueString.split("\n");
999
+ this._contentByLines.push(preValueConent + mulitLineValue[0]);
1000
+ for (let i = 1; i < mulitLineValue.length; i++) {
1001
+ this._contentByLines.push(indent + mulitLineValue[i]);
1002
+ }
1003
+ }
1004
+ } else {
1005
+ this._contentByLines.push(preValueConent + valueString);
1006
+ }
1007
+ }
1008
+ addDescription(description, indent, result) {
1009
+ for (const line of description) {
1010
+ result.push(indent + "// " + line);
1011
+ }
1012
+ }
1013
+ }
1014
+ class RawSettingsContentBuilder extends SettingsContentBuilder {
1015
+ constructor(indent = "\t") {
1016
+ super(0);
1017
+ this.indent = indent;
1018
+ }
1019
+ pushGroup(settingsGroups) {
1020
+ this._pushGroup(settingsGroups, this.indent);
1021
+ }
1022
+ }
1023
+ class DefaultRawSettingsEditorModel extends Disposable {
1024
+ constructor(defaultSettings) {
1025
+ super();
1026
+ this.defaultSettings = defaultSettings;
1027
+ this._content = null;
1028
+ this._onDidContentChanged = this._register(( new Emitter()));
1029
+ this.onDidContentChanged = this._onDidContentChanged.event;
1030
+ this._register(defaultSettings.onDidChange(() => {
1031
+ this._content = null;
1032
+ this._onDidContentChanged.fire();
1033
+ }));
1034
+ }
1035
+ get content() {
1036
+ if (this._content === null) {
1037
+ const builder = ( new RawSettingsContentBuilder());
1038
+ builder.pushLine("{");
1039
+ for (const settingsGroup of this.defaultSettings.getRegisteredGroups()) {
1040
+ builder.pushGroup(settingsGroup);
1041
+ }
1042
+ builder.pushLine("}");
1043
+ this._content = builder.getContent();
1044
+ }
1045
+ return this._content;
1046
+ }
1047
+ }
1048
+ function escapeInvisibleChars(enumValue) {
1049
+ return enumValue && enumValue.replace(/\n/g, "\\n").replace(/\r/g, "\\r");
1050
+ }
1051
+ function defaultKeybindingsContents(keybindingService) {
1052
+ const defaultsHeader = "// " + ( localize(
1053
+ 16210,
1054
+ "Override key bindings by placing them into your key bindings file."
1055
+ ));
1056
+ return defaultsHeader + "\n" + keybindingService.getDefaultKeybindingsContent();
1057
+ }
1058
+ let DefaultKeybindingsEditorModel = class DefaultKeybindingsEditorModel {
1059
+ constructor(_uri, keybindingService) {
1060
+ this._uri = _uri;
1061
+ this.keybindingService = keybindingService;
1062
+ }
1063
+ get uri() {
1064
+ return this._uri;
1065
+ }
1066
+ get content() {
1067
+ if (!this._content) {
1068
+ this._content = defaultKeybindingsContents(this.keybindingService);
1069
+ }
1070
+ return this._content;
1071
+ }
1072
+ getPreference() {
1073
+ return null;
1074
+ }
1075
+ dispose() {}
1076
+ };
1077
+ DefaultKeybindingsEditorModel = ( __decorate([( __param(1, IKeybindingService))], DefaultKeybindingsEditorModel));
1078
+
1079
+ export { DefaultKeybindingsEditorModel, DefaultRawSettingsEditorModel, DefaultSettings, DefaultSettingsEditorModel, Settings2EditorModel, SettingsEditorModel, WorkspaceConfigurationEditorModel, defaultKeybindingsContents, fixSettingLinks, nullRange };