@codingame/monaco-vscode-api 1.83.16 → 1.85.0-next.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 (328) hide show
  1. package/api.js +13 -7
  2. package/assets/clear.mp3 +0 -0
  3. package/assets/format.mp3 +0 -0
  4. package/assets/save.mp3 +0 -0
  5. package/extensions.d.ts +13 -3
  6. package/external/{xterm-addon-image/typings/xterm-addon-image.d.ts → @xterm/addon-image/typings/addon-image.d.ts} +1 -1
  7. package/external/{xterm → @xterm/xterm}/typings/xterm.d.ts +13 -1
  8. package/lifecycle.js +2 -2
  9. package/localExtensionHost.js +3 -1
  10. package/missing-services.js +115 -23
  11. package/monaco-editor-treemending.patch +6884 -18018
  12. package/monaco-treemending.js +2 -2
  13. package/package.json +7 -7
  14. package/service-override/tools/editor.d.ts +8 -8
  15. package/service-override/tools/editor.js +44 -19
  16. package/services.d.ts +2 -2
  17. package/services.js +3 -3
  18. package/vscode/src/vs/base/browser/broadcast.js +6 -5
  19. package/vscode/src/vs/base/browser/dnd.d.ts +6 -0
  20. package/vscode/src/vs/base/browser/mouseEvent.d.ts +1 -1
  21. package/vscode/src/vs/base/browser/touch.d.ts +10 -0
  22. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -0
  23. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +22 -15
  24. package/vscode/src/vs/base/browser/ui/menu/menubar.js +4 -3
  25. package/vscode/src/vs/base/browser/ui/splitview/paneview.css.js +1 -1
  26. package/vscode/src/vs/base/browser/ui/splitview/paneview.d.ts +3 -0
  27. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +34 -11
  28. package/vscode/src/vs/base/common/actions.d.ts +1 -15
  29. package/vscode/src/vs/base/common/async.d.ts +1 -31
  30. package/vscode/src/vs/base/common/event.d.ts +2 -1
  31. package/vscode/src/vs/base/common/observableInternal/base.d.ts +23 -10
  32. package/vscode/src/vs/base/common/prefixTree.js +21 -11
  33. package/vscode/src/vs/base/common/product.d.ts +16 -2
  34. package/vscode/src/vs/base/common/resourceTree.js +135 -0
  35. package/vscode/src/vs/base/common/skipList.js +1 -0
  36. package/vscode/src/vs/base/common/tfIdf.js +137 -0
  37. package/vscode/src/vs/base/common/types.d.ts +13 -1
  38. package/vscode/src/vs/base/common/verifier.js +62 -0
  39. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +4 -2
  40. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -4
  41. package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
  42. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +3 -0
  43. package/vscode/src/vs/editor/common/core/position.d.ts +1 -0
  44. package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -1
  45. package/vscode/src/vs/editor/common/languages.d.ts +23 -1
  46. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -1
  47. package/vscode/src/vs/editor/common/services/resolverService.d.ts +11 -2
  48. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +16 -1
  49. package/vscode/src/vs/platform/action/common/action.d.ts +8 -0
  50. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +4 -0
  51. package/vscode/src/vs/platform/actions/common/actions.d.ts +8 -0
  52. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +6 -0
  53. package/vscode/src/vs/platform/commands/common/commands.d.ts +13 -5
  54. package/vscode/src/vs/platform/dialogs/common/dialogs.d.ts +9 -3
  55. package/vscode/src/vs/platform/dialogs/common/dialogs.js +5 -2
  56. package/vscode/src/vs/platform/editor/common/editor.d.ts +3 -15
  57. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  58. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -15
  59. package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +5 -0
  60. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +0 -1
  61. package/vscode/src/vs/platform/files/common/files.d.ts +72 -8
  62. package/vscode/src/vs/platform/files/common/watcher.js +77 -0
  63. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +2 -2
  64. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +52 -21
  65. package/vscode/src/vs/platform/request/browser/requestService.js +3 -0
  66. package/vscode/src/vs/platform/request/common/requestIpc.js +17 -0
  67. package/vscode/src/vs/platform/storage/common/storage.js +2 -2
  68. package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +1 -0
  69. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +12 -7
  70. package/vscode/src/vs/platform/terminal/common/capabilities/{commandDetectionCapability.d.ts → commandDetection/terminalCommand.d.ts} +3 -2
  71. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +257 -0
  72. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +439 -354
  73. package/vscode/src/vs/platform/window/common/window.d.ts +9 -2
  74. package/vscode/src/vs/platform/window/common/window.js +6 -1
  75. package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +2 -43
  76. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +113 -81
  77. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +5 -4
  78. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +25 -3
  79. package/vscode/src/vs/workbench/api/common/extHostChat.js +13 -163
  80. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +412 -0
  81. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +79 -11
  82. package/vscode/src/vs/workbench/api/common/extHostCommands.js +13 -12
  83. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
  84. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +8 -6
  85. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +1 -1
  86. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +36 -19
  87. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +52 -31
  88. package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +38 -0
  89. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +28 -3
  90. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +10 -0
  91. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +117 -2
  92. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +32 -4
  93. package/vscode/src/vs/workbench/api/common/extHostSCM.js +85 -23
  94. package/vscode/src/vs/workbench/api/common/extHostSearch.js +3 -0
  95. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +42 -0
  96. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -1
  97. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -0
  98. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +3 -3
  99. package/vscode/src/vs/workbench/api/common/extHostTesting.js +97 -47
  100. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +115 -16
  101. package/vscode/src/vs/workbench/api/common/extHostTypes.js +66 -36
  102. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +6 -1
  103. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +182 -75
  104. package/vscode/src/vs/workbench/browser/actions/windowActions.js +176 -4
  105. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +143 -2
  106. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +237 -0
  107. package/vscode/src/vs/workbench/browser/composite.d.ts +0 -4
  108. package/vscode/src/vs/workbench/browser/composite.js +5 -4
  109. package/vscode/src/vs/workbench/browser/dnd.js +72 -23
  110. package/vscode/src/vs/workbench/browser/labels.js +7 -3
  111. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  112. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -2
  113. package/vscode/src/vs/workbench/browser/panecomposite.js +2 -0
  114. package/vscode/src/vs/workbench/browser/part.js +33 -2
  115. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +99 -117
  116. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +173 -33
  117. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +102 -6
  118. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +256 -17
  119. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +4 -0
  120. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +68 -35
  121. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -5
  122. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +35 -16
  123. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +348 -0
  124. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +43 -31
  125. package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +4 -0
  126. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -0
  127. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -0
  128. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +14 -2
  129. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +4 -4
  130. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +277 -0
  131. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +5 -2
  132. package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
  133. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +3 -38
  134. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +54 -52
  135. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +2 -1
  136. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +25 -0
  137. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +258 -0
  138. package/vscode/src/vs/workbench/browser/parts/views/media/paneviewlet.css.js +1 -1
  139. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -5
  140. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +157 -117
  141. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +50 -23
  142. package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +26 -11
  143. package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.js +10 -6
  144. package/vscode/src/vs/workbench/browser/style.js +2 -1
  145. package/vscode/src/vs/workbench/browser/web.api.d.ts +39 -2
  146. package/vscode/src/vs/workbench/browser/window.js +55 -0
  147. package/vscode/src/vs/workbench/browser/workbench.contribution.js +220 -40
  148. package/vscode/src/vs/workbench/common/activity.js +3 -0
  149. package/vscode/src/vs/workbench/common/contextkeys.js +35 -5
  150. package/vscode/src/vs/workbench/common/contributions.js +4 -3
  151. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +14 -4
  152. package/vscode/src/vs/workbench/common/editor/diffEditorModel.js +1 -1
  153. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +22 -19
  154. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +4 -3
  155. package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +1 -2
  156. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +22 -4
  157. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +3 -3
  158. package/vscode/src/vs/workbench/common/editor.d.ts +60 -30
  159. package/vscode/src/vs/workbench/common/editor.js +11 -3
  160. package/vscode/src/vs/workbench/common/theme.js +2 -2
  161. package/vscode/src/vs/workbench/common/views.d.ts +4 -4
  162. package/vscode/src/vs/workbench/common/views.js +3 -1
  163. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +97 -8
  164. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +17 -99
  165. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +103 -37
  166. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +2 -3
  167. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +127 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +71 -0
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -1
  170. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +33 -110
  171. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +64 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +94 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -1
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +1 -88
  175. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +4 -4
  176. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -2
  177. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -1
  178. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -16
  179. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -3
  180. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +3 -1
  181. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -3
  182. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +1 -0
  183. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +9 -1
  184. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +10 -1
  185. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +114 -22
  186. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  187. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +4 -1
  188. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +19 -0
  189. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +10 -8
  190. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +62 -10
  191. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +2 -1
  192. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +9 -8
  193. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +10 -1
  194. package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -0
  195. package/vscode/src/vs/workbench/contrib/files/browser/files.js +7 -3
  196. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +4 -4
  197. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +64 -36
  198. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +42 -17
  199. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +145 -25
  200. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +1 -1
  201. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  202. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +36 -0
  203. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
  204. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +24 -3
  205. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +11 -6
  206. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +1 -2
  207. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +31 -0
  208. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +61 -41
  209. package/vscode/src/vs/workbench/contrib/search/{browser/searchNotebookHelpers.js → common/cellSearchModel.js} +4 -63
  210. package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +40 -0
  211. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +2 -2
  212. package/vscode/src/vs/workbench/{services/editor/browser/editorDropService.js → contrib/speech/common/speechService.js} +2 -2
  213. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +29 -4
  214. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +100 -79
  215. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +3 -3
  216. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +1 -1
  217. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +7 -4
  218. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +5 -3
  219. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +143 -41
  220. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +17 -11
  221. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +41 -26
  222. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +5 -2
  223. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -8
  224. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +2 -0
  225. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +115 -0
  226. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +74 -0
  227. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +3 -3
  228. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +64 -1
  229. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +9 -0
  230. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -3
  231. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +8 -9
  232. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +1 -1
  233. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +5 -2
  234. package/vscode/src/vs/workbench/services/activity/browser/activityService.d.ts +16 -10
  235. package/vscode/src/vs/workbench/services/activity/common/activity.d.ts +14 -1
  236. package/vscode/src/vs/workbench/services/activity/common/activity.js +1 -7
  237. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +9 -28
  238. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +273 -0
  239. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
  240. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +2 -0
  241. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -3
  242. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +7 -5
  243. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +59 -37
  244. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +193 -94
  245. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
  246. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +8 -2
  247. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +8 -1
  248. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +62 -16
  249. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +5 -3
  250. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +3 -2
  251. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -9
  252. package/vscode/src/vs/workbench/services/extensions/common/{extensionHostManager.d.ts → extensionHostManagers.d.ts} +2 -0
  253. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +1 -1
  254. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +9 -0
  255. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +22 -0
  256. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +14 -3
  257. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +9 -0
  258. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -3
  259. package/vscode/src/vs/workbench/services/history/common/history.d.ts +2 -2
  260. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +49 -18
  261. package/vscode/src/vs/workbench/services/host/browser/host.d.ts +29 -7
  262. package/vscode/src/vs/workbench/services/hover/browser/hover.d.ts +51 -28
  263. package/vscode/src/vs/workbench/services/hover/browser/hoverService.d.ts +5 -2
  264. package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +2 -2
  265. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.d.ts +4 -1
  266. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +40 -36
  267. package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.d.ts +0 -6
  268. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +3 -0
  269. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +2 -2
  270. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +16 -1
  271. package/vscode/src/vs/workbench/services/request/browser/requestService.js +48 -0
  272. package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +4 -4
  273. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +10 -51
  274. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +2 -2
  275. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +32 -1
  276. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -5
  277. package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +4 -3
  278. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +9 -3
  279. package/vscode/src/vs/workbench/services/title/browser/titleService.d.ts +18 -0
  280. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +18 -3
  281. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +16 -7
  282. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +6 -0
  283. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +13 -0
  284. package/vscode/src/vs/workbench/services/url/browser/urlService.js +2 -1
  285. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +2 -2
  286. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +9 -0
  287. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +375 -0
  288. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +80 -0
  289. package/vscode-dts/vscode.proposed.chatProvider.d.ts +5 -1
  290. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +68 -10
  291. package/vscode-dts/vscode.proposed.chatTab.d.ts +21 -0
  292. package/vscode-dts/vscode.proposed.chatVariables.d.ts +5 -1
  293. package/vscode-dts/vscode.proposed.codeActionAI.d.ts +16 -0
  294. package/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +7 -0
  295. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +51 -0
  296. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +30 -0
  297. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +26 -0
  298. package/vscode-dts/vscode.proposed.interactive.d.ts +26 -100
  299. package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +14 -7
  300. package/vscode-dts/vscode.proposed.languageStatusText.d.ts +12 -0
  301. package/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts +63 -0
  302. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +43 -0
  303. package/vscode-dts/vscode.proposed.resolvers.d.ts +100 -1
  304. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +9 -1
  305. package/vscode-dts/vscode.proposed.scmInputBoxActionButton.d.ts +19 -0
  306. package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +25 -0
  307. package/vscode-dts/vscode.proposed.speech.d.ts +35 -0
  308. package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +11 -7
  309. package/vscode-dts/vscode.proposed.testCoverage.d.ts +6 -1
  310. package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +21 -0
  311. package/external/xterm-headless/typings/xterm-headless.d.ts +0 -49
  312. package/vscode/src/vs/platform/backup/common/backup.d.ts +0 -14
  313. package/vscode/src/vs/platform/update/common/update.d.ts +0 -112
  314. package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +0 -62
  315. package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +0 -62
  316. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +0 -56
  317. package/vscode/src/vs/workbench/services/files/common/files.js +0 -4
  318. package/vscode/src/vs/workbench/services/host/browser/browserHostService.d.ts +0 -41
  319. package/vscode/src/vs/workbench/services/title/common/titleService.d.ts +0 -31
  320. package/vscode-dts/vscode.proposed.chatAgents.d.ts +0 -39
  321. package/vscode-dts/vscode.proposed.chatSlashCommands.d.ts +0 -47
  322. package/vscode-dts/vscode.proposed.testMessageContextValue.d.ts +0 -45
  323. /package/external/{xterm-addon-canvas/typings/xterm-addon-canvas.d.ts → @xterm/addon-canvas/typings/addon-canvas.d.ts} +0 -0
  324. /package/external/{xterm-addon-search/typings/xterm-addon-search.d.ts → @xterm/addon-search/typings/addon-search.d.ts} +0 -0
  325. /package/external/{xterm-addon-serialize/typings/xterm-addon-serialize.d.ts → @xterm/addon-serialize/typings/addon-serialize.d.ts} +0 -0
  326. /package/external/{xterm-addon-unicode11/typings/xterm-addon-unicode11.d.ts → @xterm/addon-unicode11/typings/addon-unicode11.d.ts} +0 -0
  327. /package/external/{xterm-addon-webgl/typings/xterm-addon-webgl.d.ts → @xterm/addon-webgl/typings/addon-webgl.d.ts} +0 -0
  328. /package/vscode/src/vs/workbench/services/title/{common → browser}/titleService.js +0 -0
