@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
@@ -0,0 +1,390 @@
1
+ import { __decorate, __param } from '../../../../../../../../external/tslib/tslib.es6.js';
2
+ import * as dom from 'monaco-editor/esm/vs/base/browser/dom.js';
3
+ import { SimpleCompletionItem } from '../../../../services/suggest/browser/simpleCompletionItem.js';
4
+ import { LineContext, SimpleCompletionModel } from '../../../../services/suggest/browser/simpleCompletionModel.js';
5
+ import { SimpleSuggestWidget } from '../../../../services/suggest/browser/simpleSuggestWidget.js';
6
+ import { timeout } from 'monaco-editor/esm/vs/base/common/async.js';
7
+ import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
8
+ import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
9
+ import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
10
+ import { editorSuggestWidgetSelectedBackground } from 'monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestWidget.js';
11
+ import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
12
+ import { IStorageService } from 'monaco-editor/esm/vs/platform/storage/common/storage.js';
13
+ import { activeContrastBorder } from 'monaco-editor/esm/vs/platform/theme/common/colorRegistry.js';
14
+ import { getListStyles } from 'monaco-editor/esm/vs/platform/theme/browser/defaultStyles.js';
15
+ const pwshTypeToIconMap = {
16
+ 0: Codicon.symbolText,
17
+ 1: Codicon.history,
18
+ 2: Codicon.symbolMethod,
19
+ 3: Codicon.symbolFile,
20
+ 4: Codicon.folder,
21
+ 5: Codicon.symbolProperty,
22
+ 6: Codicon.symbolMethod,
23
+ 7: Codicon.symbolVariable,
24
+ 8: Codicon.symbolValue,
25
+ 9: Codicon.symbolVariable,
26
+ 10: Codicon.symbolNamespace,
27
+ 11: Codicon.symbolInterface,
28
+ 12: Codicon.symbolKeyword,
29
+ 13: Codicon.symbolKeyword
30
+ };
31
+ let SuggestAddon = class SuggestAddon extends Disposable {
32
+ constructor(_terminalSuggestWidgetVisibleContextKey, _instantiationService) {
33
+ super();
34
+ this._terminalSuggestWidgetVisibleContextKey = _terminalSuggestWidgetVisibleContextKey;
35
+ this._instantiationService = _instantiationService;
36
+ this._enableWidget = true;
37
+ this._cursorIndexStart = 0;
38
+ this._cursorIndexDelta = 0;
39
+ this._onBell = this._register(( new Emitter()));
40
+ this.onBell = this._onBell.event;
41
+ this._onAcceptedCompletion = this._register(( new Emitter()));
42
+ this.onAcceptedCompletion = this._onAcceptedCompletion.event;
43
+ this._cachedBashAliases = ( new Set());
44
+ this._cachedBashBuiltins = ( new Set());
45
+ this._cachedBashCommands = ( new Set());
46
+ this._cachedBashKeywords = ( new Set());
47
+ }
48
+ activate(xterm) {
49
+ this._terminal = xterm;
50
+ this._register(xterm.parser.registerOscHandler(633 , data => {
51
+ return this._handleVSCodeSequence(data);
52
+ }));
53
+ this._register(xterm.onData(e => {
54
+ this._handleTerminalInput(e);
55
+ }));
56
+ }
57
+ setContainer(container) {
58
+ this._container = container;
59
+ }
60
+ _handleVSCodeSequence(data) {
61
+ if (!this._terminal) {
62
+ return false;
63
+ }
64
+ const [command, ...args] = data.split(';');
65
+ switch (command) {
66
+ case "Completions" :
67
+ this._handleCompletionsSequence(this._terminal, data, command, args);
68
+ return true;
69
+ case "CompletionsBash" :
70
+ this._handleCompletionsBashSequence(this._terminal, data, command, args);
71
+ return true;
72
+ case "CompletionsBashFirstWord" :
73
+ return this._handleCompletionsBashFirstWordSequence(this._terminal, data, command, args);
74
+ }
75
+ return false;
76
+ }
77
+ _handleCompletionsSequence(terminal, data, command, args) {
78
+ if (!terminal.element || !this._enableWidget) {
79
+ return;
80
+ }
81
+ const replacementIndex = parseInt(args[0]);
82
+ const replacementLength = parseInt(args[1]);
83
+ this._cursorIndexStart = parseInt(args[2]);
84
+ if (!args[3]) {
85
+ this._onBell.fire();
86
+ return;
87
+ }
88
+ let completionList = JSON.parse(data.slice(command.length + args[0].length + args[1].length + args[2].length + 4 ));
89
+ if (!Array.isArray(completionList)) {
90
+ completionList = [completionList];
91
+ }
92
+ const completions = ( completionList.map((e) => {
93
+ return ( new SimpleCompletionItem({
94
+ label: e.CompletionText,
95
+ icon: pwshTypeToIconMap[e.ResultType],
96
+ detail: e.ToolTip
97
+ }));
98
+ }));
99
+ this._leadingLineContent = completions[0].completion.label.slice(0, replacementLength);
100
+ this._cursorIndexDelta = 0;
101
+ const model = ( new SimpleCompletionModel(completions, ( new LineContext(this._leadingLineContent, replacementIndex)), replacementIndex, replacementLength));
102
+ if (completions.length === 1) {
103
+ const insertText = completions[0].completion.label.substring(replacementLength);
104
+ if (insertText.length === 0) {
105
+ this._onBell.fire();
106
+ return;
107
+ }
108
+ }
109
+ this._handleCompletionModel(model);
110
+ }
111
+ _handleCompletionsBashFirstWordSequence(terminal, data, command, args) {
112
+ const type = args[0];
113
+ const completionList = data.slice(command.length + type.length + 2 ).split(';');
114
+ let set;
115
+ switch (type) {
116
+ case 'alias':
117
+ set = this._cachedBashAliases;
118
+ break;
119
+ case 'builtin':
120
+ set = this._cachedBashBuiltins;
121
+ break;
122
+ case 'command':
123
+ set = this._cachedBashCommands;
124
+ break;
125
+ case 'keyword':
126
+ set = this._cachedBashKeywords;
127
+ break;
128
+ default: return false;
129
+ }
130
+ set.clear();
131
+ const distinctLabels = ( new Set());
132
+ for (const label of completionList) {
133
+ distinctLabels.add(label);
134
+ }
135
+ for (const label of distinctLabels) {
136
+ set.add(( new SimpleCompletionItem({
137
+ label,
138
+ icon: Codicon.symbolString,
139
+ detail: type
140
+ })));
141
+ }
142
+ this._cachedFirstWord = undefined;
143
+ return true;
144
+ }
145
+ _handleCompletionsBashSequence(terminal, data, command, args) {
146
+ if (!terminal.element) {
147
+ return;
148
+ }
149
+ let replacementIndex = parseInt(args[0]);
150
+ const replacementLength = parseInt(args[1]);
151
+ if (!args[2]) {
152
+ this._onBell.fire();
153
+ return;
154
+ }
155
+ const completionList = data.slice(command.length + args[0].length + args[1].length + args[2].length + 4 ).split(';');
156
+ let completions;
157
+ if (replacementIndex !== 100 && completionList.length > 0) {
158
+ completions = ( completionList.map(label => {
159
+ return ( new SimpleCompletionItem({
160
+ label: label,
161
+ icon: Codicon.symbolProperty
162
+ }));
163
+ }));
164
+ }
165
+ else {
166
+ replacementIndex = 0;
167
+ if (!this._cachedFirstWord) {
168
+ this._cachedFirstWord = [
169
+ ...this._cachedBashAliases,
170
+ ...this._cachedBashBuiltins,
171
+ ...this._cachedBashCommands,
172
+ ...this._cachedBashKeywords
173
+ ];
174
+ this._cachedFirstWord.sort((a, b) => {
175
+ const aCode = a.completion.label.charCodeAt(0);
176
+ const bCode = b.completion.label.charCodeAt(0);
177
+ const isANonAlpha = aCode < 65 || aCode > 90 && aCode < 97 || aCode > 122 ? 1 : 0;
178
+ const isBNonAlpha = bCode < 65 || bCode > 90 && bCode < 97 || bCode > 122 ? 1 : 0;
179
+ if (isANonAlpha !== isBNonAlpha) {
180
+ return isANonAlpha - isBNonAlpha;
181
+ }
182
+ return a.completion.label.localeCompare(b.completion.label);
183
+ });
184
+ }
185
+ completions = this._cachedFirstWord;
186
+ }
187
+ if (completions.length === 0) {
188
+ return;
189
+ }
190
+ this._leadingLineContent = completions[0].completion.label.slice(0, replacementLength);
191
+ const model = ( new SimpleCompletionModel(completions, ( new LineContext(this._leadingLineContent, replacementIndex)), replacementIndex, replacementLength));
192
+ if (completions.length === 1) {
193
+ const insertText = completions[0].completion.label.substring(replacementLength);
194
+ if (insertText.length === 0) {
195
+ this._onBell.fire();
196
+ return;
197
+ }
198
+ }
199
+ this._handleCompletionModel(model);
200
+ }
201
+ _handleCompletionModel(model) {
202
+ if (model.items.length === 0 || !this._terminal?.element) {
203
+ return;
204
+ }
205
+ if (model.items.length === 1) {
206
+ this.acceptSelectedSuggestion({
207
+ item: model.items[0],
208
+ model: model
209
+ });
210
+ return;
211
+ }
212
+ const suggestWidget = this._ensureSuggestWidget(this._terminal);
213
+ this._additionalInput = undefined;
214
+ const dimensions = {
215
+ width: this._terminal._core._renderService.dimensions.device.cell.width,
216
+ height: this._terminal._core._renderService.dimensions.device.cell.height,
217
+ };
218
+ if (!dimensions.width || !dimensions.height) {
219
+ return;
220
+ }
221
+ const xtermBox = this._terminal.element.getBoundingClientRect();
222
+ const panelElement = dom.findParentWithClass(this._container, 'panel').offsetParent;
223
+ const panelBox = panelElement.getBoundingClientRect();
224
+ suggestWidget.showSuggestions(model, 0, false, false, {
225
+ left: (xtermBox.left - panelBox.left) + this._terminal.buffer.active.cursorX * dimensions.width,
226
+ top: (xtermBox.top - panelBox.top) + this._terminal.buffer.active.cursorY * dimensions.height,
227
+ height: dimensions.height
228
+ });
229
+ if (this._inputQueue) {
230
+ const inputQueue = this._inputQueue;
231
+ this._inputQueue = undefined;
232
+ for (const data of inputQueue) {
233
+ this._handleTerminalInput(data);
234
+ }
235
+ }
236
+ }
237
+ _ensureSuggestWidget(terminal) {
238
+ this._terminalSuggestWidgetVisibleContextKey.set(true);
239
+ if (!this._suggestWidget) {
240
+ this._suggestWidget = this._register(this._instantiationService.createInstance(SimpleSuggestWidget, dom.findParentWithClass(this._container, 'panel'), this._instantiationService.createInstance(PersistedWidgetSize), {}));
241
+ this._suggestWidget.list.style(getListStyles({
242
+ listInactiveFocusBackground: editorSuggestWidgetSelectedBackground,
243
+ listInactiveFocusOutline: activeContrastBorder
244
+ }));
245
+ this._suggestWidget.onDidSelect(async (e) => this.acceptSelectedSuggestion(e));
246
+ this._suggestWidget.onDidHide(() => this._terminalSuggestWidgetVisibleContextKey.set(false));
247
+ this._suggestWidget.onDidShow(() => this._terminalSuggestWidgetVisibleContextKey.set(true));
248
+ }
249
+ return this._suggestWidget;
250
+ }
251
+ selectPreviousSuggestion() {
252
+ this._suggestWidget?.selectPrevious();
253
+ }
254
+ selectPreviousPageSuggestion() {
255
+ this._suggestWidget?.selectPreviousPage();
256
+ }
257
+ selectNextSuggestion() {
258
+ this._suggestWidget?.selectNext();
259
+ }
260
+ selectNextPageSuggestion() {
261
+ this._suggestWidget?.selectNextPage();
262
+ }
263
+ acceptSelectedSuggestion(suggestion) {
264
+ if (!suggestion) {
265
+ suggestion = this._suggestWidget?.getFocusedItem();
266
+ }
267
+ if (suggestion && this._leadingLineContent) {
268
+ this._suggestWidget?.hide();
269
+ this._onAcceptedCompletion.fire([
270
+ '\x1b[D'.repeat(Math.max(suggestion.model.replacementLength - this._cursorIndexStart + this._cursorIndexDelta, 0)),
271
+ '\x1b[3~'.repeat(this._additionalInput?.length ?? 0),
272
+ '\x7F'.repeat(suggestion.model.replacementLength),
273
+ suggestion.item.completion.label,
274
+ ].join(''));
275
+ this._enableWidget = false;
276
+ timeout(100).then(e => this._enableWidget = true);
277
+ }
278
+ }
279
+ hideSuggestWidget() {
280
+ this._suggestWidget?.hide();
281
+ }
282
+ handleNonXtermData(data) {
283
+ this._handleTerminalInput(data);
284
+ }
285
+ _handleTerminalInput(data) {
286
+ if (!this._terminal || !this._enableWidget || !this._terminalSuggestWidgetVisibleContextKey.get()) {
287
+ if (data === '-') {
288
+ this._inputQueue = [];
289
+ }
290
+ else {
291
+ this._inputQueue?.push(data);
292
+ }
293
+ return;
294
+ }
295
+ let handled = false;
296
+ if (data === '\x7f') {
297
+ if (this._additionalInput && this._additionalInput.length > 0 && this._cursorIndexDelta > 0) {
298
+ handled = true;
299
+ this._additionalInput = this._additionalInput.substring(0, this._cursorIndexDelta-- - 1) + this._additionalInput.substring(this._cursorIndexDelta);
300
+ }
301
+ }
302
+ if (data === '\x1b[3~') {
303
+ if (this._additionalInput && this._additionalInput.length > 0 && this._cursorIndexDelta < this._additionalInput.length - 1) {
304
+ handled = true;
305
+ this._additionalInput = this._additionalInput.substring(0, this._cursorIndexDelta) + this._additionalInput.substring(this._cursorIndexDelta + 1);
306
+ }
307
+ }
308
+ if (data === '\x1b[D') {
309
+ if (this._cursorIndexDelta > 0) {
310
+ handled = true;
311
+ this._cursorIndexDelta--;
312
+ }
313
+ }
314
+ if (data === '\x1b[C') {
315
+ handled = true;
316
+ this._cursorIndexDelta += 1;
317
+ }
318
+ if (data.match(/^[a-z0-9]$/i)) {
319
+ handled = true;
320
+ if (this._additionalInput === undefined) {
321
+ this._additionalInput = '';
322
+ }
323
+ this._additionalInput += data;
324
+ this._cursorIndexDelta++;
325
+ }
326
+ if (handled) {
327
+ if (this._terminalSuggestWidgetVisibleContextKey.get()) {
328
+ this._suggestWidget?.setLineContext(( new LineContext(
329
+ this._leadingLineContent + (this._additionalInput ?? ''),
330
+ this._additionalInput?.length ?? 0
331
+ )));
332
+ }
333
+ if (this._suggestWidget._completionModel?.items.length === 0) {
334
+ this._additionalInput = undefined;
335
+ this.hideSuggestWidget();
336
+ return;
337
+ }
338
+ const dimensions = {
339
+ width: this._terminal._core._renderService.dimensions.device.cell.width,
340
+ height: this._terminal._core._renderService.dimensions.device.cell.height,
341
+ };
342
+ if (!dimensions.width || !dimensions.height) {
343
+ return;
344
+ }
345
+ const xtermBox = this._terminal.element.getBoundingClientRect();
346
+ const panelElement = dom.findParentWithClass(this._container, 'panel').offsetParent;
347
+ const panelBox = panelElement.getBoundingClientRect();
348
+ this._suggestWidget?.showSuggestions(this._suggestWidget._completionModel, 0, false, false, {
349
+ left: (xtermBox.left - panelBox.left) + this._terminal.buffer.active.cursorX * dimensions.width,
350
+ top: (xtermBox.top - panelBox.top) + this._terminal.buffer.active.cursorY * dimensions.height,
351
+ height: dimensions.height
352
+ });
353
+ }
354
+ else {
355
+ this._additionalInput = undefined;
356
+ this.hideSuggestWidget();
357
+ }
358
+ }
359
+ };
360
+ SuggestAddon = ( __decorate([
361
+ ( __param(1, IInstantiationService))
362
+ ], SuggestAddon));
363
+ let PersistedWidgetSize = class PersistedWidgetSize {
364
+ constructor(_storageService) {
365
+ this._storageService = _storageService;
366
+ this._key = "terminal.integrated.suggestSize" ;
367
+ }
368
+ restore() {
369
+ const raw = this._storageService.get(this._key, 0 ) ?? '';
370
+ try {
371
+ const obj = JSON.parse(raw);
372
+ if (dom.Dimension.is(obj)) {
373
+ return dom.Dimension.lift(obj);
374
+ }
375
+ }
376
+ catch {
377
+ }
378
+ return undefined;
379
+ }
380
+ store(size) {
381
+ this._storageService.store(this._key, JSON.stringify(size), 0 , 1 );
382
+ }
383
+ reset() {
384
+ this._storageService.remove(this._key, 0 );
385
+ }
386
+ };
387
+ PersistedWidgetSize = ( __decorate([
388
+ ( __param(0, IStorageService))
389
+ ], PersistedWidgetSize));
390
+ export { SuggestAddon };
@@ -1,11 +1,11 @@
1
1
  import { Event } from '../../../../../base/common/event.js';
