@codingame/monaco-vscode-api 4.5.2 → 5.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 (434) hide show
  1. package/api.js +1 -1
  2. package/extensions.d.ts +2 -3
  3. package/lifecycle.js +6 -0
  4. package/localExtensionHost.d.ts +4 -1
  5. package/missing-services.js +41 -25
  6. package/package.json +8 -8
  7. package/service-override/tools/editor.js +31 -8
  8. package/service-override/tools/views.d.ts +1 -1
  9. package/service-override/tools/views.js +2 -3
  10. package/service-override/views.d.ts +0 -1
  11. package/services.d.ts +3 -3
  12. package/services.js +3 -3
  13. package/vscode/src/vs/base/browser/markdownRenderer.js +9 -3
  14. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +2 -2
  15. package/vscode/src/vs/base/browser/ui/button/button.js +3 -3
  16. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  17. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -1
  18. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +2 -2
  19. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +2 -2
  20. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +2 -2
  21. package/vscode/src/vs/{platform/hover/browser → base/browser/ui/hover}/hover.d.ts +64 -4
  22. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +1 -1
  23. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +13 -0
  24. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  25. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +30 -14
  26. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +15 -2
  27. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +2 -2
  28. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.css.js +4 -0
  29. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +239 -0
  30. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +2 -2
  31. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +2 -2
  32. package/vscode/src/vs/base/browser/ui/list/listView.js +5 -3
  33. package/vscode/src/vs/base/browser/ui/list/listWidget.d.ts +33 -0
  34. package/vscode/src/vs/base/browser/ui/list/listWidget.js +4 -1
  35. package/vscode/src/vs/base/browser/ui/menu/menu.js +1 -0
  36. package/vscode/src/vs/base/browser/ui/menu/menubar.css.js +1 -1
  37. package/vscode/src/vs/base/browser/ui/progressbar/progressAccessibilitySignal.js +13 -0
  38. package/vscode/src/vs/base/browser/ui/progressbar/progressbar.js +7 -1
  39. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +2 -2
  40. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +2 -2
  41. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +8 -2
  42. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +1 -1
  43. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +11 -4
  44. package/vscode/src/vs/base/browser/ui/tree/media/tree.css.js +1 -1
  45. package/vscode/src/vs/base/browser/ui/tree/objectTree.js +6 -4
  46. package/vscode/src/vs/base/common/arraysFind.js +7 -7
  47. package/vscode/src/vs/base/common/async.js +8 -3
  48. package/vscode/src/vs/base/common/cache.js +29 -10
  49. package/vscode/src/vs/base/common/cancellation.js +6 -1
  50. package/vscode/src/vs/base/common/codicons.d.ts +3 -0
  51. package/vscode/src/vs/base/common/codiconsLibrary.js +3 -0
  52. package/vscode/src/vs/base/common/controlFlow.js +48 -0
  53. package/vscode/src/vs/base/common/equals.js +44 -0
  54. package/vscode/src/vs/base/common/event.d.ts +11 -1
  55. package/vscode/src/vs/base/common/event.js +26 -1
  56. package/vscode/src/vs/base/common/jsonEdit.js +1 -1
  57. package/vscode/src/vs/base/common/lifecycle.js +1 -1
  58. package/vscode/src/vs/base/common/map.js +53 -4
  59. package/vscode/src/vs/base/common/network.js +2 -0
  60. package/vscode/src/vs/base/common/objects.js +3 -0
  61. package/vscode/src/vs/base/common/observableInternal/autorun.js +1 -10
  62. package/vscode/src/vs/base/common/observableInternal/base.js +22 -10
  63. package/vscode/src/vs/base/common/observableInternal/derived.js +8 -8
  64. package/vscode/src/vs/base/common/observableInternal/promise.js +19 -1
  65. package/vscode/src/vs/base/common/observableInternal/utils.js +30 -52
  66. package/vscode/src/vs/base/common/product.d.ts +1 -0
  67. package/vscode/src/vs/base/common/strings.js +1 -1
  68. package/vscode/src/vs/base/common/types.d.ts +5 -1
  69. package/vscode/src/vs/editor/browser/config/editorConfiguration.js +3 -2
  70. package/vscode/src/vs/editor/browser/observableUtilities.js +58 -0
  71. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +121 -2
  72. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +80 -0
  73. package/vscode/src/vs/editor/browser/stableEditorScroll.js +37 -1
  74. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +10 -3
  75. package/vscode/src/vs/editor/browser/widget/codeEditor/editor.css.js +1 -1
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +1 -0
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +7 -5
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +1 -0
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -0
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +3 -0
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +3 -10
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +8 -0
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +6 -6
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +1 -0
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  86. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -0
  87. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +1 -0
  88. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +1 -0
  89. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +1 -0
  90. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +3 -2
  91. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.js +17 -8
  92. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidget.js +1 -0
  93. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +27 -19
  94. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/style.css.js +1 -1
  95. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +4 -4
  96. package/vscode/src/vs/editor/common/core/lineRange.d.ts +12 -0
  97. package/vscode/src/vs/editor/common/core/lineRange.js +28 -0
  98. package/vscode/src/vs/editor/common/core/textEdit.d.ts +21 -0
  99. package/vscode/src/vs/editor/common/core/textEdit.js +13 -1
  100. package/vscode/src/vs/editor/common/core/textLength.d.ts +29 -0
  101. package/vscode/src/vs/editor/common/core/textLength.js +6 -0
  102. package/vscode/src/vs/editor/common/cursor/cursorCollection.js +3 -3
  103. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +11 -1
  104. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +11 -0
  105. package/vscode/src/vs/editor/common/diff/rangeMapping.js +34 -3
  106. package/vscode/src/vs/editor/common/languages.d.ts +50 -10
  107. package/vscode/src/vs/editor/common/languages.js +11 -1
  108. package/vscode/src/vs/editor/common/services/languageFeatureDebounce.js +1 -1
  109. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -2
  110. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +1 -1
  111. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +11 -1
  112. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +3 -0
  113. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +22 -6
  114. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +5 -0
  115. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +1 -0
  116. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
  117. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +20 -3
  118. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +1 -1
  119. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +2 -2
  120. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +4 -4
  121. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +2 -2
  122. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +7 -0
  123. package/vscode/src/vs/editor/contrib/find/browser/findController.js +11 -6
  124. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +10 -10
  125. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverComputer.js +74 -0
  126. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +332 -0
  127. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +34 -0
  128. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +39 -0
  129. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +355 -0
  130. package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +11 -14
  131. package/vscode/src/vs/editor/contrib/hover/browser/hover.css.js +1 -1
  132. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +13 -0
  133. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +354 -0
  134. package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +42 -0
  135. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +320 -0
  136. package/vscode/src/vs/editor/contrib/hover/browser/marginHoverComputer.js +48 -0
  137. package/vscode/src/vs/editor/contrib/hover/browser/{marginHover.js → marginHoverWidget.js} +14 -48
  138. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +250 -41
  139. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +1 -0
  140. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +44 -20
  141. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +11 -7
  142. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +1 -0
  143. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -0
  144. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +2 -3
  145. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +1 -0
  146. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +26 -13
  147. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +5 -11
  148. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +24 -22
  149. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +39 -70
  150. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +3 -3
  151. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +1 -0
  152. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -0
  153. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +1 -0
  154. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -2
  155. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +5 -3
  156. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgressWidget.css.js +1 -1
  157. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +18 -6
  158. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.css.js +1 -1
  159. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +165 -40
  160. package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +5 -0
  161. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +3 -3
  162. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +15 -8
  163. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +13 -6
  164. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +0 -2
  165. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +9 -2
  166. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +23 -18
  167. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +33 -11
  168. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +1 -9
  169. package/vscode/src/vs/platform/accessibility/common/accessibility.js +2 -1
  170. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +15 -9
  171. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +133 -132
  172. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.service.d.ts +12 -5
  173. package/vscode/src/vs/platform/accessibilitySignal/browser/progressAccessibilitySignalScheduler.js +25 -0
  174. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +4 -4
  175. package/vscode/src/vs/platform/actions/browser/buttonbar.js +10 -7
  176. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +1 -1
  177. package/vscode/src/vs/platform/actions/browser/toolbar.d.ts +4 -1
  178. package/vscode/src/vs/platform/actions/browser/toolbar.js +53 -36
  179. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -1
  180. package/vscode/src/vs/platform/actions/common/actions.js +14 -4
  181. package/vscode/src/vs/platform/actions/common/menuService.js +30 -8
  182. package/vscode/src/vs/platform/configuration/common/configuration.js +4 -0
  183. package/vscode/src/vs/platform/configuration/common/configurationModels.js +43 -32
  184. package/vscode/src/vs/platform/configuration/common/configurations.js +12 -10
  185. package/vscode/src/vs/platform/contextview/browser/contextView.d.ts +4 -1
  186. package/vscode/src/vs/platform/contextview/browser/contextView.service.d.ts +2 -3
  187. package/vscode/src/vs/platform/contextview/browser/contextViewService.js +10 -8
  188. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +0 -1
  189. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +1 -0
  190. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +1 -0
  191. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +5 -0
  192. package/vscode/src/vs/platform/files/common/files.d.ts +14 -1
  193. package/vscode/src/vs/platform/hover/browser/hover.service.d.ts +2 -31
  194. package/vscode/src/vs/platform/instantiation/common/instantiation.d.ts +9 -0
  195. package/vscode/src/vs/platform/instantiation/common/instantiationService.js +42 -8
  196. package/vscode/src/vs/platform/log/common/log.js +3 -1
  197. package/vscode/src/vs/platform/markers/common/markerService.js +7 -3
  198. package/vscode/src/vs/platform/opener/browser/link.js +6 -4
  199. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +2 -2
  200. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +15 -7
  201. package/vscode/src/vs/platform/telemetry/common/gdprTypings.d.ts +0 -1
  202. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +1 -0
  203. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +5 -0
  204. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +30 -0
  205. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +6 -0
  206. package/vscode/src/vs/platform/theme/browser/iconsStyleSheet.js +13 -11
  207. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  208. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +28 -28
  209. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -6
  210. package/vscode/src/vs/workbench/api/common/extHostBulkEdits.js +2 -1
  211. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +104 -96
  212. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +4 -4
  213. package/vscode/src/vs/workbench/api/common/extHostConfiguration.js +9 -3
  214. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +3 -3
  215. package/vscode/src/vs/workbench/api/common/extHostDocumentSaveParticipant.js +2 -1
  216. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +1 -1
  217. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +19 -1
  218. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +87 -17
  219. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +39 -2
  220. package/vscode/src/vs/workbench/api/common/extHostNotebookDocumentSaveParticipant.js +2 -1
  221. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +52 -36
  222. package/vscode/src/vs/workbench/api/common/extHostTesting.js +10 -28
  223. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +6 -1
  224. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +132 -136
  225. package/vscode/src/vs/workbench/api/common/extHostTypes.js +72 -18
  226. package/vscode/src/vs/workbench/api/common/extHostWindow.js +3 -5
  227. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +86 -76
  228. package/vscode/src/vs/workbench/browser/actions/media/actions.css.js +1 -1
  229. package/vscode/src/vs/workbench/browser/actions/widgetNavigationCommands.js +30 -6
  230. package/vscode/src/vs/workbench/browser/labels.js +4 -1
  231. package/vscode/src/vs/workbench/browser/parts/compositePart.d.ts +3 -1
  232. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +19 -7
  233. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +16 -3
  234. package/vscode/src/vs/workbench/browser/parts/editor/media/editorquickaccess.css.js +1 -1
  235. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css.js +1 -1
  236. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +14 -33
  237. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +33 -13
  238. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +7 -5
  239. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +4 -3
  240. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.d.ts +2 -1
  241. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.d.ts +3 -1
  242. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +3 -3
  243. package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +1 -1
  244. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +182 -63
  245. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +14 -3
  246. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +61 -34
  247. package/vscode/src/vs/workbench/browser/workbench.contribution.js +16 -10
  248. package/vscode/src/vs/workbench/common/theme.js +144 -98
  249. package/vscode/src/vs/workbench/common/views.d.ts +2 -0
  250. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +190 -138
  251. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +876 -0
  252. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +59 -7
  253. package/vscode/src/vs/workbench/contrib/accessibility/browser/{accessibilityContributions.js → accessibleViewContributions.js} +160 -6
  254. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +3 -3
  255. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +66 -150
  256. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +75 -12
  257. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +21 -22
  258. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +6 -1
  259. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +101 -0
  260. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +6 -5
  261. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +30 -23
  262. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +201 -47
  263. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +42 -5
  264. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +13 -28
  265. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  266. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +366 -6
  267. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +35 -2
  268. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  269. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +4 -0
  270. package/vscode/src/vs/workbench/contrib/chat/common/annotations.js +4 -9
  271. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +95 -5
  272. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.service.js +2 -1
  273. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
  274. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +11 -6
  275. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +94 -79
  276. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +0 -13
  277. package/vscode/src/vs/workbench/contrib/chat/common/chatParticipantContribTypes.js +2 -0
  278. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +7 -9
  279. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.service.js +3 -0
  280. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +1 -1
  281. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -0
  282. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +4 -4
  283. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +30 -26
  284. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +30 -29
  285. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +4 -4
  286. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +5 -4
  287. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +3 -3
  288. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +13 -13
  289. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +26 -16
  290. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +107 -26
  291. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
  292. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +23 -2
  293. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +2 -3
  294. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +39 -11
  295. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +53 -33
  296. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +967 -0
  297. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +101 -0
  298. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +4 -1
  299. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +82 -0
  300. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +10 -9
  301. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +79 -45
  302. package/vscode/src/vs/workbench/contrib/files/browser/{fileCommands.save.js → fileCommands._save.js} +4 -4
  303. package/vscode/src/vs/workbench/contrib/files/browser/{files.configuration.contribution.js → files.contribution._configuration.js} +1 -1
  304. package/vscode/src/vs/workbench/contrib/files/browser/{files.editorPane.contribution.js → files.contribution._editorPane.js} +18 -18
  305. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +5 -3
  306. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +19 -14
  307. package/vscode/src/vs/workbench/contrib/files/browser/views/media/openeditors.css.js +1 -1
  308. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +8 -8
  309. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +15 -2
  310. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +29 -112
  311. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +10 -7
  312. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +99 -91
  313. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +9 -31
  314. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +345 -104
  315. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +62 -69
  316. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +63 -46
  317. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +18 -10
  318. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  319. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
  320. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +1 -31
  321. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +7 -3
  322. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +5 -1
  323. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +1 -0
  324. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +1 -0
  325. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +1 -0
  326. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +4 -4
  327. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +2 -48
  328. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +28 -23
  329. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.js +5 -9
  330. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +112 -0
  331. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +18 -10
  332. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +4 -4
  333. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +7 -2
  334. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +4 -5
  335. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +8 -3
  336. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -0
  337. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +36 -4
  338. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +9 -6
  339. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +17 -5
  340. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +6 -4
  341. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +5 -5
  342. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +3 -3
  343. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +5 -4
  344. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +2 -0
  345. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
  346. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellAnchor.js +2 -3
  347. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +22 -1
  348. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +34 -6
  349. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +15 -0
  350. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellEditorOptions.js +6 -4
  351. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +3 -0
  352. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +17 -14
  353. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +2 -1
  354. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookCellTextModel.js +52 -16
  355. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
  356. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +2 -2
  357. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +25 -12
  358. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +6 -4
  359. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +0 -2
  360. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +6 -4
  361. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +24 -2
  362. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +38 -8
  363. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +0 -1
  364. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +1 -0
  365. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +7 -14
  366. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +24 -6
  367. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.js +2 -1
  368. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +8 -9
  369. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +2 -20
  370. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +3 -1
  371. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +2 -2
  372. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +1 -0
  373. package/vscode/src/vs/workbench/contrib/testing/common/testItemCollection.js +10 -0
  374. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +15 -3
  375. package/vscode/src/vs/workbench/services/accessibility/common/accessibleViewInformationService.service.d.ts +9 -0
  376. package/vscode/src/vs/workbench/services/accessibility/common/accessibleViewInformationService.service.js +3 -0
  377. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +30 -16
  378. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +15 -4
  379. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +20 -1
  380. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +0 -1
  381. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +4 -1
  382. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManagers.d.ts +4 -1
  383. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocation.d.ts +1 -1
  384. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +8 -2
  385. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +2 -1
  386. package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +4 -1
  387. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +3 -3
  388. package/vscode/src/vs/workbench/services/language/common/languageService.js +23 -18
  389. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +6 -4
  390. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +50 -9
  391. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.js +1 -0
  392. package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +97 -0
  393. package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopy.d.ts +7 -2
  394. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +2 -2
  395. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +23 -45
  396. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +65 -91
  397. package/vscode-dts/vscode.proposed.chatProvider.d.ts +9 -0
  398. package/vscode-dts/vscode.proposed.chatTab.d.ts +1 -5
  399. package/vscode-dts/vscode.proposed.contribAccessibilityHelpContent.d.ts +15 -0
  400. package/vscode-dts/vscode.proposed.debugFocus.d.ts +4 -4
  401. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +2 -2
  402. package/vscode-dts/vscode.proposed.documentPaste.d.ts +144 -43
  403. package/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts +76 -0
  404. package/vscode-dts/vscode.proposed.interactive.d.ts +1 -17
  405. package/vscode-dts/vscode.proposed.languageModels.d.ts +56 -11
  406. package/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts +12 -1
  407. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +4 -4
  408. package/vscode-dts/vscode.proposed.speech.d.ts +2 -1
  409. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +144 -38
  410. package/vscode-dts/vscode.proposed.testPreserveFocus.d.ts +28 -0
  411. package/vscode/src/vs/base/browser/ui/hover/updatableHoverWidget.d.ts +0 -21
  412. package/vscode/src/vs/base/browser/ui/hover/updatableHoverWidget.js +0 -214
  413. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.d.ts +0 -32
  414. package/vscode/src/vs/editor/contrib/hover/browser/contentHover.js +0 -838
  415. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +0 -621
  416. package/vscode/src/vs/platform/accessibility/common/accessibility.service.d.ts +0 -19
  417. package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -54
  418. package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +0 -70
  419. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +0 -237
  420. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +0 -49
  421. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +0 -178
  422. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +0 -141
  423. package/vscode/src/vs/workbench/contrib/chat/common/chatContributionService.service.js +0 -3
  424. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatFileCreationWidget.js +0 -212
  425. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/OutlineEntry.js +0 -95
  426. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +0 -110
  427. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProvider.js +0 -224
  428. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +0 -48
  429. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEvents.js +0 -47
  430. package/vscode-dts/vscode.proposed.dropMetadata.d.ts +0 -65
  431. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +0 -57
  432. package/vscode-dts/vscode.proposed.windowActivity.d.ts +0 -17
  433. /package/vscode/src/vs/workbench/browser/parts/editor/{editor.autosave.contribution.js → editor.contribution._autosave.js} +0 -0
  434. /package/vscode/src/vs/workbench/contrib/files/browser/{files.fileEditorFactory.contribution.js → files.contribution._fileEditorFactory.js} +0 -0
