@codingame/monaco-vscode-api 2.2.2 → 3.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 (578) hide show
  1. package/README.md +16 -3
  2. package/api.js +8 -10
  3. package/contributions.js +3 -3
  4. package/debugProtocol.d.ts +143 -51
  5. package/extensions.d.ts +9 -5
  6. package/external/@xterm/xterm/typings/xterm.d.ts +2 -2
  7. package/missing-services.js +48 -13
  8. package/monaco.js +30 -14
  9. package/package.json +8 -8
  10. package/service-override/tools/editor.js +31 -8
  11. package/service-override/tools/views.d.ts +5 -6
  12. package/service-override/tools/views.js +10 -11
  13. package/services.d.ts +2 -2
  14. package/services.js +4 -3
  15. package/vscode/src/vs/base/browser/browser.js +2 -66
  16. package/vscode/src/vs/base/browser/dom.js +10 -22
  17. package/vscode/src/vs/base/browser/markdownRenderer.js +13 -5
  18. package/vscode/src/vs/base/browser/mouseEvent.js +9 -3
  19. package/vscode/src/vs/base/browser/pixelRatio.js +72 -0
  20. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +4 -3
  21. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.css.js +1 -1
  22. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -1
  23. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +3 -4
  24. package/vscode/src/vs/base/browser/ui/button/button.js +16 -4
  25. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  26. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -3
  27. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +8 -1
  28. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +6 -2
  29. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.js +22 -0
  30. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +1 -0
  31. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +3 -2
  32. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabelHover.js +2 -1
  33. package/vscode/src/vs/base/browser/ui/list/listView.js +27 -42
  34. package/vscode/src/vs/base/browser/ui/menu/menu.js +0 -4
  35. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -4
  36. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +8 -4
  37. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +4 -2
  38. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +7 -2
  39. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +1 -0
  40. package/vscode/src/vs/base/common/actions.js +1 -1
  41. package/vscode/src/vs/base/common/assert.js +1 -1
  42. package/vscode/src/vs/base/common/async.js +11 -7
  43. package/vscode/src/vs/base/common/codicons.d.ts +4 -0
  44. package/vscode/src/vs/base/common/codicons.js +4 -0
  45. package/vscode/src/vs/base/common/date.js +55 -1
  46. package/vscode/src/vs/base/common/event.js +5 -3
  47. package/vscode/src/vs/base/common/filters.js +1 -1
  48. package/vscode/src/vs/base/common/hotReload.js +5 -4
  49. package/vscode/src/vs/base/common/network.js +3 -0
  50. package/vscode/src/vs/base/common/observableInternal/autorun.js +19 -35
  51. package/vscode/src/vs/base/common/observableInternal/base.js +3 -82
  52. package/vscode/src/vs/base/common/observableInternal/debugName.js +100 -0
  53. package/vscode/src/vs/base/common/observableInternal/derived.js +14 -46
  54. package/vscode/src/vs/base/common/observableInternal/promise.js +94 -0
  55. package/vscode/src/vs/base/common/observableInternal/utils.js +5 -27
  56. package/vscode/src/vs/base/common/prefixTree.js +56 -22
  57. package/vscode/src/vs/base/common/product.d.ts +1 -1
  58. package/vscode/src/vs/base/common/strings.js +9 -1
  59. package/vscode/src/vs/editor/browser/config/charWidthReader.js +5 -6
  60. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +7 -4
  61. package/vscode/src/vs/editor/browser/config/fontMeasurements.js +39 -26
  62. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +10 -10
  63. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +4 -4
  64. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +12 -12
  65. package/vscode/src/vs/editor/browser/coreCommands.js +2 -2
  66. package/vscode/src/vs/editor/browser/view/viewController.js +3 -3
  67. package/vscode/src/vs/editor/browser/view/viewLayer.js +1 -1
  68. package/vscode/src/vs/editor/browser/view/viewOverlays.js +6 -6
  69. package/vscode/src/vs/editor/browser/view.js +2 -2
  70. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
  71. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +5 -5
  72. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +8 -8
  73. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +2 -2
  74. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +11 -11
  75. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +4 -4
  76. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +4 -4
  77. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +4 -4
  78. package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +4 -4
  79. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +13 -13
  80. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +2 -2
  81. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +2 -2
  82. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +7 -7
  83. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +2 -2
  84. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +7 -7
  85. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +6 -6
  86. package/vscode/src/vs/editor/browser/viewParts/rulers/rulers.js +2 -2
  87. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +3 -3
  88. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +4 -4
  89. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +2 -2
  90. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +2 -2
  91. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +5 -5
  92. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +5 -5
  93. package/vscode/src/vs/editor/browser/widget/codeEditorContributions.js +2 -2
  94. package/vscode/src/vs/editor/browser/widget/codeEditorWidget.js +34 -32
  95. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.css.js +1 -1
  96. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +82 -37
  97. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +3 -1
  98. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +7 -7
  99. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +3 -3
  100. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +6 -6
  101. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +10 -16
  102. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +2 -1
  103. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +12 -12
  104. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -4
  105. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -1
  106. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +17 -18
  107. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +1 -1
  108. package/vscode/src/vs/editor/browser/widget/embeddedCodeEditorWidget.js +4 -4
  109. package/vscode/src/vs/editor/browser/widget/markdownRenderer/browser/renderedMarkdown.css.js +1 -1
  110. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/colors.js +2 -2
  111. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/diffEditorItemTemplate.js +43 -16
  112. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorWidget.js +3 -0
  113. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/multiDiffEditorWidgetImpl.js +42 -8
  114. package/vscode/src/vs/editor/browser/widget/multiDiffEditorWidget/style.css.js +1 -1
  115. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +18 -1
  116. package/vscode/src/vs/editor/common/config/editorOptions.js +188 -107
  117. package/vscode/src/vs/editor/common/config/fontInfo.js +2 -2
  118. package/vscode/src/vs/editor/common/cursorCommon.js +14 -14
  119. package/vscode/src/vs/editor/common/editorContextKeys.js +1 -1
  120. package/vscode/src/vs/editor/common/languageSelector.js +12 -1
  121. package/vscode/src/vs/editor/common/languages.d.ts +28 -1
  122. package/vscode/src/vs/editor/common/languages.js +6 -1
  123. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +3 -1
  124. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +2 -0
  125. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +96 -86
  126. package/vscode/src/vs/editor/common/standaloneStrings.js +5 -5
  127. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +19 -19
  128. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +2 -2
  129. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +12 -12
  130. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +3 -3
  131. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +6 -6
  132. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +5 -1
  133. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +3 -3
  134. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +2 -2
  135. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +1 -1
  136. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
  137. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +3 -3
  138. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +2 -2
  139. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +3 -3
  140. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +2 -3
  141. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +3 -3
  142. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +3 -3
  143. package/vscode/src/vs/editor/contrib/find/browser/findController.js +1 -1
  144. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +6 -6
  145. package/vscode/src/vs/editor/contrib/find/browser/findWidget.css.js +1 -1
  146. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +9 -62
  147. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +3 -3
  148. package/vscode/src/vs/editor/contrib/format/browser/format.js +5 -5
  149. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +5 -5
  150. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
  151. package/vscode/src/vs/editor/contrib/gotoError/browser/markerNavigationService.js +1 -1
  152. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +58 -84
  153. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +3 -3
  154. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  155. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +8 -2
  156. package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +1 -1
  157. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +1 -1
  158. package/vscode/src/vs/editor/contrib/hover/browser/marginHover.js +1 -1
  159. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +1 -1
  160. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +18 -15
  161. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +3 -3
  162. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +1 -1
  163. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +2 -2
  164. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +1 -1
  165. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +14 -6
  166. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +10 -10
  167. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +1 -1
  168. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +3 -3
  169. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +54 -27
  170. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
  171. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +115 -45
  172. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +1 -1
  173. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +6 -5
  174. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +46 -1
  175. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commandIds.js +5 -0
  176. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commands.js +145 -0
  177. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +188 -0
  178. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +91 -0
  179. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js +12 -0
  180. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.css.js +4 -0
  181. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +309 -0
  182. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.css.js +4 -0
  183. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +193 -0
  184. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +2 -2
  185. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +1 -1
  186. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  187. package/vscode/src/vs/editor/contrib/links/browser/links.js +5 -5
  188. package/vscode/src/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +1 -1
  189. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +10 -10
  190. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +3 -3
  191. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +1 -1
  192. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +1 -1
  193. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +1 -1
  194. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +143 -9
  195. package/vscode/src/vs/editor/contrib/rename/browser/renameInputField.css.js +1 -1
  196. package/vscode/src/vs/editor/contrib/rename/browser/renameInputField.js +347 -17
  197. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +1 -1
  198. package/vscode/src/vs/editor/contrib/snippet/browser/snippetSession.js +2 -2
  199. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +23 -37
  200. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +11 -10
  201. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
  202. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +8 -8
  203. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +4 -4
  204. package/vscode/src/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +2 -2
  205. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +11 -11
  206. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +6 -6
  207. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +3 -3
  208. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +3 -3
  209. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +2 -2
  210. package/vscode/src/vs/editor/contrib/suggest/browser/wordDistance.js +1 -1
  211. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +3 -3
  212. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -3
  213. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +4 -4
  214. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +26 -16
  215. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
  216. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +7 -3
  217. package/vscode/src/vs/editor/editor.api.d.ts +146 -85
  218. package/vscode/src/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +1 -1
  219. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +3 -5
  220. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +7 -4
  221. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +10 -10
  222. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +99 -0
  223. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +608 -0
  224. package/vscode/src/vs/platform/action/common/actionCommonCategories.d.ts +1 -4
  225. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +3 -3
  226. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +26 -41
  227. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +6 -4
  228. package/vscode/src/vs/platform/actions/common/actions.d.ts +11 -0
  229. package/vscode/src/vs/platform/actions/common/actions.js +11 -0
  230. package/vscode/src/vs/platform/configuration/common/configuration.d.ts +17 -33
  231. package/vscode/src/vs/platform/configuration/common/configurationModels.js +42 -29
  232. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -4
  233. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +2 -2
  234. package/vscode/src/vs/platform/hover/browser/hover.js +69 -1
  235. package/vscode/src/vs/platform/product/common/product.js +1 -1
  236. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +14 -20
  237. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +11 -5
  238. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +22 -2
  239. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +9 -7
  240. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +2 -5
  241. package/vscode/src/vs/platform/request/common/request.js +111 -0
  242. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +1 -0
  243. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +15 -0
  244. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +9 -0
  245. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +5 -3
  246. package/vscode/src/vs/platform/theme/common/colorRegistry.js +5 -5
  247. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +6 -2
  248. package/vscode/src/vs/platform/window/common/window.js +4 -1
  249. package/vscode/src/vs/platform/workspace/common/workspace.js +2 -1
  250. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +2 -2
  251. package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +130 -14
  252. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +76 -24
  253. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +4 -1
  254. package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -39
  255. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +309 -137
  256. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +164 -49
  257. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +67 -7
  258. package/vscode/src/vs/workbench/api/common/extHostComments.js +28 -0
  259. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +129 -48
  260. package/vscode/src/vs/workbench/api/common/extHostDocumentData.js +1 -2
  261. package/vscode/src/vs/workbench/api/common/extHostDocumentsAndEditors.js +1 -1
  262. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +5 -4
  263. package/vscode/src/vs/workbench/api/common/extHostInteractive.js +0 -1
  264. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +130 -16
  265. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +12 -1
  266. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +14 -5
  267. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +19 -1
  268. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +2 -2
  269. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +301 -75
  270. package/vscode/src/vs/workbench/api/common/extHostTypes.js +127 -45
  271. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +46 -7
  272. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +55 -2
  273. package/vscode/src/vs/workbench/api/worker/extensionHostWorker.js +1 -1
  274. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +146 -99
  275. package/vscode/src/vs/workbench/browser/actions/listCommands.js +2 -3
  276. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +3 -4
  277. package/vscode/src/vs/workbench/browser/actions/windowActions.js +4 -8
  278. package/vscode/src/vs/workbench/browser/composite.d.ts +2 -1
  279. package/vscode/src/vs/workbench/browser/composite.js +1 -1
  280. package/vscode/src/vs/workbench/browser/editor.js +11 -1
  281. package/vscode/src/vs/workbench/browser/media/style.css.js +1 -1
  282. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -1
  283. package/vscode/src/vs/workbench/browser/panecomposite.js +2 -2
  284. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +4 -6
  285. package/vscode/src/vs/workbench/browser/parts/activitybar/media/activityaction.css.js +1 -1
  286. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +4 -4
  287. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +1 -1
  288. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +1 -1
  289. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +10 -10
  290. package/vscode/src/vs/workbench/browser/parts/compositePart.js +8 -5
  291. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +39 -29
  292. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +1 -1
  293. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +20 -24
  294. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +6 -4
  295. package/vscode/src/vs/workbench/browser/parts/editor/editor.autosave.contribution.js +2 -3
  296. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +52 -54
  297. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +30 -30
  298. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +1 -0
  299. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +12 -18
  300. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +1 -0
  301. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +1 -1
  302. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +7 -6
  303. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +17 -6
  304. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +13 -5
  305. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
  306. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +84 -71
  307. package/vscode/src/vs/workbench/browser/parts/editor/singleEditorTabsControl.js +2 -6
  308. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +4 -1
  309. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +2 -2
  310. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +29 -29
  311. package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css.js +1 -1
  312. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +5 -5
  313. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +3 -3
  314. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +1 -5
  315. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +9 -6
  316. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +56 -74
  317. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +1 -1
  318. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +6 -9
  319. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +4 -4
  320. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +9 -1
  321. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +55 -12
  322. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +9 -16
  323. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +1 -1
  324. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.d.ts +2 -1
  325. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +4 -4
  326. package/vscode/src/vs/workbench/browser/quickaccess.js +8 -1
  327. package/vscode/src/vs/workbench/browser/workbench.contribution.js +22 -20
  328. package/vscode/src/vs/workbench/common/configuration.js +146 -43
  329. package/vscode/src/vs/workbench/common/contextkeys.js +4 -4
  330. package/vscode/src/vs/workbench/common/contributions.js +136 -20
  331. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +5 -5
  332. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +1 -1
  333. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +17 -11
  334. package/vscode/src/vs/workbench/common/editor/editorInput.js +1 -1
  335. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -2
  336. package/vscode/src/vs/workbench/common/editor.d.ts +4 -0
  337. package/vscode/src/vs/workbench/common/theme.js +11 -1
  338. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +1064 -118
  339. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +7 -7
  340. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +5 -5
  341. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +306 -0
  342. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +46 -0
  343. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +177 -0
  344. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +163 -0
  345. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +1 -1
  346. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +2 -2
  347. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +31 -17
  348. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +11 -17
  349. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +18 -27
  350. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +2 -5
  351. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +34 -8
  352. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +8 -7
  353. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +142 -109
  354. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +80 -52
  355. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +1 -1
  356. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +44 -13
  357. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +230 -74
  358. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  359. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +5 -5
  360. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +87 -29
  361. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +19 -3
  362. package/vscode/src/vs/workbench/contrib/chat/common/chatProvider.js +18 -3
  363. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +11 -8
  364. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -6
  365. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +11 -5
  366. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +2 -2
  367. package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +71 -0
  368. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.css.js +4 -0
  369. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +256 -0
  370. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +2 -2
  371. package/vscode/src/vs/workbench/contrib/codeEditor/browser/editorFeatures.js +3 -4
  372. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +8 -6
  373. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +11 -11
  374. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -4
  375. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -3
  376. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -3
  377. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -10
  378. package/vscode/src/vs/workbench/contrib/comments/browser/commentFormActions.js +9 -2
  379. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +27 -13
  380. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +41 -23
  381. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.js +15 -7
  382. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadAdditionalActions.js +22 -10
  383. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
  384. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +1 -0
  385. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  386. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +3 -3
  387. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +2 -2
  388. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +3 -1
  389. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +2 -3
  390. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInputFactory.js +1 -0
  391. package/vscode/src/vs/workbench/contrib/customEditor/common/extensionPoint.js +66 -2
  392. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +31 -2
  393. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +2 -2
  394. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +37 -7
  395. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +118 -25
  396. package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +1 -1
  397. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +37 -5
  398. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +24 -1
  399. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +18 -0
  400. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +237 -140
  401. package/vscode/src/vs/workbench/contrib/debug/common/debugVisualizers.js +72 -25
  402. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessions.js +5 -8
  403. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +29 -4
  404. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorHandler.js +1 -0
  405. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +1 -0
  406. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +2 -1
  407. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +8 -7
  408. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +21 -19
  409. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +152 -120
  410. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +24 -1
  411. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  412. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +26 -25
  413. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +5 -5
  414. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +51 -12
  415. package/vscode/src/vs/workbench/contrib/files/browser/views/media/openeditors.css.js +1 -1
  416. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +24 -9
  417. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +1 -1
  418. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -0
  419. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +16 -22
  420. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +1 -1
  421. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +48 -27
  422. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +2 -2
  423. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +23 -8
  424. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +48 -6
  425. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +145 -73
  426. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +31 -9
  427. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +8 -10
  428. package/vscode/src/vs/workbench/contrib/list/browser/list.contribution.js +3 -3
  429. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +7 -3
  430. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/commands.js +95 -152
  431. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/commands/devCommands.js +16 -25
  432. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditor.contribution.js +2 -4
  433. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -1
  434. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +19 -19
  435. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +1 -1
  436. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +1 -0
  437. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +17 -3
  438. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +102 -15
  439. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +2 -2
  440. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +234 -0
  441. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +1 -2
  442. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +48 -24
  443. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +52 -22
  444. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +62 -3
  445. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +40 -0
  446. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +20 -6
  447. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +4 -4
  448. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatPart.js +3 -27
  449. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +28 -6
  450. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +28 -3
  451. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +78 -18
  452. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +208 -1
  453. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +1 -1
  454. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +4 -4
  455. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +85 -71
  456. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +1 -2
  457. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +1 -4
  458. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +2 -3
  459. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +82 -14
  460. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +1 -1
  461. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +0 -1
  462. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookOverviewRuler.js +4 -3
  463. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +92 -33
  464. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +136 -0
  465. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +6 -1
  466. package/vscode/src/vs/workbench/contrib/notebook/common/notebookRange.js +5 -1
  467. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +279 -0
  468. package/vscode/src/vs/workbench/contrib/preferences/browser/keyboardLayoutPicker.js +6 -7
  469. package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindings.css.js +4 -0
  470. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +64 -0
  471. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +507 -0
  472. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +478 -0
  473. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +796 -0
  474. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +8 -10
  475. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +14 -20
  476. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +12 -12
  477. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +3 -3
  478. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +44 -54
  479. package/vscode/src/vs/workbench/contrib/search/common/constants.js +26 -65
  480. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +6 -9
  481. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +6 -9
  482. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +2 -2
  483. package/vscode/src/vs/workbench/contrib/snippets/browser/tabCompletion.js +2 -2
  484. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +3 -124
  485. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +2 -2
  486. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +2 -2
  487. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +5 -5
  488. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +61 -24
  489. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -3
  490. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +5 -5
  491. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +24 -1
  492. package/vscode/src/vs/workbench/contrib/terminal/common/terminalExtensionPoints.js +1 -1
  493. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +4 -4
  494. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +10 -10
  495. package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js +45 -20
  496. package/vscode/src/vs/workbench/contrib/update/common/update.js +2 -1
  497. package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +3 -4
  498. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewCommands.js +3 -3
  499. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +1 -1
  500. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInputSerializer.js +1 -1
  501. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +15 -18
  502. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +2 -5
  503. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewService.js +4 -4
  504. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.js +2 -2
  505. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +5 -5
  506. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +193 -54
  507. package/vscode/src/vs/workbench/services/authentication/common/authentication.js +2 -1
  508. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +9 -3
  509. package/vscode/src/vs/workbench/services/editor/browser/editorPaneService.js +10 -0
  510. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +3 -1
  511. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +5 -0
  512. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +1 -6
  513. package/vscode/src/vs/workbench/services/editor/common/editorPaneService.js +3 -0
  514. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +5 -1
  515. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeatures.js +29 -0
  516. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +1 -1
  517. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +3 -4
  518. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -3
  519. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +11 -5
  520. package/vscode/src/vs/workbench/services/extensions/common/workspaceContains.js +5 -5
  521. package/vscode/src/vs/workbench/services/history/browser/historyService.js +25 -4
  522. package/vscode/src/vs/workbench/services/history/common/history.d.ts +5 -0
  523. package/vscode/src/vs/workbench/services/language/common/languageService.js +111 -2
  524. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -2
  525. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +59 -1
  526. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +1008 -0
  527. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +477 -0
  528. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +2 -2
  529. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.d.ts +4 -1
  530. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +53 -13
  531. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -0
  532. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +2 -2
  533. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +1 -1
  534. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +22 -9
  535. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +76 -4
  536. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +2 -2
  537. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +7 -7
  538. package/vscode/src/vs/workbench/services/timer/browser/timerService.js +1 -0
  539. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorHandler.js +3 -2
  540. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +1 -1
  541. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +2 -2
  542. package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +6 -9
  543. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -12
  544. package/vscode/src/vs/workbench/services/views/common/viewContainerModel.js +6 -1
  545. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.d.ts +43 -4
  546. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +1 -1
  547. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.d.ts +16 -7
  548. package/vscode/src/vs/workbench/services/workspaces/common/workspaceTrust.js +3 -6
  549. package/vscode-dts/vscode.proposed.activeComment.d.ts +23 -0
  550. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +509 -0
  551. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +288 -0
  552. package/vscode-dts/vscode.proposed.chatProvider.d.ts +10 -1
  553. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +56 -0
  554. package/vscode-dts/vscode.proposed.codeActionRanges.d.ts +2 -4
  555. package/vscode-dts/{vscode.proposed.chat.d.ts → vscode.proposed.contribIssueReporter.d.ts} +2 -20
  556. package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemGroupMenu.d.ts +2 -0
  557. package/vscode-dts/vscode.proposed.contribSourceControlTitleMenu.d.ts +7 -0
  558. package/vscode-dts/vscode.proposed.debugVisualization.d.ts +76 -6
  559. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +49 -0
  560. package/vscode-dts/vscode.proposed.findFiles2.d.ts +89 -0
  561. package/vscode-dts/vscode.proposed.inlineEdit.d.ts +86 -0
  562. package/vscode-dts/vscode.proposed.interactive.d.ts +6 -3
  563. package/vscode-dts/vscode.proposed.languageModels.d.ts +184 -0
  564. package/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts +36 -0
  565. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +6 -0
  566. package/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts +3 -0
  567. package/vscode-dts/vscode.proposed.speech.d.ts +5 -1
  568. package/vscode-dts/vscode.proposed.testCoverage.d.ts +40 -27
  569. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +0 -98
  570. package/vscode/src/vs/platform/audioCues/browser/audioCueService.js +0 -576
  571. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +0 -348
  572. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatActions.js +0 -554
  573. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/chat/cellChatController.js +0 -471
  574. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/featuredExtensionService.js +0 -159
  575. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +0 -440
  576. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +0 -139
  577. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +0 -105
  578. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +0 -30
