@codingame/monaco-vscode-api 1.83.16 → 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 (328) hide show
  1. package/api.js +13 -7
  2. package/assets/clear.mp3 +0 -0
  3. package/assets/format.mp3 +0 -0
  4. package/assets/save.mp3 +0 -0
  5. package/extensions.d.ts +13 -3
  6. package/external/{xterm-addon-image/typings/xterm-addon-image.d.ts → @xterm/addon-image/typings/addon-image.d.ts} +1 -1
  7. package/external/{xterm → @xterm/xterm}/typings/xterm.d.ts +13 -1
  8. package/lifecycle.js +2 -2
  9. package/localExtensionHost.js +3 -1
  10. package/missing-services.js +115 -23
  11. package/monaco-editor-treemending.patch +6884 -18018
  12. package/monaco-treemending.js +2 -2
  13. package/package.json +7 -7
  14. package/service-override/tools/editor.d.ts +8 -8
  15. package/service-override/tools/editor.js +44 -19
  16. package/services.d.ts +2 -2
  17. package/services.js +3 -3
  18. package/vscode/src/vs/base/browser/broadcast.js +6 -5
  19. package/vscode/src/vs/base/browser/dnd.d.ts +6 -0
  20. package/vscode/src/vs/base/browser/mouseEvent.d.ts +1 -1
  21. package/vscode/src/vs/base/browser/touch.d.ts +10 -0
  22. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -0
  23. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +22 -15
  24. package/vscode/src/vs/base/browser/ui/menu/menubar.js +4 -3
  25. package/vscode/src/vs/base/browser/ui/splitview/paneview.css.js +1 -1
  26. package/vscode/src/vs/base/browser/ui/splitview/paneview.d.ts +3 -0
  27. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +34 -11
  28. package/vscode/src/vs/base/common/actions.d.ts +1 -15
  29. package/vscode/src/vs/base/common/async.d.ts +1 -31
  30. package/vscode/src/vs/base/common/event.d.ts +2 -1
  31. package/vscode/src/vs/base/common/observableInternal/base.d.ts +23 -10
  32. package/vscode/src/vs/base/common/prefixTree.js +21 -11
  33. package/vscode/src/vs/base/common/product.d.ts +16 -2
  34. package/vscode/src/vs/base/common/resourceTree.js +135 -0
  35. package/vscode/src/vs/base/common/skipList.js +1 -0
  36. package/vscode/src/vs/base/common/tfIdf.js +137 -0
  37. package/vscode/src/vs/base/common/types.d.ts +13 -1
  38. package/vscode/src/vs/base/common/verifier.js +62 -0
  39. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +4 -2
  40. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -4
  41. package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
  42. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +3 -0
  43. package/vscode/src/vs/editor/common/core/position.d.ts +1 -0
  44. package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -1
  45. package/vscode/src/vs/editor/common/languages.d.ts +23 -1
  46. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -1
  47. package/vscode/src/vs/editor/common/services/resolverService.d.ts +11 -2
  48. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +16 -1
  49. package/vscode/src/vs/platform/action/common/action.d.ts +8 -0
  50. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +4 -0
  51. package/vscode/src/vs/platform/actions/common/actions.d.ts +8 -0
  52. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +6 -0
  53. package/vscode/src/vs/platform/commands/common/commands.d.ts +13 -5
  54. package/vscode/src/vs/platform/dialogs/common/dialogs.d.ts +9 -3
  55. package/vscode/src/vs/platform/dialogs/common/dialogs.js +5 -2
  56. package/vscode/src/vs/platform/editor/common/editor.d.ts +3 -15
  57. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  58. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -15
  59. package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +5 -0
  60. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +0 -1
  61. package/vscode/src/vs/platform/files/common/files.d.ts +72 -8
  62. package/vscode/src/vs/platform/files/common/watcher.js +77 -0
  63. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +2 -2
  64. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +52 -21
  65. package/vscode/src/vs/platform/request/browser/requestService.js +3 -0
  66. package/vscode/src/vs/platform/request/common/requestIpc.js +17 -0
  67. package/vscode/src/vs/platform/storage/common/storage.js +2 -2
  68. package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +1 -0
  69. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +12 -7
  70. package/vscode/src/vs/platform/terminal/common/capabilities/{commandDetectionCapability.d.ts → commandDetection/terminalCommand.d.ts} +3 -2
  71. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +257 -0
  72. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +439 -354
  73. package/vscode/src/vs/platform/window/common/window.d.ts +9 -2
  74. package/vscode/src/vs/platform/window/common/window.js +6 -1
  75. package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +2 -43
  76. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +113 -81
  77. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +5 -4
  78. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +25 -3
  79. package/vscode/src/vs/workbench/api/common/extHostChat.js +13 -163
  80. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +412 -0
  81. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +79 -11
  82. package/vscode/src/vs/workbench/api/common/extHostCommands.js +13 -12
  83. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
  84. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +8 -6
  85. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +1 -1
  86. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +36 -19
  87. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +52 -31
  88. package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +38 -0
  89. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +28 -3
  90. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +10 -0
  91. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +117 -2
  92. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +32 -4
  93. package/vscode/src/vs/workbench/api/common/extHostSCM.js +85 -23
  94. package/vscode/src/vs/workbench/api/common/extHostSearch.js +3 -0
  95. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +42 -0
  96. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -1
  97. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -0
  98. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +3 -3
  99. package/vscode/src/vs/workbench/api/common/extHostTesting.js +97 -47
  100. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +115 -16
  101. package/vscode/src/vs/workbench/api/common/extHostTypes.js +66 -36
  102. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +6 -1
  103. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +182 -75
  104. package/vscode/src/vs/workbench/browser/actions/windowActions.js +176 -4
  105. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +143 -2
  106. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +237 -0
  107. package/vscode/src/vs/workbench/browser/composite.d.ts +0 -4
  108. package/vscode/src/vs/workbench/browser/composite.js +5 -4
  109. package/vscode/src/vs/workbench/browser/dnd.js +72 -23
  110. package/vscode/src/vs/workbench/browser/labels.js +7 -3
  111. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  112. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -2
  113. package/vscode/src/vs/workbench/browser/panecomposite.js +2 -0
  114. package/vscode/src/vs/workbench/browser/part.js +33 -2
  115. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +99 -117
  116. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +173 -33
  117. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +102 -6
  118. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +256 -17
  119. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +4 -0
  120. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +68 -35
  121. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -5
  122. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +35 -16
  123. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +348 -0
  124. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +43 -31
  125. package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +4 -0
  126. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -0
  127. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -0
  128. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +14 -2
  129. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +4 -4
  130. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +277 -0
  131. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +5 -2
  132. package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
  133. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +3 -38
  134. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +54 -52
  135. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +2 -1
  136. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +25 -0
  137. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +258 -0
  138. package/vscode/src/vs/workbench/browser/parts/views/media/paneviewlet.css.js +1 -1
  139. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -5
  140. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +157 -117
  141. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +50 -23
  142. package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +26 -11
  143. package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.js +10 -6
  144. package/vscode/src/vs/workbench/browser/style.js +2 -1
  145. package/vscode/src/vs/workbench/browser/web.api.d.ts +39 -2
  146. package/vscode/src/vs/workbench/browser/window.js +55 -0
  147. package/vscode/src/vs/workbench/browser/workbench.contribution.js +220 -40
  148. package/vscode/src/vs/workbench/common/activity.js +3 -0
  149. package/vscode/src/vs/workbench/common/contextkeys.js +35 -5
  150. package/vscode/src/vs/workbench/common/contributions.js +4 -3
  151. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +14 -4
  152. package/vscode/src/vs/workbench/common/editor/diffEditorModel.js +1 -1
  153. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +22 -19
  154. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +4 -3
  155. package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +1 -2
  156. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +22 -4
  157. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +3 -3
  158. package/vscode/src/vs/workbench/common/editor.d.ts +60 -30
  159. package/vscode/src/vs/workbench/common/editor.js +11 -3
  160. package/vscode/src/vs/workbench/common/theme.js +2 -2
  161. package/vscode/src/vs/workbench/common/views.d.ts +4 -4
  162. package/vscode/src/vs/workbench/common/views.js +3 -1
  163. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +97 -8
  164. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +17 -99
  165. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +103 -37
  166. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +2 -3
  167. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +127 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +71 -0
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -1
  170. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +33 -110
  171. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +64 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +94 -0
  173. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -1
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +1 -88
  175. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +4 -4
  176. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -2
  177. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -1
  178. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -16
  179. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -3
  180. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +3 -1
  181. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -3
  182. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +1 -0
  183. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +9 -1
  184. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +10 -1
  185. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +114 -22
  186. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  187. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +4 -1
  188. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +19 -0
  189. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +10 -8
  190. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +62 -10
  191. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +2 -1
  192. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +9 -8
  193. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +10 -1
  194. package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -0
  195. package/vscode/src/vs/workbench/contrib/files/browser/files.js +7 -3
  196. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +4 -4
  197. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +64 -36
  198. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +42 -17
  199. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +145 -25
  200. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +1 -1
  201. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  202. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +36 -0
  203. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
  204. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +24 -3
  205. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +11 -6
  206. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +1 -2
  207. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +31 -0
  208. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +61 -41
  209. package/vscode/src/vs/workbench/contrib/search/{browser/searchNotebookHelpers.js → common/cellSearchModel.js} +4 -63
  210. package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +40 -0
  211. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +2 -2
  212. package/vscode/src/vs/workbench/{services/editor/browser/editorDropService.js → contrib/speech/common/speechService.js} +2 -2
  213. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +29 -4
  214. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +100 -79
  215. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +3 -3
  216. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +1 -1
  217. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +7 -4
  218. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +5 -3
  219. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +143 -41
  220. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +17 -11
  221. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +41 -26
  222. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +5 -2
  223. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -8
  224. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +2 -0
  225. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +115 -0
  226. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +74 -0
  227. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +3 -3
  228. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +64 -1
  229. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +9 -0
  230. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -3
  231. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +8 -9
  232. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +1 -1
  233. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +5 -2
  234. package/vscode/src/vs/workbench/services/activity/browser/activityService.d.ts +16 -10
  235. package/vscode/src/vs/workbench/services/activity/common/activity.d.ts +14 -1
  236. package/vscode/src/vs/workbench/services/activity/common/activity.js +1 -7
  237. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +9 -28
  238. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +273 -0
  239. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
  240. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +2 -0
  241. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -3
  242. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +7 -5
  243. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +59 -37
  244. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +193 -94
  245. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
  246. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +8 -2
  247. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +8 -1
  248. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +62 -16
  249. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +5 -3
  250. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +3 -2
  251. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -9
  252. package/vscode/src/vs/workbench/services/extensions/common/{extensionHostManager.d.ts → extensionHostManagers.d.ts} +2 -0
  253. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +1 -1
  254. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +9 -0
  255. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +22 -0
  256. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +14 -3
  257. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +9 -0
  258. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -3
  259. package/vscode/src/vs/workbench/services/history/common/history.d.ts +2 -2
  260. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +49 -18
  261. package/vscode/src/vs/workbench/services/host/browser/host.d.ts +29 -7
  262. package/vscode/src/vs/workbench/services/hover/browser/hover.d.ts +51 -28
  263. package/vscode/src/vs/workbench/services/hover/browser/hoverService.d.ts +5 -2
  264. package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +2 -2
  265. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.d.ts +4 -1
  266. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +40 -36
  267. package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.d.ts +0 -6
  268. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +3 -0
  269. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +2 -2
  270. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +16 -1
  271. package/vscode/src/vs/workbench/services/request/browser/requestService.js +48 -0
  272. package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +4 -4
  273. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +10 -51
  274. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +2 -2
  275. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +32 -1
  276. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -5
  277. package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +4 -3
  278. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +9 -3
  279. package/vscode/src/vs/workbench/services/title/browser/titleService.d.ts +18 -0
  280. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +18 -3
  281. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +16 -7
  282. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +6 -0
  283. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +13 -0
  284. package/vscode/src/vs/workbench/services/url/browser/urlService.js +2 -1
  285. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +2 -2
  286. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +9 -0
  287. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +375 -0
  288. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +80 -0
  289. package/vscode-dts/vscode.proposed.chatProvider.d.ts +5 -1
  290. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +68 -10
  291. package/vscode-dts/vscode.proposed.chatTab.d.ts +21 -0
  292. package/vscode-dts/vscode.proposed.chatVariables.d.ts +5 -1
  293. package/vscode-dts/vscode.proposed.codeActionAI.d.ts +16 -0
  294. package/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +7 -0
  295. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +51 -0
  296. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +30 -0
  297. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +26 -0
  298. package/vscode-dts/vscode.proposed.interactive.d.ts +26 -100
  299. package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +14 -7
  300. package/vscode-dts/vscode.proposed.languageStatusText.d.ts +12 -0
  301. package/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts +63 -0
  302. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +43 -0
  303. package/vscode-dts/vscode.proposed.resolvers.d.ts +100 -1
  304. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +9 -1
  305. package/vscode-dts/vscode.proposed.scmInputBoxActionButton.d.ts +19 -0
  306. package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +25 -0
  307. package/vscode-dts/vscode.proposed.speech.d.ts +35 -0
  308. package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +11 -7
  309. package/vscode-dts/vscode.proposed.testCoverage.d.ts +6 -1
  310. package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +21 -0
  311. package/external/xterm-headless/typings/xterm-headless.d.ts +0 -49
  312. package/vscode/src/vs/platform/backup/common/backup.d.ts +0 -14
  313. package/vscode/src/vs/platform/update/common/update.d.ts +0 -112
  314. package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +0 -62
  315. package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +0 -62
  316. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +0 -56
  317. package/vscode/src/vs/workbench/services/files/common/files.js +0 -4
  318. package/vscode/src/vs/workbench/services/host/browser/browserHostService.d.ts +0 -41
  319. package/vscode/src/vs/workbench/services/title/common/titleService.d.ts +0 -31
  320. package/vscode-dts/vscode.proposed.chatAgents.d.ts +0 -39
  321. package/vscode-dts/vscode.proposed.chatSlashCommands.d.ts +0 -47
  322. package/vscode-dts/vscode.proposed.testMessageContextValue.d.ts +0 -45
  323. /package/external/{xterm-addon-canvas/typings/xterm-addon-canvas.d.ts → @xterm/addon-canvas/typings/addon-canvas.d.ts} +0 -0
  324. /package/external/{xterm-addon-search/typings/xterm-addon-search.d.ts → @xterm/addon-search/typings/addon-search.d.ts} +0 -0
  325. /package/external/{xterm-addon-serialize/typings/xterm-addon-serialize.d.ts → @xterm/addon-serialize/typings/addon-serialize.d.ts} +0 -0
  326. /package/external/{xterm-addon-unicode11/typings/xterm-addon-unicode11.d.ts → @xterm/addon-unicode11/typings/addon-unicode11.d.ts} +0 -0
  327. /package/external/{xterm-addon-webgl/typings/xterm-addon-webgl.d.ts → @xterm/addon-webgl/typings/addon-webgl.d.ts} +0 -0
  328. /package/vscode/src/vs/workbench/services/title/{common → browser}/titleService.js +0 -0