2
- import { Terminal } from '../../../../../../../../external/xterm/typings/xterm.js';
3
- import { CanvasAddon } from '../../../../../../../../external/xterm-addon-canvas/typings/xterm-addon-canvas.js';
4
- import { ISearchOptions, SearchAddon } from '../../../../../../../../external/xterm-addon-search/typings/xterm-addon-search.js';
5
- import { Unicode11Addon } from '../../../../../../../../external/xterm-addon-unicode11/typings/xterm-addon-unicode11.js';
6
- import { WebglAddon } from '../../../../../../../../external/xterm-addon-webgl/typings/xterm-addon-webgl.js';
7
- import { SerializeAddon } from '../../../../../../../../external/xterm-addon-serialize/typings/xterm-addon-serialize.js';
8
- import { ImageAddon } from '../../../../../../../../external/xterm-addon-image/typings/xterm-addon-image.js';
2
+ import { Terminal, ITheme } from '../../../../../../../../external/@xterm/xterm/typings/xterm.js';
3
+ import { CanvasAddon } from '../../../../../../../../external/@xterm/addon-canvas/typings/addon-canvas.js';
4
+ import { ISearchOptions, SearchAddon } from '../../../../../../../../external/@xterm/addon-search/typings/addon-search.js';
5
+ import { Unicode11Addon } from '../../../../../../../../external/@xterm/addon-unicode11/typings/addon-unicode11.js';
6
+ import { WebglAddon } from '../../../../../../../../external/@xterm/addon-webgl/typings/addon-webgl.js';
7
+ import { SerializeAddon } from '../../../../../../../../external/@xterm/addon-serialize/typings/addon-serialize.js';
8
+ import { ImageAddon } from '../../../../../../../../external/@xterm/addon-image/typings/addon-image.js';
9
9
  import { IConfigurationService } from '../../../../../platform/configuration/common/configuration.js';
