@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
@@ -23,7 +23,7 @@ interface IHoverService {
23
23
  * });
24
24
  * ```
25
25
  */
26
- showHover(options: Readonly<IHoverOptions>, focus?: boolean): IHoverWidget | undefined;
26
+ showHover(options: IHoverOptions, focus?: boolean): IHoverWidget | undefined;
27
27
  /**
28
28
  * Hides the hover if it was visible. This call will be ignored if the the hover is currently
29
29
  * "locked" via the alt/option key.
@@ -51,6 +51,7 @@ interface IHoverOptions {
51
51
  * dispose method is required.
52
52
  */
53
53
  target: IHoverTarget | HTMLElement;
54
+ container?: HTMLElement;
54
55
  /**
55
56
  * An ID to associate with the hover to be used as an equality check. Normally when calling
56
57
  * {@link IHoverService.showHover} the options object itself is used to determine if the hover
@@ -71,27 +72,26 @@ interface IHoverOptions {
71
72
  */
72
73
  linkHandler?(url: string): void;
73
74
  /**
74
- * Whether to hide the hover when the mouse leaves the `target` and enters the actual hover.
75
- * This is false by default when text is an `IMarkdownString` and true when `text` is a
76
- * `string`. Note that this will be ignored if any `actions` are provided as hovering is
77
- * required to make them accessible.
78
- *
79
- * In general hiding on hover is desired for:
80
- * - Regular text where selection is not important
81
- * - Markdown that contains no links where selection is not important
75
+ * Whether to trap focus in the following ways:
76
+ * - When the hover closes, focus goes to the element that had focus before the hover opened
77
+ * - If there are elements in the hover to focus, focus stays inside of the hover when tabbing
78
+ * Note that this is overridden to true when in screen reader optimized mode.
82
79
  */
83
- hideOnHover?: boolean;
80
+ trapFocus?: boolean;
84
81
  /**
85
- * When {@link hideOnHover} is explicitly true or undefined and its auto value is detected to
86
- * hide, show a hint at the bottom of the hover explaining how to mouse over the widget. This
87
- * should be used in the cases where despite the hover having no interactive content, it's
88
- * likely the user may want to interact with it somehow.
82
+ * Options that defines where the hover is positioned.
89
83
  */
90
- showHoverHint?: boolean;
84
+ position?: IHoverPositionOptions;
91
85
  /**
92
- * Whether to hide the hover when a key is pressed.
86
+ * Options that defines how long the hover is shown and when it hides.
93
87
  */
94
- hideOnKeyDown?: boolean;
88
+ persistence?: IHoverPersistenceOptions;
89
+ /**
90
+ * Options that define how the hover looks.
91
+ */
92
+ appearance?: IHoverAppearanceOptions;
93
+ }
94
+ interface IHoverPositionOptions {
95
95
  /**
96
96
  * Position of the hover. The default is to show above the target. This option will be ignored
97
97
  * if there is not enough room to layout the hover in the specified position, unless the
@@ -103,27 +103,50 @@ interface IHoverOptions {
103
103
  * position.
104
104
  */
105
105
  forcePosition?: boolean;
106
+ }
107
+ interface IHoverPersistenceOptions {
106
108
  /**
107
- * Whether to show the hover pointer
109
+ * Whether to hide the hover when the mouse leaves the `target` and enters the actual hover.
110
+ * This is false by default when text is an `IMarkdownString` and true when `text` is a
111
+ * `string`. Note that this will be ignored if any `actions` are provided as hovering is
112
+ * required to make them accessible.
113
+ *
114
+ * In general hiding on hover is desired for:
115
+ * - Regular text where selection is not important
116
+ * - Markdown that contains no links where selection is not important
117
+ */
118
+ hideOnHover?: boolean;
119
+ /**
120
+ * Whether to hide the hover when a key is pressed.
121
+ */
122
+ hideOnKeyDown?: boolean;
123
+ /**
124
+ * Whether to make the hover sticky, this means it will not be hidden when the mouse leaves the
125
+ * hover.
126
+ */
127
+ sticky?: boolean;
128
+ }
129
+ interface IHoverAppearanceOptions {
130
+ /**
131
+ * Whether to show the hover pointer, a little arrow that connects the target and the hover.
108
132
  */
109
133
  showPointer?: boolean;
110
134
  /**
111
- * Whether to show a compact hover
135
+ * Whether to show a compact hover, reducing the font size and padding of the hover.
112
136
  */
113
137
  compact?: boolean;
138
+ /**
139
+ * When {@link hideOnHover} is explicitly true or undefined and its auto value is detected to
140
+ * hide, show a hint at the bottom of the hover explaining how to mouse over the widget. This
141
+ * should be used in the cases where despite the hover having no interactive content, it's
142
+ * likely the user may want to interact with it somehow.
143
+ */
144
+ showHoverHint?: boolean;
114
145
  /**
115
146
  * Whether to skip the fade in animation, this should be used when hovering from one hover to
116
147
  * another in the same group so it looks like the hover is moving from one element to the other.
117
148
  */
118
149
  skipFadeInAnimation?: boolean;
119
- /**
120
- * Whether to trap focus in the following ways:
121
- * - When the hover closes, focus goes to the element that had focus before the hover opened
122
- * - If there are elements in the hover to focus, focus stays inside of the hover when tabbing
123
- * Note that this is overridden to true when in screen reader optimized mode.
124
- */
125
- trapFocus?: boolean;
126
- container?: HTMLElement;
127
150
  }
128
151
  interface IHoverAction {
129
152
  /**
@@ -167,4 +190,4 @@ interface IHoverTarget extends IDisposable {
167
190
  y?: number;
168
191
  }
169
192
 
170
- export { type IHoverAction, type IHoverOptions, IHoverService, type IHoverTarget, type IHoverWidget };
193
+ export { type IHoverAction, type IHoverAppearanceOptions, type IHoverOptions, type IHoverPersistenceOptions, type IHoverPositionOptions, IHoverService, type IHoverTarget, type IHoverWidget };
@@ -3,20 +3,23 @@ import { IContextViewService, IContextMenuService } from '../../../../platform/c
3
3
  import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
4
4
  import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';
5
5
  import { IAccessibilityService } from '../../../../platform/accessibility/common/accessibility.js';
6
+ import { ILayoutService } from '../../../../platform/layout/browser/layoutService.js';
6
7
 
7
8
  declare class HoverService implements IHoverService {
8
9
  private readonly _instantiationService;
9
10
  private readonly _contextViewService;
10
11
  private readonly _keybindingService;
12
+ private readonly _layoutService;
11
13
  private readonly _accessibilityService;
12
14
  readonly _serviceBrand: undefined;
13
15
  private _currentHoverOptions;
14
16
  private _currentHover;
15
17
  private _lastHoverOptions;
16
18
  private _lastFocusedElementBeforeOpen;
17
- constructor(_instantiationService: IInstantiationService, _contextViewService: IContextViewService, contextMenuService: IContextMenuService, _keybindingService: IKeybindingService, _accessibilityService: IAccessibilityService);
18
- showHover(options: Readonly<IHoverOptions>, focus?: boolean, skipLastFocusedUpdate?: boolean): IHoverWidget | undefined;
19
+ constructor(_instantiationService: IInstantiationService, _contextViewService: IContextViewService, contextMenuService: IContextMenuService, _keybindingService: IKeybindingService, _layoutService: ILayoutService, _accessibilityService: IAccessibilityService);
20
+ showHover(options: IHoverOptions, focus?: boolean, skipLastFocusedUpdate?: boolean): IHoverWidget | undefined;
19
21
  hideHover(): void;
22
+ private doHideHover;
20
23
  private _intersectionChange;
21
24
  showAndFocusLastHover(): void;
22
25
  private _keyDown;
@@ -18,8 +18,8 @@ function getAllUnboundCommands(boundCommands) {
18
18
  }
19
19
  if (!includeCommandWithArgs) {
20
20
  const command = CommandsRegistry.getCommand(id);
21
- if (command && typeof command.description === 'object'
22
- && isNonEmptyArray(command.description.args)) {
21
+ if (command && typeof command.metadata === 'object'
22
+ && isNonEmptyArray(command.metadata.args)) {
23
23
  return;
24
24
  }
25
25
  }
@@ -12,7 +12,10 @@ interface ILanguageStatus {
12
12
  readonly name: string;
13
13
  readonly selector: LanguageSelector;
14
14
  readonly severity: Severity;
15
- readonly label: string;
15
+ readonly label: string | {
16
+ value: string;
17
+ shortValue: string;
18
+ };
16
19
  readonly detail: string;
17
20
  readonly busy: boolean;
18
21
  readonly source: string;
@@ -2,7 +2,7 @@ import { ServiceIdentifier } from '../../../../platform/instantiation/common/ins
2
2
  import { Event } from '../../../../base/common/event.js';
3
3
  import { ILayoutService } from '../../../../platform/layout/browser/layoutService.js';
4
4
  import { Part } from '../../../browser/part.js';
5
- import { Dimension } from '../../../../base/browser/dom.js';
5
+ import { IDimension } from '../../../../base/browser/dom.js';
6
6
  import { Direction } from '../../../../base/browser/ui/grid/grid.js';
7
7
 
8
8
  declare const enum Parts {
@@ -21,6 +21,8 @@ declare const enum Position {
21
21
  BOTTOM = 2
22
22
  }
23
23
  type PanelAlignment = 'left' | 'center' | 'right' | 'justify';
24
+ type MULTI_WINDOW_PARTS = Parts.EDITOR_PART | Parts.STATUSBAR_PART | Parts.TITLEBAR_PART;
25
+ type SINGLE_WINDOW_PARTS = Exclude<Parts, MULTI_WINDOW_PARTS>;
24
26
 
25
27
  declare const IWorkbenchLayoutService: ServiceIdentifier<IWorkbenchLayoutService>;
26
28
  interface IWorkbenchLayoutService extends ILayoutService {
@@ -34,9 +36,12 @@ interface IWorkbenchLayoutService extends ILayoutService {
34
36
  */
35
37
  readonly onDidChangeFullscreen: Event<boolean>;
36
38
  /**
37
- * Emits when the window is maximized or unmaximized.
39
+ * Emits when the target window is maximized or unmaximized.
38
40
  */
39
- readonly onDidChangeWindowMaximized: Event<boolean>;
41
+ readonly onDidChangeWindowMaximized: Event<{
42
+ readonly windowId: number;
43
+ readonly maximized: boolean;
44
+ }>;
40
45
  /**
41
46
  * Emits when centered layout is enabled or disabled.
42
47
  */
@@ -76,42 +81,41 @@ interface IWorkbenchLayoutService extends ILayoutService {
76
81
  */
77
82
  hasFocus(part: Parts): boolean;
78
83
  /**
79
- * Focuses the part. If the part is not visible this is a noop.
84
+ * Focuses the part in the target window. If the part is not visible this is a noop.
80
85
  */
81
- focusPart(part: Parts): void;
86
+ focusPart(part: SINGLE_WINDOW_PARTS): void;
87
+ focusPart(part: MULTI_WINDOW_PARTS, targetWindow: Window): void;
88
+ focusPart(part: Parts, targetWindow: Window): void;
82
89
  /**
83
- * Returns the parts HTML element, if there is one.
90
+ * Returns the target window container or parts HTML element within, if there is one.
84
91
  */
85
- getContainer(part: Parts): HTMLElement | undefined;
92
+ getContainer(targetWindow: Window): HTMLElement;
93
+ getContainer(targetWindow: Window, part: Parts): HTMLElement | undefined;
86
94
  /**
87
- * Returns if the part is visible.
95
+ * Returns if the part is visible in the target window.
88
96
  */
89
- isVisible(part: Parts): boolean;
97
+ isVisible(part: SINGLE_WINDOW_PARTS): boolean;
98
+ isVisible(part: MULTI_WINDOW_PARTS, targetWindow: Window): boolean;
99
+ isVisible(part: Parts, targetWindow: Window): boolean;
90
100
  /**
91
- * Returns if the part is visible.
101
+ * Set part hidden or not in the target window.
92
102
  */
93
- getDimension(part: Parts): Dimension | undefined;
94
- /**
95
- * Set part hidden or not
96
- */
97
- setPartHidden(hidden: boolean, part: Exclude<Parts, Parts.STATUSBAR_PART | Parts.TITLEBAR_PART>): void;
103
+ setPartHidden(hidden: boolean, part: Exclude<SINGLE_WINDOW_PARTS, Parts.STATUSBAR_PART | Parts.TITLEBAR_PART>): void;
104
+ setPartHidden(hidden: boolean, part: Exclude<MULTI_WINDOW_PARTS, Parts.STATUSBAR_PART | Parts.TITLEBAR_PART>, targetWindow: Window): void;
105
+ setPartHidden(hidden: boolean, part: Exclude<Parts, Parts.STATUSBAR_PART | Parts.TITLEBAR_PART>, targetWindow: Window): void;
98
106
  /**
99
107
  * Maximizes the panel height if the panel is not already maximized.
100
108
  * Shrinks the panel to the default starting size if the panel is maximized.
101
109
  */
102
110
  toggleMaximizedPanel(): void;
103
111
  /**
104
- * Returns true if the window has a border.
105
- */
106
- hasWindowBorder(): boolean;
107
- /**
108
- * Returns the window border width.
112
+ * Returns true if the main window has a border.
109
113
  */
110
- getWindowBorderWidth(): number;
114
+ hasMainWindowBorder(): boolean;
111
115
  /**
112
- * Returns the window border radius if any.
116
+ * Returns the main window border radius if any.
113
117
  */
114
- getWindowBorderRadius(): string | undefined;
118
+ getMainWindowBorderRadius(): string | undefined;
115
119
  /**
116
120
  * Returns true if the panel is maximized.
117
121
  */
@@ -138,23 +142,23 @@ interface IWorkbenchLayoutService extends ILayoutService {
138
142
  */
139
143
  setPanelAlignment(alignment: PanelAlignment): void;
140
144
  /**
141
- * Gets the maximum possible size for editor.
145
+ * Gets the maximum possible size for editor in the given container.
142
146
  */
143
- getMaximumEditorDimensions(): Dimension;
147
+ getMaximumEditorDimensions(container: HTMLElement): IDimension;
144
148
  /**
145
149
  * Toggles the workbench in and out of zen mode - parts get hidden and window goes fullscreen.
146
150
  */
147
151
  toggleZenMode(): void;
148
152
  /**
149
- * Returns whether the centered editor layout is active.
153
+ * Returns whether the centered editor layout is active on the main editor part.
150
154
  */
151
- isEditorLayoutCentered(): boolean;
155
+ isMainEditorLayoutCentered(): boolean;
152
156
  /**
153
- * Sets the workbench in and out of centered editor layout.
157
+ * Sets the main editor part in and out of centered layout.
154
158
  */
155
- centerEditorLayout(active: boolean): void;
159
+ centerMainEditorLayout(active: boolean): void;
156
160
  /**
157
- * Resizes currently focused part on main access
161
+ * Resize the provided part in the main window.
158
162
  */
159
163
  resizePart(part: Parts, sizeChangeWidth: number, sizeChangeHeight: number): void;
160
164
  /**
@@ -162,17 +166,17 @@ interface IWorkbenchLayoutService extends ILayoutService {
162
166
  */
163
167
  registerPart(part: Part): void;
164
168
  /**
165
- * Returns whether the window is maximized.
169
+ * Returns whether the target window is maximized.
166
170
  */
167
- isWindowMaximized(): boolean;
171
+ isWindowMaximized(targetWindow: Window): boolean;
168
172
  /**
169
- * Updates the maximized state of the window.
173
+ * Updates the maximized state of the target window.
170
174
  */
171
- updateWindowMaximizedState(maximized: boolean): void;
175
+ updateWindowMaximizedState(targetWindow: Window, maximized: boolean): void;
172
176
  /**
173
- * Returns the next visible view part in a given direction
177
+ * Returns the next visible view part in a given direction in the main window.
174
178
  */
175
179
  getVisibleNeighborPart(part: Parts, direction: Direction): Parts | undefined;
176
180
  }
177
181
 
178
- export { IWorkbenchLayoutService, type PanelAlignment, Parts, Position };
182
+ export { IWorkbenchLayoutService, type MULTI_WINDOW_PARTS, type PanelAlignment, Parts, Position, type SINGLE_WINDOW_PARTS };
@@ -4,8 +4,6 @@ import { PaneCompositeDescriptor } from '../../../browser/panecomposite.js';
4
4
  import { IProgressIndicator } from '../../../../platform/progress/common/progress.js';
5
5
  import { IPaneComposite } from '../../../common/panecomposite.js';
6
6
  import { ViewContainerLocation } from '../../../common/views.js';
7
- import { IDisposable } from '../../../../base/common/lifecycle.js';
8
- import { IBadge } from '../../activity/common/activity.js';
9
7
 
10
8
  declare const IPaneCompositePartService: ServiceIdentifier<IPaneCompositePartService>;
11
9
  interface IPaneCompositePartService {
@@ -54,10 +52,6 @@ interface IPaneCompositePartService {
54
52
  * Return the last active viewlet id.
55
53
  */
56
54
  getLastActivePaneCompositeId(viewContainerLocation: ViewContainerLocation): string;
57
- /**
58
- * Show an activity in a viewlet.
59
- */
60
- showActivity(id: string, viewContainerLocation: ViewContainerLocation, badge: IBadge, clazz?: string, priority?: number): IDisposable;
61
55
  }
62
56
 
63
57
  export { IPaneCompositePartService };
@@ -150,6 +150,9 @@ interface ISettingsEditorOptions extends IEditorOptions {
150
150
  target?: ConfigurationTarget;
151
151
  folderUri?: URI;
152
152
  query?: string;
153
+ /**
154
+ * Only works when opening the json settings file. Use `query` for settings editor.
155
+ */
153
156
  revealSetting?: {
154
157
  key: string;
155
158
  edit?: boolean;
@@ -10,8 +10,8 @@ class EditorProgressIndicator extends Disposable {
10
10
  }
11
11
  registerListeners() {
12
12
  this._register(this.group.onDidModelChange(e => {
13
- if (e.kind === 6 ||
14
- (e.kind === 4 && this.group.isEmpty)) {
13
+ if (e.kind === 7 ||
14
+ (e.kind === 5 && this.group.isEmpty)) {
15
15
  this.progressBar.stop().hide();
16
16
  }
17
17
  }));
@@ -6,6 +6,8 @@ import { IEditableData } from '../../../common/views.js';
6
6
  import { TunnelInformation, TunnelPrivacy } from '../../../../platform/remote/common/remoteAuthorityResolver.js';
7
7
  import { URI } from '../../../../base/common/uri.js';
8
8
  import { TunnelModel, TunnelProperties, Attributes, TunnelCloseReason, CandidatePort, TunnelSource } from './tunnelModel.js';
9
+ import { IExtensionPointUser } from '../../extensions/common/extensionsRegistry.js';
10
+ import { IExtensionDescription } from '../../../../platform/extensions/common/extensions.js';
9
11
 
10
12
  declare enum TunnelType {
11
13
  Candidate = "Candidate",
@@ -37,12 +39,25 @@ declare enum TunnelEditId {
37
39
  Label = 2,
38
40
  LocalPort = 3
39
41
  }
42
+ interface HelpInformation {
43
+ extensionDescription: IExtensionDescription;
44
+ getStarted?: string | {
45
+ id: string;
46
+ };
47
+ documentation?: string;
48
+ issues?: string;
49
+ reportIssue?: string;
50
+ remoteName?: string[] | string;
51
+ virtualWorkspace?: string;
52
+ }
40
53
 
41
54
  declare const IRemoteExplorerService: ServiceIdentifier<IRemoteExplorerService>;
42
55
  interface IRemoteExplorerService {
43
56
  readonly _serviceBrand: undefined;
44
57
  onDidChangeTargetType: Event<string[]>;
45
58
  targetType: string[];
59
+ onDidChangeHelpInformation: Event<readonly IExtensionPointUser<HelpInformation>[]>;
60
+ helpInformation: IExtensionPointUser<HelpInformation>[];
46
61
  readonly tunnelModel: TunnelModel;
47
62
  onDidChangeEditable: Event<{
48
63
  tunnel: ITunnelItem;
@@ -65,4 +80,4 @@ interface IRemoteExplorerService {
65
80
  readonly namedProcesses: Map<number, string>;
66
81
  }
67
82
 
68
- export { IRemoteExplorerService, type ITunnelItem, TunnelEditId, TunnelType };
83
+ export { type HelpInformation, IRemoteExplorerService, type ITunnelItem, TunnelEditId, TunnelType };
@@ -0,0 +1,48 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
3
+ import { ILoggerService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
4
+ import { RequestChannelClient } from '../../../../platform/request/common/requestIpc.js';
5
+ import { IRemoteAgentService } from '../../remote/common/remoteAgentService.js';
6
+ import { RequestService } from '../../../../platform/request/browser/requestService.js';
7
+ import { CommandsRegistry } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
8
+ let BrowserRequestService = class BrowserRequestService extends RequestService {
9
+ constructor(remoteAgentService, configurationService, loggerService) {
10
+ super(configurationService, loggerService);
11
+ this.remoteAgentService = remoteAgentService;
12
+ }
13
+ async request(options, token) {
14
+ try {
15
+ const context = await super.request(options, token);
16
+ const connection = this.remoteAgentService.getConnection();
17
+ if (connection && context.res.statusCode === 405) {
18
+ return this._makeRemoteRequest(connection, options, token);
19
+ }
20
+ return context;
21
+ }
22
+ catch (error) {
23
+ const connection = this.remoteAgentService.getConnection();
24
+ if (connection) {
25
+ return this._makeRemoteRequest(connection, options, token);
26
+ }
27
+ throw error;
28
+ }
29
+ }
30
+ _makeRemoteRequest(connection, options, token) {
31
+ return connection.withChannel('request', channel => ( new RequestChannelClient(channel)).request(options, token));
32
+ }
33
+ };
34
+ BrowserRequestService = ( __decorate([
35
+ ( __param(0, IRemoteAgentService)),
36
+ ( __param(1, IConfigurationService)),
37
+ ( __param(2, ILoggerService))
38
+ ], BrowserRequestService));
39
+ CommandsRegistry.registerCommand('_workbench.fetchJSON', async function (accessor, url, method) {
40
+ const result = await fetch(url, { method, headers: { Accept: 'application/json' } });
41
+ if (result.ok) {
42
+ return result.json();
43
+ }
44
+ else {
45
+ throw new Error(result.statusText);
46
+ }
47
+ });
48
+ export { BrowserRequestService };
@@ -30,7 +30,7 @@ function editorMatchesToTextSearchResults(matches, model, previewOptions) {
30
30
  return editorMatchToTextSearchResult(sameLineMatches, model, previewOptions);
31
31
  }));
32
32
  }
33
- function addContextToEditorMatches(matches, model, query) {
33
+ function getTextSearchMatchWithModelContext(matches, model, query) {
34
34
  const results = [];
35
35
  let prevLine = -1;
36
36
  for (let i = 0; i < matches.length; i++) {
@@ -40,7 +40,7 @@ function addContextToEditorMatches(matches, model, query) {
40
40
  for (let b = beforeContextStartLine; b < matchStartLine; b++) {
41
41
  results.push({
42
42
  text: model.getLineContent(b + 1),
43
- lineNumber: b
43
+ lineNumber: b + 1
44
44
  });
45
45
  }
46
46
  }
@@ -52,7 +52,7 @@ function addContextToEditorMatches(matches, model, query) {
52
52
  for (let a = matchEndLine + 1; a <= afterContextToLine; a++) {
53
53
  results.push({
54
54
  text: model.getLineContent(a + 1),
55
- lineNumber: a
55
+ lineNumber: a + 1
56
56
  });
57
57
  }
58
58
  }
@@ -69,4 +69,4 @@ function getMatchStartEnd(match) {
69
69
  end: matchEndLine
70
70
  };
71
71
  }
72
- export { addContextToEditorMatches, editorMatchesToTextSearchResults };
72
+ export { editorMatchesToTextSearchResults, getTextSearchMatchWithModelContext };
@@ -1,68 +1,27 @@
1
1
  import { ServiceIdentifier } from '../../../../platform/instantiation/common/instantiation.js';
2
- import { IDisposable } from '../../../../base/common/lifecycle.js';
2
+ import { DisposableStore, IDisposable } from '../../../../base/common/lifecycle.js';
3
3
  import { ThemeColor } from '../../../../base/common/themables.js';
4
- import { Event } from '../../../../base/common/event.js';
5
4
  import { Command } from '../../../../editor/common/languages.js';
6
5
  import { IMarkdownString } from '../../../../base/common/htmlContent.js';
7
6
  import { ColorIdentifier } from '../../../../platform/theme/common/colorRegistry.js';
7
+ import { IStatusbarEntryContainer, IAuxiliaryStatusbarPart } from '../../../browser/parts/statusbar/statusbarPart.js';
8
8
 
9
9
  declare const IStatusbarService: ServiceIdentifier<IStatusbarService>;
10
- interface IStatusbarService {
10
+ interface IStatusbarService extends IStatusbarEntryContainer {
11
11
  readonly _serviceBrand: undefined;
12
12
  /**
13
- * An event that is triggered when an entry's visibility is changed.
13
+ * Get the status bar part that is rooted in the provided container.
14
14
  */
15
- readonly onDidChangeEntryVisibility: Event<{
16
- id: string;
17
- visible: boolean;
18
- }>;
15
+ getPart(container: HTMLElement): IStatusbarEntryContainer;
19
16
  /**
20
- * Adds an entry to the statusbar with the given alignment and priority. Use the returned accessor
21
- * to update or remove the statusbar entry.
22
- *
23
- * @param id identifier of the entry is needed to allow users to hide entries via settings
24
- * @param alignment either LEFT or RIGHT side in the status bar
25
- * @param priority items get arranged from highest priority to lowest priority from left to right
26
- * in their respective alignment slot
27
- */
28
- addEntry(entry: IStatusbarEntry, id: string, alignment: StatusbarAlignment, priority?: number | IStatusbarEntryPriority): IStatusbarEntryAccessor;
29
- /**
30
- * Adds an entry to the statusbar with the given alignment relative to another entry. Use the returned
31
- * accessor to update or remove the statusbar entry.
32
- *
33
- * @param id identifier of the entry is needed to allow users to hide entries via settings
34
- * @param alignment either LEFT or RIGHT side in the status bar
35
- * @param location a reference to another entry to position relative to
36
- */
37
- addEntry(entry: IStatusbarEntry, id: string, alignment: StatusbarAlignment, location?: IStatusbarEntryLocation): IStatusbarEntryAccessor;
38
- /**
39
- * Return if an entry is visible or not.
40
- */
41
- isEntryVisible(id: string): boolean;
42
- /**
43
- * Allows to update an entry's visibility with the provided ID.
44
- */
45
- updateEntryVisibility(id: string, visible: boolean): void;
46
- /**
47
- * Focused the status bar. If one of the status bar entries was focused, focuses it directly.
48
- */
49
- focus(preserveEntryFocus?: boolean): void;
50
- /**
51
- * Focuses the next status bar entry. If none focused, focuses the first.
52
- */
53
- focusNextEntry(): void;
54
- /**
55
- * Focuses the previous status bar entry. If none focused, focuses the last.
56
- */
57
- focusPreviousEntry(): void;
58
- /**
59
- * Returns true if a status bar entry is focused.
17
+ * Creates a new auxililary status bar part in the provided container.
60
18
  */
61
- isEntryFocused(): boolean;
19
+ createAuxiliaryStatusbarPart(container: HTMLElement): IAuxiliaryStatusbarPart;
62
20
  /**
63
- * Temporarily override statusbar style.
21
+ * Create a scoped status bar service that only operates on the provided
22
+ * status entry container.
64
23
  */
65
- overrideStyle(style: IStatusbarStyleOverride): IDisposable;
24
+ createScoped(statusbarEntryContainer: IStatusbarEntryContainer, disposables: DisposableStore): IStatusbarService;
66
25
  }
67
26
  declare const enum StatusbarAlignment {
68
27
  LEFT = 0,
@@ -166,7 +166,7 @@ let SimpleSuggestWidget = class SimpleSuggestWidget {
166
166
  }
167
167
  finally {
168
168
  }
169
- this._pendingLayout.value = dom.runAtThisOrScheduleAtNextAnimationFrame(() => {
169
+ this._pendingLayout.value = dom.runAtThisOrScheduleAtNextAnimationFrame(dom.getWindow(this.element.domNode), () => {
170
170
  this._pendingLayout.clear();
171
171
  this._layout(this.element.size);
172
172
  });
@@ -259,7 +259,7 @@ let SimpleSuggestWidget = class SimpleSuggestWidget {
259
259
  if (!this._cursorPosition) {
260
260
  return;
261
261
  }
262
- const bodyBox = dom.getClientArea(document.body);
262
+ const bodyBox = dom.getClientArea(this._container.ownerDocument.body);
263
263
  const info = this._getLayoutInfo();
264
264
  if (!size) {
265
265
  size = info.defaultSize;
@@ -269,6 +269,15 @@ let AbstractTextFileService = class AbstractTextFileService extends Disposable {
269
269
  if (!target) {
270
270
  return;
271
271
  }
272
+ if (this.filesConfigurationService.isReadonly(target)) {
273
+ const confirmed = await this.confirmMakeWriteable(target);
274
+ if (!confirmed) {
275
+ return;
276
+ }
277
+ else {
278
+ this.filesConfigurationService.updateReadonly(target, false);
279
+ }
280
+ }
272
281
  if (isEqual(source, target)) {
273
282
  return this.save(source, { ...options, force: true });
274
283
  }
@@ -396,7 +405,7 @@ let AbstractTextFileService = class AbstractTextFileService extends Disposable {
396
405
  )),
397
406
  detail: ( localizeWithPath(
398
407
  'vs/workbench/services/textfile/browser/textFileService',
399
- 'irreversible',
408
+ 'overwriteIrreversible',
400
409
  "A file or folder with the name '{0}' already exists in the folder '{1}'. Replacing it will overwrite its current contents.",
401
410
  basename(resource),
402
411
  basename(dirname(resource))
@@ -409,6 +418,28 @@ let AbstractTextFileService = class AbstractTextFileService extends Disposable {
409
418
  });
410
419
  return confirmed;
411
420
  }
421
+ async confirmMakeWriteable(resource) {
422
+ const { confirmed } = await this.dialogService.confirm({
423
+ type: 'warning',
424
+ message: ( localizeWithPath(
425
+ 'vs/workbench/services/textfile/browser/textFileService',
426
+ 'confirmMakeWriteable',
427
+ "'{0}' is marked as read-only. Do you want to save anyway?",
428
+ basename(resource)
429
+ )),
430
+ detail: ( localizeWithPath(
431
+ 'vs/workbench/services/textfile/browser/textFileService',
432
+ 'confirmMakeWriteableDetail',
433
+ "Paths can be configured as read-only via settings."
434
+ )),
435
+ primaryButton: ( localizeWithPath(
436
+ 'vs/workbench/services/textfile/browser/textFileService',
437
+ { key: 'makeWriteableButtonLabel', comment: ['&& denotes a mnemonic'] },
438
+ "&&Save Anyway"
439
+ ))
440
+ });
441
+ return confirmed;
442
+ }
412
443
  async suggestSavePath(resource) {
413
444
  if (this.fileService.hasProvider(resource)) {
414
445
  return resource;