@@ -3,7 +3,6 @@ import { flatten } from 'monaco-editor/esm/vs/base/common/arrays.js';
3
3
  import { Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
4
4
  import { Disposable, MutableDisposable, dispose } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
5
5
  import { isFalsyOrWhitespace } from 'monaco-editor/esm/vs/base/common/strings.js';
6
- import { isString } from 'monaco-editor/esm/vs/base/common/types.js';
7
6
  import * as nls from 'monaco-editor/esm/vs/nls.js';
8
7
  import { MenuRegistry, MenuId } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
9
8
  import { CommandsRegistry } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
@@ -57,24 +56,6 @@ function addAccountUsage(storageService, providerId, accountName, extensionId, e
57
56
  }
58
57
  storageService.store(accountKey, JSON.stringify(usages), -1 , 1 );
59
58
  }
60
- async function getCurrentAuthenticationSessionInfo(secretStorageService, productService) {
61
- const authenticationSessionValue = await secretStorageService.get(`${productService.urlProtocol}.loginAccount`);
62
- if (authenticationSessionValue) {
63
- try {
64
- const authenticationSessionInfo = JSON.parse(authenticationSessionValue);
65
- if (authenticationSessionInfo
66
- && isString(authenticationSessionInfo.id)
67
- && isString(authenticationSessionInfo.accessToken)
68
- && isString(authenticationSessionInfo.providerId)) {
69
- return authenticationSessionInfo;
70
- }
71
- }
72
- catch (e) {
73
- console.error(`Failed parsing current auth session value: ${e}`);
74
- }
75
- }
76
- return undefined;
77
- }
78
59
  function readAllowedExtensions(storageService, providerId, accountName) {
79
60
  let trustedExtensions = [];
80
61
  try {
@@ -132,7 +113,7 @@ const authenticationExtPoint = ( ExtensionsRegistry.registerExtensionPoint({
132
113
  }
133
114
  }
134
115
  }));
