@codingame/monaco-vscode-api 1.83.16 → 1.85.0-next.1

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-addon-serialize/typings/xterm-addon-serialize.d.ts → @xterm/addon-serialize/typings/addon-serialize.d.ts} +20 -3
  8. package/external/{xterm → @xterm/xterm}/typings/xterm.d.ts +13 -1
  9. package/lifecycle.js +2 -2
  10. package/localExtensionHost.js +3 -1
  11. package/missing-services.js +160 -25
  12. package/monaco-editor-treemending.patch +6884 -18018
  13. package/monaco-treemending.js +2 -2
  14. package/package.json +7 -7
  15. package/service-override/tools/editor.d.ts +8 -8
  16. package/service-override/tools/editor.js +44 -19
  17. package/services.d.ts +2 -2
  18. package/services.js +3 -3
  19. package/vscode/src/vs/base/browser/broadcast.js +6 -5
  20. package/vscode/src/vs/base/browser/dnd.d.ts +6 -0
  21. package/vscode/src/vs/base/browser/mouseEvent.d.ts +1 -1
  22. package/vscode/src/vs/base/browser/touch.d.ts +10 -0
  23. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -0
  24. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +22 -15
  25. package/vscode/src/vs/base/browser/ui/menu/menubar.js +4 -3
  26. package/vscode/src/vs/base/browser/ui/splitview/paneview.css.js +1 -1
  27. package/vscode/src/vs/base/browser/ui/splitview/paneview.d.ts +3 -0
  28. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +34 -11
  29. package/vscode/src/vs/base/common/actions.d.ts +1 -15
  30. package/vscode/src/vs/base/common/async.d.ts +1 -31
  31. package/vscode/src/vs/base/common/event.d.ts +2 -1
  32. package/vscode/src/vs/base/common/observableInternal/base.d.ts +23 -10
  33. package/vscode/src/vs/base/common/prefixTree.js +21 -11
  34. package/vscode/src/vs/base/common/product.d.ts +16 -2
  35. package/vscode/src/vs/base/common/resourceTree.js +135 -0
  36. package/vscode/src/vs/base/common/skipList.js +1 -0
  37. package/vscode/src/vs/base/common/tfIdf.js +137 -0
  38. package/vscode/src/vs/base/common/types.d.ts +13 -1
  39. package/vscode/src/vs/base/common/verifier.js +62 -0
  40. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +4 -2
  41. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -4
  42. package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
  43. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +3 -0
  44. package/vscode/src/vs/editor/common/core/position.d.ts +1 -0
  45. package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -1
  46. package/vscode/src/vs/editor/common/languages.d.ts +23 -1
  47. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -1
  48. package/vscode/src/vs/editor/common/services/resolverService.d.ts +11 -2
  49. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +16 -1
  50. package/vscode/src/vs/platform/action/common/action.d.ts +8 -0
  51. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +4 -0
  52. package/vscode/src/vs/platform/actions/common/actions.d.ts +8 -0
  53. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +6 -0
  54. package/vscode/src/vs/platform/commands/common/commands.d.ts +13 -5
  55. package/vscode/src/vs/platform/dialogs/common/dialogs.d.ts +9 -3
  56. package/vscode/src/vs/platform/dialogs/common/dialogs.js +5 -2
  57. package/vscode/src/vs/platform/editor/common/editor.d.ts +3 -15
  58. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  59. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -15
  60. package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +5 -0
  61. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +0 -1
  62. package/vscode/src/vs/platform/files/common/files.d.ts +72 -8
  63. package/vscode/src/vs/platform/files/common/watcher.js +77 -0
  64. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +2 -2
  65. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +52 -21
  66. package/vscode/src/vs/platform/request/browser/requestService.js +3 -0
  67. package/vscode/src/vs/platform/request/common/requestIpc.js +17 -0
  68. package/vscode/src/vs/platform/storage/common/storage.js +2 -2
  69. package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +1 -0
  70. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +12 -7
  71. package/vscode/src/vs/platform/terminal/common/capabilities/{commandDetectionCapability.d.ts → commandDetection/terminalCommand.d.ts} +3 -2
  72. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +257 -0
  73. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +439 -354
  74. package/vscode/src/vs/platform/window/common/window.d.ts +9 -2
  75. package/vscode/src/vs/platform/window/common/window.js +6 -1
  76. package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +2 -43
  77. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +113 -81
  78. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +5 -4
  79. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +25 -3
  80. package/vscode/src/vs/workbench/api/common/extHostChat.js +13 -163
  81. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +412 -0
  82. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +79 -11
  83. package/vscode/src/vs/workbench/api/common/extHostCommands.js +13 -12
  84. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
  85. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +8 -6
  86. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +1 -1
  87. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +36 -19
  88. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +52 -31
  89. package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +38 -0
  90. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +28 -3
  91. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +10 -0
  92. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +117 -2
  93. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +32 -4
  94. package/vscode/src/vs/workbench/api/common/extHostSCM.js +85 -23
  95. package/vscode/src/vs/workbench/api/common/extHostSearch.js +3 -0
  96. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +42 -0
  97. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -1
  98. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -0
  99. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +3 -3
  100. package/vscode/src/vs/workbench/api/common/extHostTesting.js +97 -47
  101. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +115 -16
  102. package/vscode/src/vs/workbench/api/common/extHostTypes.js +66 -36
  103. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +6 -1
  104. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +182 -75
  105. package/vscode/src/vs/workbench/browser/actions/windowActions.js +176 -4
  106. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +143 -2
  107. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +237 -0
  108. package/vscode/src/vs/workbench/browser/composite.d.ts +0 -4
  109. package/vscode/src/vs/workbench/browser/composite.js +5 -4
  110. package/vscode/src/vs/workbench/browser/dnd.js +72 -23
  111. package/vscode/src/vs/workbench/browser/labels.js +7 -3
  112. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  113. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -2
  114. package/vscode/src/vs/workbench/browser/panecomposite.js +2 -0
  115. package/vscode/src/vs/workbench/browser/part.js +33 -2
  116. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +99 -117
  117. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +173 -33
  118. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +102 -6
  119. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +256 -17
  120. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +4 -0
  121. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +68 -35
  122. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -5
  123. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +35 -16
  124. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +348 -0
  125. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +43 -31
  126. package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +4 -0
  127. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -0
  128. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -0
  129. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +14 -2
  130. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +4 -4
  131. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +277 -0
  132. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +5 -2
  133. package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
  134. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +3 -38
  135. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +54 -52
  136. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +2 -1
  137. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +25 -0
  138. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +258 -0
  139. package/vscode/src/vs/workbench/browser/parts/views/media/paneviewlet.css.js +1 -1
  140. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -5
  141. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +157 -117
  142. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +50 -23
  143. package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +26 -11
  144. package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.js +10 -6
  145. package/vscode/src/vs/workbench/browser/style.js +2 -1
  146. package/vscode/src/vs/workbench/browser/web.api.d.ts +39 -2
  147. package/vscode/src/vs/workbench/browser/window.js +55 -0
  148. package/vscode/src/vs/workbench/browser/workbench.contribution.js +220 -40
  149. package/vscode/src/vs/workbench/common/activity.js +3 -0
  150. package/vscode/src/vs/workbench/common/contextkeys.js +35 -5
  151. package/vscode/src/vs/workbench/common/contributions.js +4 -3
  152. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +14 -4
  153. package/vscode/src/vs/workbench/common/editor/diffEditorModel.js +1 -1
  154. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +22 -19
  155. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +4 -3
  156. package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +1 -2
  157. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +22 -4
  158. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +3 -3
  159. package/vscode/src/vs/workbench/common/editor.d.ts +60 -30
  160. package/vscode/src/vs/workbench/common/editor.js +11 -3
  161. package/vscode/src/vs/workbench/common/theme.js +2 -2
  162. package/vscode/src/vs/workbench/common/views.d.ts +4 -4
  163. package/vscode/src/vs/workbench/common/views.js +3 -1
  164. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +97 -8
  165. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +17 -99
  166. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +103 -37
  167. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +2 -3
  168. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +127 -0
  169. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +71 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -1
  171. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +33 -110
  172. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +64 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +94 -0
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -1
  175. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +1 -88
  176. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +4 -4
  177. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -2
  178. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -1
  179. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -16
  180. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -3
  181. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +3 -1
  182. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -3
  183. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +1 -0
  184. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +9 -1
  185. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +10 -1
  186. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +114 -22
  187. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  188. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +4 -1
  189. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +19 -0
  190. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +10 -8
  191. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +62 -10
  192. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +2 -1
  193. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +9 -8
  194. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +10 -1
  195. package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -0
  196. package/vscode/src/vs/workbench/contrib/files/browser/files.js +7 -3
  197. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +4 -4
  198. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +64 -36
  199. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +42 -17
  200. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +145 -25
  201. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +1 -1
  202. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  203. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +36 -0
  204. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
  205. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +24 -3
  206. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +11 -6
  207. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +1 -2
  208. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +31 -0
  209. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +61 -41
  210. package/vscode/src/vs/workbench/contrib/search/{browser/searchNotebookHelpers.js → common/cellSearchModel.js} +4 -63
  211. package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +40 -0
  212. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +2 -2
  213. package/vscode/src/vs/workbench/{services/editor/browser/editorDropService.js → contrib/speech/common/speechService.js} +2 -2
  214. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +29 -4
  215. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +100 -79
  216. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +3 -3
  217. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +1 -1
  218. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +7 -4
  219. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +5 -3
  220. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +143 -41
  221. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +17 -11
  222. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +41 -26
  223. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +5 -2
  224. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -8
  225. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +2 -0
  226. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +115 -0
  227. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +74 -0
  228. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +3 -3
  229. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +64 -1
  230. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +9 -0
  231. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -3
  232. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +8 -9
  233. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +1 -1
  234. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +5 -2
  235. package/vscode/src/vs/workbench/services/activity/browser/activityService.d.ts +16 -10
  236. package/vscode/src/vs/workbench/services/activity/common/activity.d.ts +14 -1
  237. package/vscode/src/vs/workbench/services/activity/common/activity.js +1 -7
  238. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +9 -28
  239. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +273 -0
  240. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
  241. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +2 -0
  242. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -3
  243. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +7 -5
  244. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +59 -37
  245. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +193 -94
  246. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
  247. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +8 -2
  248. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +8 -1
  249. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +62 -16
  250. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +5 -3
  251. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +3 -2
  252. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -9
  253. package/vscode/src/vs/workbench/services/extensions/common/{extensionHostManager.d.ts → extensionHostManagers.d.ts} +2 -0
  254. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +1 -1
  255. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +9 -0
  256. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +22 -0
  257. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +14 -3
  258. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +9 -0
  259. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -3
  260. package/vscode/src/vs/workbench/services/history/common/history.d.ts +2 -2
  261. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +49 -18
  262. package/vscode/src/vs/workbench/services/host/browser/host.d.ts +29 -7
  263. package/vscode/src/vs/workbench/services/hover/browser/hover.d.ts +51 -28
  264. package/vscode/src/vs/workbench/services/hover/browser/hoverService.d.ts +5 -2
  265. package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +2 -2
  266. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.d.ts +4 -1
  267. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +40 -36
  268. package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.d.ts +0 -6
  269. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +3 -0
  270. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +2 -2
  271. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +18 -3
  272. package/vscode/src/vs/workbench/services/request/browser/requestService.js +48 -0
  273. package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +4 -4
  274. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +10 -51
  275. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +2 -2
  276. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +32 -1
  277. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -5
  278. package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +4 -3
  279. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +9 -3
  280. package/vscode/src/vs/workbench/services/title/browser/titleService.d.ts +18 -0
  281. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +18 -3
  282. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +16 -7
  283. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +6 -0
  284. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +13 -0
  285. package/vscode/src/vs/workbench/services/url/browser/urlService.js +2 -1
  286. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +2 -2
  287. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +9 -0
  288. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +375 -0
  289. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +80 -0
  290. package/vscode-dts/vscode.proposed.chatProvider.d.ts +5 -1
  291. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +68 -10
  292. package/vscode-dts/vscode.proposed.chatTab.d.ts +21 -0
  293. package/vscode-dts/vscode.proposed.chatVariables.d.ts +5 -1
  294. package/vscode-dts/vscode.proposed.codeActionAI.d.ts +16 -0
  295. package/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +7 -0
  296. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +51 -0
  297. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +30 -0
  298. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +26 -0
  299. package/vscode-dts/vscode.proposed.interactive.d.ts +26 -100
  300. package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +14 -7
  301. package/vscode-dts/vscode.proposed.languageStatusText.d.ts +12 -0
  302. package/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts +63 -0
  303. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +43 -0
  304. package/vscode-dts/vscode.proposed.resolvers.d.ts +100 -1
  305. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +9 -1
  306. package/vscode-dts/vscode.proposed.scmInputBoxActionButton.d.ts +19 -0
  307. package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +25 -0
  308. package/vscode-dts/vscode.proposed.speech.d.ts +35 -0
  309. package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +11 -7
  310. package/vscode-dts/vscode.proposed.testCoverage.d.ts +6 -1
  311. package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +21 -0
  312. package/external/xterm-headless/typings/xterm-headless.d.ts +0 -49
  313. package/vscode/src/vs/platform/backup/common/backup.d.ts +0 -14
  314. package/vscode/src/vs/platform/update/common/update.d.ts +0 -112
  315. package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +0 -62
  316. package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +0 -62
  317. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +0 -56
  318. package/vscode/src/vs/workbench/services/files/common/files.js +0 -4
  319. package/vscode/src/vs/workbench/services/host/browser/browserHostService.d.ts +0 -41
  320. package/vscode/src/vs/workbench/services/title/common/titleService.d.ts +0 -31
  321. package/vscode-dts/vscode.proposed.chatAgents.d.ts +0 -39
  322. package/vscode-dts/vscode.proposed.chatSlashCommands.d.ts +0 -47
  323. package/vscode-dts/vscode.proposed.testMessageContextValue.d.ts +0 -45
  324. /package/external/{xterm-addon-canvas/typings/xterm-addon-canvas.d.ts → @xterm/addon-canvas/typings/addon-canvas.d.ts} +0 -0
  325. /package/external/{xterm-addon-search/typings/xterm-addon-search.d.ts → @xterm/addon-search/typings/addon-search.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
@@ -6,19 +6,19 @@ import { Event, IDynamicListEventMultiplexer } from '../../../../base/common/eve
6
6
  import { IDisposable } from '../../../../base/common/lifecycle.js';
7
7
  import { OperatingSystem } from '../../../../base/common/platform.js';
8
8
  import { URI } from '../../../../base/common/uri.js';
9
- import { TerminalCapability, ITerminalCapabilityImplMap, ITerminalCapabilityStore, IMarkProperties, ITerminalCommand } from '../../../../platform/terminal/common/capabilities/capabilities.js';
9
+ import { TerminalCapability, ITerminalCapabilityImplMap, IMarkProperties, ITerminalCommand, ITerminalCapabilityStore } from '../../../../platform/terminal/common/capabilities/capabilities.js';
10
10
  import { IMergedEnvironmentVariableCollection } from '../../../../platform/terminal/common/environmentVariable.js';
11
- import { IShellLaunchConfig, ITerminalProfile, TerminalLocation, ITerminalBackend, ITerminalLaunchError, IExtensionTerminalProfile, TerminalIcon, IReconnectionProperties, WaitOnExitValue, TerminalExitReason, TitleEventSource, TerminalShellType, ITerminalDimensions, IShellIntegration, ITerminalTabLayoutInfoById } from '../../../../platform/terminal/common/terminal.js';
11
+ import { IShellLaunchConfig, ITerminalProfile, TerminalLocation, ITerminalBackend, ITerminalLaunchError, IExtensionTerminalProfile, TerminalIcon, IReconnectionProperties, WaitOnExitValue, TerminalExitReason, TitleEventSource, TerminalShellType, ITerminalDimensions, ITerminalTabLayoutInfoById, IShellIntegration } from '../../../../platform/terminal/common/terminal.js';
12
12
  import { IColorTheme } from '../../../../platform/theme/common/themeService.js';
13
13
  import { IWorkspaceFolder } from '../../../../platform/workspace/common/workspace.js';
14
14
  import { IEditableData } from '../../../common/views.js';
15
15
  import { ITerminalStatusList } from './terminalStatusList.js';
16
- import { ScrollPosition } from './xterm/markNavigationAddon.js';
17
16
  import { XtermTerminal } from './xterm/xtermTerminal.js';
18
- import { ITerminalConfigHelper, IStartExtensionTerminalRequest, ITerminalProcessExtHostProxy, IRemoteTerminalAttachTarget, ITerminalFont, ITerminalProcessInfo } from '../common/terminal.js';
17
+ import { IStartExtensionTerminalRequest, ITerminalProcessExtHostProxy, IRemoteTerminalAttachTarget, ITerminalConfiguration, ITerminalFont, ITerminalProcessInfo } from '../common/terminal.js';
19
18
  import { EditorGroupColumn } from '../../../services/editor/common/editorGroupColumn.js';
20
19
  import { ISimpleSelectedSuggestion } from '../../../services/suggest/browser/simpleSuggestWidget.js';
21
- import { IMarker, Terminal } from '../../../../../../../external/xterm/typings/xterm.js';
20
+ import { IMarker, ITheme, Terminal } from '../../../../../../../external/@xterm/xterm/typings/xterm.js';
21
+ import { ScrollPosition } from './xterm/markNavigationAddon.js';
22
22
 
23
23
  /**
24
24
  * A terminal contribution that gets created whenever a terminal is created. A contribution has
@@ -29,6 +29,9 @@ interface ITerminalContribution extends IDisposable {
29
29
  layout?(xterm: IXtermTerminal & {
30
30
  raw: Terminal;
31
31
  }, dimension: IDimension): void;
32
+ xtermOpen?(xterm: IXtermTerminal & {
33
+ raw: Terminal;
34
+ }): void;
32
35
  xtermReady?(xterm: IXtermTerminal & {
33
36
  raw: Terminal;
34
37
  }): void;
@@ -68,8 +71,12 @@ interface ITerminalInstanceService {
68
71
  getRegisteredBackends(): IterableIterator<ITerminalBackend>;
69
72
  didRegisterBackend(remoteAuthority?: string): void;
70
73
  }
71
- interface IBrowserTerminalConfigHelper extends ITerminalConfigHelper {
74
+ interface ITerminalConfigHelper {
75
+ config: ITerminalConfiguration;
72
76
  panelContainer: HTMLElement | undefined;
77
+ configFontIsMonospace(): boolean;
78
+ getFont(w: Window): ITerminalFont;
79
+ showRecommendations(shellLaunchConfig: IShellLaunchConfig): void;
73
80
  }
74
81
  declare const enum Direction {
75
82
  Left = 0,
@@ -86,6 +93,10 @@ interface IMarkTracker {
86
93
  selectToNextLine(): void;
87
94
  clearMarker(): void;
88
95
  scrollToClosestMarker(startMarkerId: string, endMarkerId?: string, highlight?: boolean | undefined): void;
96
+ scrollToLine(line: number, position: ScrollPosition): void;
97
+ revealCommand(command: ITerminalCommand, position?: ScrollPosition): void;
98
+ registerTemporaryDecoration(marker: IMarker, endMarker: IMarker | undefined, showOutline: boolean): void;
99
+ showCommandGuide(command: ITerminalCommand | undefined): void;
89
100
  }
90
101
  interface ITerminalGroup {
91
102
  activeInstance: ITerminalInstance | undefined;
@@ -122,15 +133,57 @@ interface IDetachedXTermOptions {
122
133
  readonly?: boolean;
123
134
  processInfo: ITerminalProcessInfo;
124
135
  }
136
+ /**
137
+ * A generic interface implemented in both the {@link ITerminalInstance} (an
138
+ * interface used for terminals attached to the terminal panel or editor) and
139
+ * {@link IDetachedTerminalInstance} (a terminal used elsewhere in VS Code UI).
140
+ */
141
+ interface IBaseTerminalInstance {
142
+ readonly capabilities: ITerminalCapabilityStore;
143
+ /**
144
+ * DOM element the terminal is mounted in.
145
+ */
146
+ readonly domElement?: HTMLElement;
147
+ /**
148
+ * Current selection in the terminal.
149
+ */
150
+ readonly selection: string | undefined;
151
+ /**
152
+ * Check if anything is selected in terminal.
153
+ */
154
+ hasSelection(): boolean;
155
+ /**
156
+ * Clear current selection.
157
+ */
158
+ clearSelection(): void;
159
+ /**
160
+ * Focuses the terminal instance if it's able to (the xterm.js instance must exist).
161
+ *
162
+ * @param force Force focus even if there is a selection.
163
+ */
164
+ focus(force?: boolean): void;
165
+ /**
166
+ * Force the scroll bar to be visible until {@link resetScrollbarVisibility} is called.
167
+ */
168
+ forceScrollbarVisibility(): void;
169
+ /**
170
+ * Resets the scroll bar to only be visible when needed, this does nothing unless
171
+ * {@link forceScrollbarVisibility} was called.
172
+ */
173
+ resetScrollbarVisibility(): void;
174
+ /**
175
+ * Gets a terminal contribution by its ID.
176
+ */
177
+ getContribution<T extends ITerminalContribution>(id: string): T | null;
178
+ }
125
179
  /**
126
180
  * A {@link ITerminalInstance}-like object that emulates a subset of
127
181
  * capabilities. This instance is returned from {@link ITerminalService.createDetachedTerminal}
128
182
  * to represent terminals that appear in other parts of the VS Code UI outside
129
183
  * of the "Terminal" view or editors.
130
184
  */
131
- interface IDetachedTerminalInstance extends IDisposable {
185
+ interface IDetachedTerminalInstance extends IDisposable, IBaseTerminalInstance {
132
186
  readonly xterm: IDetachedXtermTerminal;
133
- readonly capabilities: ITerminalCapabilityStore;
134
187
  /**
135
188
  * Attached the terminal to the given element. This should be preferred over
136
189
  * calling {@link IXtermTerminal.attachToElement} so that extra DOM elements
@@ -148,7 +201,7 @@ interface ITerminalService extends ITerminalInstanceHost {
148
201
  /** Gets all terminal instances, including editor and terminal view (group) instances. */
149
202
  readonly instances: readonly ITerminalInstance[];
150
203
  /** Gets detached terminal instances created via {@link createDetachedXterm}. */
151
- readonly detachedXterms: Iterable<IXtermTerminal>;
204
+ readonly detachedInstances: Iterable<IDetachedTerminalInstance>;
152
205
  readonly configHelper: ITerminalConfigHelper;
153
206
  readonly defaultLocation: TerminalLocation;
154
207
  readonly isProcessSupportRegistered: boolean;
@@ -156,27 +209,22 @@ interface ITerminalService extends ITerminalInstanceHost {
156
209
  readonly whenConnected: Promise<void>;
157
210
  /** The number of restored terminal groups on startup. */
158
211
  readonly restoredGroupCount: number;
159
- readonly onDidChangeActiveGroup: Event<ITerminalGroup | undefined>;
160
- readonly onDidDisposeGroup: Event<ITerminalGroup>;
161
212
  readonly onDidCreateInstance: Event<ITerminalInstance>;
162
- readonly onDidReceiveProcessId: Event<ITerminalInstance>;
163
213
  readonly onDidChangeInstanceDimensions: Event<ITerminalInstance>;
164
- readonly onDidMaximumDimensionsChange: Event<ITerminalInstance>;
165
214
  readonly onDidRequestStartExtensionTerminal: Event<IStartExtensionTerminalRequest>;
166
- readonly onDidChangeInstanceTitle: Event<ITerminalInstance | undefined>;
167
- readonly onDidChangeInstanceIcon: Event<{
168
- instance: ITerminalInstance;
169
- userInitiated: boolean;
170
- }>;
171
- readonly onDidChangeInstanceColor: Event<{
215
+ readonly onDidRegisterProcessSupport: Event<void>;
216
+ readonly onDidChangeConnectionState: Event<void>;
217
+ readonly onDidChangeActiveGroup: Event<ITerminalGroup | undefined>;
218
+ readonly onAnyInstanceDataInput: Event<ITerminalInstance>;
219
+ readonly onAnyInstanceIconChange: Event<{
172
220
  instance: ITerminalInstance;
173
221
  userInitiated: boolean;
174
222
  }>;
175
- readonly onDidChangeInstancePrimaryStatus: Event<ITerminalInstance>;
176
- readonly onDidInputInstanceData: Event<ITerminalInstance>;
177
- readonly onDidChangeSelection: Event<ITerminalInstance>;
178
- readonly onDidRegisterProcessSupport: Event<void>;
179
- readonly onDidChangeConnectionState: Event<void>;
223
+ readonly onAnyInstanceMaximumDimensionsChange: Event<ITerminalInstance>;
224
+ readonly onAnyInstancePrimaryStatusChange: Event<ITerminalInstance>;
225
+ readonly onAnyInstanceProcessIdReady: Event<ITerminalInstance>;
226
+ readonly onAnyInstanceSelectionChange: Event<ITerminalInstance>;
227
+ readonly onAnyInstanceTitleChange: Event<ITerminalInstance>;
180
228
  /**
181
229
  * Creates a terminal.
182
230
  * @param options The options to create the terminal with, when not specified the default
@@ -202,7 +250,7 @@ interface ITerminalService extends ITerminalInstanceHost {
202
250
  getActiveOrCreateInstance(options?: {
203
251
  acceptsInput?: boolean;
204
252
  }): Promise<ITerminalInstance>;
205
- revealActiveTerminal(): Promise<void>;
253
+ revealActiveTerminal(preserveFocus?: boolean): Promise<void>;
206
254
  moveToEditor(source: ITerminalInstance): void;
207
255
  moveToTerminalView(source: ITerminalInstance | URI): Promise<void>;
208
256
  getPrimaryBackend(): ITerminalBackend | undefined;
@@ -231,14 +279,14 @@ interface ITerminalService extends ITerminalInstanceHost {
231
279
  * instances and removing old instances as needed.
232
280
  * @param getEvent Maps the instance to the event.
233
281
  */
234
- onInstanceEvent<T>(getEvent: (instance: ITerminalInstance) => Event<T>): IDynamicListEventMultiplexer<T>;
282
+ createOnInstanceEvent<T>(getEvent: (instance: ITerminalInstance) => Event<T>): Event<T>;
235
283
  /**
236
284
  * Creates a capability event listener that listens to capabilities on all instances,
237
285
  * dynamically adding and removing instances and capabilities as needed.
238
286
  * @param capabilityId The capability type to listen to an event on.
239
287
  * @param getEvent Maps the capability to the event.
240
288
  */
241
- onInstanceCapabilityEvent<T extends TerminalCapability, K>(capabilityId: T, getEvent: (capability: ITerminalCapabilityImplMap[T]) => Event<K>): IDynamicListEventMultiplexer<{
289
+ createOnInstanceCapabilityEvent<T extends TerminalCapability, K>(capabilityId: T, getEvent: (capability: ITerminalCapabilityImplMap[T]) => Event<K>): IDynamicListEventMultiplexer<{
242
290
  instance: ITerminalInstance;
243
291
  data: K;
244
292
  }>;
@@ -308,7 +356,7 @@ interface ISearchOptions {
308
356
  /** Whether the search should start at the current search position (not the next row). */
309
357
  incremental?: boolean;
310
358
  }
311
- interface ITerminalInstance {
359
+ interface ITerminalInstance extends IBaseTerminalInstance {
312
360
  /**
313
361
  * The ID of the terminal instance, this is an arbitrary number only used to uniquely identify
314
362
  * terminal instances within a window.
@@ -339,7 +387,6 @@ interface ITerminalInstance {
339
387
  readonly cwd?: string;
340
388
  readonly initialCwd?: string;
341
389
  readonly os?: OperatingSystem;
342
- readonly capabilities: ITerminalCapabilityStore;
343
390
  readonly usedShellIntegrationInjection: boolean;
344
391
  readonly injectedArgs: string[] | undefined;
345
392
  readonly extEnvironmentVariableCollection: IMergedEnvironmentVariableCollection | undefined;
@@ -407,6 +454,7 @@ interface ITerminalInstance {
407
454
  onDidInputData: Event<ITerminalInstance>;
408
455
  onDidChangeSelection: Event<ITerminalInstance>;
409
456
  onDidRunText: Event<void>;
457
+ onDidChangeTarget: Event<TerminalLocation | undefined>;
410
458
  /**
411
459
  * An event that fires when a terminal is dropped on this instance via drag and drop.
412
460
  */
@@ -536,33 +584,15 @@ interface ITerminalInstance {
536
584
  * @param reason The reason why the terminal is being disposed
537
585
  */
538
586
  detachProcessAndDispose(reason: TerminalExitReason): Promise<void>;
539
- /**
540
- * Check if anything is selected in terminal.
541
- */
542
- hasSelection(): boolean;
543
587
  /**
544
588
  * Copies the terminal selection to the clipboard.
545
589
  */
546
590
  copySelection(asHtml?: boolean, command?: ITerminalCommand): Promise<void>;
547
- /**
548
- * Current selection in the terminal.
549
- */
550
- readonly selection: string | undefined;
551
- /**
552
- * Clear current selection.
553
- */
554
- clearSelection(): void;
555
591
  /**
556
592
  * When the panel is hidden or a terminal in the editor area becomes inactive, reset the focus context key
557
593
  * to avoid issues like #147180.
558
594
  */
559
595
  resetFocusContextKey(): void;
560
- /**
561
- * Focuses the terminal instance if it's able to (the xterm.js instance must exist).
562
- *
563
- * @param force Force focus even if there is a selection.
564
- */
565
- focus(force?: boolean): void;
566
596
  /**
567
597
  * Focuses the terminal instance when it's ready (the xterm.js instance much exist). This is the
568
598
  * best focus call when the terminal is being shown for example.
@@ -584,27 +614,25 @@ interface ITerminalInstance {
584
614
  * process (shell) of the terminal instance.
585
615
  *
586
616
  * @param text The text to send.
587
- * @param addNewLine Whether to add a new line to the text being sent, this is normally required
588
- * to run a command in the terminal. The character(s) added are \n or \r\n depending on the
589
- * platform. This defaults to `true`.
617
+ * @param shouldExecute Indicates that the text being sent should be executed rather than just inserted in the terminal.
618
+ * The character(s) added are \n or \r\n, depending on the platform. This defaults to `true`.
590
619
  * @param bracketedPasteMode Whether to wrap the text in the bracketed paste mode sequence when
591
620
  * it's enabled. When true, the shell will treat the text as if it were pasted into the shell,
592
621
  * this may for example select the text and it will also ensure that the text will not be
593
622
  * interpreted as a shell keybinding.
594
623
  */
595
- sendText(text: string, addNewLine: boolean, bracketedPasteMode?: boolean): Promise<void>;
624
+ sendText(text: string, shouldExecute: boolean, bracketedPasteMode?: boolean): Promise<void>;
596
625
  /**
597
626
  * Sends a path to the terminal instance, preparing it as needed based on the detected shell
598
627
  * running within the terminal. The text is written to the stdin of the underlying pty process
599
628
  * (shell) of the terminal instance.
600
629
  *
601
630
  * @param originalPath The path to send.
602
- * @param addNewLine Whether to add a new line to the path being sent, this is normally required
603
- * to run a command in the terminal. The character(s) added are \n or \r\n depending on the
604
- * platform. This defaults to `true`.
631
+ * @param shouldExecute Indicates that the text being sent should be executed rather than just inserted in the terminal.
632
+ * The character(s) added are \n or \r\n, depending on the platform. This defaults to `true`.
605
633
  */
606
- sendPath(originalPath: string | URI, addNewLine: boolean): Promise<void>;
607
- runCommand(command: string, addNewLine?: boolean): void;
634
+ sendPath(originalPath: string | URI, shouldExecute: boolean): Promise<void>;
635
+ runCommand(command: string, shouldExecute?: boolean): void;
608
636
  /**
609
637
  * Takes a path and returns the properly escaped path to send to a given shell. On Windows, this
610
638
  * includes trying to prepare the path for WSL if needed.
@@ -690,13 +718,13 @@ interface ITerminalInstance {
690
718
  */
691
719
  rename(title?: string): Promise<void>;
692
720
  /**
693
- * Triggers a quick pick to change the icon of this terminal.
721
+ * Sets or triggers a quick pick to change the icon of this terminal.
694
722
  */
695
- changeIcon(): Promise<void>;
723
+ changeIcon(icon?: TerminalIcon): Promise<TerminalIcon | undefined>;
696
724
  /**
697
- * Triggers a quick pick to change the color of the associated terminal tab icon.
725
+ * Sets or triggers a quick pick to change the color of the associated terminal tab icon.
698
726
  */
699
- changeColor(): Promise<void>;
727
+ changeColor(color?: string): Promise<string | undefined>;
700
728
  /**
701
729
  * Triggers a quick pick that displays recent commands or cwds. Selecting one will
702
730
  * rerun it in the active terminal.
@@ -731,19 +759,6 @@ interface ITerminalInstance {
731
759
  * Hides the suggest widget.
732
760
  */
733
761
  hideSuggestWidget(): void;
734
- /**
735
- * Force the scroll bar to be visible until {@link resetScrollbarVisibility} is called.
736
- */
737
- forceScrollbarVisibility(): void;
738
- /**
739
- * Resets the scroll bar to only be visible when needed, this does nothing unless
740
- * {@link forceScrollbarVisibility} was called.
741
- */
742
- resetScrollbarVisibility(): void;
743
- /**
744
- * Gets a terminal contribution by its ID.
745
- */
746
- getContribution<T extends ITerminalContribution>(id: string): T | null;
747
762
  }
748
763
  interface IXtermAttachToElementOptions {
749
764
  /**
@@ -782,6 +797,10 @@ interface IXtermTerminal extends IDisposable {
782
797
  * Whether the terminal is currently focused.
783
798
  */
784
799
  readonly isFocused: boolean;
800
+ /**
801
+ * Whether a canvas-based renderer is being used.
802
+ */
803
+ readonly isGpuAccelerated: boolean;
785
804
  /**
786
805
  * Attached the terminal to the given element
787
806
  * @param container Container the terminal will be rendered in
@@ -841,12 +860,13 @@ interface IXtermTerminal extends IDisposable {
841
860
  * accessibility triggers.
842
861
  */
843
862
  focus(): void;
844
- /** Scroll the terminal buffer down 1 line. */ scrollDownLine(): void;
845
- /** Scroll the terminal buffer down 1 page. */ scrollDownPage(): void;
863
+ /** Scroll the terminal buffer down 1 line. */ scrollDownLine(): void;
864
+ /** Scroll the terminal buffer down 1 page. */ scrollDownPage(): void;
846
865
  /** Scroll the terminal buffer to the bottom. */ scrollToBottom(): void;
847
- /** Scroll the terminal buffer up 1 line. */ scrollUpLine(): void;
848
- /** Scroll the terminal buffer up 1 page. */ scrollUpPage(): void;
849
- /** Scroll the terminal buffer to the top. */ scrollToTop(): void;
866
+ /** Scroll the terminal buffer up 1 line. */ scrollUpLine(): void;
867
+ /** Scroll the terminal buffer up 1 page. */ scrollUpPage(): void;
868
+ /** Scroll the terminal buffer to the top. */ scrollToTop(): void;
869
+ /** Scroll the terminal buffer to a set line */ scrollToLine(line: number, position?: ScrollPosition): void;
850
870
  /**
851
871
  * Clears the terminal buffer, leaving only the prompt line and moving it to the top of the
852
872
  * viewport.
@@ -872,6 +892,7 @@ interface IXtermTerminal extends IDisposable {
872
892
  * Refreshes the terminal after it has been moved.
873
893
  */
874
894
  refresh(): void;
895
+ getXtermTheme(theme?: IColorTheme): ITheme;
875
896
  }
876
897
  interface IDetachedXtermTerminal extends IXtermTerminal {
877
898
  /**
@@ -921,4 +942,4 @@ interface ISuggestController {
921
942
  handleNonXtermData(data: string): void;
922
943
  }
923
944
 
924
- export { Direction, type IBrowserTerminalConfigHelper, type ICreateTerminalOptions, type IDetachedTerminalInstance, type IDetachedXTermOptions, type IDetachedXtermTerminal, type IInternalXtermTerminal, type IMarkTracker, type IRequestAddInstanceToGroupEvent, type ISearchOptions, type ISuggestController, type ITerminalContribution, type ITerminalGroup, type ITerminalInstance, type ITerminalInstanceHost, ITerminalInstanceService, type ITerminalLocationOptions, ITerminalService, type ITerminalServiceNativeDelegate, type IXtermAttachToElementOptions, type IXtermColorProvider, type IXtermTerminal, LinuxDistro, TerminalConnectionState, type TerminalEditorLocation };
945
+ export { Direction, type IBaseTerminalInstance, type ICreateTerminalOptions, type IDetachedTerminalInstance, type IDetachedXTermOptions, type IDetachedXtermTerminal, type IInternalXtermTerminal, type IMarkTracker, type IRequestAddInstanceToGroupEvent, type ISearchOptions, type ISuggestController, type ITerminalConfigHelper, type ITerminalContribution, type ITerminalGroup, type ITerminalInstance, type ITerminalInstanceHost, ITerminalInstanceService, type ITerminalLocationOptions, ITerminalService, type ITerminalServiceNativeDelegate, type IXtermAttachToElementOptions, type IXtermColorProvider, type IXtermTerminal, LinuxDistro, TerminalConnectionState, type TerminalEditorLocation };
@@ -1,7 +1,7 @@
1
1
  import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';
2
2
  import { ITerminalConfiguration, ITerminalFont } from '../common/terminal.js';
3
3
  import { INotificationService } from '../../../../platform/notification/common/notification.js';
4
- import { IBrowserTerminalConfigHelper, LinuxDistro } from './terminal.js';
4
+ import { ITerminalConfigHelper, LinuxDistro } from './terminal.js';
5
5
  import { Event } from '../../../../base/common/event.js';
6
6
  import { IExtensionManagementService } from '../../../../platform/extensionManagement/common/extensionManagement.js';
7
7
  import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
@@ -14,7 +14,7 @@ import { Disposable } from '../../../../base/common/lifecycle.js';
14
14
  * Encapsulates terminal configuration logic, the primary purpose of this file is so that platform
15
15
  * specific test cases can be written.
16
16
  */
17
- declare class TerminalConfigHelper extends Disposable implements IBrowserTerminalConfigHelper {
17
+ declare class TerminalConfigHelper extends Disposable implements ITerminalConfigHelper {
18
18
  private readonly _configurationService;
19
19
  private readonly _extensionManagementService;
20
20
  private readonly _notificationService;
@@ -37,7 +37,7 @@ declare class TerminalConfigHelper extends Disposable implements IBrowserTermina
37
37
  * Gets the font information based on the terminal.integrated.fontFamily
38
38
  * terminal.integrated.fontSize, terminal.integrated.lineHeight configuration properties
39
39
  */
40
- getFont(xtermCore?: IXtermCore, excludeDimensions?: boolean): ITerminalFont;
40
+ getFont(w: Window, xtermCore?: IXtermCore, excludeDimensions?: boolean): ITerminalFont;
41
41
  private _clampInt;
42
42
  private _recommendationsShown;
43
43
  showRecommendations(shellLaunchConfig: IShellLaunchConfig): Promise<void>;
@@ -33,7 +33,7 @@ let TerminalEditorInput = class TerminalEditorInput extends EditorInput {
33
33
  return terminalEditorId;
34
34
  }
35
35
  get capabilities() {
36
- return 2 | 8 | 128 ;
36
+ return 2 | 8 | 128 | 64 ;
37
37
  }
38
38
  setTerminalInstance(instance) {
39
39
  if (this._terminalInstance) {
@@ -5,6 +5,8 @@ import { ColorScheme } from 'monaco-editor/esm/vs/platform/theme/common/theme.js
5
5
  import { ThemeIcon } from 'monaco-editor/esm/vs/base/common/themables.js';
6
6
  import { ITerminalProfileResolverService } from '../common/terminal.js';
7
7
  import { ansiColorMap } from '../common/terminalColorRegistry.js';
8
+ import { createStyleSheet } from 'monaco-editor/esm/vs/base/browser/dom.js';
9
+ import { DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
8
10
  function getColorClass(terminalOrColorKey) {
9
11
  let color = undefined;
10
12
  if (typeof terminalOrColorKey === 'string') {
@@ -31,9 +33,10 @@ function getStandardColors(colorTheme) {
31
33
  }
32
34
  return standardColors;
33
35
  }
34
- function getColorStyleElement(colorTheme) {
36
+ function createColorStyleElement(colorTheme) {
37
+ const disposable = ( new DisposableStore());
35
38
  const standardColors = getStandardColors(colorTheme);
36
- const styleElement = document.createElement('style');
39
+ const styleElement = createStyleSheet(undefined, undefined, disposable);
37
40
  let css = '';
38
41
  for (const colorKey of standardColors) {
39
42
  const colorClass = getColorClass(colorKey);
@@ -44,7 +47,7 @@ function getColorStyleElement(colorTheme) {
44
47
  }
45
48
  }
46
49
  styleElement.textContent = css;
47
- return styleElement;
50
+ return disposable;
48
51
  }
49
52
  function getColorStyleContent(colorTheme, editor) {
50
53
  const standardColors = getStandardColors(colorTheme);
@@ -100,4 +103,4 @@ function getIconId(accessor, terminal) {
100
103
  }
101
104
  return typeof terminal.icon === 'string' ? terminal.icon : terminal.icon.id;
102
105
  }
103
- export { getColorClass, getColorStyleContent, getColorStyleElement, getIconId, getStandardColors, getUriClasses };
106
+ export { createColorStyleElement, getColorClass, getColorStyleContent, getIconId, getStandardColors, getUriClasses };
@@ -110,9 +110,11 @@ let DecorationAddon = class DecorationAddon extends Disposable {
110
110
  }
111
111
  }
112
112
  _updateGutterDecorationVisibility() {
113
- const commandDecorationElements = document.querySelectorAll("terminal-command-decoration" );
114
- for (const commandDecorationElement of commandDecorationElements) {
115
- this._updateCommandDecorationVisibility(commandDecorationElement);
113
+ const commandDecorationElements = this._terminal?.element?.querySelectorAll("terminal-command-decoration" );
114
+ if (commandDecorationElements) {
115
+ for (const commandDecorationElement of commandDecorationElements) {
116
+ this._updateCommandDecorationVisibility(commandDecorationElement);
117
+ }
116
118
  }
117
119
  }
118
120
  _updateCommandDecorationVisibility(commandDecorationElement) {