@codingame/monaco-vscode-api 1.83.15 → 1.85.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. package/README.md +430 -0
  2. package/api.js +13 -7
  3. package/assets/clear.mp3 +0 -0
  4. package/assets/format.mp3 +0 -0
  5. package/assets/save.mp3 +0 -0
  6. package/contributions.js +3 -0
  7. package/extensions.d.ts +13 -3
  8. package/external/{xterm-addon-image/typings/xterm-addon-image.d.ts → @xterm/addon-image/typings/addon-image.d.ts} +1 -1
  9. package/external/{xterm → @xterm/xterm}/typings/xterm.d.ts +13 -1
  10. package/lifecycle.js +2 -2
  11. package/localExtensionHost.js +6 -3
  12. package/missing-services.js +170 -22
  13. package/monaco-editor-treemending.patch +6884 -18018
  14. package/monaco-treemending.js +2 -2
  15. package/package.json +7 -7
  16. package/service-override/tools/editor.d.ts +8 -8
  17. package/service-override/tools/editor.js +44 -19
  18. package/services.d.ts +2 -2
  19. package/services.js +3 -3
  20. package/vscode/src/vs/base/browser/broadcast.js +6 -5
  21. package/vscode/src/vs/base/browser/dnd.d.ts +6 -0
  22. package/vscode/src/vs/base/browser/mouseEvent.d.ts +1 -1
  23. package/vscode/src/vs/base/browser/touch.d.ts +10 -0
  24. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -0
  25. package/vscode/src/vs/base/browser/ui/iconLabel/iconHoverDelegate.d.ts +22 -15
  26. package/vscode/src/vs/base/browser/ui/menu/menubar.js +4 -3
  27. package/vscode/src/vs/base/browser/ui/splitview/paneview.css.js +1 -1
  28. package/vscode/src/vs/base/browser/ui/splitview/paneview.d.ts +3 -0
  29. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +34 -11
  30. package/vscode/src/vs/base/common/actions.d.ts +1 -15
  31. package/vscode/src/vs/base/common/async.d.ts +1 -31
  32. package/vscode/src/vs/base/common/event.d.ts +2 -1
  33. package/vscode/src/vs/base/common/observableInternal/base.d.ts +23 -10
  34. package/vscode/src/vs/base/common/prefixTree.js +140 -0
  35. package/vscode/src/vs/base/common/product.d.ts +16 -2
  36. package/vscode/src/vs/base/common/resourceTree.js +135 -0
  37. package/vscode/src/vs/base/common/skipList.js +1 -0
  38. package/vscode/src/vs/base/common/tfIdf.js +137 -0
  39. package/vscode/src/vs/base/common/types.d.ts +13 -1
  40. package/vscode/src/vs/base/common/verifier.js +62 -0
  41. package/vscode/src/vs/editor/browser/editorBrowser.d.ts +4 -2
  42. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -4
  43. package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
  44. package/vscode/src/vs/editor/common/core/offsetRange.d.ts +3 -0
  45. package/vscode/src/vs/editor/common/core/position.d.ts +1 -0
  46. package/vscode/src/vs/editor/common/editorCommon.d.ts +2 -1
  47. package/vscode/src/vs/editor/common/languages.d.ts +23 -1
  48. package/vscode/src/vs/editor/common/services/languageFeatures.d.ts +2 -1
  49. package/vscode/src/vs/editor/common/services/resolverService.d.ts +11 -2
  50. package/vscode/src/vs/platform/accessibility/common/accessibility.d.ts +16 -1
  51. package/vscode/src/vs/platform/action/common/action.d.ts +8 -0
  52. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +4 -0
  53. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +26 -2
  54. package/vscode/src/vs/platform/actions/common/actions.d.ts +8 -0
  55. package/vscode/src/vs/platform/audioCues/browser/audioCueService.d.ts +6 -0
  56. package/vscode/src/vs/platform/commands/common/commands.d.ts +13 -5
  57. package/vscode/src/vs/platform/dialogs/common/dialogs.d.ts +9 -3
  58. package/vscode/src/vs/platform/dialogs/common/dialogs.js +5 -2
  59. package/vscode/src/vs/platform/editor/common/editor.d.ts +3 -15
  60. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +1 -0
  61. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -15
  62. package/vscode/src/vs/platform/extensionManagement/common/implicitActivationEvents.js +5 -0
  63. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +0 -1
  64. package/vscode/src/vs/platform/files/common/files.d.ts +72 -8
  65. package/vscode/src/vs/platform/files/common/watcher.js +77 -0
  66. package/vscode/src/vs/platform/keybinding/common/keybindingsRegistry.d.ts +2 -2
  67. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +52 -21
  68. package/vscode/src/vs/platform/request/browser/requestService.js +3 -0
  69. package/vscode/src/vs/platform/request/common/requestIpc.js +17 -0
  70. package/vscode/src/vs/platform/storage/common/storage.js +2 -2
  71. package/vscode/src/vs/platform/telemetry/common/telemetry.d.ts +1 -0
  72. package/vscode/src/vs/platform/terminal/common/capabilities/bufferMarkCapability.js +41 -0
  73. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +12 -7
  74. package/vscode/src/vs/platform/terminal/common/capabilities/{commandDetectionCapability.d.ts → commandDetection/terminalCommand.d.ts} +3 -2
  75. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/terminalCommand.js +257 -0
  76. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +651 -0
  77. package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +29 -0
  78. package/vscode/src/vs/platform/terminal/common/capabilities/partialCommandDetectionCapability.js +48 -0
  79. package/vscode/src/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +94 -0
  80. package/vscode/src/vs/platform/terminal/common/terminalEnvironment.js +37 -0
  81. package/vscode/src/vs/platform/terminal/common/terminalStrings.js +16 -0
  82. package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +319 -0
  83. package/vscode/src/vs/platform/window/common/window.d.ts +9 -2
  84. package/vscode/src/vs/platform/window/common/window.js +6 -1
  85. package/vscode/src/vs/platform/workspaces/common/workspaces.d.ts +2 -43
  86. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +113 -81
  87. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +5 -4
  88. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +25 -3
  89. package/vscode/src/vs/workbench/api/common/extHostChat.js +13 -163
  90. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +412 -0
  91. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +79 -11
  92. package/vscode/src/vs/workbench/api/common/extHostCommands.js +13 -12
  93. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -1
  94. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +8 -6
  95. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +1 -1
  96. package/vscode/src/vs/workbench/api/common/extHostFileSystemEventService.js +36 -19
  97. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +52 -31
  98. package/vscode/src/vs/workbench/api/common/extHostIssueReporter.js +38 -0
  99. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +28 -3
  100. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +10 -0
  101. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +117 -2
  102. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +32 -4
  103. package/vscode/src/vs/workbench/api/common/extHostSCM.js +85 -23
  104. package/vscode/src/vs/workbench/api/common/extHostSearch.js +3 -0
  105. package/vscode/src/vs/workbench/api/common/extHostSpeech.js +42 -0
  106. package/vscode/src/vs/workbench/api/common/extHostTask.js +2 -1
  107. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +1 -0
  108. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +3 -3
  109. package/vscode/src/vs/workbench/api/common/extHostTesting.js +97 -47
  110. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +115 -16
  111. package/vscode/src/vs/workbench/api/common/extHostTypes.js +66 -36
  112. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +6 -1
  113. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +182 -75
  114. package/vscode/src/vs/workbench/browser/actions/windowActions.js +176 -4
  115. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +143 -2
  116. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +237 -0
  117. package/vscode/src/vs/workbench/browser/composite.d.ts +0 -4
  118. package/vscode/src/vs/workbench/browser/composite.js +5 -4
  119. package/vscode/src/vs/workbench/browser/dnd.js +72 -23
  120. package/vscode/src/vs/workbench/browser/labels.js +7 -3
  121. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  122. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +2 -2
  123. package/vscode/src/vs/workbench/browser/panecomposite.js +2 -0
  124. package/vscode/src/vs/workbench/browser/part.js +33 -2
  125. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +99 -117
  126. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +173 -33
  127. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +102 -6
  128. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +256 -17
  129. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +4 -0
  130. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +68 -35
  131. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +5 -5
  132. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +35 -16
  133. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +348 -0
  134. package/vscode/src/vs/workbench/browser/parts/editor/editorsObserver.js +43 -31
  135. package/vscode/src/vs/workbench/browser/parts/editor/media/editortabscontrol.css.js +4 -0
  136. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -0
  137. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -0
  138. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +14 -2
  139. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +4 -4
  140. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +277 -0
  141. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +5 -2
  142. package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
  143. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +3 -38
  144. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.d.ts +54 -52
  145. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +2 -1
  146. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +25 -0
  147. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +258 -0
  148. package/vscode/src/vs/workbench/browser/parts/views/media/paneviewlet.css.js +1 -1
  149. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -5
  150. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +157 -117
  151. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +50 -23
  152. package/vscode/src/vs/workbench/browser/parts/views/viewsService.js +26 -11
  153. package/vscode/src/vs/workbench/browser/parts/views/viewsViewlet.js +10 -6
  154. package/vscode/src/vs/workbench/browser/style.js +2 -1
  155. package/vscode/src/vs/workbench/browser/web.api.d.ts +39 -2
  156. package/vscode/src/vs/workbench/browser/window.js +55 -0
  157. package/vscode/src/vs/workbench/browser/workbench.contribution.js +220 -40
  158. package/vscode/src/vs/workbench/common/activity.js +3 -0
  159. package/vscode/src/vs/workbench/common/contextkeys.js +35 -5
  160. package/vscode/src/vs/workbench/common/contributions.js +4 -3
  161. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +14 -4
  162. package/vscode/src/vs/workbench/common/editor/diffEditorModel.js +1 -1
  163. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +22 -19
  164. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +4 -3
  165. package/vscode/src/vs/workbench/common/editor/editorModel.d.ts +1 -2
  166. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +22 -4
  167. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +3 -3
  168. package/vscode/src/vs/workbench/common/editor.d.ts +60 -30
  169. package/vscode/src/vs/workbench/common/editor.js +11 -3
  170. package/vscode/src/vs/workbench/common/theme.js +2 -2
  171. package/vscode/src/vs/workbench/common/views.d.ts +4 -4
  172. package/vscode/src/vs/workbench/common/views.js +3 -1
  173. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +97 -8
  174. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +17 -99
  175. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +103 -37
  176. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +2 -3
  177. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +127 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +71 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -1
  180. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +33 -110
  181. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +64 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +94 -0
  183. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +6 -1
  184. package/vscode/src/vs/workbench/contrib/chat/common/chatSlashCommands.js +1 -88
  185. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +4 -4
  186. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -2
  187. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -1
  188. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +15 -16
  189. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +91 -1
  190. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +9 -3
  191. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +3 -1
  192. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -3
  193. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +1 -0
  194. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +9 -1
  195. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +10 -1
  196. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +114 -22
  197. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  198. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +4 -1
  199. package/vscode/src/vs/workbench/contrib/files/browser/explorerFileContrib.js +19 -0
  200. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +10 -8
  201. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +62 -10
  202. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +2 -1
  203. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +9 -8
  204. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution.js +10 -1
  205. package/vscode/src/vs/workbench/contrib/files/browser/files.d.ts +1 -0
  206. package/vscode/src/vs/workbench/contrib/files/browser/files.js +7 -3
  207. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +4 -4
  208. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +64 -36
  209. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +42 -17
  210. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +145 -25
  211. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +423 -0
  212. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +82 -0
  213. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  214. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +36 -0
  215. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +3 -1
  216. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +24 -3
  217. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +11 -6
  218. package/vscode/src/vs/workbench/contrib/scm/common/scm.js +1 -2
  219. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/searchNotebookHelpers.js +31 -0
  220. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +61 -41
  221. package/vscode/src/vs/workbench/contrib/search/{browser/searchNotebookHelpers.js → common/cellSearchModel.js} +4 -63
  222. package/vscode/src/vs/workbench/contrib/search/common/searchNotebookHelpers.js +40 -0
  223. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +2 -2
  224. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +3 -0
  225. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +92 -0
  226. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +100 -79
  227. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.d.ts +3 -3
  228. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalExtensions.js +25 -0
  230. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcon.js +7 -4
  231. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +64 -0
  232. package/vscode/src/vs/workbench/contrib/terminal/browser/widgets/widgetManager.js +36 -0
  233. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +540 -0
  234. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +104 -0
  235. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +518 -0
  236. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +390 -0
  237. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +17 -11
  238. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +814 -0
  239. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +5 -2
  240. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +2 -8
  241. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +2 -0
  242. package/vscode/src/vs/workbench/contrib/testing/common/getComputedState.js +101 -0
  243. package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +30 -0
  244. package/vscode/src/vs/workbench/contrib/testing/common/storedValue.js +36 -0
  245. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +115 -0
  246. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +74 -0
  247. package/vscode/src/vs/workbench/contrib/testing/common/testExplorerFilterState.js +116 -0
  248. package/vscode/src/vs/workbench/contrib/testing/common/testProfileService.js +172 -1
  249. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +384 -0
  250. package/vscode/src/vs/workbench/contrib/testing/common/testResultService.js +156 -1
  251. package/vscode/src/vs/workbench/contrib/testing/common/testResultStorage.js +156 -0
  252. package/vscode/src/vs/workbench/contrib/testing/common/testService.js +75 -1
  253. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +72 -1
  254. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +188 -0
  255. package/vscode/src/vs/workbench/contrib/testing/common/testingContinuousRunService.js +102 -0
  256. package/vscode/src/vs/workbench/contrib/testing/common/testingDecorations.js +29 -0
  257. package/vscode/src/vs/workbench/{services/editor/browser/editorDropService.js → contrib/testing/common/testingPeekOpener.js} +2 -2
  258. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.js +47 -0
  259. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -3
  260. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +8 -9
  261. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +1 -1
  262. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +5 -2
  263. package/vscode/src/vs/workbench/services/activity/browser/activityService.d.ts +16 -10
  264. package/vscode/src/vs/workbench/services/activity/common/activity.d.ts +14 -1
  265. package/vscode/src/vs/workbench/services/activity/common/activity.js +1 -7
  266. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +9 -28
  267. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +273 -0
  268. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolver.js +1 -0
  269. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +2 -0
  270. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +2 -3
  271. package/vscode/src/vs/workbench/services/editor/browser/editorService.d.ts +7 -5
  272. package/vscode/src/vs/workbench/services/editor/browser/editorService.js +59 -37
  273. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +193 -94
  274. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +2 -2
  275. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +8 -2
  276. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +8 -1
  277. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +62 -16
  278. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +5 -3
  279. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +3 -2
  280. package/vscode/src/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +4 -9
  281. package/vscode/src/vs/workbench/services/extensions/common/{extensionHostManager.d.ts → extensionHostManagers.d.ts} +2 -0
  282. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.d.ts +1 -1
  283. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +9 -0
  284. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +22 -0
  285. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +14 -3
  286. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +9 -0
  287. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -3
  288. package/vscode/src/vs/workbench/services/history/common/history.d.ts +2 -2
  289. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +49 -18
  290. package/vscode/src/vs/workbench/services/host/browser/host.d.ts +29 -7
  291. package/vscode/src/vs/workbench/services/hover/browser/hover.d.ts +51 -28
  292. package/vscode/src/vs/workbench/services/hover/browser/hoverService.d.ts +5 -2
  293. package/vscode/src/vs/workbench/services/keybinding/browser/unboundCommands.js +2 -2
  294. package/vscode/src/vs/workbench/services/languageStatus/common/languageStatusService.d.ts +4 -1
  295. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +40 -36
  296. package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.d.ts +0 -6
  297. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +3 -0
  298. package/vscode/src/vs/workbench/services/progress/browser/progressIndicator.js +2 -2
  299. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.d.ts +16 -1
  300. package/vscode/src/vs/workbench/services/request/browser/requestService.js +48 -0
  301. package/vscode/src/vs/workbench/services/search/common/searchHelpers.js +4 -4
  302. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +10 -51
  303. package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +4 -0
  304. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +10 -0
  305. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +98 -0
  306. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +428 -0
  307. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +83 -0
  308. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +32 -1
  309. package/vscode/src/vs/workbench/services/textfile/common/textEditorService.js +1 -5
  310. package/vscode/src/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +4 -3
  311. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +9 -3
  312. package/vscode/src/vs/workbench/services/title/browser/titleService.d.ts +18 -0
  313. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +18 -3
  314. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +16 -7
  315. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.d.ts +6 -0
  316. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorService.js +13 -0
  317. package/vscode/src/vs/workbench/services/url/browser/urlService.js +2 -1
  318. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +2 -2
  319. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +9 -0
  320. package/vscode-dts/vscode.proposed.chatAgents2.d.ts +375 -0
  321. package/vscode-dts/vscode.proposed.chatAgents2Additions.d.ts +80 -0
  322. package/vscode-dts/vscode.proposed.chatProvider.d.ts +5 -1
  323. package/vscode-dts/vscode.proposed.chatRequestAccess.d.ts +68 -10
  324. package/vscode-dts/vscode.proposed.chatTab.d.ts +21 -0
  325. package/vscode-dts/vscode.proposed.chatVariables.d.ts +5 -1
  326. package/vscode-dts/vscode.proposed.codeActionAI.d.ts +16 -0
  327. package/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +7 -0
  328. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +51 -0
  329. package/vscode-dts/vscode.proposed.defaultChatAgent.d.ts +30 -0
  330. package/vscode-dts/vscode.proposed.handleIssueUri.d.ts +26 -0
  331. package/vscode-dts/vscode.proposed.interactive.d.ts +26 -100
  332. package/vscode-dts/vscode.proposed.interactiveUserActions.d.ts +14 -7
  333. package/vscode-dts/vscode.proposed.languageStatusText.d.ts +12 -0
  334. package/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts +63 -0
  335. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +43 -0
  336. package/vscode-dts/vscode.proposed.resolvers.d.ts +100 -1
  337. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +9 -1
  338. package/vscode-dts/vscode.proposed.scmInputBoxActionButton.d.ts +19 -0
  339. package/vscode-dts/vscode.proposed.scmInputBoxValueProvider.d.ts +25 -0
  340. package/vscode-dts/vscode.proposed.speech.d.ts +35 -0
  341. package/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts +11 -7
  342. package/vscode-dts/vscode.proposed.testCoverage.d.ts +6 -1
  343. package/vscode-dts/vscode.proposed.testingActiveProfile.d.ts +21 -0
  344. package/external/xterm-headless/typings/xterm-headless.d.ts +0 -49
  345. package/vscode/src/vs/platform/backup/common/backup.d.ts +0 -14
  346. package/vscode/src/vs/platform/update/common/update.d.ts +0 -112
  347. package/vscode/src/vs/workbench/api/common/extHostChatAgents.js +0 -62
  348. package/vscode/src/vs/workbench/api/common/extHostChatSlashCommand.js +0 -62
  349. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +0 -56
  350. package/vscode/src/vs/workbench/services/files/common/files.js +0 -4
  351. package/vscode/src/vs/workbench/services/host/browser/browserHostService.d.ts +0 -41
  352. package/vscode/src/vs/workbench/services/title/common/titleService.d.ts +0 -31
  353. package/vscode-dts/vscode.proposed.chatAgents.d.ts +0 -39
  354. package/vscode-dts/vscode.proposed.chatSlashCommands.d.ts +0 -47
  355. package/vscode-dts/vscode.proposed.testMessageContextValue.d.ts +0 -45
  356. /package/external/{xterm-addon-canvas/typings/xterm-addon-canvas.d.ts → @xterm/addon-canvas/typings/addon-canvas.d.ts} +0 -0
  357. /package/external/{xterm-addon-search/typings/xterm-addon-search.d.ts → @xterm/addon-search/typings/addon-search.d.ts} +0 -0
  358. /package/external/{xterm-addon-serialize/typings/xterm-addon-serialize.d.ts → @xterm/addon-serialize/typings/addon-serialize.d.ts} +0 -0
  359. /package/external/{xterm-addon-unicode11/typings/xterm-addon-unicode11.d.ts → @xterm/addon-unicode11/typings/addon-unicode11.d.ts} +0 -0
  360. /package/external/{xterm-addon-webgl/typings/xterm-addon-webgl.d.ts → @xterm/addon-webgl/typings/addon-webgl.d.ts} +0 -0
  361. /package/vscode/src/vs/workbench/services/title/{common → browser}/titleService.js +0 -0
