@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
@@ -4,8 +4,8 @@ import * as nls from 'monaco-editor/esm/vs/nls.js';
4
4
  import { Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
5
5
  import { asCssVariable, foreground } from 'monaco-editor/esm/vs/platform/theme/common/colorRegistry.js';
6
6
  import { SIDE_BAR_BACKGROUND, PANEL_BACKGROUND } from '../../../common/theme.js';
7
- import { trackFocus, append, $, addDisposableListener, EventType, asCssValueWithDefault, createCSSRule, asCSSUrl, after, Dimension, reset } from 'monaco-editor/esm/vs/base/browser/dom.js';
8
- import { Disposable, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
7
+ import { trackFocus, append, $, addDisposableListener, EventType, asCssValueWithDefault, createCSSRule, asCSSUrl, after, focusWindow, Dimension, reset } from 'monaco-editor/esm/vs/base/browser/dom.js';
8
+ import { DisposableStore, toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
9
9
  import { Action } from 'monaco-editor/esm/vs/base/common/actions.js';
10
10
  import { prepareActions } from 'monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js';
11
11
  import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
@@ -58,26 +58,68 @@ const viewPaneContainerCollapsedIcon = registerIcon('view-pane-container-collaps
58
58
  )));
59
59
  const viewsRegistry = ( Registry.as(Extensions.ViewsRegistry));
60
60
  let ViewWelcomeController = class ViewWelcomeController {
61
- get contents() {
62
- const visibleItems = this.items.filter(v => v.visible);
63
- if (visibleItems.length === 0 && this.defaultItem) {
64
- return [this.defaultItem.descriptor];
65
- }
66
- return ( visibleItems.map(v => v.descriptor));
67
- }
68
- constructor(id, contextKeyService) {
69
- this.id = id;
61
+ get enabled() { return this._enabled; }
62
+ constructor(container, delegate, instantiationService, openerService, telemetryService, contextKeyService) {
63
+ this.container = container;
64
+ this.delegate = delegate;
65
+ this.instantiationService = instantiationService;
66
+ this.openerService = openerService;
67
+ this.telemetryService = telemetryService;
70
68
  this.contextKeyService = contextKeyService;
71
- this._onDidChange = ( new Emitter());
72
- this.onDidChange = this._onDidChange.event;
73
69
  this.items = [];
70
+ this._enabled = false;
74
71
  this.disposables = ( new DisposableStore());
75
- contextKeyService.onDidChangeContext(this.onDidChangeContext, this, this.disposables);
76
- this.disposables.add(Event.filter(viewsRegistry.onDidChangeViewWelcomeContent, id => id === this.id)(this.onDidChangeViewWelcomeContent, this, this.disposables));
72
+ this.enabledDisposables = this.disposables.add(( new DisposableStore()));
73
+ this.renderDisposables = this.disposables.add(( new DisposableStore()));
74
+ this.delegate.onDidChangeViewWelcomeState(this.onDidChangeViewWelcomeState, this, this.disposables);
75
+ this.onDidChangeViewWelcomeState();
76
+ }
77
+ layout(height, width) {
78
+ if (!this._enabled) {
79
+ return;
80
+ }
81
+ this.element.style.height = `${height}px`;
82
+ this.element.style.width = `${width}px`;
83
+ this.element.classList.toggle('wide', width > 640);
84
+ this.scrollableElement.scanDomNode();
85
+ }
86
+ focus() {
87
+ if (!this._enabled) {
88
+ return;
89
+ }
90
+ this.element.focus();
91
+ }
92
+ onDidChangeViewWelcomeState() {
93
+ const enabled = this.delegate.shouldShowWelcome();
94
+ if (this._enabled === enabled) {
95
+ return;
96
+ }
97
+ this._enabled = enabled;
98
+ if (!enabled) {
99
+ this.enabledDisposables.clear();
100
+ return;
101
+ }
102
+ this.container.classList.add('welcome');
103
+ const viewWelcomeContainer = append(this.container, $('.welcome-view'));
104
+ this.element = $('.welcome-view-content', { tabIndex: 0 });
105
+ this.scrollableElement = ( new DomScrollableElement(
106
+ this.element,
107
+ { alwaysConsumeMouseWheel: true, horizontal: 2 , vertical: 3 , }
108
+ ));
109
+ append(viewWelcomeContainer, this.scrollableElement.getDomNode());
110
+ this.enabledDisposables.add(toDisposable(() => {
111
+ this.container.classList.remove('welcome');
112
+ this.scrollableElement.dispose();
113
+ viewWelcomeContainer.remove();
114
+ this.scrollableElement = undefined;
115
+ this.element = undefined;
116
+ }));
117
+ this.contextKeyService.onDidChangeContext(this.onDidChangeContext, this, this.enabledDisposables);
118
+ Event.chain(viewsRegistry.onDidChangeViewWelcomeContent, $ => $.filter(id => id === this.delegate.id))(this.onDidChangeViewWelcomeContent, this, this.enabledDisposables);
77
119
  this.onDidChangeViewWelcomeContent();
78
120
  }
79
121
  onDidChangeViewWelcomeContent() {
80
- const descriptors = viewsRegistry.getViewWelcomeContent(this.id);
122
+ const descriptors = viewsRegistry.getViewWelcomeContent(this.delegate.id);
81
123
  this.items = [];
82
124
  for (const descriptor of descriptors) {
83
125
  if (descriptor.when === 'default') {
@@ -88,7 +130,7 @@ let ViewWelcomeController = class ViewWelcomeController {
88
130
  this.items.push({ descriptor, visible });
89
131
  }
90
132
  }
91
- this._onDidChange.fire();
133
+ this.render();
92
134
  }
93
135
  onDidChangeContext() {
94
136
  let didChange = false;
@@ -104,15 +146,86 @@ let ViewWelcomeController = class ViewWelcomeController {
104
146
  didChange = true;
105
147
  }
106
148
  if (didChange) {
107
- this._onDidChange.fire();
149
+ this.render();
108
150
  }
109
151
  }
152
+ render() {
153
+ this.renderDisposables.clear();
154
+ this.element.innerText = '';
155
+ const contents = this.getContentDescriptors();
156
+ if (contents.length === 0) {
157
+ this.container.classList.remove('welcome');
158
+ this.scrollableElement.scanDomNode();
159
+ return;
160
+ }
161
+ for (const { content, precondition } of contents) {
162
+ const lines = content.split('\n');
163
+ for (let line of lines) {
164
+ line = line.trim();
165
+ if (!line) {
166
+ continue;
167
+ }
168
+ const linkedText = parseLinkedText(line);
169
+ if (linkedText.nodes.length === 1 && typeof linkedText.nodes[0] !== 'string') {
170
+ const node = linkedText.nodes[0];
171
+ const buttonContainer = append(this.element, $('.button-container'));
172
+ const button = ( new Button(
173
+ buttonContainer,
174
+ { title: node.title, supportIcons: true, ...defaultButtonStyles }
175
+ ));
176
+ button.label = node.label;
177
+ button.onDidClick(_ => {
178
+ this.telemetryService.publicLog2('views.welcomeAction', { viewId: this.delegate.id, uri: node.href });
179
+ this.openerService.open(node.href, { allowCommands: true });
180
+ }, null, this.renderDisposables);
181
+ this.renderDisposables.add(button);
182
+ if (precondition) {
183
+ const updateEnablement = () => button.enabled = this.contextKeyService.contextMatchesRules(precondition);
184
+ updateEnablement();
185
+ const keys = ( new Set(( precondition.keys())));
186
+ const onDidChangeContext = Event.filter(this.contextKeyService.onDidChangeContext, e => e.affectsSome(keys));
187
+ onDidChangeContext(updateEnablement, null, this.renderDisposables);
188
+ }
189
+ }
190
+ else {
191
+ const p = append(this.element, $('p'));
192
+ for (const node of linkedText.nodes) {
193
+ if (typeof node === 'string') {
194
+ append(p, document.createTextNode(node));
195
+ }
196
+ else {
197
+ const link = this.renderDisposables.add(this.instantiationService.createInstance(Link, p, node, {}));
198
+ if (precondition && node.href.startsWith('command:')) {
199
+ const updateEnablement = () => link.enabled = this.contextKeyService.contextMatchesRules(precondition);
200
+ updateEnablement();
201
+ const keys = ( new Set(( precondition.keys())));
202
+ const onDidChangeContext = Event.filter(this.contextKeyService.onDidChangeContext, e => e.affectsSome(keys));
203
+ onDidChangeContext(updateEnablement, null, this.renderDisposables);
204
+ }
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+ this.container.classList.add('welcome');
211
+ this.scrollableElement.scanDomNode();
212
+ }
213
+ getContentDescriptors() {
214
+ const visibleItems = this.items.filter(v => v.visible);
215
+ if (visibleItems.length === 0 && this.defaultItem) {
216
+ return [this.defaultItem.descriptor];
217
+ }
218
+ return ( visibleItems.map(v => v.descriptor));
219
+ }
110
220
  dispose() {
111
221
  this.disposables.dispose();
112
222
  }
113
223
  };
114
224
  ViewWelcomeController = ( __decorate([
115
- ( __param(1, IContextKeyService))
225
+ ( __param(2, IInstantiationService)),
226
+ ( __param(3, IOpenerService)),
227
+ ( __param(4, ITelemetryService)),
228
+ ( __param(5, IContextKeyService))
116
229
  ], ViewWelcomeController));
117
230
  let ViewPane = class ViewPane extends Pane {
118
231
  static { ViewPane_1 = this; }
@@ -145,7 +258,6 @@ let ViewPane = class ViewPane extends Pane {
145
258
  this._onDidChangeViewWelcomeState = this._register(( new Emitter()));
146
259
  this.onDidChangeViewWelcomeState = this._onDidChangeViewWelcomeState.event;
147
260
  this._isVisible = false;
148
- this.viewWelcomeDisposable = Disposable.None;
149
261
  this.id = options.id;
150
262
  this._title = options.title;
151
263
  this._titleDescription = options.titleDescription;
@@ -154,9 +266,8 @@ let ViewPane = class ViewPane extends Pane {
154
266
  this.scopedContextKeyService.createKey('view', this.id);
155
267
  const viewLocationKey = this.scopedContextKeyService.createKey('viewLocation', ViewContainerLocationToString(viewDescriptorService.getViewLocationById(this.id)));
156
268
  this._register(Event.filter(viewDescriptorService.onDidChangeLocation, e => ( e.views.some(view => view.id === this.id)))(() => viewLocationKey.set(ViewContainerLocationToString(viewDescriptorService.getViewLocationById(this.id)))));
157
- this.menuActions = this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, this.scopedContextKeyService]))).createInstance(CompositeMenuActions, options.titleMenuId ?? MenuId.ViewTitle, MenuId.ViewTitleContext, { shouldForwardArgs: !options.donotForwardArgs }));
269
+ this.menuActions = this._register(this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, this.scopedContextKeyService]))).createInstance(CompositeMenuActions, options.titleMenuId ?? MenuId.ViewTitle, MenuId.ViewTitleContext, { shouldForwardArgs: !options.donotForwardArgs, renderShortTitle: true }));
158
270
  this._register(this.menuActions.onDidChange(() => this.updateActions()));
159
- this.viewWelcomeController = this._register(( new ViewWelcomeController(this.id, contextKeyService)));
160
271
  }
161
272
  get headerVisible() {
162
273
  return super.headerVisible;
@@ -184,10 +295,7 @@ let ViewPane = class ViewPane extends Pane {
184
295
  if (changed) {
185
296
  this._onDidChangeBodyVisibility.fire(expanded);
186
297
  }
187
- if (this.twistiesContainer) {
188
- this.twistiesContainer.classList.remove(...ThemeIcon.asClassNameArray(this.getTwistyIcon(!expanded)));
189
- this.twistiesContainer.classList.add(...ThemeIcon.asClassNameArray(this.getTwistyIcon(expanded)));
190
- }
298
+ this.updateTwistyIcon();
191
299
  return changed;
192
300
  }
193
301
  render() {
@@ -199,7 +307,7 @@ let ViewPane = class ViewPane extends Pane {
199
307
  }
200
308
  renderHeader(container) {
201
309
  this.headerContainer = container;
202
- this.twistiesContainer = append(container, $(ThemeIcon.asCSSSelector(this.getTwistyIcon(this.isExpanded()))));
310
+ this.twistiesContainer = append(container, $(`.twisty-container${ThemeIcon.asCSSSelector(this.getTwistyIcon(this.isExpanded()))}`));
203
311
  this.renderHeaderTitle(container, this.title);
204
312
  const actions = append(container, $('.actions'));
205
313
  actions.classList.toggle('show-always', this.showActions === ViewPaneShowActions.Always);
@@ -232,6 +340,16 @@ let ViewPane = class ViewPane extends Pane {
232
340
  this._register(onDidRelevantConfigurationChange(this.updateActionsVisibility, this));
233
341
  this.updateActionsVisibility();
234
342
  }
343
+ updateHeader() {
344
+ super.updateHeader();
345
+ this.updateTwistyIcon();
346
+ }
347
+ updateTwistyIcon() {
348
+ if (this.twistiesContainer) {
349
+ this.twistiesContainer.classList.remove(...ThemeIcon.asClassNameArray(this.getTwistyIcon(!this._expanded)));
350
+ this.twistiesContainer.classList.add(...ThemeIcon.asClassNameArray(this.getTwistyIcon(this._expanded)));
351
+ }
352
+ }
235
353
  getTwistyIcon(expanded) {
236
354
  return expanded ? viewPaneContainerExpandedIcon : viewPaneContainerCollapsedIcon;
237
355
  }
@@ -319,24 +437,17 @@ let ViewPane = class ViewPane extends Pane {
319
437
  return title;
320
438
  }
321
439
  renderBody(container) {
322
- this.bodyContainer = container;
323
- const viewWelcomeContainer = append(container, $('.welcome-view'));
324
- this.viewWelcomeContainer = $('.welcome-view-content', { tabIndex: 0 });
325
- this.scrollableElement = this._register(( new DomScrollableElement(this.viewWelcomeContainer, {
326
- alwaysConsumeMouseWheel: true,
327
- horizontal: 2 ,
328
- vertical: 3 ,
329
- })));
330
- append(viewWelcomeContainer, this.scrollableElement.getDomNode());
331
- const onViewWelcomeChange = Event.any(this.viewWelcomeController.onDidChange, this.onDidChangeViewWelcomeState);
332
- this._register(onViewWelcomeChange(this.updateViewWelcome, this));
333
- this.updateViewWelcome();
440
+ this.viewWelcomeController = this._register(( new ViewWelcomeController(
441
+ container,
442
+ this,
443
+ this.instantiationService,
444
+ this.openerService,
445
+ this.telemetryService,
446
+ this.contextKeyService
447
+ )));
334
448
  }
335
449
  layoutBody(height, width) {
336
- this.viewWelcomeContainer.style.height = `${height}px`;
337
- this.viewWelcomeContainer.style.width = `${width}px`;
338
- this.viewWelcomeContainer.classList.toggle('wide', width > 640);
339
- this.scrollableElement.scanDomNode();
450
+ this.viewWelcomeController.layout(height, width);
340
451
  }
341
452
  onDidScrollRoot() {
342
453
  }
@@ -373,8 +484,9 @@ let ViewPane = class ViewPane extends Pane {
373
484
  return SIDE_BAR_BACKGROUND;
374
485
  }
375
486
  focus() {
376
- if (this.shouldShowWelcome()) {
377
- this.viewWelcomeContainer.focus();
487
+ focusWindow(this.element);
488
+ if (this.viewWelcomeController.enabled) {
489
+ this.viewWelcomeController.focus();
378
490
  }
379
491
  else if (this.element) {
380
492
  this.element.focus();
@@ -428,78 +540,6 @@ let ViewPane = class ViewPane extends Pane {
428
540
  }
429
541
  saveState() {
430
542
  }
431
- updateViewWelcome() {
432
- this.viewWelcomeDisposable.dispose();
433
- if (!this.shouldShowWelcome()) {
434
- this.bodyContainer.classList.remove('welcome');
435
- this.viewWelcomeContainer.innerText = '';
436
- this.scrollableElement.scanDomNode();
437
- return;
438
- }
439
- const contents = this.viewWelcomeController.contents;
440
- if (contents.length === 0) {
441
- this.bodyContainer.classList.remove('welcome');
442
- this.viewWelcomeContainer.innerText = '';
443
- this.scrollableElement.scanDomNode();
444
- return;
445
- }
446
- const disposables = ( new DisposableStore());
447
- this.bodyContainer.classList.add('welcome');
448
- this.viewWelcomeContainer.innerText = '';
449
- for (const { content, precondition } of contents) {
450
- const lines = content.split('\n');
451
- for (let line of lines) {
452
- line = line.trim();
453
- if (!line) {
454
- continue;
455
- }
456
- const linkedText = parseLinkedText(line);
457
- if (linkedText.nodes.length === 1 && typeof linkedText.nodes[0] !== 'string') {
458
- const node = linkedText.nodes[0];
459
- const buttonContainer = append(this.viewWelcomeContainer, $('.button-container'));
460
- const button = ( new Button(
461
- buttonContainer,
462
- { title: node.title, supportIcons: true, ...defaultButtonStyles }
463
- ));
464
- button.label = node.label;
465
- button.onDidClick(_ => {
466
- this.telemetryService.publicLog2('views.welcomeAction', { viewId: this.id, uri: node.href });
467
- this.openerService.open(node.href, { allowCommands: true });
468
- }, null, disposables);
469
- disposables.add(button);
470
- if (precondition) {
471
- const updateEnablement = () => button.enabled = this.contextKeyService.contextMatchesRules(precondition);
472
- updateEnablement();
473
- const keys = ( new Set());
474
- ( precondition.keys()).forEach(key => keys.add(key));
475
- const onDidChangeContext = Event.filter(this.contextKeyService.onDidChangeContext, e => e.affectsSome(keys));
476
- onDidChangeContext(updateEnablement, null, disposables);
477
- }
478
- }
479
- else {
480
- const p = append(this.viewWelcomeContainer, $('p'));
481
- for (const node of linkedText.nodes) {
482
- if (typeof node === 'string') {
483
- append(p, document.createTextNode(node));
484
- }
485
- else {
486
- const link = disposables.add(this.instantiationService.createInstance(Link, p, node, {}));
487
- if (precondition && node.href.startsWith('command:')) {
488
- const updateEnablement = () => link.enabled = this.contextKeyService.contextMatchesRules(precondition);
489
- updateEnablement();
490
- const keys = ( new Set());
491
- ( precondition.keys()).forEach(key => keys.add(key));
492
- const onDidChangeContext = Event.filter(this.contextKeyService.onDidChangeContext, e => e.affectsSome(keys));
493
- onDidChangeContext(updateEnablement, null, disposables);
494
- }
495
- }
496
- }
497
- }
498
- }
499
- }
500
- this.scrollableElement.scanDomNode();
501
- this.viewWelcomeDisposable = disposables;
502
- }
503
543
  shouldShowWelcome() {
504
544
  return false;
505
545
  }
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import { DragAndDropObserver, addDisposableListener, EventType, isAncestor } from 'monaco-editor/esm/vs/base/browser/dom.js';
2
+ import { DragAndDropObserver, addDisposableListener, EventType, getWindow, isAncestor, focusWindow } from 'monaco-editor/esm/vs/base/browser/dom.js';
3
3
  import { StandardMouseEvent } from 'monaco-editor/esm/vs/base/browser/mouseEvent.js';
4
4
  import { Gesture, EventType as EventType$1 } from 'monaco-editor/esm/vs/base/browser/touch.js';
5
5
  import { PaneView } from '../../../../base/browser/ui/splitview/paneview.js';
@@ -34,10 +34,13 @@ MenuRegistry.appendMenuItem(MenuId.ViewContainerTitle, {
34
34
  submenu: ViewsSubMenu,
35
35
  title: ( nls.localizeWithPath('vs/workbench/browser/parts/views/viewPaneContainer', 'views', "Views")),
36
36
  order: 1,
37
- when: ( ContextKeyExpr.equals(
37
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals(
38
38
  'viewContainerLocation',
39
39
  ViewContainerLocationToString(0 )
40
- )),
40
+ )), ( ContextKeyExpr.notEquals(
41
+ `config.${"workbench.activityBar.location" }`,
42
+ "top"
43
+ )))),
41
44
  });
42
45
  class ViewPaneDropOverlay extends Themable {
43
46
  static { this.OVERLAY_ID = 'monaco-pane-drop-overlay'; }
@@ -80,12 +83,11 @@ class ViewPaneDropOverlay extends Themable {
80
83
  this.overlay.style.outlineStyle = activeContrastBorderColor ? 'dashed' : '';
81
84
  this.overlay.style.outlineWidth = activeContrastBorderColor ? '2px' : '';
82
85
  this.overlay.style.borderColor = activeContrastBorderColor || '';
83
- this.overlay.style.borderStyle = 'solid' ;
86
+ this.overlay.style.borderStyle = 'solid';
84
87
  this.overlay.style.borderWidth = '0px';
85
88
  }
86
89
  registerListeners() {
87
90
  this._register(( new DragAndDropObserver(this.container, {
88
- onDragEnter: e => undefined,
89
91
  onDragOver: e => {
90
92
  this.positionOverlay(e.offsetX, e.offsetY);
91
93
  if (this.cleanupOverlayScheduler.isScheduled()) {
@@ -193,7 +195,7 @@ let ViewContainerMenuActions = class ViewContainerMenuActions extends CompositeM
193
195
  const scopedContextKeyService = contextKeyService.createScoped(element);
194
196
  scopedContextKeyService.createKey('viewContainer', viewContainer.id);
195
197
  const viewContainerLocationKey = scopedContextKeyService.createKey('viewContainerLocation', ViewContainerLocationToString(viewDescriptorService.getViewContainerLocation(viewContainer)));
196
- super(MenuId.ViewContainerTitle, MenuId.ViewContainerTitleContext, { shouldForwardArgs: true }, scopedContextKeyService, menuService);
198
+ super(MenuId.ViewContainerTitle, MenuId.ViewContainerTitleContext, { shouldForwardArgs: true, renderShortTitle: true }, scopedContextKeyService, menuService);
197
199
  this._register(scopedContextKeyService);
198
200
  this._register(Event.filter(viewDescriptorService.onDidChangeContainerLocation, e => e.viewContainer === viewContainer)(() => viewContainerLocationKey.set(ViewContainerLocationToString(viewDescriptorService.getViewContainerLocation(viewContainer)))));
199
201
  }
@@ -270,9 +272,9 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
270
272
  this._register(this.paneview.onDidDrop(({ from, to }) => this.movePane(from, to)));
271
273
  this._register(this.paneview.onDidScroll(_ => this.onDidScrollPane()));
272
274
  this._register(this.paneview.onDidSashReset((index) => this.onDidSashReset(index)));
273
- this._register(addDisposableListener(parent, EventType.CONTEXT_MENU, (e) => this.showContextMenu(( new StandardMouseEvent(e)))));
275
+ this._register(addDisposableListener(parent, EventType.CONTEXT_MENU, (e) => this.showContextMenu(( new StandardMouseEvent(getWindow(parent), e)))));
274
276
  this._register(Gesture.addTarget(parent));
275
- this._register(addDisposableListener(parent, EventType$1.Contextmenu, (e) => this.showContextMenu(( new StandardMouseEvent(e)))));
277
+ this._register(addDisposableListener(parent, EventType$1.Contextmenu, (e) => this.showContextMenu(( new StandardMouseEvent(getWindow(parent), e)))));
276
278
  this._menuActions = this._register(this.instantiationService.createInstance(ViewContainerMenuActions, this.paneview.element, this.viewContainer));
277
279
  this._register(this._menuActions.onDidChange(() => this.updateTitleArea()));
278
280
  let overlay;
@@ -360,12 +362,12 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
360
362
  const oldViewContainer = this.viewDescriptorService.getViewContainerByViewId(dropData.id);
361
363
  const viewDescriptor = this.viewDescriptorService.getViewDescriptorById(dropData.id);
362
364
  if (oldViewContainer !== this.viewContainer && viewDescriptor && viewDescriptor.canMoveView) {
363
- this.viewDescriptorService.moveViewsToContainer([viewDescriptor], this.viewContainer);
365
+ this.viewDescriptorService.moveViewsToContainer([viewDescriptor], this.viewContainer, undefined, 'dnd');
364
366
  }
365
367
  }
366
368
  const paneCount = this.panes.length;
367
369
  if (viewsToMove.length > 0) {
368
- this.viewDescriptorService.moveViewsToContainer(viewsToMove, this.viewContainer);
370
+ this.viewDescriptorService.moveViewsToContainer(viewsToMove, this.viewContainer, undefined, 'dnd');
369
371
  }
370
372
  if (paneCount > 0) {
371
373
  for (const view of viewsToMove) {
@@ -397,6 +399,11 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
397
399
  this.updateTitleArea();
398
400
  this.updateViewHeaders();
399
401
  }
402
+ this._register(this.configurationService.onDidChangeConfiguration(e => {
403
+ if (e.affectsConfiguration("workbench.activityBar.location" )) {
404
+ this.updateViewHeaders();
405
+ }
406
+ }));
400
407
  });
401
408
  this._register(this.viewContainerModel.onDidChangeActiveViewDescriptors(() => this._onTitleAreaUpdate.fire()));
402
409
  }
@@ -434,17 +441,22 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
434
441
  return createActionViewItem(this.instantiationService, action);
435
442
  }
436
443
  focus() {
444
+ let paneToFocus = undefined;
437
445
  if (this.lastFocusedPane) {
438
- this.lastFocusedPane.focus();
446
+ paneToFocus = this.lastFocusedPane;
439
447
  }
440
448
  else if (this.paneItems.length > 0) {
441
- for (const { pane: pane } of this.paneItems) {
449
+ for (const { pane } of this.paneItems) {
442
450
  if (pane.isExpanded()) {
443
- pane.focus();
444
- return;
451
+ paneToFocus = pane;
452
+ break;
445
453
  }
446
454
  }
447
455
  }
456
+ if (paneToFocus) {
457
+ focusWindow(paneToFocus.element);
458
+ paneToFocus.focus();
459
+ }
448
460
  }
449
461
  get orientation() {
450
462
  switch (this.viewDescriptorService.getViewContainerLocation(this.viewContainer)) {
@@ -581,7 +593,7 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
581
593
  for (const { viewDescriptor, collapsed, index, size } of added) {
582
594
  const pane = this.createView(viewDescriptor, {
583
595
  id: viewDescriptor.id,
584
- title: viewDescriptor.name,
596
+ title: viewDescriptor.name.value,
585
597
  fromExtensionId: viewDescriptor.extensionId,
586
598
  expanded: !collapsed
587
599
  });
@@ -589,7 +601,7 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
589
601
  const contextMenuDisposable = addDisposableListener(pane.draggableElement, 'contextmenu', e => {
590
602
  e.stopPropagation();
591
603
  e.preventDefault();
592
- this.onContextMenu(( new StandardMouseEvent(e)), pane);
604
+ this.onContextMenu(( new StandardMouseEvent(getWindow(pane.draggableElement), e)), pane);
593
605
  });
594
606
  const collapseDisposable = Event.latch(( Event.map(pane.onDidChange, () => !pane.isExpanded())))(collapsed => {
595
607
  this.viewContainerModel.setCollapsed(viewDescriptor.id, collapsed);
@@ -721,7 +733,7 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
721
733
  }
722
734
  }
723
735
  if (viewsToMove) {
724
- this.viewDescriptorService.moveViewsToContainer(viewsToMove, this.viewContainer);
736
+ this.viewDescriptorService.moveViewsToContainer(viewsToMove, this.viewContainer, undefined, 'dnd');
725
737
  }
726
738
  if (anchorView) {
727
739
  if (overlay.currentDropOperation === 1 ||
@@ -826,18 +838,33 @@ let ViewPaneContainer = class ViewPaneContainer extends Component {
826
838
  this.paneItems[0].pane.setExpanded(true);
827
839
  }
828
840
  this.paneItems[0].pane.headerVisible = false;
841
+ this.paneItems[0].pane.collapsible = true;
829
842
  }
830
843
  else {
831
- this.paneItems.forEach(i => {
832
- i.pane.headerVisible = true;
833
- if (i.pane === this.lastMergedCollapsedPane) {
834
- i.pane.setExpanded(false);
844
+ if (this.paneItems.length === 1) {
845
+ this.paneItems[0].pane.headerVisible = true;
846
+ if (this.paneItems[0].pane === this.lastMergedCollapsedPane) {
847
+ this.paneItems[0].pane.setExpanded(false);
835
848
  }
836
- });
849
+ this.paneItems[0].pane.collapsible = false;
850
+ }
851
+ else {
852
+ this.paneItems.forEach(i => {
853
+ i.pane.headerVisible = true;
854
+ i.pane.collapsible = true;
855
+ if (i.pane === this.lastMergedCollapsedPane) {
856
+ i.pane.setExpanded(false);
857
+ }
858
+ });
859
+ }
837
860
  this.lastMergedCollapsedPane = undefined;
838
861
  }
839
862
  }
840
863
  isViewMergedWithContainer() {
864
+ const location = this.viewDescriptorService.getViewContainerLocation(this.viewContainer);
865
+ if (location === 0 && !this.layoutService.isVisible("workbench.parts.activitybar" ) && this.configurationService.getValue("workbench.activityBar.location" ) === "top" ) {
866
+ return false;
867
+ }
841
868
  if (!(this.options.mergeViewWithContainerWhenSingleView && this.paneItems.length === 1)) {
842
869
  return false;
843
870
  }
@@ -1030,7 +1057,7 @@ registerAction2(class MoveViews extends Action2 {
1030
1057
  for (const viewId of options.viewIds) {
1031
1058
  const viewDescriptor = viewDescriptorService.getViewDescriptorById(viewId);
1032
1059
  if (viewDescriptor?.canMoveView) {
1033
- viewDescriptorService.moveViewsToContainer([viewDescriptor], destination, ViewVisibilityState.Default);
1060
+ viewDescriptorService.moveViewsToContainer([viewDescriptor], destination, ViewVisibilityState.Default, this.desc.id);
1034
1061
  }
1035
1062
  }
1036
1063
  await accessor.get(IViewsService).openViewContainer(destination.id, true);