@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,48 @@
1
+ import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
2
+ import { DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
3
+ class PartialCommandDetectionCapability extends DisposableStore {
4
+ get commands() { return this._commands; }
5
+ constructor(_terminal) {
6
+ super();
7
+ this._terminal = _terminal;
8
+ this.type = 3 ;
9
+ this._commands = [];
10
+ this._onCommandFinished = this.add(( new Emitter()));
11
+ this.onCommandFinished = this._onCommandFinished.event;
12
+ this.add(this._terminal.onData(e => this._onData(e)));
13
+ this.add(this._terminal.parser.registerCsiHandler({ final: 'J' }, params => {
14
+ if (params.length >= 1 && (params[0] === 2 || params[0] === 3)) {
15
+ this._clearCommandsInViewport();
16
+ }
17
+ return false;
18
+ }));
19
+ }
20
+ _onData(data) {
21
+ if (data === '\x0d') {
22
+ this._onEnter();
23
+ }
24
+ }
25
+ _onEnter() {
26
+ if (!this._terminal) {
27
+ return;
28
+ }
29
+ if (this._terminal.buffer.active.cursorX >= 2 ) {
30
+ const marker = this._terminal.registerMarker(0);
31
+ if (marker) {
32
+ this._commands.push(marker);
33
+ this._onCommandFinished.fire(marker);
34
+ }
35
+ }
36
+ }
37
+ _clearCommandsInViewport() {
38
+ let count = 0;
39
+ for (let i = this._commands.length - 1; i >= 0; i--) {
40
+ if (this._commands[i].line < this._terminal.buffer.active.baseY) {
41
+ break;
42
+ }
43
+ count++;
44
+ }
45
+ this._commands.splice(this._commands.length - count, count);
46
+ }
47
+ }
48
+ export { PartialCommandDetectionCapability };
@@ -0,0 +1,94 @@
1
+ import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
2
+ import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
3
+ class TerminalCapabilityStore extends Disposable {
4
+ constructor() {
5
+ super(...arguments);
6
+ this._map = ( new Map());
7
+ this._onDidRemoveCapabilityType = this._register(( new Emitter()));
8
+ this.onDidRemoveCapabilityType = this._onDidRemoveCapabilityType.event;
9
+ this._onDidAddCapabilityType = this._register(( new Emitter()));
10
+ this.onDidAddCapabilityType = this._onDidAddCapabilityType.event;
11
+ this._onDidRemoveCapability = this._register(( new Emitter()));
12
+ this.onDidRemoveCapability = this._onDidRemoveCapability.event;
13
+ this._onDidAddCapability = this._register(( new Emitter()));
14
+ this.onDidAddCapability = this._onDidAddCapability.event;
15
+ }
16
+ get items() {
17
+ return ( this._map.keys());
18
+ }
19
+ add(capability, impl) {
20
+ this._map.set(capability, impl);
21
+ this._onDidAddCapabilityType.fire(capability);
22
+ this._onDidAddCapability.fire({ id: capability, capability: impl });
23
+ }
24
+ get(capability) {
25
+ return this._map.get(capability);
26
+ }
27
+ remove(capability) {
28
+ const impl = this._map.get(capability);
29
+ if (!impl) {
30
+ return;
31
+ }
32
+ this._map.delete(capability);
33
+ this._onDidRemoveCapabilityType.fire(capability);
34
+ this._onDidAddCapability.fire({ id: capability, capability: impl });
35
+ }
36
+ has(capability) {
37
+ return ( this._map.has(capability));
38
+ }
39
+ }
40
+ class TerminalCapabilityStoreMultiplexer extends Disposable {
41
+ constructor() {
42
+ super(...arguments);
43
+ this._stores = [];
44
+ this._onDidRemoveCapabilityType = this._register(( new Emitter()));
45
+ this.onDidRemoveCapabilityType = this._onDidRemoveCapabilityType.event;
46
+ this._onDidAddCapabilityType = this._register(( new Emitter()));
47
+ this.onDidAddCapabilityType = this._onDidAddCapabilityType.event;
48
+ this._onDidRemoveCapability = this._register(( new Emitter()));
49
+ this.onDidRemoveCapability = this._onDidRemoveCapability.event;
50
+ this._onDidAddCapability = this._register(( new Emitter()));
51
+ this.onDidAddCapability = this._onDidAddCapability.event;
52
+ }
53
+ get items() {
54
+ return this._items();
55
+ }
56
+ *_items() {
57
+ for (const store of this._stores) {
58
+ for (const c of store.items) {
59
+ yield c;
60
+ }
61
+ }
62
+ }
63
+ has(capability) {
64
+ for (const store of this._stores) {
65
+ for (const c of store.items) {
66
+ if (c === capability) {
67
+ return true;
68
+ }
69
+ }
70
+ }
71
+ return false;
72
+ }
73
+ get(capability) {
74
+ for (const store of this._stores) {
75
+ const c = store.get(capability);
76
+ if (c) {
77
+ return c;
78
+ }
79
+ }
80
+ return undefined;
81
+ }
82
+ add(store) {
83
+ this._stores.push(store);
84
+ for (const capability of store.items) {
85
+ this._onDidAddCapabilityType.fire(capability);
86
+ this._onDidAddCapability.fire({ id: capability, capability: store.get(capability) });
87
+ }
88
+ this._register(store.onDidAddCapabilityType(e => this._onDidAddCapabilityType.fire(e)));
89
+ this._register(store.onDidAddCapability(e => this._onDidAddCapability.fire(e)));
90
+ this._register(store.onDidRemoveCapabilityType(e => this._onDidRemoveCapabilityType.fire(e)));
91
+ this._register(store.onDidRemoveCapability(e => this._onDidRemoveCapability.fire(e)));
92
+ }
93
+ }
94
+ export { TerminalCapabilityStore, TerminalCapabilityStoreMultiplexer };
@@ -0,0 +1,37 @@
1
+ import { OS } from 'monaco-editor/esm/vs/base/common/platform.js';
2
+ function escapeNonWindowsPath(path) {
3
+ let newPath = path;
4
+ if (newPath.includes('\\')) {
5
+ newPath = newPath.replace(/\\/g, '\\\\');
6
+ }
7
+ const bannedChars = /[\`\$\|\&\>\~\#\!\^\*\;\<\"\']/g;
8
+ newPath = newPath.replace(bannedChars, '');
9
+ return `'${newPath}'`;
10
+ }
11
+ function collapseTildePath(path, userHome, separator) {
12
+ if (!path) {
13
+ return '';
14
+ }
15
+ if (!userHome) {
16
+ return path;
17
+ }
18
+ if (userHome.match(/[\/\\]$/)) {
19
+ userHome = userHome.slice(0, userHome.length - 1);
20
+ }
21
+ const normalizedPath = path.replace(/\\/g, '/').toLowerCase();
22
+ const normalizedUserHome = userHome.replace(/\\/g, '/').toLowerCase();
23
+ if (!normalizedPath.includes(normalizedUserHome)) {
24
+ return path;
25
+ }
26
+ return `~${separator}${path.slice(userHome.length + 1)}`;
27
+ }
28
+ function sanitizeCwd(cwd) {
29
+ if (cwd.match(/^['"].*['"]$/)) {
30
+ cwd = cwd.substring(1, cwd.length - 1);
31
+ }
32
+ if (OS === 1 && cwd && cwd[1] === ':') {
33
+ return cwd[0].toUpperCase() + cwd.substring(1);
34
+ }
35
+ return cwd;
36
+ }
37
+ export { collapseTildePath, escapeNonWindowsPath, sanitizeCwd };
@@ -0,0 +1,16 @@
1
+ function formatMessageForTerminal(message, options = {}) {
2
+ let result = '';
3
+ if (!options.excludeLeadingNewLine) {
4
+ result += '\r\n';
5
+ }
6
+ result += '\x1b[0m\x1b[7m * ';
7
+ if (options.loudFormatting) {
8
+ result += '\x1b[0;104m';
9
+ }
10
+ else {
11
+ result += '\x1b[0m';
12
+ }
13
+ result += ` ${message} \x1b[0m\n\r`;
14
+ return result;
15
+ }
16
+ export { formatMessageForTerminal };
@@ -0,0 +1,319 @@
1
+ import { Disposable, toDisposable, dispose } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
2
+ import { TerminalCapabilityStore } from '../capabilities/terminalCapabilityStore.js';
3
+ import { CommandDetectionCapability } from '../capabilities/commandDetectionCapability.js';
4
+ import { CwdDetectionCapability } from '../capabilities/cwdDetectionCapability.js';
5
+ import { PartialCommandDetectionCapability } from '../capabilities/partialCommandDetectionCapability.js';
6
+ import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
7
+ import { BufferMarkCapability } from '../capabilities/bufferMarkCapability.js';
8
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
9
+ import { sanitizeCwd } from '../terminalEnvironment.js';
10
+ class ShellIntegrationAddon extends Disposable {
11
+ get status() { return this._status; }
12
+ constructor(_nonce, _disableTelemetry, _telemetryService, _logService) {
13
+ super();
14
+ this._nonce = _nonce;
15
+ this._disableTelemetry = _disableTelemetry;
16
+ this._telemetryService = _telemetryService;
17
+ this._logService = _logService;
18
+ this.capabilities = this._register(( new TerminalCapabilityStore()));
19
+ this._hasUpdatedTelemetry = false;
20
+ this._commonProtocolDisposables = [];
21
+ this._status = 0 ;
22
+ this._onDidChangeStatus = ( new Emitter());
23
+ this.onDidChangeStatus = this._onDidChangeStatus.event;
24
+ this._register(toDisposable(() => {
25
+ this._clearActivationTimeout();
26
+ this._disposeCommonProtocol();
27
+ }));
28
+ }
29
+ _disposeCommonProtocol() {
30
+ dispose(this._commonProtocolDisposables);
31
+ this._commonProtocolDisposables.length = 0;
32
+ }
33
+ activate(xterm) {
34
+ this._terminal = xterm;
35
+ this.capabilities.add(3 , this._register(( new PartialCommandDetectionCapability(this._terminal))));
36
+ this._register(xterm.parser.registerOscHandler(633 , data => this._handleVSCodeSequence(data)));
37
+ this._register(xterm.parser.registerOscHandler(1337 , data => this._doHandleITermSequence(data)));
38
+ this._commonProtocolDisposables.push(xterm.parser.registerOscHandler(133 , data => this._handleFinalTermSequence(data)));
39
+ this._register(xterm.parser.registerOscHandler(7 , data => this._doHandleSetCwd(data)));
40
+ this._register(xterm.parser.registerOscHandler(9 , data => this._doHandleSetWindowsFriendlyCwd(data)));
41
+ this._ensureCapabilitiesOrAddFailureTelemetry();
42
+ }
43
+ getMarkerId(terminal, vscodeMarkerId) {
44
+ this._createOrGetBufferMarkDetection(terminal).getMark(vscodeMarkerId);
45
+ }
46
+ _handleFinalTermSequence(data) {
47
+ const didHandle = this._doHandleFinalTermSequence(data);
48
+ if (this._status === 0 ) {
49
+ this._status = 1 ;
50
+ this._onDidChangeStatus.fire(this._status);
51
+ }
52
+ return didHandle;
53
+ }
54
+ _doHandleFinalTermSequence(data) {
55
+ if (!this._terminal) {
56
+ return false;
57
+ }
58
+ const [command, ...args] = data.split(';');
59
+ switch (command) {
60
+ case 'A':
61
+ this._createOrGetCommandDetection(this._terminal).handlePromptStart();
62
+ return true;
63
+ case 'B':
64
+ this._createOrGetCommandDetection(this._terminal).handleCommandStart({ ignoreCommandLine: true });
65
+ return true;
66
+ case 'C':
67
+ this._createOrGetCommandDetection(this._terminal).handleCommandExecuted();
68
+ return true;
69
+ case 'D': {
70
+ const exitCode = args.length === 1 ? parseInt(args[0]) : undefined;
71
+ this._createOrGetCommandDetection(this._terminal).handleCommandFinished(exitCode);
72
+ return true;
73
+ }
74
+ }
75
+ return false;
76
+ }
77
+ _handleVSCodeSequence(data) {
78
+ const didHandle = this._doHandleVSCodeSequence(data);
79
+ if (!this._hasUpdatedTelemetry && didHandle) {
80
+ this._telemetryService?.publicLog2('terminal/shellIntegrationActivationSucceeded');
81
+ this._hasUpdatedTelemetry = true;
82
+ this._clearActivationTimeout();
83
+ }
84
+ if (this._status !== 2 ) {
85
+ this._status = 2 ;
86
+ this._onDidChangeStatus.fire(this._status);
87
+ }
88
+ return didHandle;
89
+ }
90
+ async _ensureCapabilitiesOrAddFailureTelemetry() {
91
+ if (!this._telemetryService || this._disableTelemetry) {
92
+ return;
93
+ }
94
+ this._activationTimeout = setTimeout(() => {
95
+ if (!this.capabilities.get(2 ) && !this.capabilities.get(0 )) {
96
+ this._telemetryService?.publicLog2('terminal/shellIntegrationActivationTimeout');
97
+ this._logService.warn('Shell integration failed to add capabilities within 10 seconds');
98
+ }
99
+ this._hasUpdatedTelemetry = true;
100
+ }, 10000);
101
+ }
102
+ _clearActivationTimeout() {
103
+ if (this._activationTimeout !== undefined) {
104
+ clearTimeout(this._activationTimeout);
105
+ this._activationTimeout = undefined;
106
+ }
107
+ }
108
+ _doHandleVSCodeSequence(data) {
109
+ if (!this._terminal) {
110
+ return false;
111
+ }
112
+ const argsIndex = data.indexOf(';');
113
+ const sequenceCommand = argsIndex === -1 ? data : data.substring(0, argsIndex);
114
+ const args = argsIndex === -1 ? [] : data.substring(argsIndex + 1).split(';');
115
+ switch (sequenceCommand) {
116
+ case "A" :
117
+ this._createOrGetCommandDetection(this._terminal).handlePromptStart();
118
+ return true;
119
+ case "B" :
120
+ this._createOrGetCommandDetection(this._terminal).handleCommandStart();
121
+ return true;
122
+ case "C" :
123
+ this._createOrGetCommandDetection(this._terminal).handleCommandExecuted();
124
+ return true;
125
+ case "D" : {
126
+ const arg0 = args[0];
127
+ const exitCode = arg0 !== undefined ? parseInt(arg0) : undefined;
128
+ this._createOrGetCommandDetection(this._terminal).handleCommandFinished(exitCode);
129
+ return true;
130
+ }
131
+ case "E" : {
132
+ const arg0 = args[0];
133
+ const arg1 = args[1];
134
+ let commandLine;
135
+ if (arg0 !== undefined) {
136
+ commandLine = deserializeMessage(arg0);
137
+ }
138
+ else {
139
+ commandLine = '';
140
+ }
141
+ this._createOrGetCommandDetection(this._terminal).setCommandLine(commandLine, arg1 === this._nonce);
142
+ return true;
143
+ }
144
+ case "F" : {
145
+ this._createOrGetCommandDetection(this._terminal).handleContinuationStart();
146
+ return true;
147
+ }
148
+ case "G" : {
149
+ this._createOrGetCommandDetection(this._terminal).handleContinuationEnd();
150
+ return true;
151
+ }
152
+ case "H" : {
153
+ this._createOrGetCommandDetection(this._terminal).handleRightPromptStart();
154
+ return true;
155
+ }
156
+ case "I" : {
157
+ this._createOrGetCommandDetection(this._terminal).handleRightPromptEnd();
158
+ return true;
159
+ }
160
+ case "P" : {
161
+ const arg0 = args[0];
162
+ const deserialized = arg0 !== undefined ? deserializeMessage(arg0) : '';
163
+ const { key, value } = parseKeyValueAssignment(deserialized);
164
+ if (value === undefined) {
165
+ return true;
166
+ }
167
+ switch (key) {
168
+ case 'Cwd': {
169
+ this._updateCwd(value);
170
+ return true;
171
+ }
172
+ case 'IsWindows': {
173
+ this._createOrGetCommandDetection(this._terminal).setIsWindowsPty(value === 'True' ? true : false);
174
+ return true;
175
+ }
176
+ case 'Task': {
177
+ this._createOrGetBufferMarkDetection(this._terminal);
178
+ this.capabilities.get(2 )?.setIsCommandStorageDisabled();
179
+ return true;
180
+ }
181
+ }
182
+ }
183
+ case "SetMark" : {
184
+ this._createOrGetBufferMarkDetection(this._terminal).addMark(parseMarkSequence(args));
185
+ return true;
186
+ }
187
+ }
188
+ return false;
189
+ }
190
+ _updateCwd(value) {
191
+ value = sanitizeCwd(value);
192
+ this._createOrGetCwdDetection().updateCwd(value);
193
+ const commandDetection = this.capabilities.get(2 );
194
+ commandDetection?.setCwd(value);
195
+ }
196
+ _doHandleITermSequence(data) {
197
+ if (!this._terminal) {
198
+ return false;
199
+ }
200
+ const [command] = data.split(';');
201
+ switch (command) {
202
+ case "SetMark" : {
203
+ this._createOrGetBufferMarkDetection(this._terminal).addMark();
204
+ }
205
+ default: {
206
+ const { key, value } = parseKeyValueAssignment(command);
207
+ if (value === undefined) {
208
+ return true;
209
+ }
210
+ switch (key) {
211
+ case "CurrentDir" :
212
+ this._updateCwd(value);
213
+ return true;
214
+ }
215
+ }
216
+ }
217
+ return false;
218
+ }
219
+ _doHandleSetWindowsFriendlyCwd(data) {
220
+ if (!this._terminal) {
221
+ return false;
222
+ }
223
+ const [command, ...args] = data.split(';');
224
+ switch (command) {
225
+ case '9':
226
+ if (args.length) {
227
+ this._updateCwd(args[0]);
228
+ }
229
+ return true;
230
+ }
231
+ return false;
232
+ }
233
+ _doHandleSetCwd(data) {
234
+ if (!this._terminal) {
235
+ return false;
236
+ }
237
+ const [command] = data.split(';');
238
+ if (command.match(/^file:\/\/.*\//)) {
239
+ const uri = ( URI.parse(command));
240
+ if (uri.path && uri.path.length > 0) {
241
+ this._updateCwd(uri.path);
242
+ return true;
243
+ }
244
+ }
245
+ return false;
246
+ }
247
+ serialize() {
248
+ if (!this._terminal || !( this.capabilities.has(2 ))) {
249
+ return {
250
+ isWindowsPty: false,
251
+ commands: []
252
+ };
253
+ }
254
+ const result = this._createOrGetCommandDetection(this._terminal).serialize();
255
+ return result;
256
+ }
257
+ deserialize(serialized) {
258
+ if (!this._terminal) {
259
+ throw new Error('Cannot restore commands before addon is activated');
260
+ }
261
+ this._createOrGetCommandDetection(this._terminal).deserialize(serialized);
262
+ }
263
+ _createOrGetCwdDetection() {
264
+ let cwdDetection = this.capabilities.get(0 );
265
+ if (!cwdDetection) {
266
+ cwdDetection = this._register(( new CwdDetectionCapability()));
267
+ this.capabilities.add(0 , cwdDetection);
268
+ }
269
+ return cwdDetection;
270
+ }
271
+ _createOrGetCommandDetection(terminal) {
272
+ let commandDetection = this.capabilities.get(2 );
273
+ if (!commandDetection) {
274
+ commandDetection = this._register(( new CommandDetectionCapability(terminal, this._logService)));
275
+ this.capabilities.add(2 , commandDetection);
276
+ }
277
+ return commandDetection;
278
+ }
279
+ _createOrGetBufferMarkDetection(terminal) {
280
+ let bufferMarkDetection = this.capabilities.get(4 );
281
+ if (!bufferMarkDetection) {
282
+ bufferMarkDetection = this._register(( new BufferMarkCapability(terminal)));
283
+ this.capabilities.add(4 , bufferMarkDetection);
284
+ }
285
+ return bufferMarkDetection;
286
+ }
287
+ }
288
+ function deserializeMessage(message) {
289
+ return message.replaceAll(
290
+ /\\(\\|x([0-9a-f]{2}))/gi,
291
+ (_match, op, hex) => hex ? String.fromCharCode(parseInt(hex, 16)) : op);
292
+ }
293
+ function parseKeyValueAssignment(message) {
294
+ const separatorIndex = message.indexOf('=');
295
+ if (separatorIndex === -1) {
296
+ return { key: message, value: undefined };
297
+ }
298
+ return {
299
+ key: message.substring(0, separatorIndex),
300
+ value: message.substring(1 + separatorIndex)
301
+ };
302
+ }
303
+ function parseMarkSequence(sequence) {
304
+ let id = undefined;
305
+ let hidden = false;
306
+ for (const property of sequence) {
307
+ if (property === undefined) {
308
+ continue;
309
+ }
310
+ if (property === 'Hidden') {
311
+ hidden = true;
312
+ }
313
+ if (property.startsWith('Id=')) {
314
+ id = property.substring(3);
315
+ }
316
+ }
317
+ return { id, hidden };
318
+ }
319
+ export { ShellIntegrationAddon, deserializeMessage, parseKeyValueAssignment, parseMarkSequence };
@@ -2,6 +2,14 @@ import { URI, UriComponents } from '../../../base/common/uri.js';
2
2
  import { IEditorOptions } from '../../editor/common/editor.js';
3
3
  import { FileType } from '../../files/common/files.js';
4
4
 
5
+ interface IPoint {
6
+ readonly x: number;
7
+ readonly y: number;
8
+ }
9
+ interface IRectangle extends IPoint {
10
+ readonly width: number;
11
+ readonly height: number;
12
+ }
5
13
  interface IBaseOpenWindowsOptions {
6
14
  /**
7
15
  * Whether to reuse the window or open a new one.
@@ -43,7 +51,6 @@ interface IFolderToOpen extends IBaseWindowOpenable {
43
51
  interface IFileToOpen extends IBaseWindowOpenable {
44
52
  readonly fileUri: URI;
45
53
  }
46
- type MenuBarVisibility = 'classic' | 'visible' | 'toggle' | 'hidden' | 'compact';
47
54
  interface IPath<T = IEditorOptions> extends IPathData<T> {
48
55
  /**
49
56
  * The file path to open within the instance
@@ -77,4 +84,4 @@ interface IPathData<T = IEditorOptions> {
77
84
  readonly openOnlyIfExists?: boolean;
78
85
  }
79
86
 
80
- export type { IBaseOpenWindowsOptions, IBaseWindowOpenable, IFileToOpen, IFolderToOpen, IOpenEmptyWindowOptions, IOpenWindowOptions, IPath, IPathData, IWindowOpenable, IWorkspaceToOpen, MenuBarVisibility };
87
+ export type { IBaseOpenWindowsOptions, IBaseWindowOpenable, IFileToOpen, IFolderToOpen, IOpenEmptyWindowOptions, IOpenWindowOptions, IPath, IPathData, IPoint, IRectangle, IWindowOpenable, IWorkspaceToOpen };
@@ -1,4 +1,9 @@
1
1
  import { isMacintosh, isNative, isWeb, isLinux } from 'monaco-editor/esm/vs/base/common/platform.js';
2
+ const WindowMinimumSize = {
3
+ WIDTH: 400,
4
+ WIDTH_WITH_VERTICAL_PANEL: 600,
5
+ HEIGHT: 270
6
+ };
2
7
  function isWorkspaceToOpen(uriToOpen) {
3
8
  return !!uriToOpen.workspaceUri;
4
9
  }
@@ -39,4 +44,4 @@ function getTitleBarStyle(configurationService) {
39
44
  }
40
45
  return isLinux ? 'native' : 'custom';
41
46
  }
42
- export { getMenuBarVisibility, getTitleBarStyle, isFileToOpen, isFolderToOpen, isWorkspaceToOpen };
47
+ export { WindowMinimumSize, getMenuBarVisibility, getTitleBarStyle, isFileToOpen, isFolderToOpen, isWorkspaceToOpen };
@@ -1,43 +1,6 @@
1
- import { ServiceIdentifier } from '../../instantiation/common/instantiation.js';
2
- import { Event } from '../../../base/common/event.js';
3
1
  import { URI } from '../../../base/common/uri.js';
4
- import { IWorkspaceBackupInfo, IFolderBackupInfo } from '../../backup/common/backup.js';
5
- import { IBaseWorkspace, IRawFileWorkspaceFolder, IRawUriWorkspaceFolder, IWorkspaceIdentifier } from '../../workspace/common/workspace.js';
2
+ import { IBaseWorkspace, IRawFileWorkspaceFolder, IRawUriWorkspaceFolder } from '../../workspace/common/workspace.js';
6
3
 
7
- declare const IWorkspacesService: ServiceIdentifier<IWorkspacesService>;
8
- interface IWorkspacesService {
9
- readonly _serviceBrand: undefined;
10
- enterWorkspace(workspaceUri: URI): Promise<IEnterWorkspaceResult | undefined>;
11
- createUntitledWorkspace(folders?: IWorkspaceFolderCreationData[], remoteAuthority?: string): Promise<IWorkspaceIdentifier>;
12
- deleteUntitledWorkspace(workspace: IWorkspaceIdentifier): Promise<void>;
13
- getWorkspaceIdentifier(workspaceUri: URI): Promise<IWorkspaceIdentifier>;
14
- readonly onDidChangeRecentlyOpened: Event<void>;
15
- addRecentlyOpened(recents: IRecent[]): Promise<void>;
16
- removeRecentlyOpened(workspaces: URI[]): Promise<void>;
17
- clearRecentlyOpened(): Promise<void>;
18
- getRecentlyOpened(): Promise<IRecentlyOpened>;
19
- getDirtyWorkspaces(): Promise<Array<IWorkspaceBackupInfo | IFolderBackupInfo>>;
20
- }
21
- interface IRecentlyOpened {
22
- workspaces: Array<IRecentWorkspace | IRecentFolder>;
23
- files: IRecentFile[];
24
- }
25
- type IRecent = IRecentWorkspace | IRecentFolder | IRecentFile;
26
- interface IRecentWorkspace {
27
- readonly workspace: IWorkspaceIdentifier;
28
- label?: string;
29
- readonly remoteAuthority?: string;
30
- }
31
- interface IRecentFolder {
32
- readonly folderUri: URI;
33
- label?: string;
34
- readonly remoteAuthority?: string;
35
- }
36
- interface IRecentFile {
37
- readonly fileUri: URI;
38
- label?: string;
39
- readonly remoteAuthority?: string;
40
- }
41
4
  type IStoredWorkspaceFolder = IRawFileWorkspaceFolder | IRawUriWorkspaceFolder;
42
5
  interface IStoredWorkspace extends IBaseWorkspace {
43
6
  folders: IStoredWorkspaceFolder[];
@@ -46,9 +9,5 @@ interface IWorkspaceFolderCreationData {
46
9
  readonly uri: URI;
47
10
  readonly name?: string;
48
11
  }
49
- interface IEnterWorkspaceResult {
50
- readonly workspace: IWorkspaceIdentifier;
51
- readonly backupPath?: string;
52
- }
53
12
 
54
- export { type IEnterWorkspaceResult, type IRecent, type IRecentFile, type IRecentFolder, type IRecentWorkspace, type IRecentlyOpened, type IStoredWorkspace, type IStoredWorkspaceFolder, type IWorkspaceFolderCreationData, IWorkspacesService };
13
+ export type { IStoredWorkspace, IStoredWorkspaceFolder, IWorkspaceFolderCreationData };