@@ -1,13 +1,16 @@
1
- import { ServiceIdentifier } from '../../../../platform/instantiation/common/instantiation.js';
1
+ import { ServiceIdentifier, IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
2
2
  import { Event } from '../../../../base/common/event.js';
3
- import { CloseDirection, IEditorPane, GroupIdentifier, IEditorPartOptions, IEditorPartOptionsChangeEvent, IActiveEditorChangeEvent, IEditorCloseEvent, IEditorWillMoveEvent, IEditorWillOpenEvent, IVisibleEditorPane, EditorsOrder, IFindEditorOptions, EditorInputWithOptions, IUntypedEditorInput, IMatchEditorOptions } from '../../../common/editor.js';
3
+ import { CloseDirection, IEditorPane, GroupIdentifier, IActiveEditorChangeEvent, IEditorCloseEvent, IEditorWillMoveEvent, IEditorWillOpenEvent, IVisibleEditorPane, EditorsOrder, IFindEditorOptions, EditorInputWithOptions, IUntypedEditorInput, IMatchEditorOptions, IEditorPartOptions, IEditorPartOptionsChangeEvent, IToolbarActions } from '../../../common/editor.js';
4
4
  import { EditorInput } from '../../../common/editor/editorInput.js';
5
5
  import { IEditorOptions } from '../../../../platform/editor/common/editor.js';
6
6
  import { URI } from '../../../../base/common/uri.js';
7
7
  import { IDimension } from '../../../../editor/common/core/dimension.js';
8
- import { IDisposable } from '../../../../base/common/lifecycle.js';
8
+ import { DisposableStore, IDisposable } from '../../../../base/common/lifecycle.js';
9
9
  import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';
10
10
  import { IGroupModelChangeEvent } from '../../../common/editor/editorGroupModel.js';
11
+ import { IRectangle } from '../../../../platform/window/common/window.js';
12
+ import { IMenuChangeEvent } from '../../../../platform/actions/common/actions.js';
13
+ import { DeepPartial } from '../../../../base/common/types.js';
11
14
 
12
15
  declare const enum GroupDirection {
13
16
  UP = 0,
@@ -26,24 +29,24 @@ declare const enum GroupLocation {
26
29
  PREVIOUS = 3
27
30
  }
28
31
  interface IFindGroupScope {
29
- direction?: GroupDirection;
30
- location?: GroupLocation;
32
+ readonly direction?: GroupDirection;
33
+ readonly location?: GroupLocation;
31
34
  }
32
35
  declare const enum GroupsArrangement {
33
36
  /**
34
- * Make the current active group consume the maximum
35
- * amount of space possible.
37
+ * Make the current active group consume the entire
38
+ * editor area.
36
39
  */
37
40
  MAXIMIZE = 0,
38
41
  /**
39
- * Size all groups evenly.
42
+ * Make the current active group consume the maximum
43
+ * amount of space possible.
40
44
  */
41
- EVEN = 1,
45
+ EXPAND = 1,
42
46
  /**
43
- * Will behave like MINIMIZE_OTHERS if the active
44
- * group is not already maximized and EVEN otherwise
47
+ * Size all groups evenly.
45
48
  */
46
- TOGGLE = 2
49
+ EVEN = 2
47
50
  }
48
51
  interface GroupLayoutArgument {
49
52
  /**
@@ -52,22 +55,22 @@ interface GroupLayoutArgument {
52
55
  * If provided, their sum must be 1 to be applied
53
56
  * per row or column.
54
57
  */
55
- size?: number;
58
+ readonly size?: number;
56
59
  /**
57
60
  * Editor groups will be laid out orthogonal to the
58
61
  * parent orientation.
59
62
  */
60
- groups?: GroupLayoutArgument[];
63
+ readonly groups?: GroupLayoutArgument[];
61
64
  }
62
65
  interface EditorGroupLayout {
63
66
  /**
64
67
  * The initial orientation of the editor groups at the root.
65
68
  */
66
- orientation: GroupOrientation;
69
+ readonly orientation: GroupOrientation;
67
70
  /**
68
71
  * The editor groups at the root of the layout.
69
72
  */
70
- groups: GroupLayoutArgument[];
73
+ readonly groups: GroupLayoutArgument[];
71
74
  }
72
75
  declare const enum MergeGroupMode {
73
76
  COPY_EDITORS = 0,
@@ -75,29 +78,29 @@ declare const enum MergeGroupMode {
75
78
  }
76
79
  interface IMergeGroupOptions {
77
80
  mode?: MergeGroupMode;
78
- index?: number;
81
+ readonly index?: number;
79
82
  }
80
83
  interface ICloseEditorOptions {
81
- preserveFocus?: boolean;
84
+ readonly preserveFocus?: boolean;
82
85
  }
83
86
  type ICloseEditorsFilter = {
84
- except?: EditorInput;
85
- direction?: CloseDirection;
86
- savedOnly?: boolean;
87
- excludeSticky?: boolean;
87
+ readonly except?: EditorInput;
88
+ readonly direction?: CloseDirection;
89
+ readonly savedOnly?: boolean;
90
+ readonly excludeSticky?: boolean;
88
91
  };
89
92
  interface ICloseAllEditorsOptions {
90
- excludeSticky?: boolean;
93
+ readonly excludeSticky?: boolean;
91
94
  }
92
95
  interface IEditorReplacement {
93
- editor: EditorInput;
94
- replacement: EditorInput;
95
- options?: IEditorOptions;
96
+ readonly editor: EditorInput;
97
+ readonly replacement: EditorInput;
98
+ readonly options?: IEditorOptions;
96
99
  /**
97
100
  * Skips asking the user for confirmation and doesn't
98
101
  * save the document. Only use this if you really need to!
99
102
  */
100
- forceReplaceDirty?: boolean;
103
+ readonly forceReplaceDirty?: boolean;
101
104
  }
102
105
  declare const enum GroupsOrder {
103
106
  /**
@@ -122,10 +125,18 @@ interface IEditorSideGroup {
122
125
  */
123
126
  openEditor(editor: EditorInput, options?: IEditorOptions): Promise<IEditorPane | undefined>;
124
127
  }
125
-
126
- declare const IEditorGroupsService: ServiceIdentifier<IEditorGroupsService>;
127
- interface IEditorGroupsService {
128
- readonly _serviceBrand: undefined;
128
+ interface IEditorDropTargetDelegate {
129
+ /**
130
+ * A helper to figure out if the drop target contains the provided group.
131
+ */
132
+ containsGroup?(groupView: IEditorGroup): boolean;
133
+ }
134
+ /**
135
+ * The basic primitive to work with editor groups. This interface is both implemented
136
+ * by editor part component as well as the editor groups service that operates across
137
+ * all opened editor parts.
138
+ */
139
+ interface IEditorGroupsContainer {
129
140
  /**
130
141
  * An event for when the active editor group changes. The active editor
131
142
  * group is the default location for new editors to open.
@@ -147,14 +158,6 @@ interface IEditorGroupsService {
147
158
  * An event for when a group gets activated.
148
159
  */
149
160
  readonly onDidActivateGroup: Event<IEditorGroup>;
150
- /**
151
- * An event for when the group container is layed out.
152
- */
153
- readonly onDidLayout: Event<IDimension>;
154
- /**
155
- * An event for when the group container is scrolled.
156
- */
157
- readonly onDidScroll: Event<void>;
158
161
  /**
159
162
  * An event for when the index of a group changes.
160
163
  */
@@ -164,9 +167,9 @@ interface IEditorGroupsService {
164
167
  */
165
168
  readonly onDidChangeGroupLocked: Event<IEditorGroup>;
166
169
  /**
167
- * The size of the editor groups area.
170
+ * An event for when the maximized state of a group changes.
168
171
  */
169
- readonly contentDimension: IDimension;
172
+ readonly onDidChangeGroupMaximized: Event<boolean>;
170
173
  /**
171
174
  * An active group is the default location for new editors to open.
172
175
  */
@@ -177,12 +180,13 @@ interface IEditorGroupsService {
177
180
  */
178
181
  readonly sideGroup: IEditorSideGroup;
179
182
  /**
180
- * All groups that are currently visible in the editor area in the
181
- * order of their creation (oldest first).
183
+ * All groups that are currently visible in the container in the order
184
+ * of their creation (oldest first).
182
185
  */
183
186
  readonly groups: readonly IEditorGroup[];
184
187
  /**
185
- * The number of editor groups that are currently opened.
188
+ * The number of editor groups that are currently opened in the
189
+ * container.
186
190
  */
187
191
  readonly count: number;
188
192
  /**
@@ -190,38 +194,7 @@ interface IEditorGroupsService {
190
194
  */
191
195
  readonly orientation: GroupOrientation;
192
196
  /**
193
- * A property that indicates when groups have been created
194
- * and are ready to be used.
195
- */
196
- readonly isReady: boolean;
197
- /**
198
- * A promise that resolves when groups have been created
199
- * and are ready to be used.
200
- *
201
- * Await this promise to safely work on the editor groups model
202
- * (for example, install editor group listeners).
203
- *
204
- * Use the `whenRestored` property to await visible editors
205
- * having fully resolved.
206
- */
207
- readonly whenReady: Promise<void>;
208
- /**
209
- * A promise that resolves when groups have been restored.
210
- *
211
- * For groups with active editor, the promise will resolve
212
- * when the visible editor has finished to resolve.
213
- *
214
- * Use the `whenReady` property to not await editors to
215
- * resolve.
216
- */
217
- readonly whenRestored: Promise<void>;
218
- /**
219
- * Find out if the editor group service has UI state to restore
220
- * from a previous session.
221
- */
222
- readonly hasRestorableState: boolean;
223
- /**
224
- * Get all groups that are currently visible in the editor area.
197
+ * Get all groups that are currently visible in the container.
225
198
  *
226
199
  * @param order the order of the editors to use
227
200
  */
@@ -249,25 +222,25 @@ interface IEditorGroupsService {
249
222
  height: number;
250
223
  }): void;
251
224
  /**
252
- * Arrange all groups according to the provided arrangement.
225
+ * Arrange all groups in the container according to the provided arrangement.
253
226
  */
254
- arrangeGroups(arrangement: GroupsArrangement): void;
227
+ arrangeGroups(arrangement: GroupsArrangement, target?: IEditorGroup | GroupIdentifier): void;
255
228
  /**
256
- * Applies the provided layout by either moving existing groups or creating new groups.
229
+ * Toggles the target goup size to maximize/unmaximize.
257
230
  */
258
- applyLayout(layout: EditorGroupLayout): void;
231
+ toggleMaximizeGroup(group?: IEditorGroup | GroupIdentifier): void;
259
232
  /**
260
- * Returns an editor layout describing the current grid
233
+ * Toggles the target goup size to expand/distribute even.
261
234
  */
262
- getLayout(): EditorGroupLayout;
235
+ toggleExpandGroup(group?: IEditorGroup | GroupIdentifier): void;
263
236
  /**
264
- * Enable or disable centered editor layout.
237
+ * Applies the provided layout by either moving existing groups or creating new groups.
265
238
  */
266
- centerLayout(active: boolean): void;
239
+ applyLayout(layout: EditorGroupLayout): void;
267
240
  /**
268
- * Find out if the editor layout is currently centered.
241
+ * Returns an editor layout of the container.
269
242
  */
270
- isLayoutCentered(): boolean;
243
+ getLayout(): EditorGroupLayout;
271
244
  /**
272
245
  * Sets the orientation of the root group to be either vertical or horizontal.
273
246
  */
@@ -289,7 +262,7 @@ interface IEditorGroupsService {
289
262
  */
290
263
  findGroup(scope: IFindGroupScope, source?: IEditorGroup | GroupIdentifier, wrap?: boolean): IEditorGroup | undefined;
291
264
  /**
292
- * Add a new group to the editor area. A new group is added by splitting a provided one in
265
+ * Add a new group to the container. A new group is added by splitting a provided one in
293
266
  * one of the four directions.
294
267
  *
295
268
  * @param location the group from which to split to add a new group
@@ -297,11 +270,11 @@ interface IEditorGroupsService {
297
270
  */
298
271
  addGroup(location: IEditorGroup | GroupIdentifier, direction: GroupDirection): IEditorGroup;
299
272
  /**
300
- * Remove a group from the editor area.
273
+ * Remove a group from the container.
301
274
  */
302
275
  removeGroup(group: IEditorGroup | GroupIdentifier): void;
303
276
  /**
304
- * Move a group to a new group in the editor area.
277
+ * Move a group to a new group in the container.
305
278
  *
306
279
  * @param group the group to move
307
280
  * @param location the group from which to split to add the moved group
@@ -322,11 +295,11 @@ interface IEditorGroupsService {
322
295
  */
323
296
  mergeGroup(group: IEditorGroup | GroupIdentifier, target: IEditorGroup | GroupIdentifier, options?: IMergeGroupOptions): IEditorGroup;
324
297
  /**
325
- * Merge all editor groups into the active one.
298
+ * Merge all editor groups into the target one.
326
299
  */
327
- mergeAllGroups(): IEditorGroup;
300
+ mergeAllGroups(target: IEditorGroup | GroupIdentifier): IEditorGroup;
328
301
  /**
329
- * Copy a group to a new group in the editor area.
302
+ * Copy a group to a new group in the container.
330
303
  *
331
304
  * @param group the group to copy
332
305
  * @param location the group from which to split to add the copied group
@@ -341,10 +314,132 @@ interface IEditorGroupsService {
341
314
  * An event that notifies when editor part options change.
342
315
  */
343
316
  readonly onDidChangeEditorPartOptions: Event<IEditorPartOptionsChangeEvent>;
317
+ /**
318
+ * Allows to register a drag and drop target for editors
319
+ * on the provided `container`.
320
+ */
321
+ createEditorDropTarget(container: unknown, delegate: IEditorDropTargetDelegate): IDisposable;
322
+ }
323
+ /**
324
+ * An editor part is a viewer of editor groups. There can be multiple editor
325
+ * parts opened in multiple windows.
326
+ */
327
+ interface IEditorPart extends IEditorGroupsContainer {
328
+ /**
329
+ * An event for when the editor part is layed out.
330
+ */
331
+ readonly onDidLayout: Event<IDimension>;
332
+ /**
333
+ * An event for when the editor part is scrolled.
334
+ */
335
+ readonly onDidScroll: Event<void>;
336
+ /**
337
+ * The size of the editor part.
338
+ */
339
+ readonly contentDimension: IDimension;
340
+ /**
341
+ * A property that indicates when groups have been created
342
+ * and are ready to be used in the editor part.
343
+ */
344
+ readonly isReady: boolean;
345
+ /**
346
+ * A promise that resolves when groups have been created
347
+ * and are ready to be used in the editor part.
348
+ *
349
+ * Await this promise to safely work on the editor groups model
350
+ * (for example, install editor group listeners).
351
+ *
352
+ * Use the `whenRestored` property to await visible editors
353
+ * having fully resolved.
354
+ */
355
+ readonly whenReady: Promise<void>;
356
+ /**
357
+ * A promise that resolves when groups have been restored in
358
+ * the editor part.
359
+ *
360
+ * For groups with active editor, the promise will resolve
361
+ * when the visible editor has finished to resolve.
362
+ *
363
+ * Use the `whenReady` property to not await editors to
364
+ * resolve.
365
+ */
366
+ readonly whenRestored: Promise<void>;
367
+ /**
368
+ * Find out if the editor part has UI state to restore
369
+ * from a previous session.
370
+ */
371
+ readonly hasRestorableState: boolean;
372
+ /**
373
+ * Enable or disable centered editor layout.
374
+ */
375
+ centerLayout(active: boolean): void;
376
+ /**
377
+ * Find out if the editor layout is currently centered.
378
+ */
379
+ isLayoutCentered(): boolean;
344
380
  /**
345
381
  * Enforce editor part options temporarily.
346
382
  */
347
- enforcePartOptions(options: IEditorPartOptions): IDisposable;
383
+ enforcePartOptions(options: DeepPartial<IEditorPartOptions>): IDisposable;
384
+ }
385
+ interface IAuxiliaryEditorPart extends IEditorPart {
386
+ /**
387
+ * The identifier of the window the auxiliary editor part is contained in.
388
+ */
389
+ readonly windowId: number;
390
+ /**
391
+ * Close this auxiliary editor part after moving all
392
+ * editors of all groups back to the main editor part.
393
+ */
394
+ close(): void;
395
+ }
396
+ interface IAuxiliaryEditorPartCreateEvent {
397
+ readonly part: IAuxiliaryEditorPart;
398
+ readonly instantiationService: IInstantiationService;
399
+ readonly disposables: DisposableStore;
400
+ }
401
+
402
+ declare const IEditorGroupsService: ServiceIdentifier<IEditorGroupsService>;
403
+ /**
404
+ * The main service to interact with editor groups across all opened editor parts.
405
+ */
406
+ interface IEditorGroupsService extends IEditorGroupsContainer {
407
+ readonly _serviceBrand: undefined;
408
+ /**
409
+ * An event for when a new auxiliary editor part is created.
410
+ */
411
+ readonly onDidCreateAuxiliaryEditorPart: Event<IAuxiliaryEditorPartCreateEvent>;
412
+ /**
413
+ * Provides access to the currently active editor part.
414
+ */
415
+ readonly activePart: IEditorPart;
416
+ /**
417
+ * Provides access to the main window editor part.
418
+ */
419
+ readonly mainPart: IEditorPart;
420
+ /**
421
+ * Provides access to all editor parts.
422
+ */
423
+ readonly parts: ReadonlyArray<IEditorPart>;
424
+ /**
425
+ * Get the editor part that contains the group with the provided identifier.
426
+ */
427
+ getPart(group: IEditorGroup | GroupIdentifier): IEditorPart;
428
+ /**
429
+ * Get the editor part that is rooted in the provided container.
430
+ */
431
+ getPart(container: unknown): IEditorPart;
432
+ /**
433
+ * Opens a new window with a full editor part instantiated
434
+ * in there at the optional position and size on screen.
435
+ */
436
+ createAuxiliaryEditorPart(options?: {
437
+ bounds?: Partial<IRectangle>;
438
+ }): Promise<IAuxiliaryEditorPart>;
439
+ }
440
+ interface IActiveEditorActions {
441
+ readonly actions: IToolbarActions;
442
+ readonly onDidChange: Event<IMenuChangeEvent | void>;
348
443
  }
349
444
  interface IEditorGroup {
350
445
  /**
@@ -603,6 +698,10 @@ interface IEditorGroup {
603
698
  * Move keyboard focus into the group.
604
699
  */
605
700
  focus(): void;
701
+ /**
702
+ * Create the editor actions for the current active editor.
703
+ */
704
+ createEditorActions(disposables: DisposableStore): IActiveEditorActions;
606
705
  }
607
706
 
608
- export { type EditorGroupLayout, GroupDirection, type GroupLayoutArgument, GroupLocation, GroupOrientation, GroupsArrangement, GroupsOrder, type ICloseAllEditorsOptions, type ICloseEditorOptions, type ICloseEditorsFilter, type IEditorGroup, IEditorGroupsService, type IEditorReplacement, type IEditorSideGroup, type IFindGroupScope, type IMergeGroupOptions, MergeGroupMode };
707
+ 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, IEditorGroupsService, type IEditorPart, type IEditorReplacement, type IEditorSideGroup, type IFindGroupScope, type IMergeGroupOptions, MergeGroupMode };
@@ -23,8 +23,8 @@ var GroupLocation;
23
23
  var GroupsArrangement;
24
24
  ( (function(GroupsArrangement) {
25
25
  GroupsArrangement[GroupsArrangement["MAXIMIZE"] = 0] = "MAXIMIZE";
26
- GroupsArrangement[GroupsArrangement["EVEN"] = 1] = "EVEN";
27
- GroupsArrangement[GroupsArrangement["TOGGLE"] = 2] = "TOGGLE";
26
+ GroupsArrangement[GroupsArrangement["EXPAND"] = 1] = "EXPAND";
27
+ GroupsArrangement[GroupsArrangement["EVEN"] = 2] = "EVEN";
28
28
  })(GroupsArrangement || (GroupsArrangement = {})));
29
29
  var MergeGroupMode;
30
30
  ( (function(MergeGroupMode) {
@@ -4,7 +4,7 @@ import { Event } from '../../../../base/common/event.js';
4
4
  import { IDisposable } from '../../../../base/common/lifecycle.js';
5
5
  import { URI } from '../../../../base/common/uri.js';
6
6
  import { IResourceEditorInput, ITextResourceEditorInput } from '../../../../platform/editor/common/editor.js';
7
- import { IUntypedEditorInput, EditorInputWithOptionsAndGroup, IUntitledTextResourceEditorInput, IResourceDiffEditorInput, IResourceMergeEditorInput, EditorInputWithOptions } from '../../../common/editor.js';
7
+ import { IUntypedEditorInput, EditorInputWithOptionsAndGroup, IUntitledTextResourceEditorInput, IResourceDiffEditorInput, IResourceMultiDiffEditorInput, IResourceMergeEditorInput, EditorInputWithOptions } from '../../../common/editor.js';
8
8
  import { IEditorGroup } from './editorGroupsService.js';
9
9
  import { PreferredGroup } from './editorService.js';
10
10
  import { AtLeastOne } from '../../../../base/common/types.js';
@@ -51,11 +51,13 @@ type EditorInputFactoryResult = EditorInputWithOptions | Promise<EditorInputWith
51
51
  type EditorInputFactoryFunction = (editorInput: IResourceEditorInput | ITextResourceEditorInput, group: IEditorGroup) => EditorInputFactoryResult;
52
52
  type UntitledEditorInputFactoryFunction = (untitledEditorInput: IUntitledTextResourceEditorInput, group: IEditorGroup) => EditorInputFactoryResult;
53
53
  type DiffEditorInputFactoryFunction = (diffEditorInput: IResourceDiffEditorInput, group: IEditorGroup) => EditorInputFactoryResult;
54
+ type DiffListEditorInputFactoryFunction = (diffEditorInput: IResourceMultiDiffEditorInput, group: IEditorGroup) => EditorInputFactoryResult;
54
55
  type MergeEditorInputFactoryFunction = (mergeEditorInput: IResourceMergeEditorInput, group: IEditorGroup) => EditorInputFactoryResult;
55
56
  type EditorInputFactories = {
56
57
  createEditorInput?: EditorInputFactoryFunction;
57
58
  createUntitledEditorInput?: UntitledEditorInputFactoryFunction;
58
59
  createDiffEditorInput?: DiffEditorInputFactoryFunction;
60
+ createMultiDiffEditorInput?: DiffListEditorInputFactoryFunction;
59
61
  createMergeEditorInput?: MergeEditorInputFactoryFunction;
60
62
  };
61
63
  type EditorInputFactoryObject = AtLeastOne<EditorInputFactories>;
@@ -109,6 +111,10 @@ interface IEditorResolverService {
109
111
  * A set of all the editors that are registered to the editor resolver.
110
112
  */
111
113
  getEditors(): RegisteredEditorInfo[];
114
+ /**
115
+ * Get a complete list of editor associations.
116
+ */
117
+ getAllUserAssociations(): EditorAssociations;
112
118
  }
113
119
 
114
- export { type DiffEditorInputFactoryFunction, type EditorAssociation, type EditorAssociations, type EditorInputFactoryFunction, type EditorInputFactoryObject, IEditorResolverService, type MergeEditorInputFactoryFunction, type RegisteredEditorInfo, type RegisteredEditorOptions, RegisteredEditorPriority, type ResolvedEditor, ResolvedStatus, type UntitledEditorInputFactoryFunction };
120
+ export { type DiffEditorInputFactoryFunction, type DiffListEditorInputFactoryFunction, type EditorAssociation, type EditorAssociations, type EditorInputFactoryFunction, type EditorInputFactoryObject, IEditorResolverService, type MergeEditorInputFactoryFunction, type RegisteredEditorInfo, type RegisteredEditorOptions, RegisteredEditorPriority, type ResolvedEditor, ResolvedStatus, type UntitledEditorInputFactoryFunction };
@@ -4,9 +4,10 @@ import { IEditorCloseEvent, IVisibleEditorPane, EditorsOrder, IEditorIdentifier,
4
4
  import { EditorInput } from '../../../common/editor/editorInput.js';
5
5
  import { Event } from '../../../../base/common/event.js';
6
6
  import { IEditor, IDiffEditor } from '../../../../editor/common/editorCommon.js';
7
- import { IEditorGroup, ICloseEditorOptions } from './editorGroupsService.js';
7
+ import { IEditorGroup, ICloseEditorOptions, IEditorGroupsContainer } from './editorGroupsService.js';
8
8
  import { URI } from '../../../../base/common/uri.js';
9
9
  import { IGroupModelChangeEvent } from '../../../common/editor/editorGroupModel.js';
10
+ import { DisposableStore } from '../../../../base/common/lifecycle.js';
10
11
 
11
12
  /**
12
13
  * Open an editor in the currently active group.
@@ -275,6 +276,12 @@ interface IEditorService {
275
276
  * @returns `true` if all editors reverted and `false` otherwise.
276
277
  */
277
278
  revertAll(options?: IRevertAllEditorsOptions): Promise<boolean>;
279
+ /**
280
+ * Create a scoped editor service that only operates on the provided
281
+ * editor group container. Use `main` to create a scoped editor service
282
+ * to the main editor group container of the main window.
283
+ */
284
+ createScoped(editorGroupsContainer: IEditorGroupsContainer | 'main', disposables: DisposableStore): IEditorService;
278
285
  }
279
286
 
280
287
  export { ACTIVE_GROUP, type ACTIVE_GROUP_TYPE, type IBaseSaveRevertAllEditorOptions, IEditorService, type IEditorsChangeEvent, type IOpenEditorsOptions, type IRevertAllEditorsOptions, type ISaveAllEditorsOptions, type ISaveEditorsOptions, type ISaveEditorsResult, type IUntypedEditorReplacement, type PreferredGroup, SIDE_GROUP, type SIDE_GROUP_TYPE };
@@ -121,13 +121,22 @@ let WorkspaceExtensionsConfigService = class WorkspaceExtensionsConfigService ex
121
121
  async addOrRemoveWorkspaceFolderRecommendation(extensionId, workspaceFolder, extensionsConfigContent, add) {
122
122
  const values = [];
123
123
  if (add) {
124
- values.push({ path: ['recommendations'], value: [...(extensionsConfigContent.recommendations || []), extensionId] });
125
- if (extensionsConfigContent.unwantedRecommendations && ( extensionsConfigContent.unwantedRecommendations.some(e => e === extensionId))) {
126
- values.push({ path: ['unwantedRecommendations'], value: extensionsConfigContent.unwantedRecommendations.filter(e => e !== extensionId) });
124
+ if (Array.isArray(extensionsConfigContent.recommendations)) {
125
+ values.push({ path: ['recommendations', -1], value: extensionId });
126
+ }
127
+ else {
128
+ values.push({ path: ['recommendations'], value: [extensionId] });
129
+ }
130
+ const unwantedRecommendationEdit = this.getEditToRemoveValueFromArray(['unwantedRecommendations'], extensionsConfigContent.unwantedRecommendations, extensionId);
131
+ if (unwantedRecommendationEdit) {
132
+ values.push(unwantedRecommendationEdit);
127
133
  }
128
134
  }
129
135
  else if (extensionsConfigContent.recommendations) {
130
- values.push({ path: ['recommendations'], value: extensionsConfigContent.recommendations.filter(e => e !== extensionId) });
136
+ const recommendationEdit = this.getEditToRemoveValueFromArray(['recommendations'], extensionsConfigContent.recommendations, extensionId);
137
+ if (recommendationEdit) {
138
+ values.push(recommendationEdit);
139
+ }
131
140
  }
132
141
  if (values.length) {
133
142
  return this.jsonEditingService.write(workspaceFolder.toResource(EXTENSIONS_CONFIG), values, true);
@@ -137,13 +146,23 @@ let WorkspaceExtensionsConfigService = class WorkspaceExtensionsConfigService ex
137
146
  const values = [];
138
147
  if (extensionsConfigContent) {
139
148
  if (add) {
140
- values.push({ path: ['extensions', 'recommendations'], value: [...(extensionsConfigContent.recommendations || []), extensionId] });
141
- if (extensionsConfigContent.unwantedRecommendations && ( extensionsConfigContent.unwantedRecommendations.some(e => e === extensionId))) {
142
- values.push({ path: ['extensions', 'unwantedRecommendations'], value: extensionsConfigContent.unwantedRecommendations.filter(e => e !== extensionId) });
149
+ const path = ['extensions', 'recommendations'];
150
+ if (Array.isArray(extensionsConfigContent.recommendations)) {
151
+ values.push({ path: [...path, -1], value: extensionId });
152
+ }
153
+ else {
154
+ values.push({ path, value: [extensionId] });
155
+ }
156
+ const unwantedRecommendationEdit = this.getEditToRemoveValueFromArray(['extensions', 'unwantedRecommendations'], extensionsConfigContent.unwantedRecommendations, extensionId);
157
+ if (unwantedRecommendationEdit) {
158
+ values.push(unwantedRecommendationEdit);
143
159
  }
144
160
  }
145
161
  else if (extensionsConfigContent.recommendations) {
146
- values.push({ path: ['extensions', 'recommendations'], value: extensionsConfigContent.recommendations.filter(e => e !== extensionId) });
162
+ const recommendationEdit = this.getEditToRemoveValueFromArray(['extensions', 'recommendations'], extensionsConfigContent.recommendations, extensionId);
163
+ if (recommendationEdit) {
164
+ values.push(recommendationEdit);
165
+ }
147
166
  }
148
167
  }
149
168
  else if (add) {
@@ -156,13 +175,23 @@ let WorkspaceExtensionsConfigService = class WorkspaceExtensionsConfigService ex
156
175
  async addOrRemoveWorkspaceFolderUnwantedRecommendation(extensionId, workspaceFolder, extensionsConfigContent, add) {
157
176
  const values = [];
158
177
  if (add) {
159
- values.push({ path: ['unwantedRecommendations'], value: [...(extensionsConfigContent.unwantedRecommendations || []), extensionId] });
160
- if (extensionsConfigContent.recommendations && ( extensionsConfigContent.recommendations.some(e => e === extensionId))) {
161
- values.push({ path: ['recommendations'], value: extensionsConfigContent.recommendations.filter(e => e !== extensionId) });
178
+ const path = ['unwantedRecommendations'];
179
+ if (Array.isArray(extensionsConfigContent.unwantedRecommendations)) {
180
+ values.push({ path: [...path, -1], value: extensionId });
181
+ }
182
+ else {
183
+ values.push({ path, value: [extensionId] });
184
+ }
185
+ const recommendationEdit = this.getEditToRemoveValueFromArray(['recommendations'], extensionsConfigContent.recommendations, extensionId);
186
+ if (recommendationEdit) {
187
+ values.push(recommendationEdit);
162
188
  }
163
189
  }
164
190
  else if (extensionsConfigContent.unwantedRecommendations) {
165
- values.push({ path: ['unwantedRecommendations'], value: extensionsConfigContent.unwantedRecommendations.filter(e => e !== extensionId) });
191
+ const unwantedRecommendationEdit = this.getEditToRemoveValueFromArray(['unwantedRecommendations'], extensionsConfigContent.unwantedRecommendations, extensionId);
192
+ if (unwantedRecommendationEdit) {
193
+ values.push(unwantedRecommendationEdit);
194
+ }
166
195
  }
167
196
  if (values.length) {
168
197
  return this.jsonEditingService.write(workspaceFolder.toResource(EXTENSIONS_CONFIG), values, true);
@@ -172,13 +201,23 @@ let WorkspaceExtensionsConfigService = class WorkspaceExtensionsConfigService ex
172
201
  const values = [];
173
202
  if (extensionsConfigContent) {
174
203
  if (add) {
175
- values.push({ path: ['extensions', 'unwantedRecommendations'], value: [...(extensionsConfigContent.unwantedRecommendations || []), extensionId] });
176
- if (extensionsConfigContent.recommendations && ( extensionsConfigContent.recommendations.some(e => e === extensionId))) {
177
- values.push({ path: ['extensions', 'recommendations'], value: extensionsConfigContent.recommendations.filter(e => e !== extensionId) });
204
+ const path = ['extensions', 'unwantedRecommendations'];
205
+ if (Array.isArray(extensionsConfigContent.recommendations)) {
206
+ values.push({ path: [...path, -1], value: extensionId });
207
+ }
208
+ else {
209
+ values.push({ path, value: [extensionId] });
210
+ }
211
+ const recommendationEdit = this.getEditToRemoveValueFromArray(['extensions', 'recommendations'], extensionsConfigContent.recommendations, extensionId);
212
+ if (recommendationEdit) {
213
+ values.push(recommendationEdit);
178
214
  }
179
215
  }
180
216
  else if (extensionsConfigContent.unwantedRecommendations) {
181
- values.push({ path: ['extensions', 'unwantedRecommendations'], value: extensionsConfigContent.unwantedRecommendations.filter(e => e !== extensionId) });
217
+ const unwantedRecommendationEdit = this.getEditToRemoveValueFromArray(['extensions', 'unwantedRecommendations'], extensionsConfigContent.unwantedRecommendations, extensionId);
218
+ if (unwantedRecommendationEdit) {
219
+ values.push(unwantedRecommendationEdit);
220
+ }
182
221
  }
183
222
  }
184
223
  else if (add) {
@@ -243,6 +282,13 @@ let WorkspaceExtensionsConfigService = class WorkspaceExtensionsConfigService ex
243
282
  unwantedRecommendations: distinct(( (extensionsConfigContent.unwantedRecommendations || []).map(e => e.toLowerCase())))
244
283
  };
245
284
  }
285
+ getEditToRemoveValueFromArray(path, array, value) {
286
+ const index = array?.indexOf(value);
287
+ if (index !== undefined && index !== -1) {
288
+ return { path: [...path, index], value: undefined };
289
+ }
290
+ return undefined;
291
+ }
246
292
  };
247
293
  WorkspaceExtensionsConfigService = ( __decorate([
248
294
  ( __param(0, IWorkspaceContextService)),