@@ -90,6 +90,7 @@ type ICloseEditorsFilter = {
90
90
  };
91
91
  interface ICloseAllEditorsOptions {
92
92
  readonly excludeSticky?: boolean;
93
+ readonly excludeConfirming?: boolean;
93
94
  }
94
95
  interface IEditorReplacement {
95
96
  readonly editor: EditorInput;
@@ -323,12 +324,16 @@ interface IEditorGroupsContainer {
323
324
  * will be moved over to the target and the source group will close. Configure to
324
325
  * `MOVE_EDITORS_KEEP_GROUP` to prevent the source group from closing. Set to
325
326
  * `COPY_EDITORS` to copy the editors into the target instead of moding them.
327
+ *
328
+ * @returns if merging was successful
326
329
  */
327
- mergeGroup(group: IEditorGroup | GroupIdentifier, target: IEditorGroup | GroupIdentifier, options?: IMergeGroupOptions): IEditorGroup;
330
+ mergeGroup(group: IEditorGroup | GroupIdentifier, target: IEditorGroup | GroupIdentifier, options?: IMergeGroupOptions): boolean;
328
331
  /**
329
332
  * Merge all editor groups into the target one.
333
+ *
334
+ * @returns if merging was successful
330
335
  */
331
- mergeAllGroups(target: IEditorGroup | GroupIdentifier): IEditorGroup;
336
+ mergeAllGroups(target: IEditorGroup | GroupIdentifier): boolean;
332
337
  /**
333
338
  * Copy a group to a new group in the container.
334
339
  *
@@ -385,14 +390,20 @@ interface IAuxiliaryEditorPart extends IEditorPart {
385
390
  /**
386
391
  * Close this auxiliary editor part after moving all
387
392
  * editors of all groups back to the main editor part.
393
+ *
394
+ * @returns `false` if an editor could not be moved back.
388
395
  */
389
- close(): void;
396
+ close(): boolean;
390
397
  }
391
398
  interface IAuxiliaryEditorPartCreateEvent {
392
399
  readonly part: IAuxiliaryEditorPart;
393
400
  readonly instantiationService: IInstantiationService;
394
401
  readonly disposables: DisposableStore;
395
402
  }
403
+ interface IEditorWorkingSet {
404
+ readonly id: string;
405
+ readonly name: string;
406
+ }
396
407
  interface IActiveEditorActions {
397
408
  readonly actions: IToolbarActions;
398
409
  readonly onDidChange: Event<IMenuChangeEvent | void>;
@@ -667,4 +678,4 @@ interface IEditorGroup {
667
678
  createEditorActions(disposables: DisposableStore): IActiveEditorActions;
668
679
  }
669
680
 
670
- export { type EditorGroupLayout, GroupDirection, type GroupLayoutArgument, GroupLocation, GroupOrientation, GroupsArrangement, GroupsOrder, type IActiveEditorActions, type IAuxiliaryEditorPart, type IAuxiliaryEditorPartCreateEvent, type ICloseAllEditorsOptions, type ICloseEditorOptions, type ICloseEditorsFilter, type IEditorDropTargetDelegate, type IEditorGroup, type IEditorGroupsContainer, type IEditorPart, type IEditorReplacement, type IEditorSideGroup, type IFindGroupScope, type IMergeGroupOptions, MergeGroupMode };
681
+ export { type EditorGroupLayout, GroupDirection, type GroupLayoutArgument, GroupLocation, GroupOrientation, GroupsArrangement, GroupsOrder, type IActiveEditorActions, type IAuxiliaryEditorPart, type IAuxiliaryEditorPartCreateEvent, type ICloseAllEditorsOptions, type ICloseEditorOptions, type ICloseEditorsFilter, type IEditorDropTargetDelegate, type IEditorGroup, type IEditorGroupsContainer, type IEditorPart, type IEditorReplacement, type IEditorSideGroup, type IEditorWorkingSet, type IFindGroupScope, type IMergeGroupOptions, MergeGroupMode };
@@ -2,7 +2,7 @@ import { ServiceIdentifier } from '../../../../platform/instantiation/common/ins
2
2
  import { Event } from '../../../../base/common/event.js';
3
3
  import { GroupIdentifier, IEditorPartOptions, IEditorPartOptionsChangeEvent } from '../../../common/editor.js';
4
4
  import { IRectangle } from '../../../../platform/window/common/window.js';
5
- import { IEditorGroupsContainer, IAuxiliaryEditorPartCreateEvent, IEditorPart, IEditorGroup, IAuxiliaryEditorPart } from './editorGroupsService.js';
5
+ import { IEditorGroupsContainer, IAuxiliaryEditorPartCreateEvent, IEditorPart, IEditorGroup, IAuxiliaryEditorPart, IEditorWorkingSet } from './editorGroupsService.js';
6
6
 
7
7
  declare const IEditorGroupsService: ServiceIdentifier<IEditorGroupsService>;
8
8
  /**
@@ -45,6 +45,25 @@ interface IEditorGroupsService extends IEditorGroupsContainer {
45
45
  createAuxiliaryEditorPart(options?: {
46
46
  bounds?: Partial<IRectangle>;
47
47
  }): Promise<IAuxiliaryEditorPart>;
48
+ /**
49
+ * Save a new editor working set from the currently opened
50
+ * editors and group layout.
51
+ */
52
+ saveWorkingSet(name: string): IEditorWorkingSet;
53
+ /**
54
+ * Returns all known editor working sets.
55
+ */
56
+ getWorkingSets(): IEditorWorkingSet[];
57
+ /**
58
+ * Applies the working set. Use `empty` to apply an empty working set.
59
+ *
60
+ * @returns `true` when the working set as applied.
61
+ */
62
+ applyWorkingSet(workingSet: IEditorWorkingSet | 'empty'): Promise<boolean>;
63
+ /**
64
+ * Deletes a working set.
65
+ */
66
+ deleteWorkingSet(workingSet: IEditorWorkingSet): void;
48
67
  }
49
68
 
50
69
  export { IEditorGroupsService };
@@ -19,7 +19,6 @@ interface IWorkbenchExtensionManagementService extends IProfileAwareExtensionMan
19
19
  onDidUninstallExtension: Event<DidUninstallExtensionOnServerEvent>;
20
20
  onDidChangeProfile: Event<DidChangeProfileForServerEvent>;
21
21
  onDidEnableExtensions: Event<IExtension[]>;
22
- isWorkspaceExtensionsSupported(): boolean;
23
22
  getExtensions(locations: URI[]): Promise<IResourceExtension[]>;
24
23
  getInstalledWorkspaceExtensions(includeInvalid: boolean): Promise<ILocalExtension[]>;
25
24
  installVSIX(location: URI, manifest: IExtensionManifest, installOptions?: InstallOptions): Promise<ILocalExtension>;
@@ -123,7 +123,10 @@ declare abstract class AbstractExtensionService extends Disposable implements IE
123
123
  getExtensionsStatus(): {
124
124
  [id: string]: IExtensionsStatus;
125
125
  };
126
- getInspectPorts(extensionHostKind: ExtensionHostKind, tryEnableInspector: boolean): Promise<number[]>;
126
+ getInspectPorts(extensionHostKind: ExtensionHostKind, tryEnableInspector: boolean): Promise<{
127
+ port: number;
128
+ host: string;
129
+ }[]>;
127
130
  setRemoteEnvironment(env: {
128
131
  [key: string]: string | null;
129
132
  }): Promise<void>;
@@ -23,7 +23,10 @@ interface IExtensionHostManager {
23
23
  activate(extension: ExtensionIdentifier, reason: ExtensionActivationReason): Promise<boolean>;
24
24
  activateByEvent(activationEvent: string, activationKind: ActivationKind): Promise<void>;
25
25
  activationEventIsDone(activationEvent: string): boolean;
26
- getInspectPort(tryEnableInspector: boolean): Promise<number>;
26
+ getInspectPort(tryEnableInspector: boolean): Promise<{
27
+ port: number;
28
+ host: string;
29
+ } | undefined>;
27
30
  resolveAuthority(remoteAuthority: string, resolveAttempt: number): Promise<IResolveAuthorityResult>;
28
31
  /**
29
32
  * Returns `null` if no resolver for `remoteAuthority` is found.
@@ -17,7 +17,7 @@ declare class LocalWebWorkerRunningLocation {
17
17
  declare class RemoteRunningLocation {
18
18
  readonly kind = ExtensionHostKind.Remote;
19
19
  readonly affinity = 0;
20
- equals(other: ExtensionRunningLocation): boolean;
20
+ equals(other: ExtensionRunningLocation): other is RemoteRunningLocation;
21
21
  asString(): string;
22
22
  }
23
23
  type ExtensionRunningLocation = LocalProcessRunningLocation | LocalWebWorkerRunningLocation | RemoteRunningLocation;
@@ -50,7 +50,10 @@ interface IExtensionHost {
50
50
  string | null
51
51
  ]>;
52
52
  start(): Promise<IMessagePassingProtocol>;
53
- getInspectPort(): number | undefined;
53
+ getInspectPort(): {
54
+ port: number;
55
+ host: string;
56
+ } | undefined;
54
57
  enableInspectPort(): Promise<boolean>;
55
58
  dispose(): void;
56
59
  }
@@ -97,7 +100,10 @@ interface IResponsiveStateChangeEvent {
97
100
  /**
98
101
  * Return the inspect port or `0`. `0` means inspection is not possible.
99
102
  */
100
- getInspectPort(tryEnableInspector: boolean): Promise<number>;
103
+ getInspectListener(tryEnableInspector: boolean): Promise<{
104
+ port: number;
105
+ host: string;
106
+ } | undefined>;
101
107
  }
102
108
  declare const enum ActivationKind {
103
109
  Normal = 0,
@@ -215,7 +215,8 @@ function toExtensionDescription(extension, isUnderDevelopment) {
215
215
  extensionLocation: extension.location,
216
216
  ...extension.manifest,
217
217
  uuid: extension.identifier.uuid,
218
- targetPlatform: extension.targetPlatform
218
+ targetPlatform: extension.targetPlatform,
219
+ publisherDisplayName: extension.publisherDisplayName,
219
220
  };
220
221
  }
221
222
  class NullExtensionService {
@@ -105,7 +105,10 @@ interface IExtensionService {
105
105
  /**
106
106
  * Return the inspect ports (if inspection is possible) for extension hosts of kind `extensionHostKind`.
107
107
  */
108
- getInspectPorts(extensionHostKind: ExtensionHostKind, tryEnableInspector: boolean): Promise<number[]>;
108
+ getInspectPorts(extensionHostKind: ExtensionHostKind, tryEnableInspector: boolean): Promise<{
109
+ port: number;
110
+ host: string;
111
+ }[]>;
109
112
  /**
110
113
  * Stops the extension hosts.
111
114
  *
@@ -18,6 +18,7 @@ const allApiProposals = ( Object.freeze({
18
18
  commentThreadApplicability: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts',
19
19
  commentingRangeHint: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentingRangeHint.d.ts',
20
20
  commentsDraftState: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentsDraftState.d.ts',
21
+ contribAccessibilityHelpContent: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribAccessibilityHelpContent.d.ts',
21
22
  contribCommentEditorActionsMenu: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentEditorActionsMenu.d.ts',
22
23
  contribCommentPeekContext: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentPeekContext.d.ts',
23
24
  contribCommentThreadAdditionalMenu: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts',
@@ -49,8 +50,8 @@ const allApiProposals = ( Object.freeze({
49
50
  diffContentOptions: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.diffContentOptions.d.ts',
50
51
  documentFiltersExclusive: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentFiltersExclusive.d.ts',
51
52
  documentPaste: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentPaste.d.ts',
52
- dropMetadata: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.dropMetadata.d.ts',
53
53
  editSessionIdentityProvider: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editSessionIdentityProvider.d.ts',
54
+ editorHoverVerbosityLevel: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts',
54
55
  editorInsets: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorInsets.d.ts',
55
56
  extensionRuntime: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionRuntime.d.ts',
56
57
  extensionsAny: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionsAny.d.ts',
@@ -60,7 +61,6 @@ const allApiProposals = ( Object.freeze({
60
61
  findFiles2: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findFiles2.d.ts',
61
62
  findTextInFiles: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findTextInFiles.d.ts',
62
63
  fsChunks: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fsChunks.d.ts',
63
- handleIssueUri: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.handleIssueUri.d.ts',
64
64
  idToken: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.idToken.d.ts',
65
65
  inlineCompletionsAdditions: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts',
66
66
  inlineEdit: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.inlineEdit.d.ts',
@@ -108,6 +108,7 @@ const allApiProposals = ( Object.freeze({
108
108
  terminalSelection: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalSelection.d.ts',
109
109
  terminalShellIntegration: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts',
110
110
  testObserver: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testObserver.d.ts',
111
+ testPreserveFocus: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testPreserveFocus.d.ts',
111
112
  textSearchProvider: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchProvider.d.ts',
112
113
  timeline: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.timeline.d.ts',
113
114
  tokenInformation: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tokenInformation.d.ts',
@@ -116,7 +117,6 @@ const allApiProposals = ( Object.freeze({
116
117
  treeViewReveal: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewReveal.d.ts',
117
118
  tunnelFactory: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tunnelFactory.d.ts',
118
119
  tunnels: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tunnels.d.ts',
119
- windowActivity: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.windowActivity.d.ts',
120
120
  workspaceTrust: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.workspaceTrust.d.ts'
121
121
  }));
122
122
  export { allApiProposals };
@@ -123,13 +123,18 @@ class LanguageTableRenderer extends Disposable {
123
123
  render(manifest) {
124
124
  const contributes = manifest.contributes;
125
125
  const rawLanguages = contributes?.languages || [];
126
- const languages = ( (rawLanguages.map(l => ({
127
- id: l.id,
128
- name: (l.aliases || [])[0] || l.id,
129
- extensions: l.extensions || [],
130
- hasGrammar: false,
131
- hasSnippets: false
132
- }))));
126
+ const languages = [];
127
+ for (const l of rawLanguages) {
128
+ if (isValidLanguageExtensionPoint(l)) {
129
+ languages.push({
130
+ id: l.id,
131
+ name: (l.aliases || [])[0] || l.id,
132
+ extensions: l.extensions || [],
133
+ hasGrammar: false,
134
+ hasSnippets: false
135
+ });
136
+ }
137
+ }
133
138
  const byId = index(languages, l => l.id);
134
139
  const grammars = contributes?.grammars || [];
135
140
  grammars.forEach(grammar => {
@@ -212,7 +217,7 @@ let WorkbenchLanguageService = class WorkbenchLanguageService extends LanguageSe
212
217
  }
213
218
  for (let j = 0, lenJ = extension.value.length; j < lenJ; j++) {
214
219
  const ext = extension.value[j];
215
- if (isValidLanguageExtensionPoint(ext, extension.description, extension.collector)) {
220
+ if (isValidLanguageExtensionPoint(ext, extension.collector)) {
216
221
  let configuration = undefined;
217
222
  if (ext.configuration) {
218
223
  configuration = joinPath(extension.description.extensionLocation, ext.configuration);
@@ -282,13 +287,13 @@ function isUndefinedOrStringArray(value) {
282
287
  }
283
288
  return value.every(item => typeof item === 'string');
284
289
  }
285
- function isValidLanguageExtensionPoint(value, extension, collector) {
290
+ function isValidLanguageExtensionPoint(value, collector) {
286
291
  if (!value) {
287
- collector.error(( localizeWithPath(_moduleId, 19, "Empty value for `contributes.{0}`", languagesExtPoint.name)));
292
+ collector?.error(( localizeWithPath(_moduleId, 19, "Empty value for `contributes.{0}`", languagesExtPoint.name)));
288
293
  return false;
289
294
  }
290
295
  if (typeof value.id !== 'string') {
291
- collector.error(( localizeWithPath(
296
+ collector?.error(( localizeWithPath(
292
297
  _moduleId,
293
298
  20,
294
299
  "property `{0}` is mandatory and must be of type `string`",
@@ -297,7 +302,7 @@ function isValidLanguageExtensionPoint(value, extension, collector) {
297
302
  return false;
298
303
  }
299
304
  if (!isUndefinedOrStringArray(value.extensions)) {
300
- collector.error(( localizeWithPath(
305
+ collector?.error(( localizeWithPath(
301
306
  _moduleId,
302
307
  21,
303
308
  "property `{0}` can be omitted and must be of type `string[]`",
@@ -306,7 +311,7 @@ function isValidLanguageExtensionPoint(value, extension, collector) {
306
311
  return false;
307
312
  }
308
313
  if (!isUndefinedOrStringArray(value.filenames)) {
309
- collector.error(( localizeWithPath(
314
+ collector?.error(( localizeWithPath(
310
315
  _moduleId,
311
316
  22,
312
317
  "property `{0}` can be omitted and must be of type `string[]`",
@@ -315,7 +320,7 @@ function isValidLanguageExtensionPoint(value, extension, collector) {
315
320
  return false;
316
321
  }
317
322
  if (typeof value.firstLine !== 'undefined' && typeof value.firstLine !== 'string') {
318
- collector.error(( localizeWithPath(
323
+ collector?.error(( localizeWithPath(
319
324
  _moduleId,
320
325
  23,
321
326
  "property `{0}` can be omitted and must be of type `string`",
@@ -324,7 +329,7 @@ function isValidLanguageExtensionPoint(value, extension, collector) {
324
329
  return false;
325
330
  }
326
331
  if (typeof value.configuration !== 'undefined' && typeof value.configuration !== 'string') {
327
- collector.error(( localizeWithPath(
332
+ collector?.error(( localizeWithPath(
328
333
  _moduleId,
329
334
  24,
330
335
  "property `{0}` can be omitted and must be of type `string`",
@@ -333,7 +338,7 @@ function isValidLanguageExtensionPoint(value, extension, collector) {
333
338
  return false;
334
339
  }
335
340
  if (!isUndefinedOrStringArray(value.aliases)) {
336
- collector.error(( localizeWithPath(
341
+ collector?.error(( localizeWithPath(
337
342
  _moduleId,
338
343
  25,
339
344
  "property `{0}` can be omitted and must be of type `string[]`",
@@ -342,7 +347,7 @@ function isValidLanguageExtensionPoint(value, extension, collector) {
342
347
  return false;
343
348
  }
344
349
  if (!isUndefinedOrStringArray(value.mimetypes)) {
345
- collector.error(( localizeWithPath(
350
+ collector?.error(( localizeWithPath(
346
351
  _moduleId,
347
352
  26,
348
353
  "property `{0}` can be omitted and must be of type `string[]`",
@@ -352,7 +357,7 @@ function isValidLanguageExtensionPoint(value, extension, collector) {
352
357
  }
353
358
  if (typeof value.icon !== 'undefined') {
354
359
  if (typeof value.icon !== 'object' || typeof value.icon.light !== 'string' || typeof value.icon.dark !== 'string') {
355
- collector.error(( localizeWithPath(
360
+ collector?.error(( localizeWithPath(
356
361
  _moduleId,
357
362
  27,
358
363
  "property `{0}` can be omitted and must be of type `object` with properties `{1}` and `{2}` of type `string`",
@@ -1,4 +1,4 @@
1
- import { isMacintosh, isNative, isWeb } from '../../../../base/common/platform.js';
1
+ import { isWeb, isMacintosh, isNative } from '../../../../base/common/platform.js';
2
2
  import { isAuxiliaryWindow } from '../../../../base/browser/window.js';
3
3
  import { hasNativeTitlebar, getMenuBarVisibility } from '../../../../platform/window/common/window.js';
4
4
  import { isFullscreen, isWCOEnabled } from '../../../../base/browser/browser.js';
@@ -54,9 +54,11 @@ function panelOpensMaximizedFromString(str) {
54
54
  function shouldShowCustomTitleBar(configurationService, window, menuBarToggled) {
55
55
  const inFullscreen = isFullscreen(window);
56
56
  const nativeTitleBarEnabled = hasNativeTitlebar(configurationService);
57
- const showCustomTitleBar = configurationService.getValue("window.customTitleBarVisibility" );
58
- if (showCustomTitleBar === "never" && nativeTitleBarEnabled || showCustomTitleBar === "windowed" && inFullscreen) {
59
- return false;
57
+ if (!isWeb) {
58
+ const showCustomTitleBar = configurationService.getValue("window.customTitleBarVisibility" );
59
+ if (showCustomTitleBar === "never" && nativeTitleBarEnabled || showCustomTitleBar === "windowed" && inFullscreen) {
60
+ return false;
61
+ }
60
62
  }
61
63
  if (!isTitleBarEmpty(configurationService)) {
62
64
  return true;
@@ -13,15 +13,23 @@ import { getAllUnboundCommands } from '../../keybinding/browser/unboundCommands.
13
13
  import { isString, isEmptyObject } from '../../../../base/common/types.js';
14
14
  import { IExtensionService } from '../../extensions/common/extensions.service.js';
15
15
  import { ExtensionIdentifier, ExtensionIdentifierMap } from '../../../../platform/extensions/common/extensions.js';
16
+ import { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';
16
17
  var KeybindingsEditorModel_1;
17
18
  const _moduleId = "vs/workbench/services/preferences/browser/keybindingsEditorModel";
18
19
  const KEYBINDING_ENTRY_TEMPLATE_ID = 'keybinding.entry.template';
19
20
  const SOURCE_SYSTEM = ( localizeWithPath(_moduleId, 0, "System"));
20
21
  const SOURCE_EXTENSION = ( localizeWithPath(_moduleId, 1, "Extension"));
21
22
  const SOURCE_USER = ( localizeWithPath(_moduleId, 2, "User"));
23
+ function createKeybindingCommandQuery(commandId, when) {
24
+ const whenPart = when ? ` +when:${when}` : '';
25
+ return `@command:${commandId}${whenPart}`;
26
+ }
22
27
  const wordFilter = or(matchesPrefix, matchesWords, matchesContiguousSubString);
28
+ const COMMAND_REGEX = /@command:\s*([^\+]+)/i;
29
+ const WHEN_REGEX = /\+when:\s*(.+)/i;
23
30
  const SOURCE_REGEX = /@source:\s*(user|default|system|extension)/i;
24
31
  const EXTENSION_REGEX = /@ext:\s*((".+")|([^\s]+))/i;
32
+ const KEYBINDING_REGEX = /@keybinding:\s*((\".+\")|(\S+))/i;
25
33
  let KeybindingsEditorModel = KeybindingsEditorModel_1 = class KeybindingsEditorModel extends EditorModel {
26
34
  constructor(os, keybindingsService, extensionService) {
27
35
  super();
@@ -37,11 +45,19 @@ let KeybindingsEditorModel = KeybindingsEditorModel_1 = class KeybindingsEditorM
37
45
  }
38
46
  fetch(searchValue, sortByPrecedence = false) {
39
47
  let keybindingItems = sortByPrecedence ? this._keybindingItemsSortedByPrecedence : this._keybindingItems;
40
- const commandIdMatches = /@command:\s*(.+)/i.exec(searchValue);
48
+ const commandIdMatches = COMMAND_REGEX.exec(searchValue);
41
49
  if (commandIdMatches && commandIdMatches[1]) {
50
+ const command = commandIdMatches[1].trim();
51
+ let filteredKeybindingItems = keybindingItems.filter(k => k.command === command);
52
+ if (filteredKeybindingItems.length) {
53
+ const whenMatches = WHEN_REGEX.exec(searchValue);
54
+ if (whenMatches && whenMatches[1]) {
55
+ const whenValue = whenMatches[1].trim();
56
+ filteredKeybindingItems = this.filterByWhen(filteredKeybindingItems, command, whenValue);
57
+ }
58
+ }
42
59
  return (
43
- (keybindingItems.filter(k => k.command === commandIdMatches[1])
44
- .map(
60
+ (filteredKeybindingItems.map(
45
61
  keybindingItem => ({ id: KeybindingsEditorModel_1.getId(keybindingItem), keybindingItem, templateId: KEYBINDING_ENTRY_TEMPLATE_ID })
46
62
  ))
47
63
  );
@@ -58,7 +74,7 @@ let KeybindingsEditorModel = KeybindingsEditorModel_1 = class KeybindingsEditorM
58
74
  searchValue = searchValue.replace(EXTENSION_REGEX, '');
59
75
  }
60
76
  else {
61
- const keybindingMatches = /@keybinding:\s*((\".+\")|(\S+))/i.exec(searchValue);
77
+ const keybindingMatches = KEYBINDING_REGEX.exec(searchValue);
62
78
  if (keybindingMatches && (keybindingMatches[2] || keybindingMatches[3])) {
63
79
  searchValue = keybindingMatches[2] || `"${keybindingMatches[3]}"`;
64
80
  }
@@ -138,6 +154,27 @@ let KeybindingsEditorModel = KeybindingsEditorModel_1 = class KeybindingsEditorM
138
154
  }
139
155
  return result;
140
156
  }
157
+ filterByWhen(keybindingItems, command, when) {
158
+ if (keybindingItems.length === 0) {
159
+ return [];
160
+ }
161
+ const keybindingItemsWithWhen = keybindingItems.filter(k => k.when === when);
162
+ if (keybindingItemsWithWhen.length) {
163
+ return keybindingItemsWithWhen;
164
+ }
165
+ const commandLabel = keybindingItems[0].commandLabel;
166
+ const keybindingItem = ( (new ResolvedKeybindingItem(
167
+ undefined,
168
+ command,
169
+ null,
170
+ ContextKeyExpr.deserialize(when),
171
+ false,
172
+ null,
173
+ false
174
+ )));
175
+ const actionLabels = ( (new Map([[command, commandLabel]])));
176
+ return [KeybindingsEditorModel_1.toKeybindingEntry(command, keybindingItem, actionLabels, this.getExtensionsMapping())];
177
+ }
141
178
  splitKeybindingWords(wordsSeparatedBySpaces) {
142
179
  const result = [];
143
180
  for (const word of wordsSeparatedBySpaces) {
@@ -146,10 +183,7 @@ let KeybindingsEditorModel = KeybindingsEditorModel_1 = class KeybindingsEditorM
146
183
  return result;
147
184
  }
148
185
  async resolve(actionLabels = ( (new Map()))) {
149
- const extensions = ( (new ExtensionIdentifierMap()));
150
- for (const extension of this.extensionService.extensions) {
151
- extensions.set(extension.identifier, extension);
152
- }
186
+ const extensions = this.getExtensionsMapping();
153
187
  this._keybindingItemsSortedByPrecedence = [];
154
188
  const boundCommands = ( (new Map()));
155
189
  for (const keybinding of this.keybindingsService.getKeybindings()) {
@@ -178,6 +212,13 @@ let KeybindingsEditorModel = KeybindingsEditorModel_1 = class KeybindingsEditorM
178
212
  static getId(keybindingItem) {
179
213
  return keybindingItem.command + (keybindingItem?.keybinding?.getAriaLabel() ?? '') + keybindingItem.when + (isString(keybindingItem.source) ? keybindingItem.source : keybindingItem.source.identifier.value);
180
214
  }
215
+ getExtensionsMapping() {
216
+ const extensions = ( (new ExtensionIdentifierMap()));
217
+ for (const extension of this.extensionService.extensions) {
218
+ extensions.set(extension.identifier, extension);
219
+ }
220
+ return extensions;
221
+ }
181
222
  static compareKeybindingData(a, b) {
182
223
  if (a.keybinding && !b.keybinding) {
183
224
  return -1;
@@ -558,4 +599,4 @@ class KeybindingItemMatches {
558
599
  return false;
559
600
  }
560
601
  }
561
- export { KEYBINDING_ENTRY_TEMPLATE_ID, KeybindingsEditorModel };
602
+ export { KEYBINDING_ENTRY_TEMPLATE_ID, KeybindingsEditorModel, createKeybindingCommandQuery };
@@ -21,6 +21,7 @@ var ThemeSettings;
21
21
  ThemeSettings["PREFERRED_HC_LIGHT_THEME"] = "workbench.preferredHighContrastLightColorTheme";
22
22
  ThemeSettings["DETECT_COLOR_SCHEME"] = "window.autoDetectColorScheme";
23
23
  ThemeSettings["DETECT_HC"] = "window.autoDetectHighContrast";
24
+ ThemeSettings["SYSTEM_COLOR_THEME"] = "window.systemColorTheme";
24
25
  })(ThemeSettings || (ThemeSettings = {})));
25
26
  var ThemeSettingDefaults;
26
27
  ( (function(ThemeSettingDefaults) {
@@ -0,0 +1,97 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { IconSelectBox } from '../../../../base/browser/ui/icons/iconSelectBox.js';
3
+ import { trackFocus } from '../../../../base/browser/dom.js';
4
+ import { ContextKeyExpr, RawContextKey } from '../../../../platform/contextkey/common/contextkey.js';
5
+ import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.service.js';
6
+ import { KeybindingsRegistry } from '../../../../platform/keybinding/common/keybindingsRegistry.js';
7
+ var WorkbenchIconSelectBox_1;
8
+ const WorkbenchIconSelectBoxFocusContextKey = ( new RawContextKey('iconSelectBoxFocus', true));
9
+ const WorkbenchIconSelectBoxInputFocusContextKey = ( new RawContextKey('iconSelectBoxInputFocus', true));
10
+ const WorkbenchIconSelectBoxInputEmptyContextKey = ( new RawContextKey('iconSelectBoxInputEmpty', true));
11
+ let WorkbenchIconSelectBox = class WorkbenchIconSelectBox extends IconSelectBox {
12
+ static { WorkbenchIconSelectBox_1 = this; }
13
+ static getFocusedWidget() {
14
+ return WorkbenchIconSelectBox_1.focusedWidget;
15
+ }
16
+ constructor(options, contextKeyService) {
17
+ super(options);
18
+ this.contextKeyService = this._register(contextKeyService.createScoped(this.domNode));
19
+ WorkbenchIconSelectBoxFocusContextKey.bindTo(this.contextKeyService);
20
+ this.inputFocusContextKey = WorkbenchIconSelectBoxInputFocusContextKey.bindTo(this.contextKeyService);
21
+ this.inputEmptyContextKey = WorkbenchIconSelectBoxInputEmptyContextKey.bindTo(this.contextKeyService);
22
+ if (this.inputBox) {
23
+ const focusTracker = this._register(trackFocus(this.inputBox.inputElement));
24
+ this._register(focusTracker.onDidFocus(() => this.inputFocusContextKey.set(true)));
25
+ this._register(focusTracker.onDidBlur(() => this.inputFocusContextKey.set(false)));
26
+ this._register(this.inputBox.onDidChange(() => this.inputEmptyContextKey.set(this.inputBox?.value.length === 0)));
27
+ }
28
+ }
29
+ focus() {
30
+ super.focus();
31
+ WorkbenchIconSelectBox_1.focusedWidget = this;
32
+ }
33
+ };
34
+ WorkbenchIconSelectBox = WorkbenchIconSelectBox_1 = ( __decorate([
35
+ ( __param(1, IContextKeyService))
36
+ ], WorkbenchIconSelectBox));
37
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
38
+ id: 'iconSelectBox.focusUp',
39
+ weight: 200 ,
40
+ when: WorkbenchIconSelectBoxFocusContextKey,
41
+ primary: 16 ,
42
+ handler: () => {
43
+ const selectBox = WorkbenchIconSelectBox.getFocusedWidget();
44
+ if (selectBox) {
45
+ selectBox.focusPreviousRow();
46
+ }
47
+ }
48
+ });
49
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
50
+ id: 'iconSelectBox.focusDown',
51
+ weight: 200 ,
52
+ when: WorkbenchIconSelectBoxFocusContextKey,
53
+ primary: 18 ,
54
+ handler: () => {
55
+ const selectBox = WorkbenchIconSelectBox.getFocusedWidget();
56
+ if (selectBox) {
57
+ selectBox.focusNextRow();
58
+ }
59
+ }
60
+ });
61
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
62
+ id: 'iconSelectBox.focusNext',
63
+ weight: 200 ,
64
+ when: ( ContextKeyExpr.and(WorkbenchIconSelectBoxFocusContextKey, ( ContextKeyExpr.or(WorkbenchIconSelectBoxInputEmptyContextKey, ( WorkbenchIconSelectBoxInputFocusContextKey.toNegated()))))),
65
+ primary: 17 ,
66
+ handler: () => {
67
+ const selectBox = WorkbenchIconSelectBox.getFocusedWidget();
68
+ if (selectBox) {
69
+ selectBox.focusNext();
70
+ }
71
+ }
72
+ });
73
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
74
+ id: 'iconSelectBox.focusPrevious',
75
+ weight: 200 ,
76
+ when: ( ContextKeyExpr.and(WorkbenchIconSelectBoxFocusContextKey, ( ContextKeyExpr.or(WorkbenchIconSelectBoxInputEmptyContextKey, ( WorkbenchIconSelectBoxInputFocusContextKey.toNegated()))))),
77
+ primary: 15 ,
78
+ handler: () => {
79
+ const selectBox = WorkbenchIconSelectBox.getFocusedWidget();
80
+ if (selectBox) {
81
+ selectBox.focusPrevious();
82
+ }
83
+ }
84
+ });
85
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
86
+ id: 'iconSelectBox.selectFocused',
87
+ weight: 200 ,
88
+ when: WorkbenchIconSelectBoxFocusContextKey,
89
+ primary: 3 ,
90
+ handler: () => {
91
+ const selectBox = WorkbenchIconSelectBox.getFocusedWidget();
92
+ if (selectBox) {
93
+ selectBox.setSelection(selectBox.getFocus()[0]);
94
+ }
95
+ }
96
+ });
97
+ export { WorkbenchIconSelectBox, WorkbenchIconSelectBoxFocusContextKey, WorkbenchIconSelectBoxInputEmptyContextKey, WorkbenchIconSelectBoxInputFocusContextKey };
@@ -14,6 +14,10 @@ interface IFileWorkingCopyModelConfiguration {
14
14
  */
15
15
  readonly backupDelay?: number;
16
16
  }
17
+ declare const enum SnapshotContext {
18
+ Save = 1,
19
+ Backup = 2
20
+ }
17
21
  /**
18
22
  * A generic file working copy model to be reused by untitled
19
23
  * and stored file working copies.
@@ -47,9 +51,10 @@ interface IFileWorkingCopyModel extends IDisposable {
47
51
  * Snapshots the model's current content for writing. This must include
48
52
  * any changes that were made to the model that are in memory.
49
53
  *
54
+ * @param context indicates in what context the snapshot is used
50
55
  * @param token support for cancellation
51
56
  */
52
- snapshot(token: CancellationToken): Promise<VSBufferReadableStream>;
57
+ snapshot(context: SnapshotContext, token: CancellationToken): Promise<VSBufferReadableStream>;
53
58
  /**
54
59
  * Updates the model with the provided contents. The implementation should
55
60
  * behave in a similar fashion as `IFileWorkingCopyModelFactory#createModel`
@@ -96,4 +101,4 @@ interface IResolvedFileWorkingCopy<M extends IFileWorkingCopyModel> extends IFil
96
101
  readonly model: M;
97
102
  }
98
103
 
99
- export type { IFileWorkingCopy, IFileWorkingCopyModel, IFileWorkingCopyModelConfiguration, IResolvedFileWorkingCopy };
104
+ export { type IFileWorkingCopy, type IFileWorkingCopyModel, type IFileWorkingCopyModelConfiguration, type IResolvedFileWorkingCopy, SnapshotContext };
@@ -338,7 +338,7 @@ let StoredFileWorkingCopy = class StoredFileWorkingCopy extends ResourceWorkingC
338
338
  }
339
339
  let content = undefined;
340
340
  if (this.isResolved()) {
341
- content = await raceCancellation(this.model.snapshot(token), token);
341
+ content = await raceCancellation(this.model.snapshot(2 , token), token);
342
342
  }
343
343
  return { meta, content };
344
344
  }
@@ -437,7 +437,7 @@ let StoredFileWorkingCopy = class StoredFileWorkingCopy extends ResourceWorkingC
437
437
  stat = await resolvedFileWorkingCopy.model.save(writeFileOptions, saveCancellation.token);
438
438
  }
439
439
  else {
440
- const snapshot = await raceCancellation(resolvedFileWorkingCopy.model.snapshot(saveCancellation.token), saveCancellation.token);
440
+ const snapshot = await raceCancellation(resolvedFileWorkingCopy.model.snapshot(1 , saveCancellation.token), saveCancellation.token);
441
441
  if (saveCancellation.token.isCancellationRequested) {
442
442
  return;
443
443
  }