@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,273 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
3
+ import { mark } from 'monaco-editor/esm/vs/base/common/performance.js';
4
+ import { Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
5
+ import { getWindowId, registerWindow, getActiveWindow, createMetaElement, copyAttributes, cloneGlobalStylesheets, sharedMutationObserver, trackAttributes, addDisposableListener, EventType, getClientArea, position, size, EventHelper, ModifierKeyEmitter, isGlobalStylesheet } from 'monaco-editor/esm/vs/base/browser/dom.js';
6
+ import { mainWindow, ensureCodeWindow } from 'monaco-editor/esm/vs/base/browser/window.js';
7
+ import { Disposable, toDisposable, DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
8
+ import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
9
+ import { IWorkbenchLayoutService } from '../../layout/browser/layoutService.js';
10
+ import { onUnexpectedError } from 'monaco-editor/esm/vs/base/common/errors.js';
11
+ import { isWeb } from 'monaco-editor/esm/vs/base/common/platform.js';
12
+ import { WindowMinimumSize } from '../../../../platform/window/common/window.js';
13
+ import '../../../../../../../override/vs/platform/dialogs/common/dialogs.js';
14
+ import Severity from 'monaco-editor/esm/vs/base/common/severity.js';
15
+ import { BaseWindow } from '../../../browser/window.js';
16
+ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
17
+ import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
18
+ import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
19
+ var BrowserAuxiliaryWindowService_1;
20
+ const IAuxiliaryWindowService = ( createDecorator('auxiliaryWindowService'));
21
+ let AuxiliaryWindow = class AuxiliaryWindow extends BaseWindow {
22
+ constructor(window, container, configurationService) {
23
+ super(window);
24
+ this.window = window;
25
+ this.container = container;
26
+ this.configurationService = configurationService;
27
+ this._onDidLayout = this._register(( new Emitter()));
28
+ this.onDidLayout = this._onDidLayout.event;
29
+ this._onWillClose = this._register(( new Emitter()));
30
+ this.onWillClose = this._onWillClose.event;
31
+ this._onWillDispose = this._register(( new Emitter()));
32
+ this.onWillDispose = this._onWillDispose.event;
33
+ this.registerListeners();
34
+ }
35
+ registerListeners() {
36
+ this._register(addDisposableListener(this.window, EventType.BEFORE_UNLOAD, (e) => this.onBeforeUnload(e)));
37
+ this._register(addDisposableListener(this.window, EventType.UNLOAD, () => this._onWillClose.fire()));
38
+ this._register(addDisposableListener(this.window, 'unhandledrejection', e => {
39
+ onUnexpectedError(e.reason);
40
+ e.preventDefault();
41
+ }));
42
+ this._register(addDisposableListener(this.window, EventType.RESIZE, () => {
43
+ const dimension = getClientArea(this.window.document.body, this.container);
44
+ position(this.container, 0, 0, 0, 0, 'relative');
45
+ size(this.container, dimension.width, dimension.height);
46
+ this._onDidLayout.fire(dimension);
47
+ }));
48
+ this._register(addDisposableListener(this.container, EventType.SCROLL, () => this.container.scrollTop = 0));
49
+ if (isWeb) {
50
+ this._register(addDisposableListener(this.container, EventType.DROP, e => EventHelper.stop(e, true)));
51
+ this._register(addDisposableListener(this.container, EventType.WHEEL, e => e.preventDefault(), { passive: false }));
52
+ this._register(addDisposableListener(this.container, EventType.CONTEXT_MENU, e => EventHelper.stop(e, true)));
53
+ }
54
+ else {
55
+ this._register(addDisposableListener(this.window.document.body, EventType.DRAG_OVER, (e) => EventHelper.stop(e)));
56
+ this._register(addDisposableListener(this.window.document.body, EventType.DROP, (e) => EventHelper.stop(e)));
57
+ }
58
+ }
59
+ onBeforeUnload(e) {
60
+ const confirmBeforeCloseSetting = this.configurationService.getValue('window.confirmBeforeClose');
61
+ const confirmBeforeClose = confirmBeforeCloseSetting === 'always' || (confirmBeforeCloseSetting === 'keyboardOnly' && ModifierKeyEmitter.getInstance().isModifierPressed);
62
+ if (confirmBeforeClose) {
63
+ this.confirmBeforeClose(e);
64
+ }
65
+ }
66
+ confirmBeforeClose(e) {
67
+ e.preventDefault();
68
+ e.returnValue = ( localizeWithPath(
69
+ 'vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService',
70
+ 'lifecycleVeto',
71
+ "Changes that you made may not be saved. Please check press 'Cancel' and try again."
72
+ ));
73
+ }
74
+ layout() {
75
+ this._onDidLayout.fire(getClientArea(this.window.document.body, this.container));
76
+ }
77
+ dispose() {
78
+ if (this._store.isDisposed) {
79
+ return;
80
+ }
81
+ this._onWillDispose.fire();
82
+ super.dispose();
83
+ }
84
+ };
85
+ AuxiliaryWindow = ( __decorate([
86
+ ( __param(2, IConfigurationService))
87
+ ], AuxiliaryWindow));
88
+ let BrowserAuxiliaryWindowService = class BrowserAuxiliaryWindowService extends Disposable {
89
+ static { BrowserAuxiliaryWindowService_1 = this; }
90
+ static { this.DEFAULT_SIZE = { width: 800, height: 600 }; }
91
+ static { this.WINDOW_IDS = getWindowId(mainWindow) + 1; }
92
+ constructor(layoutService, dialogService, configurationService, telemetryService) {
93
+ super();
94
+ this.layoutService = layoutService;
95
+ this.dialogService = dialogService;
96
+ this.configurationService = configurationService;
97
+ this.telemetryService = telemetryService;
98
+ this._onDidOpenAuxiliaryWindow = this._register(( new Emitter()));
99
+ this.onDidOpenAuxiliaryWindow = this._onDidOpenAuxiliaryWindow.event;
100
+ this.windows = ( new Map());
101
+ }
102
+ async open(options) {
103
+ mark('code/auxiliaryWindow/willOpen');
104
+ const targetWindow = await this.openWindow(options);
105
+ if (!targetWindow) {
106
+ throw new Error(localizeWithPath('vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService', 'unableToOpenWindowError', "Unable to open a new window."));
107
+ }
108
+ const resolvedWindowId = await this.resolveWindowId(targetWindow);
109
+ ensureCodeWindow(targetWindow, resolvedWindowId);
110
+ const containerDisposables = ( new DisposableStore());
111
+ const container = this.createContainer(targetWindow, containerDisposables);
112
+ const auxiliaryWindow = this.createAuxiliaryWindow(targetWindow, container);
113
+ const registryDisposables = ( new DisposableStore());
114
+ this.windows.set(targetWindow.vscodeWindowId, auxiliaryWindow);
115
+ registryDisposables.add(toDisposable(() => this.windows.delete(targetWindow.vscodeWindowId)));
116
+ const eventDisposables = ( new DisposableStore());
117
+ Event.once(auxiliaryWindow.onWillDispose)(() => {
118
+ targetWindow.close();
119
+ containerDisposables.dispose();
120
+ registryDisposables.dispose();
121
+ eventDisposables.dispose();
122
+ });
123
+ registryDisposables.add(registerWindow(targetWindow));
124
+ this._onDidOpenAuxiliaryWindow.fire({ window: auxiliaryWindow, disposables: eventDisposables });
125
+ mark('code/auxiliaryWindow/didOpen');
126
+ this.telemetryService.publicLog2('auxiliaryWindowOpen', { bounds: !!options?.bounds });
127
+ return auxiliaryWindow;
128
+ }
129
+ createAuxiliaryWindow(targetWindow, container) {
130
+ return ( new AuxiliaryWindow(targetWindow, container, this.configurationService));
131
+ }
132
+ async openWindow(options) {
133
+ const activeWindow = getActiveWindow();
134
+ const activeWindowBounds = {
135
+ x: activeWindow.screenX,
136
+ y: activeWindow.screenY,
137
+ width: activeWindow.outerWidth,
138
+ height: activeWindow.outerHeight
139
+ };
140
+ const width = Math.max(options?.bounds?.width ?? BrowserAuxiliaryWindowService_1.DEFAULT_SIZE.width, WindowMinimumSize.WIDTH);
141
+ const height = Math.max(options?.bounds?.height ?? BrowserAuxiliaryWindowService_1.DEFAULT_SIZE.height, WindowMinimumSize.HEIGHT);
142
+ let newWindowBounds = {
143
+ x: options?.bounds?.x ?? (activeWindowBounds.x + activeWindowBounds.width / 2 - width / 2),
144
+ y: options?.bounds?.y ?? (activeWindowBounds.y + activeWindowBounds.height / 2 - height / 2),
145
+ width,
146
+ height
147
+ };
148
+ if (newWindowBounds.x === activeWindowBounds.x && newWindowBounds.y === activeWindowBounds.y) {
149
+ newWindowBounds = {
150
+ ...newWindowBounds,
151
+ x: newWindowBounds.x + 30,
152
+ y: newWindowBounds.y + 30
153
+ };
154
+ }
155
+ const auxiliaryWindow = mainWindow.open('about:blank', undefined, `popup=yes,left=${newWindowBounds.x},top=${newWindowBounds.y},width=${newWindowBounds.width},height=${newWindowBounds.height}`);
156
+ if (!auxiliaryWindow && isWeb) {
157
+ return (await this.dialogService.prompt({
158
+ type: Severity.Warning,
159
+ message: ( localizeWithPath(
160
+ 'vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService',
161
+ 'unableToOpenWindow',
162
+ "The browser interrupted the opening of a new window. Press 'Retry' to try again."
163
+ )),
164
+ detail: ( localizeWithPath(
165
+ 'vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService',
166
+ 'unableToOpenWindowDetail',
167
+ "To avoid this problem in the future, please ensure to allow popups for this website."
168
+ )),
169
+ buttons: [
170
+ {
171
+ label: ( localizeWithPath(
172
+ 'vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService',
173
+ { key: 'retry', comment: ['&& denotes a mnemonic'] },
174
+ "&&Retry"
175
+ )),
176
+ run: () => this.openWindow(options)
177
+ }
178
+ ],
179
+ cancelButton: true
180
+ })).result;
181
+ }
182
+ return auxiliaryWindow?.window;
183
+ }
184
+ async resolveWindowId(auxiliaryWindow) {
185
+ return BrowserAuxiliaryWindowService_1.WINDOW_IDS++;
186
+ }
187
+ createContainer(auxiliaryWindow, disposables) {
188
+ this.patchMethods(auxiliaryWindow);
189
+ this.applyMeta(auxiliaryWindow);
190
+ this.applyCSS(auxiliaryWindow, disposables);
191
+ return this.applyHTML(auxiliaryWindow, disposables);
192
+ }
193
+ patchMethods(auxiliaryWindow) {
194
+ auxiliaryWindow.document.createElement = function () {
195
+ throw new Error('Not allowed to create elements in child window JavaScript context. Always use the main window so that "xyz instanceof HTMLElement" continues to work.');
196
+ };
197
+ }
198
+ applyMeta(auxiliaryWindow) {
199
+ const metaCharset = createMetaElement(auxiliaryWindow.document.head);
200
+ metaCharset.setAttribute('charset', 'utf-8');
201
+ const originalCSPMetaTag = mainWindow.document.querySelector('meta[http-equiv="Content-Security-Policy"]');
202
+ if (originalCSPMetaTag) {
203
+ const csp = createMetaElement(auxiliaryWindow.document.head);
204
+ copyAttributes(originalCSPMetaTag, csp);
205
+ const content = csp.getAttribute('content');
206
+ if (content) {
207
+ csp.setAttribute('content', content.replace(/(script-src[^\;]*)/, `script-src 'none'`));
208
+ }
209
+ }
210
+ }
211
+ applyCSS(auxiliaryWindow, disposables) {
212
+ mark('code/auxiliaryWindow/willApplyCSS');
213
+ const mapOriginalToClone = ( new Map());
214
+ function cloneNode(originalNode) {
215
+ if (isGlobalStylesheet(originalNode)) {
216
+ return;
217
+ }
218
+ const clonedNode = auxiliaryWindow.document.head.appendChild(originalNode.cloneNode(true));
219
+ mapOriginalToClone.set(originalNode, clonedNode);
220
+ }
221
+ for (const originalNode of mainWindow.document.head.querySelectorAll('link[rel="stylesheet"], style')) {
222
+ cloneNode(originalNode);
223
+ }
224
+ disposables.add(cloneGlobalStylesheets(auxiliaryWindow));
225
+ disposables.add(sharedMutationObserver.observe(mainWindow.document.head, disposables, { childList: true, subtree: true })(mutations => {
226
+ for (const mutation of mutations) {
227
+ if (mutation.type !== 'childList' ||
228
+ mutation.target.nodeName.toLowerCase() === 'title' ||
229
+ mutation.target.nodeName.toLowerCase() === 'script' ||
230
+ mutation.target.nodeName.toLowerCase() === 'meta'
231
+ ) {
232
+ continue;
233
+ }
234
+ for (const node of mutation.addedNodes) {
235
+ if (node instanceof HTMLElement && (node.tagName.toLowerCase() === 'style' || node.tagName.toLowerCase() === 'link')) {
236
+ cloneNode(node);
237
+ }
238
+ else if (node.nodeType === Node.TEXT_NODE && node.parentNode) {
239
+ const clonedNode = mapOriginalToClone.get(node.parentNode);
240
+ if (clonedNode) {
241
+ clonedNode.textContent = node.textContent;
242
+ }
243
+ }
244
+ }
245
+ for (const node of mutation.removedNodes) {
246
+ const clonedNode = mapOriginalToClone.get(node);
247
+ if (clonedNode) {
248
+ clonedNode.parentNode?.removeChild(clonedNode);
249
+ mapOriginalToClone.delete(node);
250
+ }
251
+ }
252
+ }
253
+ }));
254
+ mark('code/auxiliaryWindow/didApplyCSS');
255
+ }
256
+ applyHTML(auxiliaryWindow, disposables) {
257
+ mark('code/auxiliaryWindow/willApplyHTML');
258
+ const container = document.createElement('div');
259
+ auxiliaryWindow.document.body.append(container);
260
+ disposables.add(trackAttributes(mainWindow.document.documentElement, auxiliaryWindow.document.documentElement));
261
+ disposables.add(trackAttributes(mainWindow.document.body, auxiliaryWindow.document.body));
262
+ disposables.add(trackAttributes(this.layoutService.mainContainer, container, ['class']));
263
+ mark('code/auxiliaryWindow/didApplyHTML');
264
+ return container;
265
+ }
266
+ };
267
+ BrowserAuxiliaryWindowService = BrowserAuxiliaryWindowService_1 = ( __decorate([
268
+ ( __param(0, IWorkbenchLayoutService)),
269
+ ( __param(1, IDialogService)),
270
+ ( __param(2, IConfigurationService)),
271
+ ( __param(3, ITelemetryService))
272
+ ], BrowserAuxiliaryWindowService));
273
+ export { AuxiliaryWindow, BrowserAuxiliaryWindowService, IAuxiliaryWindowService };
@@ -16,6 +16,7 @@ var VariableKind;
16
16
  VariableKind["SelectedText"] = "selectedText";
17
17
  VariableKind["File"] = "file";
18
18
  VariableKind["FileWorkspaceFolder"] = "fileWorkspaceFolder";
19
+ VariableKind["FileWorkspaceFolderBasename"] = "fileWorkspaceFolderBasename";
19
20
  VariableKind["RelativeFile"] = "relativeFile";
20
21
  VariableKind["RelativeFileDirname"] = "relativeFileDirname";
21
22
  VariableKind["FileDirname"] = "fileDirname";
@@ -232,6 +232,8 @@ class AbstractVariableResolverService {
232
232
  return getFilePath(VariableKind.File);
233
233
  case 'fileWorkspaceFolder':
234
234
  return getFolderPathForFile(VariableKind.FileWorkspaceFolder);
235
+ case 'fileWorkspaceFolderBasename':
236
+ return path.basename(getFolderPathForFile(VariableKind.FileWorkspaceFolderBasename));
235
237
  case 'relativeFile':
236
238
  if (folderUri || argument) {
237
239
  return path.relative(this.fsPath(getFolderUri(VariableKind.RelativeFile)), getFilePath(VariableKind.RelativeFile));
@@ -122,13 +122,12 @@ class DecorationRule {
122
122
  class DecorationStyles {
123
123
  constructor(_themeService) {
124
124
  this._themeService = _themeService;
125
- this._styleElement = createStyleSheet();
126
- this._decorationRules = ( new Map());
127
125
  this._dispoables = ( new DisposableStore());
126
+ this._styleElement = createStyleSheet(undefined, undefined, this._dispoables);
127
+ this._decorationRules = ( new Map());
128
128
  }
129
129
  dispose() {
130
130
  this._dispoables.dispose();
131
- this._styleElement.remove();
132
131
  }
133
132
  asDecoration(data, onlyChildren) {
134
133
  data.sort((a, b) => (b.weight || 0) - (a.weight || 0));
@@ -5,10 +5,10 @@ import { EditorInput } from '../../../common/editor/editorInput.js';
5
5
  import { IFileService } from '../../../../platform/files/common/files.js';
6
6
  import { Event } from '../../../../base/common/event.js';
7
7
  import { URI } from '../../../../base/common/uri.js';
8
- import { IEditorGroupsService, ICloseEditorOptions, IEditorGroup, IEditorReplacement } from '../common/editorGroupsService.js';
9
- import { IEditorsChangeEvent, PreferredGroup, IOpenEditorsOptions, IUntypedEditorReplacement, ISaveEditorsOptions, ISaveEditorsResult, ISaveAllEditorsOptions, IRevertAllEditorsOptions } from '../common/editorService.js';
8
+ import { IEditorGroupsContainer, IEditorGroupsService, ICloseEditorOptions, IEditorGroup, IEditorReplacement } from '../common/editorGroupsService.js';
9
+ import { IEditorsChangeEvent, IEditorService, PreferredGroup, IOpenEditorsOptions, IUntypedEditorReplacement, ISaveEditorsOptions, ISaveEditorsResult, ISaveAllEditorsOptions, IRevertAllEditorsOptions } from '../common/editorService.js';
10
10
  import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';
11
- import { Disposable } from '../../../../base/common/lifecycle.js';
11
+ import { Disposable, DisposableStore } from '../../../../base/common/lifecycle.js';
12
12
  import { ICodeEditor, IDiffEditor } from '../../../../editor/browser/editorBrowser.js';
13
13
  import { EditorServiceImpl } from '../../../browser/parts/editor/editor.js';
14
14
  import { IWorkspaceContextService } from '../../../../platform/workspace/common/workspace.js';
@@ -42,7 +42,9 @@ declare class EditorService extends Disposable implements EditorServiceImpl {
42
42
  readonly onDidOpenEditorFail: Event<IEditorIdentifier>;
43
43
  private readonly _onDidMostRecentlyActiveEditorsChange;
44
44
  readonly onDidMostRecentlyActiveEditorsChange: Event<void>;
45
- constructor(editorGroupService: IEditorGroupsService, instantiationService: IInstantiationService, fileService: IFileService, configurationService: IConfigurationService, contextService: IWorkspaceContextService, uriIdentityService: IUriIdentityService, editorResolverService: IEditorResolverService, workspaceTrustRequestService: IWorkspaceTrustRequestService, hostService: IHostService, textEditorService: ITextEditorService);
45
+ private readonly editorGroupsContainer;
46
+ constructor(editorGroupsContainer: IEditorGroupsContainer | undefined, editorGroupService: IEditorGroupsService, instantiationService: IInstantiationService, fileService: IFileService, configurationService: IConfigurationService, contextService: IWorkspaceContextService, uriIdentityService: IUriIdentityService, editorResolverService: IEditorResolverService, workspaceTrustRequestService: IWorkspaceTrustRequestService, hostService: IHostService, textEditorService: ITextEditorService);
47
+ createScoped(editorGroupsContainer: IEditorGroupsContainer | 'main', disposables: DisposableStore): IEditorService;
46
48
  private registerListeners;
47
49
  private lastActiveEditor;
48
50
  private onEditorGroupsReady;
@@ -66,7 +68,7 @@ declare class EditorService extends Disposable implements EditorServiceImpl {
66
68
  get editors(): EditorInput[];
67
69
  getEditors(order: EditorsOrder, options?: {
68
70
  excludeSticky?: boolean;
69
- }): readonly IEditorIdentifier[];
71
+ }): IEditorIdentifier[];
70
72
  get activeEditor(): EditorInput | undefined;
71
73
  get visibleEditorPanes(): IVisibleEditorPane[];
72
74
  get visibleTextEditorControls(): Array<ICodeEditor | IDiffEditor>;
@@ -26,8 +26,9 @@ import { IWorkspaceTrustRequestService } from 'monaco-editor/esm/vs/platform/wor
26
26
  import { IHostService } from '../../host/browser/host.js';
27
27
  import { findGroup } from '../common/editorGroupFinder.js';
28
28
  import { ITextEditorService } from '../../textfile/common/textEditorService.js';
29
- let EditorService = class EditorService extends Disposable {
30
- constructor(editorGroupService, instantiationService, fileService, configurationService, contextService, uriIdentityService, editorResolverService, workspaceTrustRequestService, hostService, textEditorService) {
29
+ var EditorService_1;
30
+ let EditorService = EditorService_1 = class EditorService extends Disposable {
31
+ constructor(editorGroupsContainer, editorGroupService, instantiationService, fileService, configurationService, contextService, uriIdentityService, editorResolverService, workspaceTrustRequestService, hostService, textEditorService) {
31
32
  super();
32
33
  this.editorGroupService = editorGroupService;
33
34
  this.instantiationService = instantiationService;
@@ -54,14 +55,35 @@ let EditorService = class EditorService extends Disposable {
54
55
  this.lastActiveEditor = undefined;
55
56
  this.activeOutOfWorkspaceWatchers = ( new ResourceMap());
56
57
  this.closeOnFileDelete = false;
57
- this.editorsObserver = this._register(this.instantiationService.createInstance(EditorsObserver));
58
+ this.editorGroupsContainer = editorGroupsContainer ?? editorGroupService;
59
+ this.editorsObserver = this._register(this.instantiationService.createInstance(EditorsObserver, this.editorGroupsContainer));
58
60
  this.onConfigurationUpdated();
59
61
  this.registerListeners();
60
62
  }
63
+ createScoped(editorGroupsContainer, disposables) {
64
+ return disposables.add(( new EditorService_1(
65
+ editorGroupsContainer === 'main' ? this.editorGroupService.mainPart : editorGroupsContainer,
66
+ this.editorGroupService,
67
+ this.instantiationService,
68
+ this.fileService,
69
+ this.configurationService,
70
+ this.contextService,
71
+ this.uriIdentityService,
72
+ this.editorResolverService,
73
+ this.workspaceTrustRequestService,
74
+ this.hostService,
75
+ this.textEditorService
76
+ )));
77
+ }
61
78
  registerListeners() {
62
- this.editorGroupService.whenReady.then(() => this.onEditorGroupsReady());
63
- this._register(this.editorGroupService.onDidChangeActiveGroup(group => this.handleActiveEditorChange(group)));
64
- this._register(this.editorGroupService.onDidAddGroup(group => this.registerGroupListeners(group)));
79
+ if (this.editorGroupsContainer === this.editorGroupService.mainPart || this.editorGroupsContainer === this.editorGroupService) {
80
+ this.editorGroupService.mainPart.whenReady.then(() => this.onEditorGroupsReady());
81
+ }
82
+ else {
83
+ this.onEditorGroupsReady();
84
+ }
85
+ this._register(this.editorGroupsContainer.onDidChangeActiveGroup(group => this.handleActiveEditorChange(group)));
86
+ this._register(this.editorGroupsContainer.onDidAddGroup(group => this.registerGroupListeners(group)));
65
87
  this._register(this.editorsObserver.onDidMostRecentlyActiveEditorsChange(() => this._onDidMostRecentlyActiveEditorsChange.fire()));
66
88
  this._register(this.onDidVisibleEditorsChange(() => this.handleVisibleEditorsChange()));
67
89
  this._register(this.fileService.onDidRunOperation(e => this.onDidRunFileOperation(e)));
@@ -69,7 +91,7 @@ let EditorService = class EditorService extends Disposable {
69
91
  this._register(this.configurationService.onDidChangeConfiguration(e => this.onConfigurationUpdated(e)));
70
92
  }
71
93
  onEditorGroupsReady() {
72
- for (const group of this.editorGroupService.groups) {
94
+ for (const group of this.editorGroupsContainer.groups) {
73
95
  this.registerGroupListeners(group);
74
96
  }
75
97
  if (this.activeEditor) {
@@ -78,7 +100,7 @@ let EditorService = class EditorService extends Disposable {
78
100
  }
79
101
  }
80
102
  handleActiveEditorChange(group) {
81
- if (group !== this.editorGroupService.activeGroup) {
103
+ if (group !== this.editorGroupsContainer.activeGroup) {
82
104
  return;
83
105
  }
84
106
  if (!this.lastActiveEditor && !group.activeEditor) {
@@ -87,7 +109,7 @@ let EditorService = class EditorService extends Disposable {
87
109
  this.doHandleActiveEditorChangeEvent();
88
110
  }
89
111
  doHandleActiveEditorChangeEvent() {
90
- const activeGroup = this.editorGroupService.activeGroup;
112
+ const activeGroup = this.editorGroupsContainer.activeGroup;
91
113
  this.lastActiveEditor = activeGroup.activeEditor ?? undefined;
92
114
  this._onDidActiveEditorChange.fire();
93
115
  }
@@ -150,7 +172,7 @@ let EditorService = class EditorService extends Disposable {
150
172
  }
151
173
  }
152
174
  async handleMovedFile(source, target) {
153
- for (const group of this.editorGroupService.groups) {
175
+ for (const group of this.editorGroupsContainer.groups) {
154
176
  const replacements = [];
155
177
  for (const editor of group.editors) {
156
178
  const resource = editor.resource;
@@ -272,7 +294,7 @@ let EditorService = class EditorService extends Disposable {
272
294
  return editors;
273
295
  }
274
296
  get activeEditorPane() {
275
- return this.editorGroupService.activeGroup?.activeEditorPane;
297
+ return this.editorGroupsContainer.activeGroup?.activeEditorPane;
276
298
  }
277
299
  get activeTextEditorControl() {
278
300
  const activeEditorPane = this.activeEditorPane;
@@ -308,12 +330,12 @@ let EditorService = class EditorService extends Disposable {
308
330
  switch (order) {
309
331
  case 0 :
310
332
  if (options?.excludeSticky) {
311
- return this.editorsObserver.editors.filter(({ groupId, editor }) => !this.editorGroupService.getGroup(groupId)?.isSticky(editor));
333
+ return this.editorsObserver.editors.filter(({ groupId, editor }) => !this.editorGroupsContainer.getGroup(groupId)?.isSticky(editor));
312
334
  }
313
335
  return this.editorsObserver.editors;
314
336
  case 1 : {
315
337
  const editors = [];
316
- for (const group of this.editorGroupService.getGroups(2 )) {
338
+ for (const group of this.editorGroupsContainer.getGroups(2 )) {
317
339
  editors.push(...( group.getEditors(1 , options).map(editor => ({ editor, groupId: group.id }))));
318
340
  }
319
341
  return editors;
@@ -321,11 +343,11 @@ let EditorService = class EditorService extends Disposable {
321
343
  }
322
344
  }
323
345
  get activeEditor() {
324
- const activeGroup = this.editorGroupService.activeGroup;
346
+ const activeGroup = this.editorGroupsContainer.activeGroup;
325
347
  return activeGroup ? activeGroup.activeEditor ?? undefined : undefined;
326
348
  }
327
349
  get visibleEditorPanes() {
328
- return coalesce(( this.editorGroupService.groups.map(group => group.activeEditorPane)));
350
+ return coalesce(( this.editorGroupsContainer.groups.map(group => group.activeEditorPane)));
329
351
  }
330
352
  get visibleTextEditorControls() {
331
353
  const visibleTextEditorControls = [];
@@ -338,7 +360,7 @@ let EditorService = class EditorService extends Disposable {
338
360
  return visibleTextEditorControls;
339
361
  }
340
362
  get visibleEditors() {
341
- return coalesce(( this.editorGroupService.groups.map(group => group.activeEditor)));
363
+ return coalesce(( this.editorGroupsContainer.groups.map(group => group.activeEditor)));
342
364
  }
343
365
  async openEditor(editor, optionsOrPreferredGroup, preferredGroup) {
344
366
  let typedEditor = undefined;
@@ -487,7 +509,7 @@ let EditorService = class EditorService extends Disposable {
487
509
  });
488
510
  }
489
511
  isVisible(editor) {
490
- for (const group of this.editorGroupService.groups) {
512
+ for (const group of this.editorGroupsContainer.groups) {
491
513
  if (group.activeEditor?.matches(editor)) {
492
514
  return true;
493
515
  }
@@ -495,13 +517,13 @@ let EditorService = class EditorService extends Disposable {
495
517
  return false;
496
518
  }
497
519
  async closeEditor({ editor, groupId }, options) {
498
- const group = this.editorGroupService.getGroup(groupId);
520
+ const group = this.editorGroupsContainer.getGroup(groupId);
499
521
  await group?.closeEditor(editor, options);
500
522
  }
501
523
  async closeEditors(editors, options) {
502
524
  const mapGroupToEditors = ( new Map());
503
525
  for (const { editor, groupId } of editors) {
504
- const group = this.editorGroupService.getGroup(groupId);
526
+ const group = this.editorGroupsContainer.getGroup(groupId);
505
527
  if (!group) {
506
528
  continue;
507
529
  }
@@ -528,7 +550,7 @@ let EditorService = class EditorService extends Disposable {
528
550
  }
529
551
  }
530
552
  if (!isUndefined(arg2)) {
531
- const targetGroup = typeof arg2 === 'number' ? this.editorGroupService.getGroup(arg2) : arg2;
553
+ const targetGroup = typeof arg2 === 'number' ? this.editorGroupsContainer.getGroup(arg2) : arg2;
532
554
  if (URI.isUri(arg1)) {
533
555
  if (!targetGroup) {
534
556
  return [];
@@ -550,7 +572,7 @@ let EditorService = class EditorService extends Disposable {
550
572
  }
551
573
  else {
552
574
  const result = [];
553
- for (const group of this.editorGroupService.getGroups(1 )) {
575
+ for (const group of this.editorGroupsContainer.getGroups(1 )) {
554
576
  const editors = [];
555
577
  if (URI.isUri(arg1)) {
556
578
  editors.push(...this.findEditors(arg1, options, group));
@@ -567,7 +589,7 @@ let EditorService = class EditorService extends Disposable {
567
589
  }
568
590
  }
569
591
  async replaceEditors(replacements, group) {
570
- const targetGroup = typeof group === 'number' ? this.editorGroupService.getGroup(group) : group;
592
+ const targetGroup = typeof group === 'number' ? this.editorGroupsContainer.getGroup(group) : group;
571
593
  const typedReplacements = [];
572
594
  for (const replacement of replacements) {
573
595
  let typedReplacement = undefined;
@@ -619,7 +641,7 @@ let EditorService = class EditorService extends Disposable {
619
641
  }
620
642
  const saveResults = await Promises.settled(( editorsToSaveParallel.map(({ groupId, editor }) => {
621
643
  if (options?.reason === 1 ) {
622
- this.editorGroupService.getGroup(groupId)?.pinEditor(editor);
644
+ this.editorGroupsContainer.getGroup(groupId)?.pinEditor(editor);
623
645
  }
624
646
  return editor.save(groupId, options);
625
647
  })));
@@ -638,7 +660,7 @@ let EditorService = class EditorService extends Disposable {
638
660
  break;
639
661
  }
640
662
  if (!editor.matches(result)) {
641
- const targetGroups = editor.hasCapability(4 ) ? ( this.editorGroupService.groups.map(group => group.id) ) : [groupId];
663
+ const targetGroups = editor.hasCapability(4 ) ? ( this.editorGroupsContainer.groups.map(group => group.id) ) : [groupId];
642
664
  for (const targetGroup of targetGroups) {
643
665
  if (result instanceof EditorInput) {
644
666
  await this.replaceEditors([{ editor, replacement: result, options: editorOptions }], targetGroup);
@@ -663,7 +685,7 @@ let EditorService = class EditorService extends Disposable {
663
685
  }
664
686
  const uniqueEditors = this.getUniqueEditors(editors);
665
687
  await Promises.settled(( uniqueEditors.map(async ({ groupId, editor }) => {
666
- this.editorGroupService.getGroup(groupId)?.pinEditor(editor);
688
+ this.editorGroupsContainer.getGroup(groupId)?.pinEditor(editor);
667
689
  return editor.revert(groupId, options);
668
690
  })));
669
691
  return !( uniqueEditors.some(({ editor }) => editor.isDirty()));
@@ -673,7 +695,7 @@ let EditorService = class EditorService extends Disposable {
673
695
  }
674
696
  getAllModifiedEditors(options) {
675
697
  const editors = [];
676
- for (const group of this.editorGroupService.getGroups(1 )) {
698
+ for (const group of this.editorGroupsContainer.getGroups(1 )) {
677
699
  for (const editor of group.getEditors(0 )) {
678
700
  if (!editor.isModified()) {
679
701
  continue;
@@ -709,16 +731,16 @@ let EditorService = class EditorService extends Disposable {
709
731
  this.activeOutOfWorkspaceWatchers.clear();
710
732
  }
711
733
  };
712
- EditorService = ( __decorate([
713
- ( __param(0, IEditorGroupsService)),
714
- ( __param(1, IInstantiationService)),
715
- ( __param(2, IFileService)),
716
- ( __param(3, IConfigurationService)),
717
- ( __param(4, IWorkspaceContextService)),
718
- ( __param(5, IUriIdentityService)),
719
- ( __param(6, IEditorResolverService)),
720
- ( __param(7, IWorkspaceTrustRequestService)),
721
- ( __param(8, IHostService)),
722
- ( __param(9, ITextEditorService))
734
+ EditorService = EditorService_1 = ( __decorate([
735
+ ( __param(1, IEditorGroupsService)),
736
+ ( __param(2, IInstantiationService)),
737
+ ( __param(3, IFileService)),
738
+ ( __param(4, IConfigurationService)),
739
+ ( __param(5, IWorkspaceContextService)),
740
+ ( __param(6, IUriIdentityService)),
741
+ ( __param(7, IEditorResolverService)),
742
+ ( __param(8, IWorkspaceTrustRequestService)),
743
+ ( __param(9, IHostService)),
744
+ ( __param(10, ITextEditorService))
723
745
  ], EditorService));
724
746
  export { EditorService };