10
10
  import { TerminalConfigHelper } from '../terminalConfigHelper.js';
11
11
  import { Disposable } from '../../../../../base/common/lifecycle.js';
@@ -14,12 +14,15 @@ import { ITerminalFont } from '../../common/terminal.js';
14
14
  import { IXtermTerminal, IDetachedXtermTerminal, IInternalXtermTerminal, IMarkTracker, ISuggestController, IXtermColorProvider, IXtermAttachToElementOptions } from '../terminal.js';
15
15
  import { IStorageService } from '../../../../../platform/storage/common/storage.js';
16
16
  import { INotificationService } from '../../../../../platform/notification/common/notification.js';
17
- import { IThemeService } from '../../../../../platform/theme/common/themeService.js';
17
+ import { ScrollPosition } from './markNavigationAddon.js';
18
+ import { IThemeService, IColorTheme } from '../../../../../platform/theme/common/themeService.js';
18
19
  import { IInstantiationService } from '../../../../../platform/instantiation/common/instantiation.js';
19
20
  import { ITerminalCommand, ITerminalCapabilityStore } from '../../../../../platform/terminal/common/capabilities/capabilities.js';
20
21
  import { ITelemetryService } from '../../../../../platform/telemetry/common/telemetry.js';
21
22
  import { IContextKey, IContextKeyService } from '../../../../../platform/contextkey/common/contextkey.js';