135
- let placeholderMenuItem = MenuRegistry.appendMenuItem(MenuId.AccountsContext, {
116
+ let placeholderMenuItem = ( MenuRegistry.appendMenuItem(MenuId.AccountsContext, {
136
117
  command: {
137
118
  id: 'noAuthenticationProviders',
138
119
  title: ( nls.localizeWithPath(
@@ -142,7 +123,7 @@ let placeholderMenuItem = MenuRegistry.appendMenuItem(MenuId.AccountsContext, {
142
123
  )),
143
124
  precondition: ( ContextKeyExpr.false())
144
125
  },
145
- });
126
+ }));
146
127
  let AuthenticationService = class AuthenticationService extends Disposable {
147
128
  constructor(activityService, extensionService, storageService, dialogService, quickInputService, productService) {
148
129
  super();
@@ -237,7 +218,7 @@ let AuthenticationService = class AuthenticationService extends Disposable {
237
218
  });
238
219
  }
239
220
  if (!this._authenticationProviders.size) {
240
- placeholderMenuItem = MenuRegistry.appendMenuItem(MenuId.AccountsContext, {
221
+ placeholderMenuItem = ( MenuRegistry.appendMenuItem(MenuId.AccountsContext, {
241
222
  command: {
242
223
  id: 'noAuthenticationProviders',
243
224
  title: ( nls.localizeWithPath(
@@ -247,7 +228,7 @@ let AuthenticationService = class AuthenticationService extends Disposable {
247
228
  )),
248
229
  precondition: ( ContextKeyExpr.false())
249
230
  },
250
- });
231
+ }));
251
232
  }
252
233
  }
253
234
  async sessionsUpdate(id, event) {
@@ -496,7 +477,7 @@ let AuthenticationService = class AuthenticationService extends Disposable {
496
477
  if (hasExistingRequest) {
497
478
  return;
498
479
  }
499
- const menuItem = MenuRegistry.appendMenuItem(MenuId.AccountsContext, {
480
+ const menuItem = ( MenuRegistry.appendMenuItem(MenuId.AccountsContext, {
500
481
  group: '3_accessRequests',
501
482
  command: {
502
483
  id: `${providerId}${extensionId}Access`,
@@ -505,7 +486,7 @@ let AuthenticationService = class AuthenticationService extends Disposable {
505
486
  comment: [`The placeholder {0} will be replaced with an authentication provider''s label. {1} will be replaced with an extension name. (1) is to indicate that this menu item contributes to a badge count`]
506
487
  }, "Grant access to {0} for {1}... (1)", this.getLabel(providerId), extensionName))
507
488
  }
508
- });
489
+ }));
509
490
  const accessCommand = CommandsRegistry.registerCommand({
510
491
  id: `${providerId}${extensionId}Access`,
511
492
  handler: async (accessor) => {
@@ -542,7 +523,7 @@ let AuthenticationService = class AuthenticationService extends Disposable {
542
523
  return;
543
524
  }
544
525
  const commandId = `${providerId}:${extensionId}:signIn${( Object.keys(providerRequests || [])).length}`;
545
- const menuItem = MenuRegistry.appendMenuItem(MenuId.AccountsContext, {
526
+ const menuItem = ( MenuRegistry.appendMenuItem(MenuId.AccountsContext, {
546
527
  group: '2_signInRequests',
547
528
  command: {
548
529
  id: commandId,
@@ -551,7 +532,7 @@ let AuthenticationService = class AuthenticationService extends Disposable {
551
532
  comment: [`The placeholder {0} will be replaced with an authentication provider's label. {1} will be replaced with an extension name. (1) is to indicate that this menu item contributes to a badge count.`]
552
533
  }, "Sign in with {0} to use {1} (1)", provider.label, extensionName))
553
534
  }
554
- });
535
+ }));
555
536
  const signInCommand = CommandsRegistry.registerCommand({
556
537
  id: commandId,
557
538
  handler: async (accessor) => {
@@ -679,4 +660,4 @@ AuthenticationService = ( __decorate([
679
660
  ( __param(4, IQuickInputService)),
680
661
  ( __param(5, IProductService))
681
662
  ], AuthenticationService));
682
- export { AuthenticationService, addAccountUsage, getAuthenticationProviderActivationEvent, getCurrentAuthenticationSessionInfo, readAccountUsages, readAllowedExtensions, removeAccountUsage };
663
+ export { AuthenticationService, addAccountUsage, getAuthenticationProviderActivationEvent, readAccountUsages, readAllowedExtensions, removeAccountUsage };
@@ -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>;