@@ -1,13 +1,15 @@
1
1
  import { Registry } from '../../platform/registry/common/platform.js';
2
2
  import { localizeWithPath } from '../../nls.js';
3
- import { Extensions as Extensions$2 } from '../../platform/configuration/common/configurationRegistry.js';
4
- import { isMacintosh, isWeb, isNative, isWindows, isLinux } from '../../base/common/platform.js';
5
- import { DynamicWorkbenchConfigurationWorkbenchContribution, workbenchConfigurationNodeBase, problemsConfigurationNodeBase, Extensions as Extensions$1 } from '../common/configuration.js';
3
+ import { Extensions as Extensions$1 } from '../../platform/configuration/common/configurationRegistry.js';
4
+ import { isMacintosh, isWeb, isWindows, isLinux } from '../../base/common/platform.js';
5
+ import { ConfigurationMigrationWorkbenchContribution, DynamicWorkbenchSecurityConfiguration, workbenchConfigurationNodeBase, problemsConfigurationNodeBase, Extensions } from '../common/configuration.js';
6
6
  import { isStandalone } from '../../base/browser/browser.js';
7
- import { Extensions } from '../common/contributions.js';
8
- const registry = ( Registry.as(Extensions$2.Configuration));
7
+ import { registerWorkbenchContribution2 } from '../common/contributions.js';
8
+ import { defaultWindowTitle, defaultWindowTitleSeparator } from './parts/titlebar/windowTitle.js';
9
+ const registry = ( Registry.as(Extensions$1.Configuration));
9
10
  (function registerConfiguration() {
10
- ( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(DynamicWorkbenchConfigurationWorkbenchContribution, 2 );
11
+ registerWorkbenchContribution2(ConfigurationMigrationWorkbenchContribution.ID, ConfigurationMigrationWorkbenchContribution, 4 );
12
+ registerWorkbenchContribution2(DynamicWorkbenchSecurityConfiguration.ID, DynamicWorkbenchSecurityConfiguration, 3 );
11
13
  registry.registerConfiguration({
12
14
  ...workbenchConfigurationNodeBase,
13
15
  'properties': {
@@ -1251,6 +1253,16 @@ const registry = ( Registry.as(Extensions$2.Configuration));
1251
1253
  'focusedView',
1252
1254
  "`${focusedView}`: the name of the view that is currently focused."
1253
1255
  )),
1256
+ ( localizeWithPath(
1257
+ 'vs/workbench/browser/workbench.contribution',
1258
+ 'activeRepositoryName',
1259
+ "`${activeRepositoryName}`: the name of the active repository (e.g. vscode)."
1260
+ )),
1261
+ ( localizeWithPath(
1262
+ 'vs/workbench/browser/workbench.contribution',
1263
+ 'activeRepositoryBranchName',
1264
+ "`${activeRepositoryBranchName}`: the name of the active branch in the active repository (e.g. main)."
1265
+ )),
1254
1266
  ( localizeWithPath(
1255
1267
  'vs/workbench/browser/workbench.contribution',
1256
1268
  'separator',
@@ -1269,21 +1281,12 @@ const registry = ( Registry.as(Extensions$2.Configuration));
1269
1281
  'properties': {
1270
1282
  'window.title': {
1271
1283
  'type': 'string',
1272
- 'default': (() => {
1273
- if (isMacintosh && isNative) {
1274
- return '${activeEditorShort}${separator}${rootName}${separator}${profileName}';
1275
- }
1276
- const base = '${dirty}${activeEditorShort}${separator}${rootName}${separator}${profileName}${separator}${appName}';
1277
- if (isWeb) {
1278
- return base + '${separator}${remoteName}';
1279
- }
1280
- return base;
1281
- })(),
1284
+ 'default': defaultWindowTitle,
1282
1285
  'markdownDescription': windowTitleDescription
1283
1286
  },
1284
1287
  'window.titleSeparator': {
1285
1288
  'type': 'string',
1286
- 'default': isMacintosh ? ' \u2014 ' : ' - ',
1289
+ 'default': defaultWindowTitleSeparator,
1287
1290
  'markdownDescription': ( localizeWithPath(
1288
1291
  'vs/workbench/browser/workbench.contribution',
1289
1292
  "window.titleSeparator",
@@ -1517,7 +1520,6 @@ const registry = ( Registry.as(Extensions$2.Configuration));
1517
1520
  'problems.visibility': {
1518
1521
  'type': 'boolean',
1519
1522
  'default': true,
1520
- 'tags': ['experimental'],
1521
1523
  'description': ( localizeWithPath(
1522
1524
  'vs/workbench/browser/workbench.contribution',
1523
1525
  'problems.visibility',
@@ -1629,7 +1631,7 @@ const registry = ( Registry.as(Extensions$2.Configuration));
1629
1631
  }
1630
1632
  });
1631
1633
  })();
1632
- ( Registry.as(Extensions$1.ConfigurationMigration))
1634
+ ( Registry.as(Extensions.ConfigurationMigration))
1633
1635
  .registerConfigurationMigrations([{
1634
1636
  key: 'workbench.activityBar.visible', migrateFn: (value) => {
1635
1637
  const result = [];
@@ -1642,7 +1644,7 @@ const registry = ( Registry.as(Extensions$2.Configuration));
1642
1644
  return result;
1643
1645
  }
1644
1646
  }]);
1645
- ( Registry.as(Extensions$1.ConfigurationMigration))
1647
+ ( Registry.as(Extensions.ConfigurationMigration))
1646
1648
  .registerConfigurationMigrations([{
1647
1649
  key: 'workbench.editor.doubleClickTabToToggleEditorGroupSizes', migrateFn: (value) => {
1648
1650
  const results = [];
@@ -2,10 +2,14 @@ import { __decorate, __param } from '../../../../../external/tslib/tslib.es6.js'
2
2
  import { localizeWithPath } from '../../nls.js';
3
3
  import { Extensions as Extensions$1 } from '../../platform/configuration/common/configurationRegistry.js';
4
4
  import { Registry } from '../../platform/registry/common/platform.js';
5
+ import { IWorkspaceContextService } from '../../platform/workspace/common/workspace.js';
6
+ import { IConfigurationService } from '../../platform/configuration/common/configuration.js';
5
7
  import { Disposable } from '../../base/common/lifecycle.js';
6
8
  import { Emitter } from '../../base/common/event.js';
7
9
  import { IRemoteAgentService } from '../services/remote/common/remoteAgentService.js';
8
10
  import { isWindows } from '../../base/common/platform.js';
11
+ import { equals } from '../../base/common/objects.js';
12
+ import { DeferredPromise } from '../../base/common/async.js';
9
13
  const applicationConfigurationNodeBase = ( Object.freeze({
10
14
  'id': 'application',
11
15
  'order': 100,
@@ -62,55 +66,154 @@ class ConfigurationMigrationRegistry {
62
66
  }
63
67
  const configurationMigrationRegistry = ( new ConfigurationMigrationRegistry());
64
68
  Registry.add(Extensions.ConfigurationMigration, configurationMigrationRegistry);
65
- let DynamicWorkbenchConfigurationWorkbenchContribution = class DynamicWorkbenchConfigurationWorkbenchContribution extends Disposable {
66
- constructor(remoteAgentService) {
69
+ let ConfigurationMigrationWorkbenchContribution = class ConfigurationMigrationWorkbenchContribution extends Disposable {
70
+ static { this.ID = 'workbench.contrib.configurationMigration'; }
71
+ constructor(configurationService, workspaceService) {
67
72
  super();
68
- (async () => {
69
- if (!isWindows) {
70
- const remoteEnvironment = await remoteAgentService.getEnvironment();
71
- if (remoteEnvironment?.os !== 1 ) {
72
- return;
73
+ this.configurationService = configurationService;
74
+ this.workspaceService = workspaceService;
75
+ this._register(this.workspaceService.onDidChangeWorkspaceFolders(async (e) => {
76
+ for (const folder of e.added) {
77
+ await this.migrateConfigurationsForFolder(folder, configurationMigrationRegistry.migrations);
78
+ }
79
+ }));
80
+ this.migrateConfigurations(configurationMigrationRegistry.migrations);
81
+ this._register(configurationMigrationRegistry.onDidRegisterConfigurationMigration(migration => this.migrateConfigurations(migration)));
82
+ }
83
+ async migrateConfigurations(migrations) {
84
+ await this.migrateConfigurationsForFolder(undefined, migrations);
85
+ for (const folder of this.workspaceService.getWorkspace().folders) {
86
+ await this.migrateConfigurationsForFolder(folder, migrations);
87
+ }
88
+ }
89
+ async migrateConfigurationsForFolder(folder, migrations) {
90
+ await Promise.all([( migrations.map(
91
+ migration => this.migrateConfigurationsForFolderAndOverride(migration, folder?.uri)
92
+ ))]);
93
+ }
94
+ async migrateConfigurationsForFolderAndOverride(migration, resource) {
95
+ const inspectData = this.configurationService.inspect(migration.key, { resource });
96
+ const targetPairs = this.workspaceService.getWorkbenchState() === 3 ? [
97
+ ['user', 2 ],
98
+ ['userLocal', 3 ],
99
+ ['userRemote', 4 ],
100
+ ['workspace', 5 ],
101
+ ['workspaceFolder', 6 ],
102
+ ] : [
103
+ ['user', 2 ],
104
+ ['userLocal', 3 ],
105
+ ['userRemote', 4 ],
106
+ ['workspace', 5 ],
107
+ ];
108
+ for (const [dataKey, target] of targetPairs) {
109
+ const inspectValue = inspectData[dataKey];
110
+ if (!inspectValue) {
111
+ continue;
112
+ }
113
+ const migrationValues = [];
114
+ if (inspectValue.value !== undefined) {
115
+ const keyValuePairs = await this.runMigration(migration, dataKey, inspectValue.value, resource, undefined);
116
+ for (const keyValuePair of keyValuePairs ?? []) {
117
+ migrationValues.push([keyValuePair, []]);
73
118
  }
74
119
  }
75
- const registry = ( Registry.as(Extensions$1.Configuration));
76
- registry.registerConfiguration({
77
- ...securityConfigurationNodeBase,
78
- 'properties': {
79
- 'security.allowedUNCHosts': {
80
- 'type': 'array',
81
- 'items': {
82
- 'type': 'string',
83
- 'pattern': '^[^\\\\]+$',
84
- 'patternErrorMessage': ( localizeWithPath(
85
- 'vs/workbench/common/configuration',
86
- 'security.allowedUNCHosts.patternErrorMessage',
87
- 'UNC host names must not contain backslashes.'
88
- ))
89
- },
90
- 'default': [],
91
- 'markdownDescription': ( localizeWithPath(
120
+ for (const { identifiers, value } of inspectValue.overrides ?? []) {
121
+ if (value !== undefined) {
122
+ const keyValuePairs = await this.runMigration(migration, dataKey, value, resource, identifiers);
123
+ for (const keyValuePair of keyValuePairs ?? []) {
124
+ migrationValues.push([keyValuePair, identifiers]);
125
+ }
126
+ }
127
+ }
128
+ if (migrationValues.length) {
129
+ await Promise.allSettled(( migrationValues.map(
130
+ async ([[key, value], overrideIdentifiers]) => this.configurationService.updateValue(key, value.value, { resource, overrideIdentifiers }, target)
131
+ )));
132
+ }
133
+ }
134
+ }
135
+ async runMigration(migration, dataKey, value, resource, overrideIdentifiers) {
136
+ const valueAccessor = (key) => {
137
+ const inspectData = this.configurationService.inspect(key, { resource });
138
+ const inspectValue = inspectData[dataKey];
139
+ if (!inspectValue) {
140
+ return undefined;
141
+ }
142
+ if (!overrideIdentifiers) {
143
+ return inspectValue.value;
144
+ }
145
+ return inspectValue.overrides?.find(({ identifiers }) => equals(identifiers, overrideIdentifiers))?.value;
146
+ };
147
+ const result = await migration.migrateFn(value, valueAccessor);
148
+ return Array.isArray(result) ? result : [[migration.key, result]];
149
+ }
150
+ };
151
+ ConfigurationMigrationWorkbenchContribution = ( __decorate([
152
+ ( __param(0, IConfigurationService)),
153
+ ( __param(1, IWorkspaceContextService))
154
+ ], ConfigurationMigrationWorkbenchContribution));
155
+ let DynamicWorkbenchSecurityConfiguration = class DynamicWorkbenchSecurityConfiguration extends Disposable {
156
+ static { this.ID = 'workbench.contrib.dynamicWorkbenchSecurityConfiguration'; }
157
+ constructor(remoteAgentService) {
158
+ super();
159
+ this.remoteAgentService = remoteAgentService;
160
+ this._ready = ( new DeferredPromise());
161
+ this.ready = this._ready.p;
162
+ this.create();
163
+ }
164
+ async create() {
165
+ try {
166
+ await this.doCreate();
167
+ }
168
+ finally {
169
+ this._ready.complete();
170
+ }
171
+ }
172
+ async doCreate() {
173
+ if (!isWindows) {
174
+ const remoteEnvironment = await this.remoteAgentService.getEnvironment();
175
+ if (remoteEnvironment?.os !== 1 ) {
176
+ return;
177
+ }
178
+ }
179
+ const registry = ( Registry.as(Extensions$1.Configuration));
180
+ registry.registerConfiguration({
181
+ ...securityConfigurationNodeBase,
182
+ 'properties': {
183
+ 'security.allowedUNCHosts': {
184
+ 'type': 'array',
185
+ 'items': {
186
+ 'type': 'string',
187
+ 'pattern': '^[^\\\\]+$',
188
+ 'patternErrorMessage': ( localizeWithPath(
92
189
  'vs/workbench/common/configuration',
93
- 'security.allowedUNCHosts',
94
- 'A set of UNC host names (without leading or trailing backslash, for example `192.168.0.1` or `my-server`) to allow without user confirmation. If a UNC host is being accessed that is not allowed via this setting or has not been acknowledged via user confirmation, an error will occur and the operation stopped. A restart is required when changing this setting. Find out more about this setting at https://aka.ms/vscode-windows-unc.'
95
- )),
96
- 'scope': 2
190
+ 'security.allowedUNCHosts.patternErrorMessage',
191
+ 'UNC host names must not contain backslashes.'
192
+ ))
97
193
  },
98
- 'security.restrictUNCAccess': {
99
- 'type': 'boolean',
100
- 'default': true,
101
- 'markdownDescription': ( localizeWithPath(
102
- 'vs/workbench/common/configuration',
103
- 'security.restrictUNCAccess',
104
- 'If enabled, only allows access to UNC host names that are allowed by the `#security.allowedUNCHosts#` setting or after user confirmation. Find out more about this setting at https://aka.ms/vscode-windows-unc.'
105
- )),
106
- 'scope': 2
107
- }
194
+ 'default': [],
195
+ 'markdownDescription': ( localizeWithPath(
196
+ 'vs/workbench/common/configuration',
197
+ 'security.allowedUNCHosts',
198
+ 'A set of UNC host names (without leading or trailing backslash, for example `192.168.0.1` or `my-server`) to allow without user confirmation. If a UNC host is being accessed that is not allowed via this setting or has not been acknowledged via user confirmation, an error will occur and the operation stopped. A restart is required when changing this setting. Find out more about this setting at https://aka.ms/vscode-windows-unc.'
199
+ )),
200
+ 'scope': 2
201
+ },
202
+ 'security.restrictUNCAccess': {
203
+ 'type': 'boolean',
204
+ 'default': true,
205
+ 'markdownDescription': ( localizeWithPath(
206
+ 'vs/workbench/common/configuration',
207
+ 'security.restrictUNCAccess',
208
+ 'If enabled, only allows access to UNC host names that are allowed by the `#security.allowedUNCHosts#` setting or after user confirmation. Find out more about this setting at https://aka.ms/vscode-windows-unc.'
209
+ )),
210
+ 'scope': 2
108
211
  }
109
- });
110
- })();
212
+ }
213
+ });
111
214
  }
112
215
  };
113
- DynamicWorkbenchConfigurationWorkbenchContribution = ( __decorate([
216
+ DynamicWorkbenchSecurityConfiguration = ( __decorate([
114
217
  ( __param(0, IRemoteAgentService))
115
- ], DynamicWorkbenchConfigurationWorkbenchContribution));
116
- export { DynamicWorkbenchConfigurationWorkbenchContribution, Extensions, applicationConfigurationNodeBase, problemsConfigurationNodeBase, securityConfigurationNodeBase, workbenchConfigurationNodeBase };
218
+ ], DynamicWorkbenchSecurityConfiguration));
219
+ export { ConfigurationMigrationWorkbenchContribution, DynamicWorkbenchSecurityConfiguration, Extensions, applicationConfigurationNodeBase, problemsConfigurationNodeBase, securityConfigurationNodeBase, workbenchConfigurationNodeBase };
@@ -185,10 +185,10 @@ const InEditorZenModeContext = ( new RawContextKey('inZenMode', false, ( localiz
185
185
  'inZenMode',
186
186
  "Whether Zen mode is enabled"
187
187
  ))));
188
- const IsCenteredLayoutContext = ( new RawContextKey('isCenteredLayout', false, ( localizeWithPath(
188
+ const IsMainEditorCenteredLayoutContext = ( new RawContextKey('isCenteredLayout', false, ( localizeWithPath(
189
189
  'vs/workbench/common/contextkeys',
190
- 'isCenteredLayout',
191
- "Whether centered layout is enabled"
190
+ 'isMainEditorCenteredLayout',
191
+ "Whether centered layout is enabled for the main editor"
192
192
  ))));
193
193
  const SplitEditorsVertically = ( new RawContextKey('splitEditorsVertically', false, ( localizeWithPath(
194
194
  'vs/workbench/common/contextkeys',
@@ -473,4 +473,4 @@ function applyAvailableEditorIds(contextKey, editor, editorResolverService) {
473
473
  contextKey.set(editors.join(','));
474
474
  }
475
475
  }
476
- export { ActiveAuxiliaryContext, ActiveCompareEditorOriginalWriteableContext, ActiveEditorAvailableEditorIdsContext, ActiveEditorCanRevertContext, ActiveEditorCanSplitInGroupContext, ActiveEditorCanToggleReadonlyContext, ActiveEditorContext, ActiveEditorDirtyContext, ActiveEditorFirstInGroupContext, ActiveEditorGroupEmptyContext, ActiveEditorGroupIndexContext, ActiveEditorGroupLastContext, ActiveEditorGroupLockedContext, ActiveEditorLastInGroupContext, ActiveEditorPinnedContext, ActiveEditorReadonlyContext, ActiveEditorStickyContext, ActivePanelContext, ActiveViewletContext, AuxiliaryBarFocusContext, AuxiliaryBarVisibleContext, BannerFocused, DirtyWorkingCopiesContext, EditorGroupEditorsCountContext, EditorPartMaximizedEditorGroupContext, EditorPartMultipleEditorGroupsContext, EditorTabsVisibleContext, EditorsVisibleContext, EmbedderIdentifierContext, EmptyWorkspaceSupportContext, EnterMultiRootWorkspaceSupportContext, FocusedViewContext, HasWebFileSystemAccess, InEditorZenModeContext, IsAuxiliaryEditorPartContext, IsAuxiliaryWindowFocusedContext, IsCenteredLayoutContext, IsMainWindowFullscreenContext, MainEditorAreaVisibleContext, MultipleEditorGroupsContext, NotificationFocusedContext, NotificationsCenterVisibleContext, NotificationsToastsVisibleContext, OpenFolderWorkspaceSupportContext, PanelAlignmentContext, PanelFocusContext, PanelMaximizedContext, PanelPositionContext, PanelVisibleContext, RemoteNameContext, ResourceContextKey, SideBarVisibleContext, SideBySideEditorActiveContext, SidebarFocusContext, SplitEditorsVertically, StatusBarFocused, TemporaryWorkspaceContext, TextCompareEditorActiveContext, TextCompareEditorVisibleContext, TitleBarStyleContext, TitleBarVisibleContext, VirtualWorkspaceContext, WorkbenchStateContext, WorkspaceFolderCountContext, applyAvailableEditorIds, getVisbileViewContextKey };
476
+ export { ActiveAuxiliaryContext, ActiveCompareEditorOriginalWriteableContext, ActiveEditorAvailableEditorIdsContext, ActiveEditorCanRevertContext, ActiveEditorCanSplitInGroupContext, ActiveEditorCanToggleReadonlyContext, ActiveEditorContext, ActiveEditorDirtyContext, ActiveEditorFirstInGroupContext, ActiveEditorGroupEmptyContext, ActiveEditorGroupIndexContext, ActiveEditorGroupLastContext, ActiveEditorGroupLockedContext, ActiveEditorLastInGroupContext, ActiveEditorPinnedContext, ActiveEditorReadonlyContext, ActiveEditorStickyContext, ActivePanelContext, ActiveViewletContext, AuxiliaryBarFocusContext, AuxiliaryBarVisibleContext, BannerFocused, DirtyWorkingCopiesContext, EditorGroupEditorsCountContext, EditorPartMaximizedEditorGroupContext, EditorPartMultipleEditorGroupsContext, EditorTabsVisibleContext, EditorsVisibleContext, EmbedderIdentifierContext, EmptyWorkspaceSupportContext, EnterMultiRootWorkspaceSupportContext, FocusedViewContext, HasWebFileSystemAccess, InEditorZenModeContext, IsAuxiliaryEditorPartContext, IsAuxiliaryWindowFocusedContext, IsMainEditorCenteredLayoutContext, IsMainWindowFullscreenContext, MainEditorAreaVisibleContext, MultipleEditorGroupsContext, NotificationFocusedContext, NotificationsCenterVisibleContext, NotificationsToastsVisibleContext, OpenFolderWorkspaceSupportContext, PanelAlignmentContext, PanelFocusContext, PanelMaximizedContext, PanelPositionContext, PanelVisibleContext, RemoteNameContext, ResourceContextKey, SideBarVisibleContext, SideBySideEditorActiveContext, SidebarFocusContext, SplitEditorsVertically, StatusBarFocused, TemporaryWorkspaceContext, TextCompareEditorActiveContext, TextCompareEditorVisibleContext, TitleBarStyleContext, TitleBarVisibleContext, VirtualWorkspaceContext, WorkbenchStateContext, WorkspaceFolderCountContext, applyAvailableEditorIds, getVisbileViewContextKey };
@@ -5,37 +5,128 @@ import { DeferredPromise, runWhenGlobalIdle } from '../../base/common/async.js';
5
5
  import { mark } from '../../base/common/performance.js';
6
6
  import { ILogService } from '../../platform/log/common/log.js';
7
7
  import { IEnvironmentService } from '../../platform/environment/common/environment.js';
8
+ import { getOrSet } from '../../base/common/map.js';
9
+ import { Disposable } from '../../base/common/lifecycle.js';
10
+ import { IEditorPaneService } from '../services/editor/common/editorPaneService.js';
8
11
  var Extensions;
9
12
  ( (function(Extensions) {
10
13
  Extensions.Workbench = 'workbench.contributions.kind';
11
14
  })(Extensions || (Extensions = {})));
12
- class WorkbenchContributionsRegistry {
15
+ function isOnEditorWorkbenchContributionInstantiation(obj) {
16
+ const candidate = obj;
17
+ return !!candidate && typeof candidate.editorTypeId === 'string';
18
+ }
19
+ function toWorkbenchPhase(phase) {
20
+ switch (phase) {
21
+ case 3 :
22
+ return 3 ;
23
+ case 4 :
24
+ return 4 ;
25
+ }
26
+ }
27
+ function toLifecyclePhase(instantiation) {
28
+ switch (instantiation) {
29
+ case 1 :
30
+ return 1 ;
31
+ case 2 :
32
+ return 2 ;
33
+ case 3 :
34
+ return 3 ;
35
+ case 4 :
36
+ return 4 ;
37
+ }
38
+ }
39
+ class WorkbenchContributionsRegistry extends Disposable {
13
40
  constructor() {
14
- this.contributions = ( new Map());
41
+ super(...arguments);
42
+ this.contributionsByPhase = ( new Map());
43
+ this.contributionsByEditor = ( new Map());
44
+ this.contributionsById = ( new Map());
45
+ this.instancesById = ( new Map());
46
+ this.timingsByPhase = ( new Map());
15
47
  this.pendingRestoredContributions = ( new DeferredPromise());
16
48
  this.whenRestored = this.pendingRestoredContributions.p;
17
49
  }
18
- registerWorkbenchContribution(contribution, phase = 1 ) {
19
- if (this.instantiationService && this.lifecycleService && this.logService && this.environmentService && this.lifecycleService.phase >= phase) {
20
- this.safeCreateContribution(this.instantiationService, this.logService, this.environmentService, contribution, phase);
50
+ static { this.INSTANCE = ( new WorkbenchContributionsRegistry()); }
51
+ static { this.BLOCK_BEFORE_RESTORE_WARN_THRESHOLD = 20; }
52
+ static { this.BLOCK_AFTER_RESTORE_WARN_THRESHOLD = 100; }
53
+ get timings() { return this.timingsByPhase; }
54
+ registerWorkbenchContribution2(id, ctor, instantiation) {
55
+ const contribution = { id, ctor };
56
+ if (this.instantiationService && this.lifecycleService && this.logService && this.environmentService && this.editorPaneService &&
57
+ ((typeof instantiation === 'number' && this.lifecycleService.phase >= instantiation) ||
58
+ (typeof id === 'string' && isOnEditorWorkbenchContributionInstantiation(instantiation) && this.editorPaneService.didInstantiateEditorPane(instantiation.editorTypeId)))) {
59
+ this.safeCreateContribution(this.instantiationService, this.logService, this.environmentService, contribution, typeof instantiation === 'number' ? toLifecyclePhase(instantiation) : this.lifecycleService.phase);
21
60
  }
22
61
  else {
23
- let contributions = this.contributions.get(phase);
24
- if (!contributions) {
25
- contributions = [];
26
- this.contributions.set(phase, contributions);
62
+ if (typeof instantiation === 'number') {
63
+ getOrSet(this.contributionsByPhase, toLifecyclePhase(instantiation), []).push(contribution);
64
+ }
65
+ if (typeof id === 'string') {
66
+ if (!( this.contributionsById.has(id))) {
67
+ this.contributionsById.set(id, contribution);
68
+ }
69
+ else {
70
+ console.error(`IWorkbenchContributionsRegistry#registerWorkbenchContribution(): Can't register multiple contributions with same id '${id}'`);
71
+ }
72
+ if (isOnEditorWorkbenchContributionInstantiation(instantiation)) {
73
+ getOrSet(this.contributionsByEditor, instantiation.editorTypeId, []).push(contribution);
74
+ }
27
75
  }
28
- contributions.push(contribution);
29
76
  }
30
77
  }
78
+ registerWorkbenchContribution(ctor, phase) {
79
+ this.registerWorkbenchContribution2(undefined, ctor, toWorkbenchPhase(phase));
80
+ }
81
+ getWorkbenchContribution(id) {
82
+ if (( this.instancesById.has(id))) {
83
+ return this.instancesById.get(id);
84
+ }
85
+ const instantiationService = this.instantiationService;
86
+ const lifecycleService = this.lifecycleService;
87
+ const logService = this.logService;
88
+ const environmentService = this.environmentService;
89
+ if (!instantiationService || !lifecycleService || !logService || !environmentService) {
90
+ throw new Error(`IWorkbenchContributionsRegistry#getContribution('${id}'): cannot be called before registry started`);
91
+ }
92
+ const contribution = this.contributionsById.get(id);
93
+ if (!contribution) {
94
+ throw new Error(`IWorkbenchContributionsRegistry#getContribution('${id}'): contribution with that identifier is unknown.`);
95
+ }
96
+ if (lifecycleService.phase < 3 ) {
97
+ logService.warn(`IWorkbenchContributionsRegistry#getContribution('${id}'): contribution instantiated before LifecyclePhase.Restored!`);
98
+ }
99
+ this.safeCreateContribution(instantiationService, logService, environmentService, contribution, lifecycleService.phase);
100
+ const instance = this.instancesById.get(id);
101
+ if (!instance) {
102
+ throw new Error(`IWorkbenchContributionsRegistry#getContribution('${id}'): failed to create contribution.`);
103
+ }
104
+ return instance;
105
+ }
31
106
  start(accessor) {
32
107
  const instantiationService = this.instantiationService = accessor.get(IInstantiationService);
33
108
  const lifecycleService = this.lifecycleService = accessor.get(ILifecycleService);
34
109
  const logService = this.logService = accessor.get(ILogService);
35
110
  const environmentService = this.environmentService = accessor.get(IEnvironmentService);
111
+ const editorPaneService = this.editorPaneService = accessor.get(IEditorPaneService);
36
112
  for (const phase of [1 , 2 , 3 , 4 ]) {
37
113
  this.instantiateByPhase(instantiationService, lifecycleService, logService, environmentService, phase);
38
114
  }
115
+ for (const editorTypeId of ( this.contributionsByEditor.keys())) {
116
+ if (editorPaneService.didInstantiateEditorPane(editorTypeId)) {
117
+ this.onEditor(editorTypeId, instantiationService, lifecycleService, logService, environmentService);
118
+ }
119
+ }
120
+ this._register(editorPaneService.onWillInstantiateEditorPane(e => this.onEditor(e.typeId, instantiationService, lifecycleService, logService, environmentService)));
121
+ }
122
+ onEditor(editorTypeId, instantiationService, lifecycleService, logService, environmentService) {
123
+ const contributions = this.contributionsByEditor.get(editorTypeId);
124
+ if (contributions) {
125
+ this.contributionsByEditor.delete(editorTypeId);
126
+ for (const contribution of contributions) {
127
+ this.safeCreateContribution(instantiationService, logService, environmentService, contribution, lifecycleService.phase);
128
+ }
129
+ }
39
130
  }
40
131
  instantiateByPhase(instantiationService, lifecycleService, logService, environmentService, phase) {
41
132
  if (lifecycleService.phase >= phase) {
@@ -46,9 +137,9 @@ class WorkbenchContributionsRegistry {
46
137
  }
47
138
  }
48
139
  async doInstantiateByPhase(instantiationService, logService, environmentService, phase) {
49
- const contributions = this.contributions.get(phase);
140
+ const contributions = this.contributionsByPhase.get(phase);
50
141
  if (contributions) {
51
- this.contributions.delete(phase);
142
+ this.contributionsByPhase.delete(phase);
52
143
  switch (phase) {
53
144
  case 1 :
54
145
  case 2 : {
@@ -93,20 +184,45 @@ class WorkbenchContributionsRegistry {
93
184
  runWhenGlobalIdle(instantiateSome, forcedTimeout);
94
185
  }
95
186
  safeCreateContribution(instantiationService, logService, environmentService, contribution, phase) {
96
- const now = phase < 3 ? Date.now() : undefined;
187
+ if (typeof contribution.id === 'string' && ( this.instancesById.has(contribution.id))) {
188
+ return;
189
+ }
190
+ const now = Date.now();
97
191
  try {
98
- instantiationService.createInstance(contribution);
192
+ if (typeof contribution.id === 'string') {
193
+ mark(`code/willCreateWorkbenchContribution/${phase}/${contribution.id}`);
194
+ }
195
+ const instance = instantiationService.createInstance(contribution.ctor);
196
+ if (typeof contribution.id === 'string') {
197
+ this.instancesById.set(contribution.id, instance);
198
+ this.contributionsById.delete(contribution.id);
199
+ }
99
200
  }
100
201
  catch (error) {
101
- logService.error(`Unable to create workbench contribution ${contribution.name}.`, error);
202
+ logService.error(`Unable to create workbench contribution '${contribution.id ?? contribution.ctor.name}'.`, error);
102
203
  }
103
- if (typeof now === 'number' && !environmentService.isBuilt ) {
204
+ finally {
205
+ if (typeof contribution.id === 'string') {
206
+ mark(`code/didCreateWorkbenchContribution/${phase}/${contribution.id}`);
207
+ }
208
+ }
209
+ if (typeof contribution.id === 'string' || !environmentService.isBuilt ) {
104
210
  const time = Date.now() - now;
105
- if (time > 20) {
106
- logService.warn(`Workbench contribution ${contribution.name} blocked restore phase by ${time}ms.`);
211
+ if (time > (phase < 3 ? WorkbenchContributionsRegistry.BLOCK_BEFORE_RESTORE_WARN_THRESHOLD : WorkbenchContributionsRegistry.BLOCK_AFTER_RESTORE_WARN_THRESHOLD)) {
212
+ logService.warn(`Creation of workbench contribution '${contribution.id ?? contribution.ctor.name}' took ${time}ms.`);
213
+ }
214
+ if (typeof contribution.id === 'string') {
215
+ let timingsForPhase = this.timingsByPhase.get(phase);
216
+ if (!timingsForPhase) {
217
+ timingsForPhase = [];
218
+ this.timingsByPhase.set(phase, timingsForPhase);
219
+ }
220
+ timingsForPhase.push([contribution.id, time]);
107
221
  }
108
222
  }
109
223
  }
110
224
  }
111
- Registry.add(Extensions.Workbench, ( new WorkbenchContributionsRegistry()));
112
- export { Extensions };
225
+ const registerWorkbenchContribution2 = WorkbenchContributionsRegistry.INSTANCE.registerWorkbenchContribution2.bind(WorkbenchContributionsRegistry.INSTANCE);
226
+ const getWorkbenchContribution = WorkbenchContributionsRegistry.INSTANCE.getWorkbenchContribution.bind(WorkbenchContributionsRegistry.INSTANCE);
227
+ Registry.add(Extensions.Workbench, WorkbenchContributionsRegistry.INSTANCE);
228
+ export { Extensions, WorkbenchContributionsRegistry, getWorkbenchContribution, registerWorkbenchContribution2 };
@@ -116,8 +116,8 @@ let DiffEditorInput = class DiffEditorInput extends SideBySideEditorInput {
116
116
  return this.labels.mediumTitle;
117
117
  }
118
118
  }
119
- async resolve(options) {
120
- const resolvedModel = await this.createModel(options);
119
+ async resolve() {
120
+ const resolvedModel = await this.createModel();
121
121
  this.cachedModel?.dispose();
122
122
  this.cachedModel = resolvedModel;
123
123
  return this.cachedModel;
@@ -128,10 +128,10 @@ let DiffEditorInput = class DiffEditorInput extends SideBySideEditorInput {
128
128
  }
129
129
  return editorPanes.find(editorPane => editorPane.typeId === TEXT_DIFF_EDITOR_ID);
130
130
  }
131
- async createModel(options) {
131
+ async createModel() {
132
132
  const [originalEditorModel, modifiedEditorModel] = await Promise.all([
133
- this.original.resolve(options),
134
- this.modified.resolve(options)
133
+ this.original.resolve(),
134
+ this.modified.resolve()
135
135
  ]);
136
136
  if (modifiedEditorModel instanceof BaseTextEditorModel && originalEditorModel instanceof BaseTextEditorModel) {
137
137
  return ( new TextDiffEditorModel(originalEditorModel, modifiedEditorModel));
@@ -609,7 +609,7 @@ let EditorGroupModel = class EditorGroupModel extends Disposable {
609
609
  let canSerializeEditor = false;
610
610
  const editorSerializer = registry.getEditorSerializer(editor);
611
611
  if (editorSerializer) {
612
- const value = editorSerializer.serialize(editor);
612
+ const value = editorSerializer.canSerialize(editor) ? editorSerializer.serialize(editor) : undefined;
613
613
  if (typeof value === 'string') {
614
614
  canSerializeEditor = true;
615
615
  serializedEditors.push({ id: editor.typeId, value });
@@ -1,6 +1,5 @@
1
1
  import { Emitter, Event } from '../../../base/common/event.js';
2
2
  import { URI } from '../../../base/common/uri.js';
3
- import { IEditorOptions } from '../../../platform/editor/common/editor.js';
4
3
  import { IEditorIdentifier, AbstractEditorInput, EditorInputCapabilities, Verbosity, GroupIdentifier, ISaveOptions, IUntypedEditorInput, IRevertOptions, IMoveResult, IEditorDescriptor, IEditorPane } from '../editor.js';
5
4
  import { ConfirmResult } from '../../../platform/dialogs/common/dialogs.js';
6
5
  import { IMarkdownString } from '../../../base/common/htmlContent.js';
@@ -29,6 +28,20 @@ interface IEditorCloseHandler {
29
28
  */
30
29
  confirm(editors: ReadonlyArray<IEditorIdentifier>): Promise<ConfirmResult>;
31
30
  }
31
+ interface IUntypedEditorOptions {
32
+ /**
33
+ * Implementations should try to preserve as much
34
+ * view state as possible from the typed input based
35
+ * on the group the editor is opened.
36
+ */
37
+ readonly preserveViewState?: GroupIdentifier;
38
+ /**
39
+ * Implementations should preserve the original
40
+ * resource of the typed input and not alter
41
+ * it.
42
+ */
43
+ readonly preserveResource?: boolean;
44
+ }
32
45
  /**
33
46
  * Editor inputs are lightweight objects that can be passed to the workbench API to open inside the editor part.
34
47
  * Each editor input is mapped to an editor that is capable of opening it through the Platform facade.
@@ -149,7 +162,7 @@ declare abstract class EditorInput extends AbstractEditorInput {
149
162
  * The `options` parameter are passed down from the editor when the
150
163
  * input is resolved as part of it.
151
164
  */
152
- resolve(options?: IEditorOptions): Promise<IDisposable | null>;
165
+ resolve(): Promise<IDisposable | null>;
153
166
  /**
154
167
  * Saves the editor. The provided groupId helps implementors
155
168
  * to e.g. preserve view state of the editor and re-open it
@@ -205,15 +218,8 @@ declare abstract class EditorInput extends AbstractEditorInput {
205
218
  * editor input into a form that it can be restored.
206
219
  *
207
220
  * May return `undefined` if an untyped representation is not supported.
208
- *
209
- * @param options additional configuration for the expected return type.
210
- * When `preserveViewState` is provided, implementations should try to
211
- * preserve as much view state as possible from the typed input based on
212
- * the group the editor is opened.
213
221
  */
214
- toUntyped(options?: {
215
- preserveViewState: GroupIdentifier;
216
- }): IUntypedEditorInput | undefined;
222
+ toUntyped(options?: IUntypedEditorOptions): IUntypedEditorInput | undefined;
217
223
  /**
218
224
  * Returns if this editor is disposed.
219
225
  */
@@ -221,4 +227,4 @@ declare abstract class EditorInput extends AbstractEditorInput {
221
227
  dispose(): void;
222
228
  }
223
229
 
224
- export { EditorInput, type IEditorCloseHandler };
230
+ export { EditorInput, type IEditorCloseHandler, type IUntypedEditorOptions };
@@ -59,7 +59,7 @@ class EditorInput extends AbstractEditorInput {
59
59
  isSaving() {
60
60
  return false;
61
61
  }
62
- async resolve(options) {
62
+ async resolve() {
63
63
  return null;
64
64
  }
65
65
  async save(group, options) {