22
23
  import { IClipboardService } from '../../../../../platform/clipboard/common/clipboardService.js';
24
+ import { IAccessibleNotificationService } from '../../../../../platform/accessibility/common/accessibility.js';
25
+ import { ILayoutService } from '../../../../../platform/layout/browser/layoutService.js';
23
26
 
24
27
  /**
25
28
  * Wraps the xterm object with additional functionality. Interaction with the backing process is out
@@ -27,7 +30,7 @@ import { IClipboardService } from '../../../../../platform/clipboard/common/clip
27
30
  */
28
31
  declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetachedXtermTerminal, IInternalXtermTerminal {
29
32
  private readonly _configHelper;
30
- private readonly _backgroundColorProvider;
33
+ private readonly _xtermColorProvider;
31
34
  private readonly _capabilities;
32
35
  private readonly _terminalSuggestWidgetVisibleContextKey;
33
36
  private readonly _configurationService;
@@ -38,6 +41,7 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
38
41
  private readonly _themeService;
39
42
  private readonly _telemetryService;
40
43
  private readonly _clipboardService;
44
+ private readonly _accessibleNotificationService;
41
45
  /** The raw xterm.js instance */
42
46
  readonly raw: Terminal;
43
47
  private _core;
@@ -64,6 +68,7 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
64
68
  resultCount: number;
65
69
  } | undefined;
