@codingame/monaco-vscode-api 1.83.15 → 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 (361) hide show
  1. package/README.md +430 -0
  2. package/api.js +13 -7
  3. package/assets/clear.mp3 +0 -0
  4. package/assets/format.mp3 +0 -0
  5. package/assets/save.mp3 +0 -0
  6. package/contributions.js +3 -0
  7. package/extensions.d.ts +13 -3
  8. package/external/{xterm-addon-image/typings/xterm-addon-image.d.ts → @xterm/addon-image/typings/addon-image.d.ts} +1 -1
  9. package/external/{xterm → @xterm/xterm}/typings/xterm.d.ts +13 -1
  10. package/lifecycle.js +2 -2
  11. package/localExtensionHost.js +6 -3
  12. package/missing-services.js +170 -22
  13. package/monaco-editor-treemending.patch +6884 -18018
  14. package/monaco-treemending.js +2 -2
  15. package/package.json +7 -7
  16. package/service-override/tools/editor.d.ts +8 -8
  17. package/service-override/tools/editor.js +44 -19
  18. package/services.d.ts +2 -2
  19. package/services.js +3 -3
  20. package/vscode/src/vs/base/browser/broadcast.js +6 -5
  21. package/vscode/src/vs/base/browser/dnd.d.ts +6 -0
  22. package/vscode/src/vs/base/browser/mouseEvent.d.ts +1 -1
  23. package/vscode/src/vs/base/browser/touch.d.ts +10 -0
  24. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -0
  25. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +22 -15
  26. package/vscode/src/vs/base/browser/ui/menu/menubar.js +4 -3
  27. package/vscode/src/vs/base/browser/ui/splitview/paneview.css.js +1 -1
  28. package/vscode/src/vs/base/browser/ui/splitview/paneview.d.ts +3 -0
  29. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +34 -11
  30. package/vscode/src/vs/base/common/actions.d.ts +1 -15
  31. package/vscode/src/vs/base/common/async.d.ts +1 -31
  32. package/vscode/src/vs/base/common/event.d.ts +2 -1
  33. package/vscode/src/vs/base/common/observableInternal/base.d.ts +23 -10
  34. package/vscode/src/vs/base/common/prefixTree.js +140 -0
  35. package/vscode/src/vs/base/common/product.d.ts +16 -2
  36. package/vscode/src/vs/base/common/resourceTree.js +135 -0
  37. package/vscode/src/vs/base/common/skipList.js +1 -0
  38. package/vscode/src/vs/base/common/tfIdf.js +137 -0
  39. package/vscode/src/vs/base/common/types.d.ts +13 -1
  40. package/vscode/src/vs/base/common/verifier.js +62 -0
  41. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +4 -2
  42. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -4
  43. package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
  44. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +3 -0
  45. package/vscode/src/vs/editor/common/core/position.d.ts +1 -0
  46. package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -1
  47. package/vscode/src/vs/editor/common/languages.d.ts +23 -1
  48. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -1
  49. package/vscode/src/vs/editor/common/services/resolverService.d.ts +11 -2
  50. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +16 -1
  51. package/vscode/src/vs/platform/action/common/action.d.ts +8 -0
  52. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +4 -0
  53. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +26 -2
  54. package/vscode/src/vs/platform/actions/common/actions.d.ts +8 -0
  55. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +6 -0
  56. package/vscode/src/vs/platform/commands/common/commands.d.ts +13 -5
  57. package/vscode/src/vs/platform/dialogs/common/dialogs.d.ts +9 -3
  58. package/vscode/src/vs/platform/dialogs/common/dialogs.js +5 -2
  59. package/vscode/src/vs/platform/editor/common/editor.d.ts +3 -15
  60. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  61. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -15
  62. package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +5 -0
  63. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +0 -1
  64. package/vscode/src/vs/platform/files/common/files.d.ts +72 -8
  65. package/vscode/src/vs/platform/files/common/watcher.js +77 -0
  66. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +2 -2
  67. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +52 -21
  68. package/vscode/src/vs/platform/request/browser/requestService.js +3 -0
  69. package/vscode/src/vs/platform/request/common/requestIpc.js +17 -0
  70. package/vscode/src/vs/platform/storage/common/storage.js +2 -2
  71. package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +1 -0
  72. package/vscode/src/vs/platform/terminal/common/capabilities/bufferMarkCapability.js +41 -0
  73. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +12 -7
  74. package/vscode/src/vs/platform/terminal/common/capabilities/{commandDetectionCapability.d.ts → commandDetection/terminalCommand.d.ts} +3 -2
  75. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +257 -0
  76. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +651 -0
  77. package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +29 -0
  78. package/vscode/src/vs/platform/terminal/common/capabilities/partialCommandDetectionCapability.js +48 -0
  79. package/vscode/src/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +94 -0
  80. package/vscode/src/vs/platform/terminal/common/terminalEnvironment.js +37 -0
  81. package/vscode/src/vs/platform/terminal/common/terminalStrings.js +16 -0
  82. package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +319 -0
  83. package/vscode/src/vs/platform/window/common/window.d.ts +9 -2
  84. package/vscode/src/vs/platform/window/common/window.js +6 -1
  85. package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +2 -43
  86. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +113 -81
  87. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +5 -4
  88. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +25 -3
  89. package/vscode/src/vs/workbench/api/common/extHostChat.js +13 -163
  90. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +412 -0
  91. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +79 -11
  92. package/vscode/src/vs/workbench/api/common/extHostCommands.js +13 -12
  93. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
  94. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +8 -6
  95. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +1 -1
  96. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +36 -19
  97. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +52 -31
  98. package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +38 -0
  99. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +28 -3
  100. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +10 -0
  101. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +117 -2
  102. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +32 -4
  103. package/vscode/src/vs/workbench/api/common/extHostSCM.js +85 -23
  104. package/vscode/src/vs/workbench/api/common/extHostSearch.js +3 -0
  105. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +42 -0
  106. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -1
  107. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -0
  108. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +3 -3
  109. package/vscode/src/vs/workbench/api/common/extHostTesting.js +97 -47
  110. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +115 -16
  111. package/vscode/src/vs/workbench/api/common/extHostTypes.js +66 -36
  112. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +6 -1
  113. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +182 -75
  114. package/vscode/src/vs/workbench/browser/actions/windowActions.js +176 -4
  115. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +143 -2
  116. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +237 -0
  117. package/vscode/src/vs/workbench/browser/composite.d.ts +0 -4
  118. package/vscode/src/vs/workbench/browser/composite.js +5 -4
  119. package/vscode/src/vs/workbench/browser/dnd.js +72 -23
  120. package/vscode/src/vs/workbench/browser/labels.js +7 -3
  121. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  122. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -2
  123. package/vscode/src/vs/workbench/browser/panecomposite.js +2 -0
  124. package/vscode/src/vs/workbench/browser/part.js +33 -2
  125. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +99 -117
  126. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +173 -33
  127. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +102 -6
  128. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +256 -17
  129. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +4 -0
  130. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +68 -35
  131. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -5
  132. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +35 -16
  133. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +348 -0
  134. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +43 -31
  135. package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +4 -0
  136. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -0
  137. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -0
  138. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +14 -2
  139. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +4 -4
  140. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +277 -0
  141. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +5 -2
  142. package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
  143. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +3 -38
  144. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +54 -52
  145. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +2 -1
  146. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +25 -0
  147. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +258 -0
  148. package/vscode/src/vs/workbench/browser/parts/views/media/paneviewlet.css.js +1 -1
  149. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -5
  150. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +157 -117
  151. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +50 -23
  152. package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +26 -11
  153. package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.js +10 -6
  154. package/vscode/src/vs/workbench/browser/style.js +2 -1
  155. package/vscode/src/vs/workbench/browser/web.api.d.ts +39 -2
  156. package/vscode/src/vs/workbench/browser/window.js +55 -0
  157. package/vscode/src/vs/workbench/browser/workbench.contribution.js +220 -40
  158. package/vscode/src/vs/workbench/common/activity.js +3 -0
  159. package/vscode/src/vs/workbench/common/contextkeys.js +35 -5
  160. package/vscode/src/vs/workbench/common/contributions.js +4 -3
  161. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +14 -4
  162. package/vscode/src/vs/workbench/common/editor/diffEditorModel.js +1 -1
  163. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +22 -19
  164. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +4 -3
  165. package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +1 -2
  166. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +22 -4
  167. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +3 -3
  168. package/vscode/src/vs/workbench/common/editor.d.ts +60 -30
  169. package/vscode/src/vs/workbench/common/editor.js +11 -3
  170. package/vscode/src/vs/workbench/common/theme.js +2 -2
  171. package/vscode/src/vs/workbench/common/views.d.ts +4 -4
  172. package/vscode/src/vs/workbench/common/views.js +3 -1
  173. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +97 -8
  174. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +17 -99
  175. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +103 -37
  176. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +2 -3
  177. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +127 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +71 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -1
  180. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +33 -110
  181. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +64 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +94 -0
  183. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -1
  184. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +1 -88
  185. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +4 -4
  186. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -2
  187. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -1
  188. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -16
  189. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +91 -1
  190. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -3
  191. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +3 -1
  192. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -3
  193. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +1 -0
  194. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +9 -1
  195. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +10 -1
  196. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +114 -22
  197. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  198. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +4 -1
  199. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +19 -0
  200. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +10 -8
  201. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +62 -10
  202. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +2 -1
  203. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +9 -8
  204. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +10 -1
  205. package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -0
  206. package/vscode/src/vs/workbench/contrib/files/browser/files.js +7 -3
  207. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +4 -4
  208. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +64 -36
  209. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +42 -17
  210. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +145 -25
  211. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +423 -0
  212. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +82 -0
  213. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  214. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +36 -0
  215. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
  216. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +24 -3
  217. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +11 -6
  218. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +1 -2
  219. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +31 -0
  220. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +61 -41
  221. package/vscode/src/vs/workbench/contrib/search/{browser/searchNotebookHelpers.js → common/cellSearchModel.js} +4 -63
  222. package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +40 -0
  223. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +2 -2
  224. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +3 -0
  225. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +92 -0
  226. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +100 -79
  227. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +3 -3
  228. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalExtensions.js +25 -0
  230. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +7 -4
  231. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +64 -0
  232. package/vscode/src/vs/workbench/contrib/terminal/browser/widgets/widgetManager.js +36 -0
  233. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +540 -0
  234. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +104 -0
  235. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +518 -0
  236. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +390 -0
  237. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +17 -11
  238. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +814 -0
  239. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +5 -2
  240. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -8
  241. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +2 -0
  242. package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +101 -0
  243. package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +30 -0
  244. package/vscode/src/vs/workbench/contrib/testing/common/storedValue.js +36 -0
  245. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +115 -0
  246. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +74 -0
  247. package/vscode/src/vs/workbench/contrib/testing/common/testExplorerFilterState.js +116 -0
  248. package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.js +172 -1
  249. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +384 -0
  250. package/vscode/src/vs/workbench/contrib/testing/common/testResultService.js +156 -1
  251. package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.js +156 -0
  252. package/vscode/src/vs/workbench/contrib/testing/common/testService.js +75 -1
  253. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +72 -1
  254. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +188 -0
  255. package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js +102 -0
  256. package/vscode/src/vs/workbench/contrib/testing/common/testingDecorations.js +29 -0
  257. package/vscode/src/vs/workbench/{services/editor/browser/editorDropService.js → contrib/testing/common/testingPeekOpener.js} +2 -2
  258. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +47 -0
  259. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -3
  260. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +8 -9
  261. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +1 -1
  262. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +5 -2
  263. package/vscode/src/vs/workbench/services/activity/browser/activityService.d.ts +16 -10
  264. package/vscode/src/vs/workbench/services/activity/common/activity.d.ts +14 -1
  265. package/vscode/src/vs/workbench/services/activity/common/activity.js +1 -7
  266. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +9 -28
  267. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +273 -0
  268. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
  269. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +2 -0
  270. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -3
  271. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +7 -5
  272. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +59 -37
  273. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +193 -94
  274. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
  275. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +8 -2
  276. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +8 -1
  277. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +62 -16
  278. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +5 -3
  279. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +3 -2
  280. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -9
  281. package/vscode/src/vs/workbench/services/extensions/common/{extensionHostManager.d.ts → extensionHostManagers.d.ts} +2 -0
  282. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +1 -1
  283. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +9 -0
  284. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +22 -0
  285. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +14 -3
  286. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +9 -0
  287. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -3
  288. package/vscode/src/vs/workbench/services/history/common/history.d.ts +2 -2
  289. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +49 -18
  290. package/vscode/src/vs/workbench/services/host/browser/host.d.ts +29 -7
  291. package/vscode/src/vs/workbench/services/hover/browser/hover.d.ts +51 -28
  292. package/vscode/src/vs/workbench/services/hover/browser/hoverService.d.ts +5 -2
  293. package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +2 -2
  294. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.d.ts +4 -1
  295. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +40 -36
  296. package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.d.ts +0 -6
  297. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +3 -0
  298. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +2 -2
  299. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +16 -1
  300. package/vscode/src/vs/workbench/services/request/browser/requestService.js +48 -0
  301. package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +4 -4
  302. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +10 -51
  303. package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +4 -0
  304. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +10 -0
  305. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +98 -0
  306. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +428 -0
  307. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +83 -0
  308. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +32 -1
  309. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -5
  310. package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +4 -3
  311. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +9 -3
  312. package/vscode/src/vs/workbench/services/title/browser/titleService.d.ts +18 -0
  313. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +18 -3
  314. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +16 -7
  315. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +6 -0
  316. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +13 -0
  317. package/vscode/src/vs/workbench/services/url/browser/urlService.js +2 -1
  318. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +2 -2
  319. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +9 -0
  320. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +375 -0
  321. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +80 -0
  322. package/vscode-dts/vscode.proposed.chatProvider.d.ts +5 -1
  323. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +68 -10
  324. package/vscode-dts/vscode.proposed.chatTab.d.ts +21 -0
  325. package/vscode-dts/vscode.proposed.chatVariables.d.ts +5 -1
  326. package/vscode-dts/vscode.proposed.codeActionAI.d.ts +16 -0
  327. package/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +7 -0
  328. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +51 -0
  329. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +30 -0
  330. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +26 -0
  331. package/vscode-dts/vscode.proposed.interactive.d.ts +26 -100
  332. package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +14 -7
  333. package/vscode-dts/vscode.proposed.languageStatusText.d.ts +12 -0
  334. package/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts +63 -0
  335. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +43 -0
  336. package/vscode-dts/vscode.proposed.resolvers.d.ts +100 -1
  337. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +9 -1
  338. package/vscode-dts/vscode.proposed.scmInputBoxActionButton.d.ts +19 -0
  339. package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +25 -0
  340. package/vscode-dts/vscode.proposed.speech.d.ts +35 -0
  341. package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +11 -7
  342. package/vscode-dts/vscode.proposed.testCoverage.d.ts +6 -1
  343. package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +21 -0
  344. package/external/xterm-headless/typings/xterm-headless.d.ts +0 -49
  345. package/vscode/src/vs/platform/backup/common/backup.d.ts +0 -14
  346. package/vscode/src/vs/platform/update/common/update.d.ts +0 -112
  347. package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +0 -62
  348. package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +0 -62
  349. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +0 -56
  350. package/vscode/src/vs/workbench/services/files/common/files.js +0 -4
  351. package/vscode/src/vs/workbench/services/host/browser/browserHostService.d.ts +0 -41
  352. package/vscode/src/vs/workbench/services/title/common/titleService.d.ts +0 -31
  353. package/vscode-dts/vscode.proposed.chatAgents.d.ts +0 -39
  354. package/vscode-dts/vscode.proposed.chatSlashCommands.d.ts +0 -47
  355. package/vscode-dts/vscode.proposed.testMessageContextValue.d.ts +0 -45
  356. /package/external/{xterm-addon-canvas/typings/xterm-addon-canvas.d.ts → @xterm/addon-canvas/typings/addon-canvas.d.ts} +0 -0
  357. /package/external/{xterm-addon-search/typings/xterm-addon-search.d.ts → @xterm/addon-search/typings/addon-search.d.ts} +0 -0
  358. /package/external/{xterm-addon-serialize/typings/xterm-addon-serialize.d.ts → @xterm/addon-serialize/typings/addon-serialize.d.ts} +0 -0
  359. /package/external/{xterm-addon-unicode11/typings/xterm-addon-unicode11.d.ts → @xterm/addon-unicode11/typings/addon-unicode11.d.ts} +0 -0
  360. /package/external/{xterm-addon-webgl/typings/xterm-addon-webgl.d.ts → @xterm/addon-webgl/typings/addon-webgl.d.ts} +0 -0
  361. /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);