@@ -0,0 +1,423 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { getCodeEditor } from 'monaco-editor/esm/vs/editor/browser/editorBrowser.js';
3
+ import { registerEditorAction, EditorAction } from 'monaco-editor/esm/vs/editor/browser/editorExtensions.js';
4
+ import { EditorContextKeys } from 'monaco-editor/esm/vs/editor/common/editorContextKeys.js';
5
+ import * as nls from 'monaco-editor/esm/vs/nls.js';
6
+ import { ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
7
+ import { IQuickInputService } from 'monaco-editor/esm/vs/platform/quickinput/common/quickInput.js';
8
+ import { CancellationToken, CancellationTokenSource } from 'monaco-editor/esm/vs/base/common/cancellation.js';
9
+ import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
10
+ import { FormattingConflicts, getRealAndSyntheticDocumentFormattersOrdered, formatDocumentWithProvider, formatDocumentRangesWithProvider } from 'monaco-editor/esm/vs/editor/contrib/format/browser/format.js';
11
+ import { Range } from 'monaco-editor/esm/vs/editor/common/core/range.js';
12
+ import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
13
+ import { ExtensionIdentifier } from 'monaco-editor/esm/vs/platform/extensions/common/extensions.js';
14
+ import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
15
+ import { Extensions as Extensions$1 } from 'monaco-editor/esm/vs/platform/configuration/common/configurationRegistry.js';
16
+ import { Extensions } from '../../../common/contributions.js';
17
+ import { toExtension, IExtensionService } from '../../../services/extensions/common/extensions.js';
18
+ import { Disposable, DisposableStore, toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
19
+ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
20
+ import { Severity, NotificationPriority, INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
21
+ import { ILanguageService } from 'monaco-editor/esm/vs/editor/common/languages/language.js';
22
+ import { IWorkbenchExtensionEnablementService } from '../../../services/extensionManagement/common/extensionManagement.js';
23
+ import { editorConfigurationBaseNode } from 'monaco-editor/esm/vs/editor/common/config/editorConfigurationSchema.js';
24
+ import '../../../../../../../override/vs/platform/dialogs/common/dialogs.js';
25
+ import { ILanguageFeaturesService } from 'monaco-editor/esm/vs/editor/common/services/languageFeatures.js';
26
+ import { ILanguageStatusService } from '../../../services/languageStatus/common/languageStatusService.js';
27
+ import { IEditorService } from '../../../services/editor/common/editorService.js';
28
+ import { CommandsRegistry } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
29
+ import { generateUuid } from 'monaco-editor/esm/vs/base/common/uuid.js';
30
+ import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
31
+ var DefaultFormatter_1;
32
+ let DefaultFormatter = class DefaultFormatter extends Disposable {
33
+ static { DefaultFormatter_1 = this; }
34
+ static { this.configName = 'editor.defaultFormatter'; }
35
+ static { this.extensionIds = []; }
36
+ static { this.extensionItemLabels = []; }
37
+ static { this.extensionDescriptions = []; }
38
+ constructor(_extensionService, _extensionEnablementService, _configService, _notificationService, _dialogService, _quickInputService, _languageService, _languageFeaturesService, _languageStatusService, _editorService) {
39
+ super();
40
+ this._extensionService = _extensionService;
41
+ this._extensionEnablementService = _extensionEnablementService;
42
+ this._configService = _configService;
43
+ this._notificationService = _notificationService;
44
+ this._dialogService = _dialogService;
45
+ this._quickInputService = _quickInputService;
46
+ this._languageService = _languageService;
47
+ this._languageFeaturesService = _languageFeaturesService;
48
+ this._languageStatusService = _languageStatusService;
49
+ this._editorService = _editorService;
50
+ this._languageStatusStore = this._store.add(( new DisposableStore()));
51
+ this._store.add(this._extensionService.onDidChangeExtensions(this._updateConfigValues, this));
52
+ this._store.add(FormattingConflicts.setFormatterSelector((formatter, document, mode) => this._selectFormatter(formatter, document, mode)));
53
+ this._store.add(_editorService.onDidActiveEditorChange(this._updateStatus, this));
54
+ this._store.add(_languageFeaturesService.documentFormattingEditProvider.onDidChange(this._updateStatus, this));
55
+ this._store.add(_languageFeaturesService.documentRangeFormattingEditProvider.onDidChange(this._updateStatus, this));
56
+ this._store.add(_configService.onDidChangeConfiguration(e => e.affectsConfiguration(DefaultFormatter_1.configName) && this._updateStatus()));
57
+ this._updateConfigValues();
58
+ }
59
+ async _updateConfigValues() {
60
+ await this._extensionService.whenInstalledExtensionsRegistered();
61
+ let extensions = [...this._extensionService.extensions];
62
+ extensions = extensions.sort((a, b) => {
63
+ const boostA = a.categories?.find(cat => cat === 'Formatters' || cat === 'Programming Languages');
64
+ const boostB = b.categories?.find(cat => cat === 'Formatters' || cat === 'Programming Languages');
65
+ if (boostA && !boostB) {
66
+ return -1;
67
+ }
68
+ else if (!boostA && boostB) {
69
+ return 1;
70
+ }
71
+ else {
72
+ return a.name.localeCompare(b.name);
73
+ }
74
+ });
75
+ DefaultFormatter_1.extensionIds.length = 0;
76
+ DefaultFormatter_1.extensionItemLabels.length = 0;
77
+ DefaultFormatter_1.extensionDescriptions.length = 0;
78
+ DefaultFormatter_1.extensionIds.push(null);
79
+ DefaultFormatter_1.extensionItemLabels.push(( nls.localizeWithPath(
80
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
81
+ 'null',
82
+ 'None'
83
+ )));
84
+ DefaultFormatter_1.extensionDescriptions.push(( nls.localizeWithPath(
85
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
86
+ 'nullFormatterDescription',
87
+ "None"
88
+ )));
89
+ for (const extension of extensions) {
90
+ if (extension.main || extension.browser) {
91
+ DefaultFormatter_1.extensionIds.push(extension.identifier.value);
92
+ DefaultFormatter_1.extensionItemLabels.push(extension.displayName ?? '');
93
+ DefaultFormatter_1.extensionDescriptions.push(extension.description ?? '');
94
+ }
95
+ }
96
+ }
97
+ static _maybeQuotes(s) {
98
+ return s.match(/\s/) ? `'${s}'` : s;
99
+ }
100
+ async _analyzeFormatter(formatter, document) {
101
+ const defaultFormatterId = this._configService.getValue(DefaultFormatter_1.configName, {
102
+ resource: document.uri,
103
+ overrideIdentifier: document.getLanguageId()
104
+ });
105
+ if (defaultFormatterId) {
106
+ const defaultFormatter = formatter.find(formatter => ExtensionIdentifier.equals(formatter.extensionId, defaultFormatterId));
107
+ if (defaultFormatter) {
108
+ return defaultFormatter;
109
+ }
110
+ const extension = await this._extensionService.getExtension(defaultFormatterId);
111
+ if (extension && this._extensionEnablementService.isEnabled(toExtension(extension))) {
112
+ const langName = this._languageService.getLanguageName(document.getLanguageId()) || document.getLanguageId();
113
+ const detail = ( nls.localizeWithPath(
114
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
115
+ 'miss',
116
+ "Extension '{0}' is configured as formatter but it cannot format '{1}'-files",
117
+ extension.displayName || extension.name,
118
+ langName
119
+ ));
120
+ return detail;
121
+ }
122
+ }
123
+ else if (formatter.length === 1) {
124
+ return formatter[0];
125
+ }
126
+ const langName = this._languageService.getLanguageName(document.getLanguageId()) || document.getLanguageId();
127
+ const message = !defaultFormatterId
128
+ ? ( nls.localizeWithPath(
129
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
130
+ 'config.needed',
131
+ "There are multiple formatters for '{0}' files. One of them should be configured as default formatter.",
132
+ DefaultFormatter_1._maybeQuotes(langName)
133
+ ))
134
+ : ( nls.localizeWithPath(
135
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
136
+ 'config.bad',
137
+ "Extension '{0}' is configured as formatter but not available. Select a different default formatter to continue.",
138
+ defaultFormatterId
139
+ ));
140
+ return message;
141
+ }
142
+ async _selectFormatter(formatter, document, mode) {
143
+ const formatterOrMessage = await this._analyzeFormatter(formatter, document);
144
+ if (typeof formatterOrMessage !== 'string') {
145
+ return formatterOrMessage;
146
+ }
147
+ if (mode !== 2 ) {
148
+ const { confirmed } = await this._dialogService.confirm({
149
+ message: ( nls.localizeWithPath(
150
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
151
+ 'miss.1',
152
+ "Configure Default Formatter"
153
+ )),
154
+ detail: formatterOrMessage,
155
+ primaryButton: ( nls.localizeWithPath(
156
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
157
+ { key: 'do.config', comment: ['&& denotes a mnemonic'] },
158
+ "&&Configure..."
159
+ ))
160
+ });
161
+ if (confirmed) {
162
+ return this._pickAndPersistDefaultFormatter(formatter, document);
163
+ }
164
+ }
165
+ else {
166
+ this._notificationService.prompt(Severity.Info, formatterOrMessage, [{ label: ( nls.localizeWithPath(
167
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
168
+ 'do.config.notification',
169
+ "Configure..."
170
+ )), run: () => this._pickAndPersistDefaultFormatter(formatter, document) }], { priority: NotificationPriority.SILENT });
171
+ }
172
+ return undefined;
173
+ }
174
+ async _pickAndPersistDefaultFormatter(formatter, document) {
175
+ const picks = ( formatter.map((formatter, index) => {
176
+ return {
177
+ index,
178
+ label: formatter.displayName || (formatter.extensionId ? formatter.extensionId.value : '?'),
179
+ description: formatter.extensionId && formatter.extensionId.value
180
+ };
181
+ }));
182
+ const langName = this._languageService.getLanguageName(document.getLanguageId()) || document.getLanguageId();
183
+ const pick = await this._quickInputService.pick(picks, { placeHolder: ( nls.localizeWithPath(
184
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
185
+ 'select',
186
+ "Select a default formatter for '{0}' files",
187
+ DefaultFormatter_1._maybeQuotes(langName)
188
+ )) });
189
+ if (!pick || !formatter[pick.index].extensionId) {
190
+ return undefined;
191
+ }
192
+ this._configService.updateValue(DefaultFormatter_1.configName, formatter[pick.index].extensionId.value, {
193
+ resource: document.uri,
194
+ overrideIdentifier: document.getLanguageId()
195
+ });
196
+ return formatter[pick.index];
197
+ }
198
+ _updateStatus() {
199
+ this._languageStatusStore.clear();
200
+ const editor = getCodeEditor(this._editorService.activeTextEditorControl);
201
+ if (!editor || !editor.hasModel()) {
202
+ return;
203
+ }
204
+ const document = editor.getModel();
205
+ const formatter = getRealAndSyntheticDocumentFormattersOrdered(this._languageFeaturesService.documentFormattingEditProvider, this._languageFeaturesService.documentRangeFormattingEditProvider, document);
206
+ if (formatter.length === 0) {
207
+ return;
208
+ }
209
+ const cts = ( new CancellationTokenSource());
210
+ this._languageStatusStore.add(toDisposable(() => cts.dispose(true)));
211
+ this._analyzeFormatter(formatter, document).then(result => {
212
+ if (cts.token.isCancellationRequested) {
213
+ return;
214
+ }
215
+ if (typeof result !== 'string') {
216
+ return;
217
+ }
218
+ const command = { id: `formatter/configure/dfl/${generateUuid()}`, title: ( nls.localizeWithPath(
219
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
220
+ 'do.config.command',
221
+ "Configure..."
222
+ )) };
223
+ this._languageStatusStore.add(CommandsRegistry.registerCommand(command.id, () => this._pickAndPersistDefaultFormatter(formatter, document)));
224
+ this._languageStatusStore.add(this._languageStatusService.addStatus({
225
+ id: 'formatter.conflict',
226
+ name: ( nls.localizeWithPath(
227
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
228
+ 'summary',
229
+ "Formatter Conflicts"
230
+ )),
231
+ selector: { language: document.getLanguageId(), pattern: document.uri.fsPath },
232
+ severity: Severity.Error,
233
+ label: ( nls.localizeWithPath(
234
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
235
+ 'formatter',
236
+ "Formatting"
237
+ )),
238
+ detail: result,
239
+ busy: false,
240
+ source: '',
241
+ command,
242
+ accessibilityInfo: undefined
243
+ }));
244
+ });
245
+ }
246
+ };
247
+ DefaultFormatter = DefaultFormatter_1 = ( __decorate([
248
+ ( __param(0, IExtensionService)),
249
+ ( __param(1, IWorkbenchExtensionEnablementService)),
250
+ ( __param(2, IConfigurationService)),
251
+ ( __param(3, INotificationService)),
252
+ ( __param(4, IDialogService)),
253
+ ( __param(5, IQuickInputService)),
254
+ ( __param(6, ILanguageService)),
255
+ ( __param(7, ILanguageFeaturesService)),
256
+ ( __param(8, ILanguageStatusService)),
257
+ ( __param(9, IEditorService))
258
+ ], DefaultFormatter));
259
+ ( Registry.as(Extensions.Workbench)).registerWorkbenchContribution(DefaultFormatter, 3 );
260
+ ( Registry.as(Extensions$1.Configuration)).registerConfiguration({
261
+ ...editorConfigurationBaseNode,
262
+ properties: {
263
+ [DefaultFormatter.configName]: {
264
+ description: ( nls.localizeWithPath(
265
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
266
+ 'formatter.default',
267
+ "Defines a default formatter which takes precedence over all other formatter settings. Must be the identifier of an extension contributing a formatter."
268
+ )),
269
+ type: ['string', 'null'],
270
+ default: null,
271
+ enum: DefaultFormatter.extensionIds,
272
+ enumItemLabels: DefaultFormatter.extensionItemLabels,
273
+ markdownEnumDescriptions: DefaultFormatter.extensionDescriptions
274
+ }
275
+ }
276
+ });
277
+ function logFormatterTelemetry(telemetryService, mode, options, pick) {
278
+ function extKey(obj) {
279
+ return obj.extensionId ? ExtensionIdentifier.toKey(obj.extensionId) : 'unknown';
280
+ }
281
+ telemetryService.publicLog2('formatterpick', {
282
+ mode,
283
+ extensions: ( options.map(extKey)),
284
+ pick: pick ? extKey(pick) : 'none'
285
+ });
286
+ }
287
+ async function showFormatterPick(accessor, model, formatters) {
288
+ const quickPickService = accessor.get(IQuickInputService);
289
+ const configService = accessor.get(IConfigurationService);
290
+ const languageService = accessor.get(ILanguageService);
291
+ const overrides = { resource: model.uri, overrideIdentifier: model.getLanguageId() };
292
+ const defaultFormatter = configService.getValue(DefaultFormatter.configName, overrides);
293
+ let defaultFormatterPick;
294
+ const picks = ( formatters.map((provider, index) => {
295
+ const isDefault = ExtensionIdentifier.equals(provider.extensionId, defaultFormatter);
296
+ const pick = {
297
+ index,
298
+ label: provider.displayName || '',
299
+ description: isDefault ? ( nls.localizeWithPath(
300
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
301
+ 'def',
302
+ "(default)"
303
+ )) : undefined,
304
+ };
305
+ if (isDefault) {
306
+ defaultFormatterPick = pick;
307
+ }
308
+ return pick;
309
+ }));
310
+ const configurePick = {
311
+ label: ( nls.localizeWithPath(
312
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
313
+ 'config',
314
+ "Configure Default Formatter..."
315
+ ))
316
+ };
317
+ const pick = await quickPickService.pick([...picks, { type: 'separator' }, configurePick], {
318
+ placeHolder: ( nls.localizeWithPath(
319
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
320
+ 'format.placeHolder',
321
+ "Select a formatter"
322
+ )),
323
+ activeItem: defaultFormatterPick
324
+ });
325
+ if (!pick) {
326
+ return undefined;
327
+ }
328
+ else if (pick === configurePick) {
329
+ const langName = languageService.getLanguageName(model.getLanguageId()) || model.getLanguageId();
330
+ const pick = await quickPickService.pick(picks, { placeHolder: ( nls.localizeWithPath(
331
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
332
+ 'select',
333
+ "Select a default formatter for '{0}' files",
334
+ DefaultFormatter._maybeQuotes(langName)
335
+ )) });
336
+ if (pick && formatters[pick.index].extensionId) {
337
+ configService.updateValue(DefaultFormatter.configName, formatters[pick.index].extensionId.value, overrides);
338
+ }
339
+ return undefined;
340
+ }
341
+ else {
342
+ return pick.index;
343
+ }
344
+ }
345
+ registerEditorAction(class FormatDocumentMultipleAction extends EditorAction {
346
+ constructor() {
347
+ super({
348
+ id: 'editor.action.formatDocument.multiple',
349
+ label: ( nls.localizeWithPath(
350
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
351
+ 'formatDocument.label.multiple',
352
+ "Format Document With..."
353
+ )),
354
+ alias: 'Format Document...',
355
+ precondition: ( ContextKeyExpr.and(
356
+ EditorContextKeys.writable,
357
+ EditorContextKeys.hasMultipleDocumentFormattingProvider
358
+ )),
359
+ contextMenuOpts: {
360
+ group: '1_modification',
361
+ order: 1.3
362
+ }
363
+ });
364
+ }
365
+ async run(accessor, editor, args) {
366
+ if (!editor.hasModel()) {
367
+ return;
368
+ }
369
+ const instaService = accessor.get(IInstantiationService);
370
+ const telemetryService = accessor.get(ITelemetryService);
371
+ const languageFeaturesService = accessor.get(ILanguageFeaturesService);
372
+ const model = editor.getModel();
373
+ const provider = getRealAndSyntheticDocumentFormattersOrdered(languageFeaturesService.documentFormattingEditProvider, languageFeaturesService.documentRangeFormattingEditProvider, model);
374
+ const pick = await instaService.invokeFunction(showFormatterPick, model, provider);
375
+ if (typeof pick === 'number') {
376
+ await instaService.invokeFunction(formatDocumentWithProvider, provider[pick], editor, 1 , CancellationToken.None);
377
+ }
378
+ logFormatterTelemetry(telemetryService, 'document', provider, typeof pick === 'number' && provider[pick] || undefined);
379
+ }
380
+ });
381
+ registerEditorAction(class FormatSelectionMultipleAction extends EditorAction {
382
+ constructor() {
383
+ super({
384
+ id: 'editor.action.formatSelection.multiple',
385
+ label: ( nls.localizeWithPath(
386
+ 'vs/workbench/contrib/format/browser/formatActionsMultiple',
387
+ 'formatSelection.label.multiple',
388
+ "Format Selection With..."
389
+ )),
390
+ alias: 'Format Code...',
391
+ precondition: ( ContextKeyExpr.and(( ContextKeyExpr.and(EditorContextKeys.writable)), EditorContextKeys.hasMultipleDocumentSelectionFormattingProvider)),
392
+ contextMenuOpts: {
393
+ when: ( ContextKeyExpr.and(EditorContextKeys.hasNonEmptySelection)),
394
+ group: '1_modification',
395
+ order: 1.31
396
+ }
397
+ });
398
+ }
399
+ async run(accessor, editor) {
400
+ if (!editor.hasModel()) {
401
+ return;
402
+ }
403
+ const instaService = accessor.get(IInstantiationService);
404
+ const languageFeaturesService = accessor.get(ILanguageFeaturesService);
405
+ const telemetryService = accessor.get(ITelemetryService);
406
+ const model = editor.getModel();
407
+ let range = editor.getSelection();
408
+ if (range.isEmpty()) {
409
+ range = ( new Range(
410
+ range.startLineNumber,
411
+ 1,
412
+ range.startLineNumber,
413
+ model.getLineMaxColumn(range.startLineNumber)
414
+ ));
415
+ }
416
+ const provider = languageFeaturesService.documentRangeFormattingEditProvider.ordered(model);
417
+ const pick = await instaService.invokeFunction(showFormatterPick, model, provider);
418
+ if (typeof pick === 'number') {
419
+ await instaService.invokeFunction(formatDocumentRangesWithProvider, provider[pick], editor, range, CancellationToken.None, true);
420
+ }
421
+ logFormatterTelemetry(telemetryService, 'range', provider, typeof pick === 'number' && provider[pick] || undefined);
422
+ }
423
+ });
@@ -0,0 +1,82 @@
1
+ import { registerEditorAction, EditorAction } from 'monaco-editor/esm/vs/editor/browser/editorExtensions.js';
2
+ import { EditorContextKeys } from 'monaco-editor/esm/vs/editor/common/editorContextKeys.js';
3
+ import * as nls from 'monaco-editor/esm/vs/nls.js';
4
+ import { ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
5
+ import { ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
6
+ import { INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
7
+ import { VIEWLET_ID } from '../../extensions/common/extensions.js';
8
+ import '../../../../../../../override/vs/platform/dialogs/common/dialogs.js';
9
+ import { IPaneCompositePartService } from '../../../services/panecomposite/browser/panecomposite.js';
10
+ import { ILanguageFeaturesService } from 'monaco-editor/esm/vs/editor/common/services/languageFeatures.js';
11
+ import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
12
+ async function showExtensionQuery(paneCompositeService, query) {
13
+ const viewlet = await paneCompositeService.openPaneComposite(VIEWLET_ID, 0 , true);
14
+ if (viewlet) {
15
+ (viewlet?.getViewPaneContainer()).search(query);
16
+ }
17
+ }
18
+ registerEditorAction(class FormatDocumentMultipleAction extends EditorAction {
19
+ constructor() {
20
+ super({
21
+ id: 'editor.action.formatDocument.none',
22
+ label: ( nls.localizeWithPath(
23
+ 'vs/workbench/contrib/format/browser/formatActionsNone',
24
+ 'formatDocument.label.multiple',
25
+ "Format Document"
26
+ )),
27
+ alias: 'Format Document',
28
+ precondition: ( ContextKeyExpr.and(EditorContextKeys.writable, ( EditorContextKeys.hasDocumentFormattingProvider.toNegated()))),
29
+ kbOpts: {
30
+ kbExpr: EditorContextKeys.editorTextFocus,
31
+ primary: 1024 | 512 | 36 ,
32
+ linux: { primary: 2048 | 1024 | 39 },
33
+ weight: 100 ,
34
+ }
35
+ });
36
+ }
37
+ async run(accessor, editor) {
38
+ if (!editor.hasModel()) {
39
+ return;
40
+ }
41
+ const commandService = accessor.get(ICommandService);
42
+ const paneCompositeService = accessor.get(IPaneCompositePartService);
43
+ const notificationService = accessor.get(INotificationService);
44
+ const dialogService = accessor.get(IDialogService);
45
+ const languageFeaturesService = accessor.get(ILanguageFeaturesService);
46
+ const model = editor.getModel();
47
+ const formatterCount = languageFeaturesService.documentFormattingEditProvider.all(model).length;
48
+ if (formatterCount > 1) {
49
+ return commandService.executeCommand('editor.action.formatDocument.multiple');
50
+ }
51
+ else if (formatterCount === 1) {
52
+ return commandService.executeCommand('editor.action.formatDocument');
53
+ }
54
+ else if (model.isTooLargeForSyncing()) {
55
+ notificationService.warn(( nls.localizeWithPath(
56
+ 'vs/workbench/contrib/format/browser/formatActionsNone',
57
+ 'too.large',
58
+ "This file cannot be formatted because it is too large"
59
+ )));
60
+ }
61
+ else {
62
+ const langName = model.getLanguageId();
63
+ const message = ( nls.localizeWithPath(
64
+ 'vs/workbench/contrib/format/browser/formatActionsNone',
65
+ 'no.provider',
66
+ "There is no formatter for '{0}' files installed.",
67
+ langName
68
+ ));
69
+ const { confirmed } = await dialogService.confirm({
70
+ message,
71
+ primaryButton: ( nls.localizeWithPath(
72
+ 'vs/workbench/contrib/format/browser/formatActionsNone',
73
+ { key: 'install.formatter', comment: ['&& denotes a mnemonic'] },
74
+ "&&Install Formatter..."
75
+ ))
76
+ });
77
+ if (confirmed) {
78
+ showExtensionQuery(paneCompositeService, `category:formatters ${langName}`);
79
+ }
80
+ }
81
+ }
82
+ });
@@ -36,7 +36,7 @@ registerEditorAction(class FormatModifiedAction extends EditorAction {
36
36
  }
37
37
  const ranges = await instaService.invokeFunction(getModifiedRanges, editor.getModel());
38
38
  if (isNonEmptyArray(ranges)) {
39
- return instaService.invokeFunction(formatDocumentRangesWithSelectedProvider, editor, ranges, 1 , Progress.None, CancellationToken.None);
39
+ return instaService.invokeFunction(formatDocumentRangesWithSelectedProvider, editor, ranges, 1 , Progress.None, CancellationToken.None, true);
40
40
  }
41
41
  }
42
42
  });
@@ -105,6 +105,42 @@ registerColor('inlineChatDiff.removed', { dark: ( transparent(diffRemoved, .5)),
105
105
  )),
106
106
  default: true,
107
107
  type: 'boolean'
108
+ },
109
+ 'inlineChat.showGutterIcon': {
110
+ description: ( localizeWithPath(
111
+ 'vs/workbench/contrib/inlineChat/common/inlineChat',
112
+ 'showGutterIcon',
113
+ "Controls when the gutter icon for spawning inline chat is shown."
114
+ )),
115
+ default: "never" ,
116
+ type: 'string',
117
+ enum: ["always" , "mouseover" , "never" ],
118
+ markdownEnumDescriptions: [
119
+ ( localizeWithPath(
120
+ 'vs/workbench/contrib/inlineChat/common/inlineChat',
121
+ 'showGutterIcon.always',
122
+ "Always show the gutter icon."
123
+ )),
124
+ ( localizeWithPath(
125
+ 'vs/workbench/contrib/inlineChat/common/inlineChat',
126
+ 'showGutterIcon.mouseover',
127
+ "Show the gutter icon when the mouse is over the icon."
128
+ )),
129
+ ( localizeWithPath(
130
+ 'vs/workbench/contrib/inlineChat/common/inlineChat',
131
+ 'showGutterIcon.never',
132
+ "Never show the gutter icon."
133
+ )),
134
+ ]
135
+ },
136
+ 'inlineChat.showToolbarIcon': {
137
+ description: ( localizeWithPath(
138
+ 'vs/workbench/contrib/inlineChat/common/inlineChat',
139
+ 'showToolbarIcon',
140
+ "Controls whether the toolbar icon spawning the inline chat is enabled."
141
+ )),
142
+ default: false,
143
+ type: 'boolean'
108
144
  }
109
145
  }
110
146
  });