66
70
  get isStdinDisabled(): boolean;
71
+ get isGpuAccelerated(): boolean;
67
72
  private readonly _onDidRequestRunCommand;
68
73
  readonly onDidRequestRunCommand: Event<{
69
74
  command: ITerminalCommand;
@@ -96,7 +101,7 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
96
101
  * @param xtermCtor The xterm.js constructor, this is passed in so it can be fetched lazily
97
102
  * outside of this class such that {@link raw} is not nullable.
98
103
  */
99
- constructor(xtermCtor: typeof Terminal, _configHelper: TerminalConfigHelper, cols: number, rows: number, _backgroundColorProvider: IXtermColorProvider, _capabilities: ITerminalCapabilityStore, shellIntegrationNonce: string, _terminalSuggestWidgetVisibleContextKey: IContextKey<boolean> | undefined, disableShellIntegrationReporting: boolean, _configurationService: IConfigurationService, _instantiationService: IInstantiationService, _logService: ITerminalLogService, _notificationService: INotificationService, _storageService: IStorageService, _themeService: IThemeService, _telemetryService: ITelemetryService, _clipboardService: IClipboardService, contextKeyService: IContextKeyService);
104
+ constructor(xtermCtor: typeof Terminal, _configHelper: TerminalConfigHelper, cols: number, rows: number, _xtermColorProvider: IXtermColorProvider, _capabilities: ITerminalCapabilityStore, shellIntegrationNonce: string, _terminalSuggestWidgetVisibleContextKey: IContextKey<boolean> | undefined, disableShellIntegrationReporting: boolean, _configurationService: IConfigurationService, _instantiationService: IInstantiationService, _logService: ITerminalLogService, _notificationService: INotificationService, _storageService: IStorageService, _themeService: IThemeService, _telemetryService: ITelemetryService, _clipboardService: IClipboardService, contextKeyService: IContextKeyService, _accessibleNotificationService: IAccessibleNotificationService, layoutService: ILayoutService);
100
105
  getBufferReverseIterator(): IterableIterator<string>;
101
106
  getContentsAsHtml(): Promise<string>;
102
107
  getSelectionAsHtml(command?: ITerminalCommand): Promise<string>;
@@ -128,6 +133,7 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
128
133
  scrollUpLine(): void;
129
134
  scrollUpPage(): void;
130
135
  scrollToTop(): void;
136
+ scrollToLine(line: number, position?: ScrollPosition): void;
131
137
  clearBuffer(): void;
132
138
  hasSelection(): boolean;
133
139
  clearSelection(): void;
@@ -152,7 +158,7 @@ declare class XtermTerminal extends Disposable implements IXtermTerminal, IDetac
152
158
  private _disposeOfCanvasRenderer;
153
159
  private _disposeOfWebglRenderer;
154
160
  private _measureRenderTime;
155
- private _getXtermTheme;
161
+ getXtermTheme(theme?: IColorTheme): ITheme;
156
162
  private _updateTheme;
157
163
  refresh(): void;
158
164
  private _updateUnicodeVersion;