@@ -129,6 +129,7 @@ const NotebookSetting = {
129
129
  outputScrolling: 'notebook.output.scrolling',
130
130
  textOutputLineLimit: 'notebook.output.textLineLimit',
131
131
  formatOnSave: 'notebook.formatOnSave.enabled',
132
+ insertFinalNewline: 'notebook.insertFinalNewline',
132
133
  formatOnCellExecution: 'notebook.formatOnCellExecution',
133
134
  codeActionsOnSave: 'notebook.codeActionsOnSave',
134
135
  outputWordWrap: 'notebook.output.wordWrap',
@@ -144,7 +145,8 @@ const NotebookSetting = {
144
145
  remoteSaving: 'notebook.experimental.remoteSave',
145
146
  gotoSymbolsAllSymbols: 'notebook.gotoSymbols.showAllSymbols',
146
147
  scrollToRevealCell: 'notebook.scrolling.revealNextCellOnExecute',
147
- anchorToFocusedCell: 'notebook.scrolling.experimental.anchorToFocusedCell'
148
+ anchorToFocusedCell: 'notebook.scrolling.experimental.anchorToFocusedCell',
149
+ cellChat: 'notebook.experimental.cellChat'
148
150
  };
149
151
  class NotebookWorkingCopyTypeIdentifier {
150
152
  static { this._prefix = 'notebook/'; }
@@ -1,3 +1,4 @@
1
+ import { CancellationToken } from 'monaco-editor/esm/vs/base/common/cancellation.js';
1
2
  import { RawContextKey } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
2
3
  import { createDecorator } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
3
4
  const IPreferencesSearchService = ( createDecorator('preferencesSearchService'));
@@ -43,12 +44,14 @@ const POLICY_SETTING_TAG = 'hasPolicy';
43
44
  const WORKSPACE_TRUST_SETTING_TAG = 'workspaceTrust';
44
45
  const REQUIRE_TRUSTED_WORKSPACE_SETTING_TAG = 'requireTrustedWorkspace';
45
46
  let cachedExtensionToggleData;
46
- async function getExperimentalExtensionToggleData(workbenchAssignmentService, environmentService, productService) {
47
+ async function getExperimentalExtensionToggleData(extensionGalleryService, productService) {
48
+ if (!extensionGalleryService.isEnabled()) {
49
+ return undefined;
50
+ }
47
51
  if (cachedExtensionToggleData) {
48
52
  return cachedExtensionToggleData;
49
53
  }
50
- const isTreatment = await workbenchAssignmentService.getTreatment('ExtensionToggleSettings');
51
- if ((isTreatment || !environmentService.isBuilt) && productService.extensionRecommendations && productService.commonlyUsedSettings) {
54
+ if (productService.extensionRecommendations && productService.commonlyUsedSettings) {
52
55
  const settingsEditorRecommendedExtensions = {};
53
56
  ( Object.keys(productService.extensionRecommendations)).forEach(extensionId => {
54
57
  const extensionInfo = productService.extensionRecommendations[extensionId];
@@ -56,8 +59,26 @@ async function getExperimentalExtensionToggleData(workbenchAssignmentService, en
56
59
  settingsEditorRecommendedExtensions[extensionId] = extensionInfo;
57
60
  }
58
61
  });
62
+ const recommendedExtensionsGalleryInfo = {};
63
+ for (const key in settingsEditorRecommendedExtensions) {
64
+ const extensionId = key;
65
+ const isStable = productService.quality === 'stable';
66
+ try {
67
+ const [extension] = await extensionGalleryService.getExtensions([{ id: extensionId, preRelease: !isStable }], CancellationToken.None);
68
+ if (extension) {
69
+ recommendedExtensionsGalleryInfo[key] = extension;
70
+ }
71
+ else {
72
+ return undefined;
73
+ }
74
+ }
75
+ catch (e) {
76
+ return undefined;
77
+ }
78
+ }
59
79
  cachedExtensionToggleData = {
60
80
  settingsEditorRecommendedExtensions,
81
+ recommendedExtensionsGalleryInfo,
61
82
  commonlyUsed: productService.commonlyUsedSettings
62
83
  };
63
84
  return cachedExtensionToggleData;