@codingame/monaco-vscode-api 1.79.0 → 1.79.2-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 (644) hide show
  1. package/README.md +17 -6
  2. package/dist/api.js +12 -10
  3. package/dist/composite.d.ts +65 -0
  4. package/dist/configurationRegistry.d.ts +212 -0
  5. package/dist/contextkey.d.ts +2 -2
  6. package/dist/default-extension.js +23 -0
  7. package/dist/default-extensions/json.js +1 -0
  8. package/dist/default-extensions/theme-defaults.js +2 -2
  9. package/dist/editor.d.ts +4 -320
  10. package/dist/editorBrowser.d.ts +597 -11
  11. package/dist/event.d.ts +6 -1
  12. package/dist/{extension-tools-d0cfdea1.js → extension-tools-3c2bf0a4.js} +1032 -706
  13. package/dist/extensions.d.ts +6 -6
  14. package/dist/extensions.d2.ts +6 -17
  15. package/dist/extensions.js +4 -37
  16. package/dist/extensionsRegistry.d.ts +15 -9
  17. package/dist/files.d.ts +73 -9
  18. package/dist/jsonSchema.d.ts +1 -1
  19. package/dist/keybinding.d.ts +3 -3
  20. package/dist/languageFeatures.d.ts +706 -65
  21. package/dist/log.d.ts +1 -1
  22. package/dist/monaco.d.ts +33 -33
  23. package/dist/monaco.js +62 -6
  24. package/dist/node_modules/rollup-plugin-styles/dist/runtime/inject-css.js +2 -0
  25. package/dist/override/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +2 -0
  26. package/dist/override/vs/workbench/contrib/notebook/browser/notebookEditor.js +2 -0
  27. package/dist/override/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +2 -0
  28. package/dist/override/vs/workbench/contrib/notebook/common/notebookEditorInput.js +5 -0
  29. package/dist/platform.d.ts +11 -0
  30. package/dist/rollup-extension-directory-plugin.js +1 -2
  31. package/dist/rollup-vsix-plugin.js +1 -2
  32. package/dist/service-override/configuration.d.ts +7 -208
  33. package/dist/service-override/editor.d.ts +13 -0
  34. package/dist/service-override/{modelEditor.js → editor.js} +6 -62
  35. package/dist/service-override/files.d.ts +4 -4
  36. package/dist/service-override/files.js +14 -2
  37. package/dist/service-override/keybindings.js +3 -79
  38. package/dist/service-override/layout.js +6 -2
  39. package/dist/service-override/markers.d.ts +7 -0
  40. package/dist/service-override/markers.js +6 -0
  41. package/dist/service-override/model.d.ts +7 -0
  42. package/dist/service-override/model.js +10 -0
  43. package/dist/service-override/output.d.ts +7 -0
  44. package/dist/service-override/output.js +22 -0
  45. package/dist/service-override/preferences.js +7 -1
  46. package/dist/service-override/quickaccess.d.ts +7 -0
  47. package/dist/service-override/quickaccess.js +71 -0
  48. package/dist/service-override/search.d.ts +7 -0
  49. package/dist/service-override/search.js +19 -0
  50. package/dist/service-override/snippets.js +5 -1
  51. package/dist/service-override/terminal.d.ts +607 -0
  52. package/dist/service-override/terminal.js +98 -0
  53. package/dist/service-override/textmate.js +7 -2
  54. package/dist/service-override/theme.d.ts +1 -1
  55. package/dist/service-override/tools/editor.js +73 -0
  56. package/dist/service-override/views.d.ts +569 -481
  57. package/dist/service-override/views.js +149 -15
  58. package/dist/services.d.ts +2819 -203
  59. package/dist/services.js +3 -0
  60. package/dist/severity.d.ts +16 -0
  61. package/dist/uri.d.ts +22 -11
  62. package/dist/views.d.ts +270 -0
  63. package/dist/vscode/vs/base/browser/ui/centered/centeredViewLayout.js +178 -0
  64. package/dist/vscode/vs/base/browser/ui/grid/grid.js +452 -0
  65. package/dist/vscode/vs/base/browser/ui/grid/gridview.css.js +4 -0
  66. package/dist/vscode/vs/base/browser/ui/grid/gridview.js +999 -0
  67. package/dist/vscode/vs/base/browser/ui/iconLabel/simpleIconLabel.js +14 -0
  68. package/dist/vscode/vs/base/browser/ui/menu/menubar.css.js +4 -0
  69. package/dist/vscode/vs/base/browser/ui/menu/menubar.js +1 -1
  70. package/dist/vscode/vs/base/browser/ui/splitview/paneview.css.js +4 -0
  71. package/dist/vscode/vs/base/browser/ui/splitview/paneview.js +1 -1
  72. package/dist/vscode/vs/base/common/processes.js +24 -0
  73. package/dist/vscode/vs/editor/browser/widget/diffEditorWidget2/decorations.js +20 -0
  74. package/dist/vscode/vs/editor/browser/widget/diffEditorWidget2/delegatingEditorImpl.js +106 -0
  75. package/dist/vscode/vs/editor/browser/widget/diffEditorWidget2/diffEditorSash.js +59 -0
  76. package/dist/vscode/vs/editor/browser/widget/diffEditorWidget2/diffEditorWidget2.contribution.js +41 -0
  77. package/dist/vscode/vs/editor/browser/widget/diffEditorWidget2/diffEditorWidget2.js +369 -0
  78. package/dist/vscode/vs/editor/browser/widget/diffEditorWidget2/diffModel.js +247 -0
  79. package/dist/vscode/vs/editor/browser/widget/diffEditorWidget2/lineAlignment.js +179 -0
  80. package/dist/vscode/vs/editor/browser/widget/diffEditorWidget2/overviewRulerPart.js +121 -0
  81. package/dist/vscode/vs/editor/browser/widget/diffEditorWidget2/style.css.js +4 -0
  82. package/dist/vscode/vs/editor/browser/widget/diffEditorWidget2/unchangedRanges.js +184 -0
  83. package/dist/vscode/vs/editor/browser/widget/diffEditorWidget2/utils.js +88 -0
  84. package/dist/vscode/vs/platform/extensionManagement/common/extensionManagement.js +39 -1
  85. package/dist/vscode/vs/platform/extensionManagement/common/extensionManagementUtil.js +5 -1
  86. package/dist/vscode/vs/platform/extensionManagement/common/extensionStorage.js +1 -1
  87. package/dist/vscode/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +13 -5
  88. package/dist/vscode/vs/platform/files/common/fileService.js +43 -5
  89. package/dist/vscode/vs/platform/files/common/files.js +3 -1
  90. package/dist/vscode/vs/platform/languagePacks/common/languagePacks.js +4 -1
  91. package/dist/vscode/vs/platform/log/common/bufferLog.js +34 -0
  92. package/dist/vscode/vs/platform/log/common/fileLog.js +105 -0
  93. package/dist/vscode/vs/platform/quickinput/browser/quickPickPin.js +94 -0
  94. package/dist/vscode/vs/platform/remote/common/remoteAuthorityResolver.js +20 -1
  95. package/dist/vscode/vs/platform/request/browser/requestService.js +1 -1
  96. package/dist/vscode/vs/platform/request/common/request.js +3 -3
  97. package/dist/vscode/vs/platform/storage/common/storage.js +3 -0
  98. package/dist/vscode/vs/platform/terminal/common/capabilities/bufferMarkCapability.js +39 -0
  99. package/dist/vscode/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +565 -0
  100. package/dist/vscode/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +27 -0
  101. package/dist/vscode/vs/platform/terminal/common/capabilities/naiveCwdDetectionCapability.js +22 -0
  102. package/dist/vscode/vs/platform/terminal/common/capabilities/partialCommandDetectionCapability.js +46 -0
  103. package/dist/vscode/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +80 -0
  104. package/dist/vscode/vs/platform/terminal/common/environmentVariable.js +7 -0
  105. package/dist/vscode/vs/platform/terminal/common/environmentVariableCollection.js +196 -0
  106. package/dist/vscode/vs/platform/terminal/common/environmentVariableShared.js +23 -0
  107. package/dist/vscode/vs/platform/terminal/common/terminal.js +23 -0
  108. package/dist/vscode/vs/platform/terminal/common/terminalDataBuffering.js +45 -0
  109. package/dist/vscode/vs/platform/terminal/common/terminalEnvironment.js +37 -0
  110. package/dist/vscode/vs/platform/terminal/common/terminalPlatformConfiguration.js +622 -0
  111. package/dist/vscode/vs/platform/terminal/common/terminalProfiles.js +107 -0
  112. package/dist/vscode/vs/platform/terminal/common/terminalRecorder.js +66 -0
  113. package/dist/vscode/vs/platform/terminal/common/terminalStrings.js +16 -0
  114. package/dist/vscode/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +321 -0
  115. package/dist/vscode/vs/platform/update/common/update.js +11 -1
  116. package/dist/vscode/vs/platform/userDataSync/common/settingsMerge.js +39 -1
  117. package/dist/vscode/vs/platform/userDataSync/common/userDataSync.js +19 -0
  118. package/dist/vscode/vs/platform/workspace/common/canonicalUri.js +3 -0
  119. package/dist/vscode/vs/platform/workspace/common/virtualWorkspace.js +4 -1
  120. package/dist/vscode/vs/platform/workspaces/common/workspaces.js +2 -2
  121. package/dist/vscode/vs/workbench/api/browser/mainThreadCommands.js +2 -3
  122. package/dist/vscode/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +1 -1
  123. package/dist/vscode/vs/workbench/api/browser/mainThreadEditorTabs.js +473 -0
  124. package/dist/vscode/vs/workbench/api/browser/mainThreadLanguageFeatures.js +45 -38
  125. package/dist/vscode/vs/workbench/api/browser/mainThreadSearch.js +146 -0
  126. package/dist/vscode/vs/workbench/api/browser/mainThreadStatusBar.js +49 -0
  127. package/dist/vscode/vs/workbench/api/browser/mainThreadTerminalService.js +395 -0
  128. package/dist/vscode/vs/workbench/api/browser/mainThreadTheming.js +22 -0
  129. package/dist/vscode/vs/workbench/api/browser/mainThreadTreeViews.js +10 -5
  130. package/dist/vscode/vs/workbench/api/browser/mainThreadWindow.js +11 -4
  131. package/dist/vscode/vs/workbench/api/browser/mainThreadWorkspace.js +34 -11
  132. package/dist/vscode/vs/workbench/api/browser/statusBarExtensionPoint.js +81 -0
  133. package/dist/vscode/vs/workbench/api/common/extHost.protocol.js +7 -2
  134. package/dist/vscode/vs/workbench/api/common/extHostDebugService.js +4 -13
  135. package/dist/vscode/vs/workbench/api/common/extHostExtensionService.js +30 -15
  136. package/dist/vscode/vs/workbench/api/common/extHostFileSystemConsumer.js +20 -6
  137. package/dist/vscode/vs/workbench/api/common/extHostLanguageFeatures.js +41 -8
  138. package/dist/vscode/vs/workbench/api/common/extHostManagedSockets.js +3 -0
  139. package/dist/vscode/vs/workbench/api/common/extHostSearch.js +109 -0
  140. package/dist/vscode/vs/workbench/api/common/extHostStatusBar.js +261 -0
  141. package/dist/vscode/vs/workbench/api/common/extHostTerminalService.js +879 -1
  142. package/dist/vscode/vs/workbench/api/common/extHostTheming.js +38 -0
  143. package/dist/vscode/vs/workbench/api/common/extHostTreeViews.js +8 -5
  144. package/dist/vscode/vs/workbench/api/common/extHostTypeConverters.js +15 -17
  145. package/dist/vscode/vs/workbench/api/common/extHostTypes.js +122 -4
  146. package/dist/vscode/vs/workbench/api/common/extHostWindow.js +28 -6
  147. package/dist/vscode/vs/workbench/api/common/extHostWorkspace.js +28 -0
  148. package/dist/vscode/vs/workbench/api/common/shared/dataTransferCache.js +11 -14
  149. package/dist/vscode/vs/workbench/api/node/extHostTerminalService.js +22 -0
  150. package/dist/vscode/vs/workbench/browser/actions/layoutActions.js +22 -18
  151. package/dist/vscode/vs/workbench/browser/actions/quickAccessActions.js +204 -0
  152. package/dist/vscode/vs/workbench/browser/actions/windowActions.js +2 -2
  153. package/dist/vscode/vs/workbench/browser/dnd.js +82 -3
  154. package/dist/vscode/vs/workbench/browser/editor.js +94 -0
  155. package/dist/vscode/vs/workbench/browser/labels.js +23 -2
  156. package/dist/vscode/vs/workbench/browser/media/part.css.js +4 -0
  157. package/dist/vscode/vs/workbench/browser/part.js +1 -1
  158. package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarActions.js +1 -1
  159. package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarPart.js +3 -3
  160. package/dist/vscode/vs/workbench/browser/parts/activitybar/media/activityaction.css.js +4 -0
  161. package/dist/vscode/vs/workbench/browser/parts/activitybar/media/activitybarpart.css.js +4 -0
  162. package/dist/vscode/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +14 -26
  163. package/dist/vscode/vs/workbench/browser/parts/compositePart.js +2 -2
  164. package/dist/vscode/vs/workbench/browser/parts/dialogs/dialogHandler.js +2 -2
  165. package/dist/vscode/vs/workbench/browser/parts/editor/binaryDiffEditor.js +43 -0
  166. package/dist/vscode/vs/workbench/browser/parts/editor/binaryEditor.js +55 -0
  167. package/dist/vscode/vs/workbench/browser/parts/editor/breadcrumbs.js +330 -0
  168. package/dist/vscode/vs/workbench/browser/parts/editor/breadcrumbsControl.js +690 -0
  169. package/dist/vscode/vs/workbench/browser/parts/editor/breadcrumbsModel.js +142 -0
  170. package/dist/vscode/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +414 -0
  171. package/dist/vscode/vs/workbench/browser/parts/editor/editor.contribution.js +801 -6
  172. package/dist/vscode/vs/workbench/browser/parts/editor/editor.js +57 -1
  173. package/dist/vscode/vs/workbench/browser/parts/editor/editorActions.js +1484 -107
  174. package/dist/vscode/vs/workbench/browser/parts/editor/editorCommands.js +1125 -9
  175. package/dist/vscode/vs/workbench/browser/parts/editor/editorDropTarget.js +499 -0
  176. package/dist/vscode/vs/workbench/browser/parts/editor/editorGroupView.js +1225 -0
  177. package/dist/vscode/vs/workbench/browser/parts/editor/editorGroupWatermark.js +133 -0
  178. package/dist/vscode/vs/workbench/browser/parts/editor/editorPane.js +242 -0
  179. package/dist/vscode/vs/workbench/browser/parts/editor/editorPanes.js +297 -0
  180. package/dist/vscode/vs/workbench/browser/parts/editor/editorPart.js +841 -0
  181. package/dist/vscode/vs/workbench/browser/parts/editor/editorPlaceholder.js +235 -0
  182. package/dist/vscode/vs/workbench/browser/parts/editor/editorQuickAccess.js +1 -1
  183. package/dist/vscode/vs/workbench/browser/parts/editor/editorStatus.js +1152 -0
  184. package/dist/vscode/vs/workbench/browser/parts/editor/editorWithViewState.js +139 -0
  185. package/dist/vscode/vs/workbench/browser/parts/editor/editorsObserver.js +339 -0
  186. package/dist/vscode/vs/workbench/browser/parts/editor/media/breadcrumbscontrol.css.js +4 -0
  187. package/dist/vscode/vs/workbench/browser/parts/editor/media/editordroptarget.css.js +4 -0
  188. package/dist/vscode/vs/workbench/browser/parts/editor/media/editorgroupview.css.js +4 -0
  189. package/dist/vscode/vs/workbench/browser/parts/editor/media/editorplaceholder.css.js +4 -0
  190. package/dist/vscode/vs/workbench/browser/parts/editor/media/editorquickaccess.css.js +4 -0
  191. package/dist/vscode/vs/workbench/browser/parts/editor/media/editorstatus.css.js +4 -0
  192. package/dist/vscode/vs/workbench/browser/parts/editor/media/notabstitlecontrol.css.js +4 -0
  193. package/dist/vscode/vs/workbench/browser/parts/editor/media/sidebysideeditor.css.js +4 -0
  194. package/dist/vscode/vs/workbench/browser/parts/editor/media/tabstitlecontrol.css.js +4 -0
  195. package/dist/vscode/vs/workbench/browser/parts/editor/media/titlecontrol.css.js +4 -0
  196. package/dist/vscode/vs/workbench/browser/parts/editor/noTabsTitleControl.js +245 -0
  197. package/dist/vscode/vs/workbench/browser/parts/editor/sideBySideEditor.js +387 -0
  198. package/dist/vscode/vs/workbench/browser/parts/editor/tabFocus.js +77 -0
  199. package/dist/vscode/vs/workbench/browser/parts/editor/tabsTitleControl.js +1553 -0
  200. package/dist/vscode/vs/workbench/browser/parts/editor/textCodeEditor.js +79 -0
  201. package/dist/vscode/vs/workbench/browser/parts/editor/textDiffEditor.js +310 -0
  202. package/dist/vscode/vs/workbench/browser/parts/editor/textEditor.js +220 -0
  203. package/dist/vscode/vs/workbench/browser/parts/editor/textResourceEditor.js +149 -0
  204. package/dist/vscode/vs/workbench/browser/parts/editor/titleControl.js +284 -0
  205. package/dist/vscode/vs/workbench/browser/parts/media/compositepart.css.js +4 -0
  206. package/dist/vscode/vs/workbench/browser/parts/notifications/media/notificationsActions.css.js +4 -0
  207. package/dist/vscode/vs/workbench/browser/parts/notifications/media/notificationsCenter.css.js +4 -0
  208. package/dist/vscode/vs/workbench/browser/parts/notifications/media/notificationsList.css.js +4 -0
  209. package/dist/vscode/vs/workbench/browser/parts/notifications/media/notificationsToasts.css.js +4 -0
  210. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsActions.js +8 -8
  211. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsCenter.js +2 -2
  212. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsList.js +1 -1
  213. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsToasts.js +1 -1
  214. package/dist/vscode/vs/workbench/browser/parts/panel/media/basepanelpart.css.js +4 -0
  215. package/dist/vscode/vs/workbench/browser/parts/panel/media/panelpart.css.js +4 -0
  216. package/dist/vscode/vs/workbench/browser/parts/panel/panelActions.js +19 -5
  217. package/dist/vscode/vs/workbench/browser/parts/panel/panelPart.js +2 -2
  218. package/dist/vscode/vs/workbench/browser/parts/sidebar/media/sidebarpart.css.js +4 -0
  219. package/dist/vscode/vs/workbench/browser/parts/sidebar/sidebarPart.js +1 -1
  220. package/dist/vscode/vs/workbench/browser/parts/statusbar/media/statusbarpart.css.js +4 -0
  221. package/dist/vscode/vs/workbench/browser/parts/statusbar/statusbarActions.js +109 -0
  222. package/dist/vscode/vs/workbench/browser/parts/statusbar/statusbarItem.js +224 -0
  223. package/dist/vscode/vs/workbench/browser/parts/statusbar/statusbarModel.js +251 -0
  224. package/dist/vscode/vs/workbench/browser/parts/statusbar/statusbarPart.js +439 -0
  225. package/dist/vscode/vs/workbench/browser/parts/titlebar/media/menubarControl.css.js +4 -0
  226. package/dist/vscode/vs/workbench/browser/parts/titlebar/menubarControl.js +76 -3
  227. package/dist/vscode/vs/workbench/browser/parts/views/checkbox.js +10 -0
  228. package/dist/vscode/vs/workbench/browser/parts/views/media/paneviewlet.css.js +4 -0
  229. package/dist/vscode/vs/workbench/browser/parts/views/media/views.css.js +4 -0
  230. package/dist/vscode/vs/workbench/browser/parts/views/treeView.js +79 -15
  231. package/dist/vscode/vs/workbench/browser/parts/views/viewPane.js +5 -5
  232. package/dist/vscode/vs/workbench/browser/parts/views/viewPaneContainer.js +2 -2
  233. package/dist/vscode/vs/workbench/browser/parts/views/viewsService.js +4 -4
  234. package/dist/vscode/vs/workbench/browser/quickaccess.js +6 -2
  235. package/dist/vscode/vs/workbench/browser/workbench.contribution.js +1167 -0
  236. package/dist/vscode/vs/workbench/common/configuration.js +8 -1
  237. package/dist/vscode/vs/workbench/common/contextkeys.js +42 -1
  238. package/dist/vscode/vs/workbench/common/editor/editorGroupModel.js +678 -0
  239. package/dist/vscode/vs/workbench/common/editor/resourceEditorInput.js +6 -3
  240. package/dist/vscode/vs/workbench/common/editor/textResourceEditorInput.js +9 -6
  241. package/dist/vscode/vs/workbench/common/editor.js +57 -5
  242. package/dist/vscode/vs/workbench/common/resources.js +111 -34
  243. package/dist/vscode/vs/workbench/common/theme.js +35 -35
  244. package/dist/vscode/vs/workbench/common/views.js +1 -1
  245. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +1 -1
  246. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +1 -1
  247. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +4 -4
  248. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +1 -1
  249. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/media/callHierarchy.css.js +4 -0
  250. package/dist/vscode/vs/workbench/contrib/chat/browser/chat.js +3 -0
  251. package/dist/vscode/vs/workbench/contrib/chat/common/chatService.js +3 -0
  252. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js +6 -4
  253. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +77 -0
  254. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +217 -0
  255. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.css.js +4 -0
  256. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +250 -0
  257. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/workbenchReferenceSearch.js +24 -0
  258. package/dist/vscode/vs/workbench/contrib/customEditor/browser/customEditorInput.js +290 -0
  259. package/dist/vscode/vs/workbench/contrib/customEditor/common/customEditor.js +3 -0
  260. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointWidget.js +1 -1
  261. package/dist/vscode/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +1 -1
  262. package/dist/vscode/vs/workbench/contrib/debug/browser/debug.contribution.js +30 -4
  263. package/dist/vscode/vs/workbench/contrib/debug/browser/debugActionViewItems.js +1 -0
  264. package/dist/vscode/vs/workbench/contrib/debug/browser/debugCommands.js +15 -2
  265. package/dist/vscode/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +20 -20
  266. package/dist/vscode/vs/workbench/contrib/debug/browser/debugEditorActions.js +5 -3
  267. package/dist/vscode/vs/workbench/contrib/debug/browser/debugEditorContribution.js +5 -2
  268. package/dist/vscode/vs/workbench/contrib/debug/browser/debugHover.js +33 -6
  269. package/dist/vscode/vs/workbench/contrib/debug/browser/debugIcons.js +77 -127
  270. package/dist/vscode/vs/workbench/contrib/debug/browser/debugSession.js +1 -1
  271. package/dist/vscode/vs/workbench/contrib/debug/browser/debugTaskRunner.js +1 -1
  272. package/dist/vscode/vs/workbench/contrib/debug/browser/debugToolBar.js +1 -1
  273. package/dist/vscode/vs/workbench/contrib/debug/browser/debugViewlet.js +1 -1
  274. package/dist/vscode/vs/workbench/contrib/debug/browser/disassemblyView.js +620 -0
  275. package/dist/vscode/vs/workbench/contrib/debug/browser/exceptionWidget.js +1 -1
  276. package/dist/vscode/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +4 -0
  277. package/dist/vscode/vs/workbench/contrib/debug/browser/media/callStackEditorContribution.css.js +4 -0
  278. package/dist/vscode/vs/workbench/contrib/debug/browser/media/debug.contribution.css.js +4 -0
  279. package/dist/vscode/vs/workbench/contrib/debug/browser/media/debugHover.css.js +4 -0
  280. package/dist/vscode/vs/workbench/contrib/debug/browser/media/debugToolBar.css.js +4 -0
  281. package/dist/vscode/vs/workbench/contrib/debug/browser/media/debugViewlet.css.js +4 -0
  282. package/dist/vscode/vs/workbench/contrib/debug/browser/media/exceptionWidget.css.js +4 -0
  283. package/dist/vscode/vs/workbench/contrib/debug/browser/media/repl.css.js +4 -0
  284. package/dist/vscode/vs/workbench/contrib/debug/browser/repl.js +4 -4
  285. package/dist/vscode/vs/workbench/contrib/debug/common/debug.js +2 -1
  286. package/dist/vscode/vs/workbench/contrib/debug/common/debugModel.js +29 -17
  287. package/dist/vscode/vs/workbench/contrib/debug/common/debugStorage.js +11 -10
  288. package/dist/vscode/vs/workbench/contrib/debug/common/debugger.js +10 -6
  289. package/dist/vscode/vs/workbench/contrib/extensions/browser/extensionsActions.js +2514 -0
  290. package/dist/vscode/vs/workbench/contrib/extensions/browser/extensionsIcons.js +82 -0
  291. package/dist/vscode/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +4 -0
  292. package/dist/vscode/vs/workbench/contrib/extensions/common/extensions.js +6 -1
  293. package/dist/vscode/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +16 -0
  294. package/dist/vscode/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +71 -0
  295. package/dist/vscode/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +2 -3
  296. package/dist/vscode/vs/workbench/contrib/files/browser/editors/textFileEditor.js +225 -0
  297. package/dist/vscode/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +2 -0
  298. package/dist/vscode/vs/workbench/contrib/files/browser/explorerService.js +10 -6
  299. package/dist/vscode/vs/workbench/contrib/files/browser/explorerViewlet.js +8 -22
  300. package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.contribution.js +306 -5
  301. package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.js +68 -3
  302. package/dist/vscode/vs/workbench/contrib/files/browser/fileCommands.js +27 -9
  303. package/dist/vscode/vs/workbench/contrib/files/browser/fileConstants.js +10 -1
  304. package/dist/vscode/vs/workbench/contrib/files/browser/files.contribution.js +51 -6
  305. package/dist/vscode/vs/workbench/contrib/files/browser/files.js +1 -0
  306. package/dist/vscode/vs/workbench/contrib/files/browser/media/explorerviewlet.css.js +4 -0
  307. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerView.js +3 -3
  308. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerViewer.js +6 -2
  309. package/dist/vscode/vs/workbench/contrib/files/browser/views/media/openeditors.css.js +4 -0
  310. package/dist/vscode/vs/workbench/contrib/files/browser/views/openEditorsView.js +608 -0
  311. package/dist/vscode/vs/workbench/contrib/files/common/explorerModel.js +16 -9
  312. package/dist/vscode/vs/workbench/contrib/files/common/files.js +2 -6
  313. package/dist/vscode/vs/workbench/contrib/interactive/browser/interactiveDocumentService.js +3 -0
  314. package/dist/vscode/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +200 -0
  315. package/dist/vscode/vs/workbench/contrib/interactive/browser/interactiveHistoryService.js +3 -0
  316. package/dist/vscode/vs/workbench/contrib/markers/browser/markers.contribution.js +586 -0
  317. package/dist/vscode/vs/workbench/contrib/markers/browser/markersFilterOptions.js +75 -0
  318. package/dist/vscode/vs/workbench/contrib/markers/browser/markersModel.js +201 -0
  319. package/dist/vscode/vs/workbench/contrib/markers/browser/markersTable.js +451 -0
  320. package/dist/vscode/vs/workbench/contrib/markers/browser/markersTreeViewer.js +670 -0
  321. package/dist/vscode/vs/workbench/contrib/markers/browser/markersView.js +857 -0
  322. package/dist/vscode/vs/workbench/contrib/markers/browser/markersViewActions.css.js +4 -0
  323. package/dist/vscode/vs/workbench/contrib/markers/browser/markersViewActions.js +132 -0
  324. package/dist/vscode/vs/workbench/contrib/markers/browser/media/markers.css.js +4 -0
  325. package/dist/vscode/vs/workbench/contrib/markers/browser/messages.js +171 -0
  326. package/dist/vscode/vs/workbench/contrib/markers/common/markers.js +15 -1
  327. package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +135 -0
  328. package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +421 -0
  329. package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +5 -0
  330. package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/model/diffComputer.js +55 -0
  331. package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/model/editing.js +54 -0
  332. package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/model/lineRange.js +108 -0
  333. package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/model/mapping.js +334 -0
  334. package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +606 -0
  335. package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/model/modifiedBaseRange.js +307 -0
  336. package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +36 -0
  337. package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +165 -0
  338. package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/telemetry.js +78 -0
  339. package/dist/vscode/vs/workbench/contrib/mergeEditor/browser/utils.js +68 -0
  340. package/dist/vscode/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +2 -0
  341. package/dist/vscode/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +70 -0
  342. package/dist/vscode/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.css.js +4 -0
  343. package/dist/vscode/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +158 -0
  344. package/dist/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser.js +8 -3
  345. package/dist/vscode/vs/workbench/contrib/notebook/browser/services/notebookEditorService.js +3 -0
  346. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookCommon.js +16 -1
  347. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookService.js +1 -8
  348. package/dist/vscode/vs/workbench/contrib/output/browser/logViewer.js +64 -0
  349. package/dist/vscode/vs/workbench/contrib/output/browser/output.contribution.js +378 -0
  350. package/dist/vscode/vs/workbench/contrib/output/browser/outputServices.js +39 -3
  351. package/dist/vscode/vs/workbench/contrib/output/browser/outputView.js +220 -0
  352. package/dist/vscode/vs/workbench/contrib/output/common/outputChannelModel.js +12 -3
  353. package/dist/vscode/vs/workbench/contrib/output/common/outputLinkComputer.js +129 -0
  354. package/dist/vscode/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +270 -0
  355. package/dist/vscode/vs/workbench/contrib/preferences/browser/keybindingsEditor.js +1080 -0
  356. package/dist/vscode/vs/workbench/contrib/preferences/browser/media/keybindings.css.js +4 -0
  357. package/dist/vscode/vs/workbench/contrib/preferences/browser/media/keybindingsEditor.css.js +4 -0
  358. package/dist/vscode/vs/workbench/contrib/preferences/browser/media/preferences.css.js +4 -0
  359. package/dist/vscode/vs/workbench/contrib/preferences/browser/media/settingsEditor2.css.js +4 -0
  360. package/dist/vscode/vs/workbench/contrib/preferences/browser/media/settingsWidgets.css.js +4 -0
  361. package/dist/vscode/vs/workbench/contrib/preferences/browser/preferences.contribution.js +1154 -0
  362. package/dist/vscode/vs/workbench/contrib/preferences/browser/preferencesActions.js +94 -0
  363. package/dist/vscode/vs/workbench/contrib/preferences/browser/preferencesEditor.js +47 -0
  364. package/dist/vscode/vs/workbench/contrib/preferences/browser/preferencesIcons.js +37 -0
  365. package/dist/vscode/vs/workbench/contrib/preferences/browser/preferencesRenderers.js +731 -0
  366. package/dist/vscode/vs/workbench/contrib/preferences/browser/preferencesSearch.js +271 -0
  367. package/dist/vscode/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +479 -0
  368. package/dist/vscode/vs/workbench/contrib/preferences/browser/settingsEditor2.js +1465 -0
  369. package/dist/vscode/vs/workbench/contrib/preferences/browser/settingsEditorSettingIndicators.js +506 -0
  370. package/dist/vscode/vs/workbench/contrib/preferences/browser/settingsLayout.js +296 -0
  371. package/dist/vscode/vs/workbench/contrib/preferences/browser/settingsSearchMenu.js +79 -0
  372. package/dist/vscode/vs/workbench/contrib/preferences/browser/settingsTree.js +1984 -0
  373. package/dist/vscode/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +759 -0
  374. package/dist/vscode/vs/workbench/contrib/preferences/browser/settingsWidgets.js +1008 -0
  375. package/dist/vscode/vs/workbench/contrib/preferences/browser/tocTree.js +196 -0
  376. package/dist/vscode/vs/workbench/contrib/preferences/common/preferences.js +68 -0
  377. package/dist/vscode/vs/workbench/contrib/preferences/common/preferencesContribution.js +157 -0
  378. package/dist/vscode/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +67 -0
  379. package/dist/vscode/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +49 -17
  380. package/dist/vscode/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +129 -0
  381. package/dist/vscode/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +225 -0
  382. package/dist/vscode/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +4 -0
  383. package/dist/vscode/vs/workbench/contrib/remote/browser/remoteExplorer.js +23 -2
  384. package/dist/vscode/vs/workbench/contrib/remote/browser/remoteIcons.js +21 -17
  385. package/dist/vscode/vs/workbench/contrib/remote/browser/tunnelView.js +6 -6
  386. package/dist/vscode/vs/workbench/contrib/search/browser/anythingQuickAccess.js +757 -0
  387. package/dist/vscode/vs/workbench/contrib/search/browser/media/anythingQuickAccess.css.js +4 -0
  388. package/dist/vscode/vs/workbench/contrib/search/browser/media/searchview.css.js +4 -0
  389. package/dist/vscode/vs/workbench/contrib/search/browser/patternInputWidget.js +217 -0
  390. package/dist/vscode/vs/workbench/contrib/search/browser/replace.js +3 -0
  391. package/dist/vscode/vs/workbench/contrib/search/browser/replaceContributions.js +7 -0
  392. package/dist/vscode/vs/workbench/contrib/search/browser/replaceService.js +222 -0
  393. package/dist/vscode/vs/workbench/contrib/search/browser/search.contribution.js +467 -0
  394. package/dist/vscode/vs/workbench/contrib/search/browser/searchActionsBase.js +17 -0
  395. package/dist/vscode/vs/workbench/contrib/search/browser/searchFindInput.js +41 -0
  396. package/dist/vscode/vs/workbench/contrib/search/browser/searchIcons.js +35 -0
  397. package/dist/vscode/vs/workbench/contrib/search/browser/searchMessage.js +58 -0
  398. package/dist/vscode/vs/workbench/contrib/search/browser/searchModel.js +1842 -0
  399. package/dist/vscode/vs/workbench/contrib/search/browser/searchNotebookHelpers.js +49 -0
  400. package/dist/vscode/vs/workbench/contrib/search/browser/searchResultsView.js +379 -0
  401. package/dist/vscode/vs/workbench/contrib/search/browser/searchView.js +1867 -0
  402. package/dist/vscode/vs/workbench/contrib/search/browser/searchWidget.js +628 -0
  403. package/dist/vscode/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +219 -0
  404. package/dist/vscode/vs/workbench/contrib/search/common/cacheState.js +85 -0
  405. package/dist/vscode/vs/workbench/contrib/search/common/constants.js +31 -0
  406. package/dist/vscode/vs/workbench/contrib/search/common/search.js +127 -1
  407. package/dist/vscode/vs/workbench/contrib/search/common/searchHistoryService.js +42 -0
  408. package/dist/vscode/vs/workbench/contrib/searchEditor/browser/constants.js +11 -0
  409. package/dist/vscode/vs/workbench/contrib/searchEditor/browser/media/searchEditor.css.js +4 -0
  410. package/dist/vscode/vs/workbench/contrib/searchEditor/browser/searchEditor.contribution.js +477 -0
  411. package/dist/vscode/vs/workbench/contrib/searchEditor/browser/searchEditor.js +697 -0
  412. package/dist/vscode/vs/workbench/contrib/searchEditor/browser/searchEditorActions.js +188 -0
  413. package/dist/vscode/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +295 -0
  414. package/dist/vscode/vs/workbench/contrib/searchEditor/browser/searchEditorModel.js +135 -0
  415. package/dist/vscode/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +268 -0
  416. package/dist/vscode/vs/workbench/contrib/snippets/browser/tabCompletion.js +2 -2
  417. package/dist/vscode/vs/workbench/contrib/tasks/browser/taskQuickPick.js +385 -0
  418. package/dist/vscode/vs/workbench/contrib/tasks/browser/tasksQuickAccess.js +108 -0
  419. package/dist/vscode/vs/workbench/contrib/tasks/common/taskService.js +16 -1
  420. package/dist/vscode/vs/workbench/contrib/tasks/common/tasks.js +351 -0
  421. package/dist/vscode/vs/workbench/contrib/terminal/browser/environmentVariableInfo.js +119 -0
  422. package/dist/vscode/vs/workbench/contrib/terminal/browser/media/scrollbar.css.js +4 -0
  423. package/dist/vscode/vs/workbench/contrib/terminal/browser/media/terminal.css.js +4 -0
  424. package/dist/vscode/vs/workbench/contrib/terminal/browser/media/widgets.css.js +4 -0
  425. package/dist/vscode/vs/workbench/contrib/terminal/browser/media/xterm.css.js +4 -0
  426. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminal.contribution.js +238 -0
  427. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminal.js +7 -0
  428. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalActions.js +1930 -0
  429. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalCommands.js +22 -0
  430. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalConfigHelper.js +213 -0
  431. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalContextMenu.js +17 -0
  432. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalEditor.js +186 -0
  433. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +199 -0
  434. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalEditorService.js +239 -0
  435. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalExtensions.js +22 -0
  436. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalGroup.js +482 -0
  437. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalGroupService.js +372 -0
  438. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalIcon.js +103 -0
  439. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalIcons.js +37 -0
  440. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalInstance.js +2123 -0
  441. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalInstanceService.js +79 -0
  442. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalMainContribution.js +82 -0
  443. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalMenus.js +850 -0
  444. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalProcessExtHostProxy.js +142 -0
  445. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalProcessManager.js +618 -0
  446. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalProfileQuickpick.js +278 -0
  447. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalProfileResolverService.js +417 -0
  448. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalProfileService.js +213 -0
  449. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalQuickAccess.js +144 -0
  450. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalRunRecentQuickPick.js +267 -0
  451. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalService.js +1063 -0
  452. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalStatusList.js +108 -0
  453. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalTabbedView.js +417 -0
  454. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalTabsList.js +680 -0
  455. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalTooltip.js +72 -0
  456. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalUri.js +39 -0
  457. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalView.js +535 -0
  458. package/dist/vscode/vs/workbench/contrib/terminal/browser/widgets/widgetManager.js +36 -0
  459. package/dist/vscode/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +469 -0
  460. package/dist/vscode/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +97 -0
  461. package/dist/vscode/vs/workbench/contrib/terminal/browser/xterm/lineDataEventAddon.js +56 -0
  462. package/dist/vscode/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +416 -0
  463. package/dist/vscode/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +390 -0
  464. package/dist/vscode/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +587 -0
  465. package/dist/vscode/vs/workbench/contrib/terminal/common/environmentVariable.js +3 -0
  466. package/dist/vscode/vs/workbench/contrib/terminal/common/environmentVariableService.js +94 -0
  467. package/dist/vscode/vs/workbench/contrib/terminal/common/history.js +356 -0
  468. package/dist/vscode/vs/workbench/contrib/terminal/common/terminal.js +266 -0
  469. package/dist/vscode/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +169 -16
  470. package/dist/vscode/vs/workbench/contrib/terminal/common/terminalConfiguration.js +965 -0
  471. package/dist/vscode/vs/workbench/contrib/terminal/common/terminalContextKey.js +157 -0
  472. package/dist/vscode/vs/workbench/contrib/terminal/common/terminalEnvironment.js +272 -0
  473. package/dist/vscode/vs/workbench/contrib/terminal/common/terminalExtensionPoints.js +27 -0
  474. package/dist/vscode/vs/workbench/contrib/terminal/common/terminalStrings.js +86 -0
  475. package/dist/vscode/vs/workbench/contrib/terminal/electron-sandbox/terminalProfileResolverService.js +46 -0
  476. package/dist/vscode/vs/workbench/contrib/terminalContrib/links/browser/links.js +3 -0
  477. package/dist/vscode/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkProviderService.js +26 -0
  478. package/dist/vscode/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFix.js +3 -0
  479. package/dist/vscode/vs/workbench/contrib/terminalContrib/quickFix/browser/terminalQuickFixService.js +143 -0
  480. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/media/typeHierarchy.css.js +4 -0
  481. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +1 -1
  482. package/dist/vscode/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +85 -0
  483. package/dist/vscode/vs/workbench/contrib/webviewPanel/browser/webviewWorkbenchService.js +52 -0
  484. package/dist/vscode/vs/workbench/services/actions/common/menusExtensionPoint.js +14 -6
  485. package/dist/vscode/vs/workbench/services/assignment/common/assignmentService.js +3 -0
  486. package/dist/vscode/vs/workbench/services/configuration/browser/configurationService.js +13 -13
  487. package/dist/vscode/vs/workbench/services/configuration/common/configuration.js +2 -1
  488. package/dist/vscode/vs/workbench/services/configuration/common/configurationEditing.js +2 -2
  489. package/dist/vscode/vs/workbench/services/configuration/common/jsonEditingService.js +2 -2
  490. package/dist/vscode/vs/workbench/services/editor/browser/editorDropService.js +3 -0
  491. package/dist/vscode/vs/workbench/services/editor/browser/editorResolverService.js +619 -0
  492. package/dist/vscode/vs/workbench/services/editor/browser/editorService.js +720 -0
  493. package/dist/vscode/vs/workbench/services/editor/common/editorGroupFinder.js +116 -0
  494. package/dist/vscode/vs/workbench/services/editor/common/editorGroupsService.js +6 -1
  495. package/dist/vscode/vs/workbench/services/editor/common/editorResolverService.js +34 -1
  496. package/dist/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.js +3 -2
  497. package/dist/vscode/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.js +4 -0
  498. package/dist/vscode/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +2 -0
  499. package/dist/vscode/vs/workbench/services/extensions/common/extensionManifestPropertiesService.js +3 -0
  500. package/dist/vscode/vs/workbench/services/extensions/common/extensions.js +14 -2
  501. package/dist/vscode/vs/workbench/services/extensions/common/extensionsApiProposals.js +10 -1
  502. package/dist/vscode/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +70 -3
  503. package/dist/vscode/vs/workbench/services/history/browser/historyService.js +1451 -0
  504. package/dist/vscode/vs/workbench/services/hover/browser/hoverService.js +2 -2
  505. package/dist/vscode/vs/workbench/services/hover/browser/hoverWidget.js +2 -1
  506. package/dist/vscode/vs/workbench/services/hover/browser/media/hover.css.js +4 -0
  507. package/dist/vscode/vs/workbench/services/keybinding/common/keybindingEditing.js +275 -0
  508. package/dist/vscode/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.js +2 -1
  509. package/dist/vscode/vs/workbench/services/localization/common/locale.js +3 -0
  510. package/dist/vscode/vs/workbench/services/log/common/logConstants.js +2 -0
  511. package/dist/vscode/vs/workbench/services/outline/browser/outline.js +3 -0
  512. package/dist/vscode/vs/workbench/services/output/common/output.js +4 -1
  513. package/dist/vscode/vs/workbench/services/preferences/common/preferences.js +22 -1
  514. package/dist/vscode/vs/workbench/services/preferences/common/preferencesModels.js +6 -0
  515. package/dist/vscode/vs/workbench/services/preferences/common/preferencesValidation.js +37 -1
  516. package/dist/vscode/vs/workbench/services/progress/browser/progressIndicator.js +72 -1
  517. package/dist/vscode/vs/workbench/services/quickinput/browser/quickInputService.js +67 -0
  518. package/dist/vscode/vs/workbench/services/remote/common/remoteAgentService.js +69 -0
  519. package/dist/vscode/vs/workbench/services/remote/common/remoteExplorerService.js +66 -27
  520. package/dist/vscode/vs/workbench/services/search/common/fileSearchManager.js +265 -0
  521. package/dist/vscode/vs/workbench/services/search/common/queryBuilder.js +6 -0
  522. package/dist/vscode/vs/workbench/services/search/common/replace.js +203 -0
  523. package/dist/vscode/vs/workbench/services/search/common/search.js +117 -1
  524. package/dist/vscode/vs/workbench/services/search/common/searchExtTypes.js +6 -0
  525. package/dist/vscode/vs/workbench/services/search/common/textSearchManager.js +309 -0
  526. package/dist/vscode/vs/workbench/services/semanticSimilarity/common/semanticSimilarityService.js +54 -1
  527. package/dist/vscode/vs/workbench/services/statusbar/browser/statusbar.js +15 -0
  528. package/dist/vscode/vs/workbench/services/suggest/browser/media/suggest.css.js +4 -0
  529. package/dist/vscode/vs/workbench/services/suggest/browser/simpleCompletionItem.js +10 -0
  530. package/dist/vscode/vs/workbench/services/suggest/browser/simpleCompletionModel.js +98 -0
  531. package/dist/vscode/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +399 -0
  532. package/dist/vscode/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +83 -0
  533. package/dist/vscode/vs/workbench/services/terminal/common/embedderTerminalService.js +3 -0
  534. package/dist/vscode/vs/workbench/services/textMate/browser/worker/textMate.worker.js +90 -0
  535. package/dist/vscode/vs/workbench/services/textMate/browser/worker/textMateWorkerModel.js +133 -0
  536. package/dist/vscode/vs/workbench/services/textfile/browser/textFileService.js +1 -1
  537. package/dist/vscode/vs/workbench/services/textfile/common/textFileEditorModel.js +10 -3
  538. package/dist/vscode/vs/workbench/services/themes/browser/fileIconThemeData.js +3 -3
  539. package/dist/vscode/vs/workbench/services/themes/browser/productIconThemeData.js +3 -3
  540. package/dist/vscode/vs/workbench/services/themes/common/colorThemeData.js +3 -3
  541. package/dist/vscode/vs/workbench/services/untitled/common/untitledTextEditorInput.js +6 -4
  542. package/dist/vscode/vs/workbench/services/untitled/common/untitledTextEditorModel.js +3 -0
  543. package/dist/vscode/vs/workbench/services/untitled/common/untitledTextEditorService.js +114 -3
  544. package/dist/vscode/vs/workbench/services/userActivity/common/userActivityRegistry.js +15 -0
  545. package/dist/vscode/vs/workbench/services/userActivity/common/userActivityService.js +37 -0
  546. package/dist/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.js +1 -1
  547. package/dist/vscode/vs/workbench/services/userDataSync/common/userDataSync.js +7 -0
  548. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopyEditorService.js +40 -0
  549. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopyService.js +12 -0
  550. package/dist/vscode/vs/workbench/services/workspaces/common/canonicalUriService.js +19 -0
  551. package/dist/vscode-default-extensions/css/syntaxes/css.tmLanguage.json.extensionResource.js +1 -1
  552. package/dist/vscode-default-extensions/json/package.json.js +1 -1
  553. package/dist/vscode-default-extensions/json/syntaxes/JSONC.tmLanguage.json.extensionResource.js +1 -1
  554. package/dist/vscode-default-extensions/json/syntaxes/JSONL.tmLanguage.json.extensionResource.js +2 -0
  555. package/dist/vscode-default-extensions/latex/syntaxes/Bibtex.tmLanguage.json.extensionResource.js +1 -1
  556. package/dist/vscode-default-extensions/latex/syntaxes/LaTeX.tmLanguage.json.extensionResource.js +1 -1
  557. package/dist/vscode-default-extensions/latex/syntaxes/TeX.tmLanguage.json.extensionResource.js +1 -1
  558. package/dist/vscode-default-extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json.extensionResource.js +1 -1
  559. package/dist/vscode-default-extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json.extensionResource.js +1 -1
  560. package/dist/vscode-default-extensions/lua/syntaxes/lua.tmLanguage.json.extensionResource.js +1 -1
  561. package/dist/vscode-default-extensions/perl/package.json.js +1 -1
  562. package/dist/vscode-default-extensions/php/snippets/php.code-snippets.extensionResource.js +1 -1
  563. package/dist/vscode-default-extensions/sql/language-configuration.json.extensionResource.js +1 -1
  564. package/dist/vscode-default-extensions/theme-abyss/themes/abyss-color-theme.json.extensionResource.js +1 -1
  565. package/dist/vscode-default-extensions/theme-defaults/package.json.js +1 -1
  566. package/dist/vscode-default-extensions/theme-defaults/themes/dark_modern.json.extensionResource.js +2 -0
  567. package/dist/vscode-default-extensions/theme-defaults/themes/dark_vs.json.extensionResource.js +1 -1
  568. package/dist/vscode-default-extensions/theme-defaults/themes/hc_black.json.extensionResource.js +1 -1
  569. package/dist/vscode-default-extensions/theme-defaults/themes/hc_light.json.extensionResource.js +1 -1
  570. package/dist/vscode-default-extensions/theme-defaults/themes/light_modern.json.extensionResource.js +2 -0
  571. package/dist/vscode-default-extensions/theme-defaults/themes/light_vs.json.extensionResource.js +1 -1
  572. package/dist/vscode-default-extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json.extensionResource.js +1 -1
  573. package/dist/vscode-default-extensions/theme-monokai/themes/monokai-color-theme.json.extensionResource.js +1 -1
  574. package/dist/vscode-default-extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json.extensionResource.js +1 -1
  575. package/dist/vscode-default-extensions/theme-quietlight/themes/quietlight-color-theme.json.extensionResource.js +1 -1
  576. package/dist/vscode-default-extensions/theme-red/themes/Red-color-theme.json.extensionResource.js +1 -1
  577. package/dist/vscode-default-extensions/theme-seti/icons/vs-seti-icon-theme.json.extensionResource.js +1 -1
  578. package/dist/vscode-default-extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json.extensionResource.js +1 -1
  579. package/dist/vscode-default-extensions/theme-solarized-light/themes/solarized-light-color-theme.json.extensionResource.js +1 -1
  580. package/dist/vscode-default-extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json.extensionResource.js +1 -1
  581. package/dist/vscode-default-extensions/vb/language-configuration.json.extensionResource.js +1 -1
  582. package/dist/vscode-services/env.js +4 -2
  583. package/dist/vscode-services/extHost.js +41 -50
  584. package/dist/vscode-services/missing-services.js +504 -12
  585. package/dist/vscode-services/window.js +80 -67
  586. package/dist/vscode-services/workspace.js +19 -4
  587. package/dist/workbenchThemeService.d.ts +1 -1
  588. package/dist/workers/outputLinkComputer.worker.d.ts +2 -0
  589. package/dist/workers/outputLinkComputer.worker.js +3 -0
  590. package/dist/workers/textMate.worker.d.ts +2 -0
  591. package/dist/workers/textMate.worker.js +3 -0
  592. package/dist/workspace.d.ts +1 -1
  593. package/monaco-editor-treemending.patch +1305 -1184
  594. package/package.json +98 -32
  595. package/dist/activity.d.ts +0 -2902
  596. package/dist/assets/activityaction.css +0 -224
  597. package/dist/assets/activitybarpart.css +0 -65
  598. package/dist/assets/basepanelpart.css +0 -221
  599. package/dist/assets/breakpointWidget.css +0 -31
  600. package/dist/assets/callHierarchy.css +0 -62
  601. package/dist/assets/callStackEditorContribution.css +0 -12
  602. package/dist/assets/compositepart.css +0 -17
  603. package/dist/assets/debug.contribution.css +0 -138
  604. package/dist/assets/debugHover.css +0 -80
  605. package/dist/assets/debugToolBar.css +0 -49
  606. package/dist/assets/debugViewlet.css +0 -337
  607. package/dist/assets/editorquickaccess.css +0 -8
  608. package/dist/assets/exceptionWidget.css +0 -52
  609. package/dist/assets/explorerviewlet.css +0 -129
  610. package/dist/assets/hover.css +0 -127
  611. package/dist/assets/interactiveSession.css +0 -340
  612. package/dist/assets/menubar.css +0 -111
  613. package/dist/assets/menubarControl.css +0 -61
  614. package/dist/assets/notificationsActions.css +0 -14
  615. package/dist/assets/notificationsCenter.css +0 -69
  616. package/dist/assets/notificationsList.css +0 -152
  617. package/dist/assets/notificationsToasts.css +0 -63
  618. package/dist/assets/panelpart.css +0 -75
  619. package/dist/assets/paneview.css +0 -148
  620. package/dist/assets/paneviewlet.css +0 -79
  621. package/dist/assets/part.css +0 -109
  622. package/dist/assets/repl.css +0 -145
  623. package/dist/assets/sidebarpart.css +0 -61
  624. package/dist/assets/tunnelView.css +0 -107
  625. package/dist/assets/typeHierarchy.css +0 -62
  626. package/dist/assets/views.css +0 -297
  627. package/dist/collections.d.ts +0 -7
  628. package/dist/colorRegistry.d.ts +0 -710
  629. package/dist/override/vs/workbench/browser/parts/editor/textEditor.js +0 -2
  630. package/dist/override/vs/workbench/contrib/files/browser/views/openEditorsView.js +0 -2
  631. package/dist/service-override/modelEditor.d.ts +0 -14
  632. package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionFollowups.js +0 -30
  633. package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionInputPart.js +0 -196
  634. package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionListRenderer.js +0 -622
  635. package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionOptions.js +0 -77
  636. package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionWidget.js +0 -311
  637. package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionContextKeys.js +0 -48
  638. package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionService.js +0 -8
  639. package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionViewModel.js +0 -207
  640. package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionWidgetHistoryService.js +0 -3
  641. package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionWordCounter.js +0 -25
  642. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookEditorInput.js +0 -249
  643. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus_experimental.json.extensionResource.js +0 -2
  644. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus_experimental.json.extensionResource.js +0 -2
@@ -1,26 +1,434 @@
1
- import { withNullAsUndefined } from 'monaco-editor/esm/vs/base/common/types.js';
2
- import { isUntitledWithAssociatedResource, isEditorIdentifier } from '../../../common/editor.js';
1
+ import { localize } from 'monaco-editor/esm/vs/nls.js';
2
+ import { withNullAsUndefined, isObject, isString, isUndefined, isNumber } from 'monaco-editor/esm/vs/base/common/types.js';
3
+ import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
4
+ import { KeybindingsRegistry } from 'monaco-editor/esm/vs/platform/keybinding/common/keybindingsRegistry.js';
5
+ import { isEditorInputWithOptionsAndGroup, isEditorIdentifier } from '../../../common/editor.js';
6
+ import { TextCompareEditorVisibleContext, TextCompareEditorActiveContext, ActiveEditorGroupEmptyContext, MultipleEditorGroupsContext, ActiveEditorCanSplitInGroupContext, SideBySideEditorActiveContext, ActiveEditorGroupLockedContext, ActiveEditorStickyContext } from '../../../common/contextkeys.js';
3
7
  import { columnToEditorGroup } from '../../../services/editor/common/editorGroupColumn.js';
4
8
  import { IEditorService, SIDE_GROUP } from '../../../services/editor/common/editorService.js';
9
+ import { EditorContextKeys } from 'monaco-editor/esm/vs/editor/common/editorContextKeys.js';
10
+ import { TextDiffEditor } from './textDiffEditor.js';
11
+ import { KeyChord } from 'monaco-editor/esm/vs/base/common/keyCodes.js';
5
12
  import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
13
+ import { IQuickInputService } from 'monaco-editor/esm/vs/platform/quickinput/common/quickInput.js';
14
+ import { IListService } from 'monaco-editor/esm/vs/platform/list/browser/listService.js';
6
15
  import { List } from 'monaco-editor/esm/vs/base/browser/ui/list/listWidget.js';
7
- import { isEditorGroup, IEditorGroupsService } from '../../../services/editor/common/editorGroupsService.js';
16
+ import { distinct, coalesce } from 'monaco-editor/esm/vs/base/common/arrays.js';
17
+ import { isEditorGroup, IEditorGroupsService, preferredSideBySideGroupDirection } from '../../../services/editor/common/editorGroupsService.js';
18
+ import { ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
8
19
  import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
9
20
  import { CommandsRegistry, ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
21
+ import { MenuRegistry, MenuId, registerAction2, Action2 } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
22
+ import { Categories } from 'monaco-editor/esm/vs/platform/action/common/actionCommonCategories.js';
23
+ import { ActiveGroupEditorsByMostRecentlyUsedQuickAccess } from './editorQuickAccess.js';
10
24
  import { IOpenerService, matchesScheme } from 'monaco-editor/esm/vs/platform/opener/common/opener.js';
25
+ import { EditorResolution } from 'monaco-editor/esm/vs/platform/editor/common/editor.js';
11
26
  import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
27
+ import { SideBySideEditorInput } from '../../../common/editor/sideBySideEditorInput.js';
28
+ import { SideBySideEditor } from './sideBySideEditor.js';
29
+ import { IEditorResolverService } from '../../../services/editor/common/editorResolverService.js';
12
30
  import { IPathService } from '../../../services/path/common/pathService.js';
31
+ import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
32
+ import { extname } from 'monaco-editor/esm/vs/base/common/resources.js';
33
+ import { DiffEditorInput } from '../../../common/editor/diffEditorInput.js';
34
+ import { isDiffEditor } from 'monaco-editor/esm/vs/editor/browser/editorBrowser.js';
35
+ import { IUntitledTextEditorService } from '../../../services/untitled/common/untitledTextEditorService.js';
36
+ const CLOSE_SAVED_EDITORS_COMMAND_ID = 'workbench.action.closeUnmodifiedEditors';
37
+ const CLOSE_EDITORS_IN_GROUP_COMMAND_ID = 'workbench.action.closeEditorsInGroup';
13
38
  const CLOSE_EDITORS_AND_GROUP_COMMAND_ID = 'workbench.action.closeEditorsAndGroup';
39
+ const CLOSE_EDITORS_TO_THE_RIGHT_COMMAND_ID = 'workbench.action.closeEditorsToTheRight';
14
40
  const CLOSE_EDITOR_COMMAND_ID = 'workbench.action.closeActiveEditor';
41
+ const CLOSE_PINNED_EDITOR_COMMAND_ID = 'workbench.action.closeActivePinnedEditor';
42
+ const CLOSE_EDITOR_GROUP_COMMAND_ID = 'workbench.action.closeGroup';
43
+ const CLOSE_OTHER_EDITORS_IN_GROUP_COMMAND_ID = 'workbench.action.closeOtherEditors';
44
+ const MOVE_ACTIVE_EDITOR_COMMAND_ID = 'moveActiveEditor';
15
45
  const COPY_ACTIVE_EDITOR_COMMAND_ID = 'copyActiveEditor';
16
46
  const LAYOUT_EDITOR_GROUPS_COMMAND_ID = 'layoutEditorGroups';
47
+ const KEEP_EDITOR_COMMAND_ID = 'workbench.action.keepEditor';
48
+ const TOGGLE_KEEP_EDITORS_COMMAND_ID = 'workbench.action.toggleKeepEditors';
49
+ const TOGGLE_LOCK_GROUP_COMMAND_ID = 'workbench.action.toggleEditorGroupLock';
50
+ const LOCK_GROUP_COMMAND_ID = 'workbench.action.lockEditorGroup';
51
+ const UNLOCK_GROUP_COMMAND_ID = 'workbench.action.unlockEditorGroup';
52
+ const SHOW_EDITORS_IN_GROUP = 'workbench.action.showEditorsInGroup';
53
+ const REOPEN_WITH_COMMAND_ID = 'workbench.action.reopenWithEditor';
54
+ const PIN_EDITOR_COMMAND_ID = 'workbench.action.pinEditor';
17
55
  const UNPIN_EDITOR_COMMAND_ID = 'workbench.action.unpinEditor';
56
+ const TOGGLE_DIFF_SIDE_BY_SIDE = 'toggle.diff.renderSideBySide';
57
+ const GOTO_NEXT_CHANGE = 'workbench.action.compareEditor.nextChange';
58
+ const GOTO_PREVIOUS_CHANGE = 'workbench.action.compareEditor.previousChange';
59
+ const DIFF_FOCUS_PRIMARY_SIDE = 'workbench.action.compareEditor.focusPrimarySide';
60
+ const DIFF_FOCUS_SECONDARY_SIDE = 'workbench.action.compareEditor.focusSecondarySide';
61
+ const DIFF_FOCUS_OTHER_SIDE = 'workbench.action.compareEditor.focusOtherSide';
62
+ const DIFF_OPEN_SIDE = 'workbench.action.compareEditor.openSide';
18
63
  const TOGGLE_DIFF_IGNORE_TRIM_WHITESPACE = 'toggle.diff.ignoreTrimWhitespace';
19
64
  const SPLIT_EDITOR_UP = 'workbench.action.splitEditorUp';
20
65
  const SPLIT_EDITOR_DOWN = 'workbench.action.splitEditorDown';
66
+ const SPLIT_EDITOR_LEFT = 'workbench.action.splitEditorLeft';
67
+ const SPLIT_EDITOR_RIGHT = 'workbench.action.splitEditorRight';
68
+ const SPLIT_EDITOR_IN_GROUP = 'workbench.action.splitEditorInGroup';
69
+ const TOGGLE_SPLIT_EDITOR_IN_GROUP = 'workbench.action.toggleSplitEditorInGroup';
70
+ const JOIN_EDITOR_IN_GROUP = 'workbench.action.joinEditorInGroup';
71
+ const TOGGLE_SPLIT_EDITOR_IN_GROUP_LAYOUT = 'workbench.action.toggleSplitEditorInGroupLayout';
72
+ const FOCUS_FIRST_SIDE_EDITOR = 'workbench.action.focusFirstSideEditor';
73
+ const FOCUS_SECOND_SIDE_EDITOR = 'workbench.action.focusSecondSideEditor';
74
+ const FOCUS_OTHER_SIDE_EDITOR = 'workbench.action.focusOtherSideEditor';
75
+ const FOCUS_LEFT_GROUP_WITHOUT_WRAP_COMMAND_ID = 'workbench.action.focusLeftGroupWithoutWrap';
76
+ const FOCUS_RIGHT_GROUP_WITHOUT_WRAP_COMMAND_ID = 'workbench.action.focusRightGroupWithoutWrap';
77
+ const FOCUS_ABOVE_GROUP_WITHOUT_WRAP_COMMAND_ID = 'workbench.action.focusAboveGroupWithoutWrap';
78
+ const FOCUS_BELOW_GROUP_WITHOUT_WRAP_COMMAND_ID = 'workbench.action.focusBelowGroupWithoutWrap';
79
+ const OPEN_EDITOR_AT_INDEX_COMMAND_ID = 'workbench.action.openEditorAtIndex';
21
80
  const API_OPEN_EDITOR_COMMAND_ID = '_workbench.open';
22
81
  const API_OPEN_DIFF_EDITOR_COMMAND_ID = '_workbench.diff';
23
82
  const API_OPEN_WITH_EDITOR_COMMAND_ID = '_workbench.openWith';
83
+ const isActiveEditorMoveCopyArg = function (arg) {
84
+ if (!isObject(arg)) {
85
+ return false;
86
+ }
87
+ if (!isString(arg.to)) {
88
+ return false;
89
+ }
90
+ if (!isUndefined(arg.by) && !isString(arg.by)) {
91
+ return false;
92
+ }
93
+ if (!isUndefined(arg.value) && !isNumber(arg.value)) {
94
+ return false;
95
+ }
96
+ return true;
97
+ };
98
+ function registerActiveEditorMoveCopyCommand() {
99
+ const moveCopyJSONSchema = {
100
+ 'type': 'object',
101
+ 'required': ['to'],
102
+ 'properties': {
103
+ 'to': {
104
+ 'type': 'string',
105
+ 'enum': ['left', 'right']
106
+ },
107
+ 'by': {
108
+ 'type': 'string',
109
+ 'enum': ['tab', 'group']
110
+ },
111
+ 'value': {
112
+ 'type': 'number'
113
+ }
114
+ }
115
+ };
116
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
117
+ id: MOVE_ACTIVE_EDITOR_COMMAND_ID,
118
+ weight: 200 ,
119
+ when: EditorContextKeys.editorTextFocus,
120
+ primary: 0,
121
+ handler: (accessor, args) => moveCopyActiveEditor(true, args, accessor),
122
+ description: {
123
+ description: ( localize(
124
+ 'editorCommand.activeEditorMove.description',
125
+ "Move the active editor by tabs or groups"
126
+ )),
127
+ args: [
128
+ {
129
+ name: ( localize('editorCommand.activeEditorMove.arg.name', "Active editor move argument")),
130
+ description: ( localize(
131
+ 'editorCommand.activeEditorMove.arg.description',
132
+ "Argument Properties:\n\t* 'to': String value providing where to move.\n\t* 'by': String value providing the unit for move (by tab or by group).\n\t* 'value': Number value providing how many positions or an absolute position to move."
133
+ )),
134
+ constraint: isActiveEditorMoveCopyArg,
135
+ schema: moveCopyJSONSchema
136
+ }
137
+ ]
138
+ }
139
+ });
140
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
141
+ id: COPY_ACTIVE_EDITOR_COMMAND_ID,
142
+ weight: 200 ,
143
+ when: EditorContextKeys.editorTextFocus,
144
+ primary: 0,
145
+ handler: (accessor, args) => moveCopyActiveEditor(false, args, accessor),
146
+ description: {
147
+ description: ( localize(
148
+ 'editorCommand.activeEditorCopy.description',
149
+ "Copy the active editor by groups"
150
+ )),
151
+ args: [
152
+ {
153
+ name: ( localize('editorCommand.activeEditorCopy.arg.name', "Active editor copy argument")),
154
+ description: ( localize(
155
+ 'editorCommand.activeEditorCopy.arg.description',
156
+ "Argument Properties:\n\t* 'to': String value providing where to copy.\n\t* 'value': Number value providing how many positions or an absolute position to copy."
157
+ )),
158
+ constraint: isActiveEditorMoveCopyArg,
159
+ schema: moveCopyJSONSchema
160
+ }
161
+ ]
162
+ }
163
+ });
164
+ function moveCopyActiveEditor(isMove, args = Object.create(null), accessor) {
165
+ args.to = args.to || 'right';
166
+ args.by = args.by || 'tab';
167
+ args.value = typeof args.value === 'number' ? args.value : 1;
168
+ const activeEditorPane = accessor.get(IEditorService).activeEditorPane;
169
+ if (activeEditorPane) {
170
+ switch (args.by) {
171
+ case 'tab':
172
+ if (isMove) {
173
+ return moveActiveTab(args, activeEditorPane);
174
+ }
175
+ break;
176
+ case 'group':
177
+ return moveCopyActiveEditorToGroup(isMove, args, activeEditorPane, accessor);
178
+ }
179
+ }
180
+ }
181
+ function moveActiveTab(args, control) {
182
+ const group = control.group;
183
+ let index = group.getIndexOfEditor(control.input);
184
+ switch (args.to) {
185
+ case 'first':
186
+ index = 0;
187
+ break;
188
+ case 'last':
189
+ index = group.count - 1;
190
+ break;
191
+ case 'left':
192
+ index = index - args.value;
193
+ break;
194
+ case 'right':
195
+ index = index + args.value;
196
+ break;
197
+ case 'center':
198
+ index = Math.round(group.count / 2) - 1;
199
+ break;
200
+ case 'position':
201
+ index = args.value - 1;
202
+ break;
203
+ }
204
+ index = index < 0 ? 0 : index >= group.count ? group.count - 1 : index;
205
+ group.moveEditor(control.input, group, { index });
206
+ }
207
+ function moveCopyActiveEditorToGroup(isMove, args, control, accessor) {
208
+ const editorGroupService = accessor.get(IEditorGroupsService);
209
+ const configurationService = accessor.get(IConfigurationService);
210
+ const sourceGroup = control.group;
211
+ let targetGroup;
212
+ switch (args.to) {
213
+ case 'left':
214
+ targetGroup = editorGroupService.findGroup({ direction: 2 }, sourceGroup);
215
+ if (!targetGroup) {
216
+ targetGroup = editorGroupService.addGroup(sourceGroup, 2 );
217
+ }
218
+ break;
219
+ case 'right':
220
+ targetGroup = editorGroupService.findGroup({ direction: 3 }, sourceGroup);
221
+ if (!targetGroup) {
222
+ targetGroup = editorGroupService.addGroup(sourceGroup, 3 );
223
+ }
224
+ break;
225
+ case 'up':
226
+ targetGroup = editorGroupService.findGroup({ direction: 0 }, sourceGroup);
227
+ if (!targetGroup) {
228
+ targetGroup = editorGroupService.addGroup(sourceGroup, 0 );
229
+ }
230
+ break;
231
+ case 'down':
232
+ targetGroup = editorGroupService.findGroup({ direction: 1 }, sourceGroup);
233
+ if (!targetGroup) {
234
+ targetGroup = editorGroupService.addGroup(sourceGroup, 1 );
235
+ }
236
+ break;
237
+ case 'first':
238
+ targetGroup = editorGroupService.findGroup({ location: 0 }, sourceGroup);
239
+ break;
240
+ case 'last':
241
+ targetGroup = editorGroupService.findGroup({ location: 1 }, sourceGroup);
242
+ break;
243
+ case 'previous':
244
+ targetGroup = editorGroupService.findGroup({ location: 3 }, sourceGroup);
245
+ break;
246
+ case 'next':
247
+ targetGroup = editorGroupService.findGroup({ location: 2 }, sourceGroup);
248
+ if (!targetGroup) {
249
+ targetGroup = editorGroupService.addGroup(sourceGroup, preferredSideBySideGroupDirection(configurationService));
250
+ }
251
+ break;
252
+ case 'center':
253
+ targetGroup = editorGroupService.getGroups(2 )[(editorGroupService.count / 2) - 1];
254
+ break;
255
+ case 'position':
256
+ targetGroup = editorGroupService.getGroups(2 )[args.value - 1];
257
+ break;
258
+ }
259
+ if (targetGroup) {
260
+ if (isMove) {
261
+ sourceGroup.moveEditor(control.input, targetGroup);
262
+ }
263
+ else if (sourceGroup.id !== targetGroup.id) {
264
+ sourceGroup.copyEditor(control.input, targetGroup);
265
+ }
266
+ targetGroup.focus();
267
+ }
268
+ }
269
+ }
270
+ function registerEditorGroupsLayoutCommands() {
271
+ function applyEditorLayout(accessor, layout) {
272
+ if (!layout || typeof layout !== 'object') {
273
+ return;
274
+ }
275
+ const editorGroupService = accessor.get(IEditorGroupsService);
276
+ editorGroupService.applyLayout(layout);
277
+ }
278
+ CommandsRegistry.registerCommand(LAYOUT_EDITOR_GROUPS_COMMAND_ID, (accessor, args) => {
279
+ applyEditorLayout(accessor, args);
280
+ });
281
+ CommandsRegistry.registerCommand({
282
+ id: 'vscode.setEditorLayout',
283
+ handler: (accessor, args) => applyEditorLayout(accessor, args),
284
+ description: {
285
+ description: 'Set Editor Layout',
286
+ args: [{
287
+ name: 'args',
288
+ schema: {
289
+ 'type': 'object',
290
+ 'required': ['groups'],
291
+ 'properties': {
292
+ 'orientation': {
293
+ 'type': 'number',
294
+ 'default': 0,
295
+ 'enum': [0, 1]
296
+ },
297
+ 'groups': {
298
+ '$ref': '#/definitions/editorGroupsSchema',
299
+ 'default': [{}, {}]
300
+ }
301
+ }
302
+ }
303
+ }]
304
+ }
305
+ });
306
+ CommandsRegistry.registerCommand({
307
+ id: 'vscode.getEditorLayout',
308
+ handler: (accessor) => {
309
+ const editorGroupService = accessor.get(IEditorGroupsService);
310
+ return editorGroupService.getLayout();
311
+ },
312
+ description: {
313
+ description: 'Get Editor Layout',
314
+ args: [],
315
+ returns: 'An editor layout object, in the same format as vscode.setEditorLayout'
316
+ }
317
+ });
318
+ }
319
+ function registerDiffEditorCommands() {
320
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
321
+ id: GOTO_NEXT_CHANGE,
322
+ weight: 200 ,
323
+ when: TextCompareEditorVisibleContext,
324
+ primary: 512 | 63 ,
325
+ handler: accessor => navigateInDiffEditor(accessor, true)
326
+ });
327
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
328
+ id: GOTO_PREVIOUS_CHANGE,
329
+ weight: 200 ,
330
+ when: TextCompareEditorVisibleContext,
331
+ primary: 512 | 1024 | 63 ,
332
+ handler: accessor => navigateInDiffEditor(accessor, false)
333
+ });
334
+ function getActiveTextDiffEditor(accessor) {
335
+ const editorService = accessor.get(IEditorService);
336
+ for (const editor of [editorService.activeEditorPane, ...editorService.visibleEditorPanes]) {
337
+ if (editor instanceof TextDiffEditor) {
338
+ return editor;
339
+ }
340
+ }
341
+ return undefined;
342
+ }
343
+ function navigateInDiffEditor(accessor, next) {
344
+ const activeTextDiffEditor = getActiveTextDiffEditor(accessor);
345
+ if (activeTextDiffEditor) {
346
+ activeTextDiffEditor.getControl()?.goToDiff(next ? 'next' : 'previous');
347
+ }
348
+ }
349
+ let FocusTextDiffEditorMode;
350
+ ( (function(FocusTextDiffEditorMode) {
351
+ FocusTextDiffEditorMode[FocusTextDiffEditorMode["Original"] = 0] = "Original";
352
+ FocusTextDiffEditorMode[FocusTextDiffEditorMode["Modified"] = 1] = "Modified";
353
+ FocusTextDiffEditorMode[FocusTextDiffEditorMode["Toggle"] = 2] = "Toggle";
354
+ })(FocusTextDiffEditorMode || (FocusTextDiffEditorMode = {})));
355
+ function focusInDiffEditor(accessor, mode) {
356
+ const activeTextDiffEditor = getActiveTextDiffEditor(accessor);
357
+ if (activeTextDiffEditor) {
358
+ switch (mode) {
359
+ case FocusTextDiffEditorMode.Original:
360
+ activeTextDiffEditor.getControl()?.getOriginalEditor().focus();
361
+ break;
362
+ case FocusTextDiffEditorMode.Modified:
363
+ activeTextDiffEditor.getControl()?.getModifiedEditor().focus();
364
+ break;
365
+ case FocusTextDiffEditorMode.Toggle:
366
+ if (activeTextDiffEditor.getControl()?.getModifiedEditor().hasWidgetFocus()) {
367
+ return focusInDiffEditor(accessor, FocusTextDiffEditorMode.Original);
368
+ }
369
+ else {
370
+ return focusInDiffEditor(accessor, FocusTextDiffEditorMode.Modified);
371
+ }
372
+ }
373
+ }
374
+ }
375
+ function toggleDiffSideBySide(accessor) {
376
+ const configurationService = accessor.get(IConfigurationService);
377
+ const newValue = !configurationService.getValue('diffEditor.renderSideBySide');
378
+ configurationService.updateValue('diffEditor.renderSideBySide', newValue);
379
+ }
380
+ function toggleDiffIgnoreTrimWhitespace(accessor) {
381
+ const configurationService = accessor.get(IConfigurationService);
382
+ const newValue = !configurationService.getValue('diffEditor.ignoreTrimWhitespace');
383
+ configurationService.updateValue('diffEditor.ignoreTrimWhitespace', newValue);
384
+ }
385
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
386
+ id: TOGGLE_DIFF_SIDE_BY_SIDE,
387
+ weight: 200 ,
388
+ when: undefined,
389
+ primary: undefined,
390
+ handler: accessor => toggleDiffSideBySide(accessor)
391
+ });
392
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
393
+ id: DIFF_FOCUS_PRIMARY_SIDE,
394
+ weight: 200 ,
395
+ when: undefined,
396
+ primary: undefined,
397
+ handler: accessor => focusInDiffEditor(accessor, FocusTextDiffEditorMode.Modified)
398
+ });
399
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
400
+ id: DIFF_FOCUS_SECONDARY_SIDE,
401
+ weight: 200 ,
402
+ when: undefined,
403
+ primary: undefined,
404
+ handler: accessor => focusInDiffEditor(accessor, FocusTextDiffEditorMode.Original)
405
+ });
406
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
407
+ id: DIFF_FOCUS_OTHER_SIDE,
408
+ weight: 200 ,
409
+ when: undefined,
410
+ primary: undefined,
411
+ handler: accessor => focusInDiffEditor(accessor, FocusTextDiffEditorMode.Toggle)
412
+ });
413
+ MenuRegistry.appendMenuItem(MenuId.CommandPalette, {
414
+ command: {
415
+ id: TOGGLE_DIFF_SIDE_BY_SIDE,
416
+ title: {
417
+ value: ( localize('toggleInlineView', "Toggle Inline View")),
418
+ original: 'Compare: Toggle Inline View'
419
+ },
420
+ category: ( localize('compare', "Compare"))
421
+ },
422
+ when: TextCompareEditorActiveContext
423
+ });
424
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
425
+ id: TOGGLE_DIFF_IGNORE_TRIM_WHITESPACE,
426
+ weight: 200 ,
427
+ when: undefined,
428
+ primary: undefined,
429
+ handler: accessor => toggleDiffIgnoreTrimWhitespace(accessor)
430
+ });
431
+ }
24
432
  function registerOpenEditorAPICommands() {
25
433
  function mixinContext(context, options, column) {
26
434
  if (!context) {
@@ -47,13 +455,14 @@ function registerOpenEditorAPICommands() {
47
455
  const openerService = accessor.get(IOpenerService);
48
456
  const pathService = accessor.get(IPathService);
49
457
  const configurationService = accessor.get(IConfigurationService);
50
- const resourceOrString = typeof resourceArg === 'string' ? resourceArg : URI.revive(resourceArg);
458
+ const untitledTextEditorService = accessor.get(IUntitledTextEditorService);
459
+ const resourceOrString = typeof resourceArg === 'string' ? resourceArg : ( URI.from(resourceArg, true));
51
460
  const [columnArg, optionsArg] = columnAndOptions ?? [];
52
461
  if (optionsArg || typeof columnArg === 'number' || matchesScheme(resourceOrString, Schemas.untitled)) {
53
462
  const [options, column] = mixinContext(context, optionsArg, columnArg);
54
463
  const resource = URI.isUri(resourceOrString) ? resourceOrString : ( URI.parse(resourceOrString));
55
464
  let input;
56
- if (isUntitledWithAssociatedResource(resource)) {
465
+ if (untitledTextEditorService.isUntitledWithAssociatedResource(resource)) {
57
466
  input = { resource: resource.with({ scheme: pathService.defaultUriScheme }), forceUntitled: true, options, label };
58
467
  }
59
468
  else {
@@ -98,8 +507,8 @@ function registerOpenEditorAPICommands() {
98
507
  description = labelAndOrDescription.description;
99
508
  }
100
509
  await editorService.openEditor({
101
- original: { resource: URI.revive(originalResource) },
102
- modified: { resource: URI.revive(modifiedResource) },
510
+ original: { resource: ( URI.from(originalResource, true)) },
511
+ modified: { resource: ( URI.from(modifiedResource, true)) },
103
512
  label,
104
513
  description,
105
514
  options
@@ -110,8 +519,103 @@ function registerOpenEditorAPICommands() {
110
519
  const editorGroupsService = accessor.get(IEditorGroupsService);
111
520
  const configurationService = accessor.get(IConfigurationService);
112
521
  const [columnArg, optionsArg] = columnAndOptions ?? [];
113
- return editorService.openEditor({ resource: URI.revive(resource), options: { ...optionsArg, pinned: true, override: id } }, columnToEditorGroup(editorGroupsService, configurationService, columnArg));
522
+ return editorService.openEditor({ resource: ( URI.from(resource, true)), options: { ...optionsArg, pinned: true, override: id } }, columnToEditorGroup(editorGroupsService, configurationService, columnArg));
523
+ });
524
+ }
525
+ function registerOpenEditorAtIndexCommands() {
526
+ const openEditorAtIndex = (accessor, editorIndex) => {
527
+ const editorService = accessor.get(IEditorService);
528
+ const activeEditorPane = editorService.activeEditorPane;
529
+ if (activeEditorPane) {
530
+ const editor = activeEditorPane.group.getEditorByIndex(editorIndex);
531
+ if (editor) {
532
+ editorService.openEditor(editor);
533
+ }
534
+ }
535
+ };
536
+ CommandsRegistry.registerCommand({
537
+ id: OPEN_EDITOR_AT_INDEX_COMMAND_ID,
538
+ handler: openEditorAtIndex
114
539
  });
540
+ for (let i = 0; i < 9; i++) {
541
+ const editorIndex = i;
542
+ const visibleIndex = i + 1;
543
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
544
+ id: OPEN_EDITOR_AT_INDEX_COMMAND_ID + visibleIndex,
545
+ weight: 200 ,
546
+ when: undefined,
547
+ primary: 512 | toKeyCode(visibleIndex),
548
+ mac: { primary: 256 | toKeyCode(visibleIndex) },
549
+ handler: accessor => openEditorAtIndex(accessor, editorIndex)
550
+ });
551
+ }
552
+ function toKeyCode(index) {
553
+ switch (index) {
554
+ case 0: return 21 ;
555
+ case 1: return 22 ;
556
+ case 2: return 23 ;
557
+ case 3: return 24 ;
558
+ case 4: return 25 ;
559
+ case 5: return 26 ;
560
+ case 6: return 27 ;
561
+ case 7: return 28 ;
562
+ case 8: return 29 ;
563
+ case 9: return 30 ;
564
+ }
565
+ throw new Error('invalid index');
566
+ }
567
+ }
568
+ function registerFocusEditorGroupAtIndexCommands() {
569
+ for (let groupIndex = 1; groupIndex < 8; groupIndex++) {
570
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
571
+ id: toCommandId(groupIndex),
572
+ weight: 200 ,
573
+ when: undefined,
574
+ primary: 2048 | toKeyCode(groupIndex),
575
+ handler: accessor => {
576
+ const editorGroupService = accessor.get(IEditorGroupsService);
577
+ const configurationService = accessor.get(IConfigurationService);
578
+ if (groupIndex > editorGroupService.count) {
579
+ return;
580
+ }
581
+ const groups = editorGroupService.getGroups(2 );
582
+ if (groups[groupIndex]) {
583
+ return groups[groupIndex].focus();
584
+ }
585
+ const direction = preferredSideBySideGroupDirection(configurationService);
586
+ const lastGroup = editorGroupService.findGroup({ location: 1 });
587
+ if (!lastGroup) {
588
+ return;
589
+ }
590
+ const newGroup = editorGroupService.addGroup(lastGroup, direction);
591
+ newGroup.focus();
592
+ }
593
+ });
594
+ }
595
+ function toCommandId(index) {
596
+ switch (index) {
597
+ case 1: return 'workbench.action.focusSecondEditorGroup';
598
+ case 2: return 'workbench.action.focusThirdEditorGroup';
599
+ case 3: return 'workbench.action.focusFourthEditorGroup';
600
+ case 4: return 'workbench.action.focusFifthEditorGroup';
601
+ case 5: return 'workbench.action.focusSixthEditorGroup';
602
+ case 6: return 'workbench.action.focusSeventhEditorGroup';
603
+ case 7: return 'workbench.action.focusEighthEditorGroup';
604
+ }
605
+ throw new Error('Invalid index');
606
+ }
607
+ function toKeyCode(index) {
608
+ switch (index) {
609
+ case 1: return 23 ;
610
+ case 2: return 24 ;
611
+ case 3: return 25 ;
612
+ case 4: return 26 ;
613
+ case 5: return 27 ;
614
+ case 6: return 28 ;
615
+ case 7: return 29 ;
616
+ }
617
+ throw new Error('Invalid index');
618
+ }
115
619
  }
116
620
  function splitEditor(editorGroupService, direction, context) {
117
621
  let sourceGroup;
@@ -137,6 +641,607 @@ function splitEditor(editorGroupService, direction, context) {
137
641
  }
138
642
  newGroup.focus();
139
643
  }
644
+ function registerSplitEditorCommands() {
645
+ [
646
+ { id: SPLIT_EDITOR_UP, direction: 0 },
647
+ { id: SPLIT_EDITOR_DOWN, direction: 1 },
648
+ { id: SPLIT_EDITOR_LEFT, direction: 2 },
649
+ { id: SPLIT_EDITOR_RIGHT, direction: 3 }
650
+ ].forEach(({ id, direction }) => {
651
+ CommandsRegistry.registerCommand(id, function (accessor, resourceOrContext, context) {
652
+ splitEditor(accessor.get(IEditorGroupsService), direction, getCommandsContext(resourceOrContext, context));
653
+ });
654
+ });
655
+ }
656
+ function registerCloseEditorCommands() {
657
+ function closeEditorHandler(accessor, forceCloseStickyEditors, resourceOrContext, context) {
658
+ const editorGroupsService = accessor.get(IEditorGroupsService);
659
+ const editorService = accessor.get(IEditorService);
660
+ let keepStickyEditors = true;
661
+ if (forceCloseStickyEditors) {
662
+ keepStickyEditors = false;
663
+ }
664
+ else if (resourceOrContext || context) {
665
+ keepStickyEditors = false;
666
+ }
667
+ if (keepStickyEditors && !resourceOrContext && !context) {
668
+ const activeGroup = editorGroupsService.activeGroup;
669
+ const activeEditor = activeGroup.activeEditor;
670
+ if (activeEditor && activeGroup.isSticky(activeEditor)) {
671
+ const nextNonStickyEditorInGroup = activeGroup.getEditors(0 , { excludeSticky: true })[0];
672
+ if (nextNonStickyEditorInGroup) {
673
+ return activeGroup.openEditor(nextNonStickyEditorInGroup);
674
+ }
675
+ const nextNonStickyEditorInAllGroups = editorService.getEditors(0 , { excludeSticky: true })[0];
676
+ if (nextNonStickyEditorInAllGroups) {
677
+ return Promise.resolve(editorGroupsService.getGroup(nextNonStickyEditorInAllGroups.groupId)?.openEditor(nextNonStickyEditorInAllGroups.editor));
678
+ }
679
+ }
680
+ }
681
+ const { editors, groups } = getEditorsContext(accessor, resourceOrContext, context);
682
+ return Promise.all(( groups.map(async (group) => {
683
+ if (group) {
684
+ const editorsToClose = coalesce(( editors
685
+ .filter(editor => editor.groupId === group.id)
686
+ .map(
687
+ editor => typeof editor.editorIndex === 'number' ? group.getEditorByIndex(editor.editorIndex) : group.activeEditor
688
+ )))
689
+ .filter(editor => !keepStickyEditors || !group.isSticky(editor));
690
+ await group.closeEditors(editorsToClose, { preserveFocus: context?.preserveFocus });
691
+ }
692
+ })));
693
+ }
694
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
695
+ id: CLOSE_EDITOR_COMMAND_ID,
696
+ weight: 200 ,
697
+ when: undefined,
698
+ primary: 2048 | 53 ,
699
+ win: { primary: 2048 | 62 , secondary: [2048 | 53 ] },
700
+ handler: (accessor, resourceOrContext, context) => {
701
+ return closeEditorHandler(accessor, false, resourceOrContext, context);
702
+ }
703
+ });
704
+ CommandsRegistry.registerCommand(CLOSE_PINNED_EDITOR_COMMAND_ID, (accessor, resourceOrContext, context) => {
705
+ return closeEditorHandler(accessor, true , resourceOrContext, context);
706
+ });
707
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
708
+ id: CLOSE_EDITORS_IN_GROUP_COMMAND_ID,
709
+ weight: 200 ,
710
+ when: undefined,
711
+ primary: KeyChord(2048 | 41 , 53 ),
712
+ handler: (accessor, resourceOrContext, context) => {
713
+ return Promise.all(( getEditorsContext(accessor, resourceOrContext, context).groups.map(async (group) => {
714
+ if (group) {
715
+ await group.closeAllEditors({ excludeSticky: true });
716
+ return;
717
+ }
718
+ })));
719
+ }
720
+ });
721
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
722
+ id: CLOSE_EDITOR_GROUP_COMMAND_ID,
723
+ weight: 200 ,
724
+ when: ( ContextKeyExpr.and(ActiveEditorGroupEmptyContext, MultipleEditorGroupsContext)),
725
+ primary: 2048 | 53 ,
726
+ win: { primary: 2048 | 62 , secondary: [2048 | 53 ] },
727
+ handler: (accessor, resourceOrContext, context) => {
728
+ const editorGroupService = accessor.get(IEditorGroupsService);
729
+ const commandsContext = getCommandsContext(resourceOrContext, context);
730
+ let group;
731
+ if (commandsContext && typeof commandsContext.groupId === 'number') {
732
+ group = editorGroupService.getGroup(commandsContext.groupId);
733
+ }
734
+ else {
735
+ group = editorGroupService.activeGroup;
736
+ }
737
+ if (group) {
738
+ editorGroupService.removeGroup(group);
739
+ }
740
+ }
741
+ });
742
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
743
+ id: CLOSE_SAVED_EDITORS_COMMAND_ID,
744
+ weight: 200 ,
745
+ when: undefined,
746
+ primary: KeyChord(2048 | 41 , 51 ),
747
+ handler: (accessor, resourceOrContext, context) => {
748
+ return Promise.all(( getEditorsContext(accessor, resourceOrContext, context).groups.map(async (group) => {
749
+ if (group) {
750
+ await group.closeEditors({ savedOnly: true, excludeSticky: true }, { preserveFocus: context?.preserveFocus });
751
+ }
752
+ })));
753
+ }
754
+ });
755
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
756
+ id: CLOSE_OTHER_EDITORS_IN_GROUP_COMMAND_ID,
757
+ weight: 200 ,
758
+ when: undefined,
759
+ primary: undefined,
760
+ mac: { primary: 2048 | 512 | 50 },
761
+ handler: (accessor, resourceOrContext, context) => {
762
+ const { editors, groups } = getEditorsContext(accessor, resourceOrContext, context);
763
+ return Promise.all(( groups.map(async (group) => {
764
+ if (group) {
765
+ const editorsToKeep = ( editors
766
+ .filter(editor => editor.groupId === group.id)
767
+ .map(
768
+ editor => typeof editor.editorIndex === 'number' ? group.getEditorByIndex(editor.editorIndex) : group.activeEditor
769
+ ));
770
+ const editorsToClose = group.getEditors(1 , { excludeSticky: true }).filter(editor => !editorsToKeep.includes(editor));
771
+ for (const editorToKeep of editorsToKeep) {
772
+ if (editorToKeep) {
773
+ group.pinEditor(editorToKeep);
774
+ }
775
+ }
776
+ await group.closeEditors(editorsToClose, { preserveFocus: context?.preserveFocus });
777
+ }
778
+ })));
779
+ }
780
+ });
781
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
782
+ id: CLOSE_EDITORS_TO_THE_RIGHT_COMMAND_ID,
783
+ weight: 200 ,
784
+ when: undefined,
785
+ primary: undefined,
786
+ handler: async (accessor, resourceOrContext, context) => {
787
+ const editorGroupService = accessor.get(IEditorGroupsService);
788
+ const { group, editor } = resolveCommandsContext(editorGroupService, getCommandsContext(resourceOrContext, context));
789
+ if (group && editor) {
790
+ if (group.activeEditor) {
791
+ group.pinEditor(group.activeEditor);
792
+ }
793
+ await group.closeEditors({ direction: 1 , except: editor, excludeSticky: true }, { preserveFocus: context?.preserveFocus });
794
+ }
795
+ }
796
+ });
797
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
798
+ id: REOPEN_WITH_COMMAND_ID,
799
+ weight: 200 ,
800
+ when: undefined,
801
+ primary: undefined,
802
+ handler: async (accessor, resourceOrContext, context) => {
803
+ const editorGroupService = accessor.get(IEditorGroupsService);
804
+ const editorService = accessor.get(IEditorService);
805
+ const editorResolverService = accessor.get(IEditorResolverService);
806
+ const telemetryService = accessor.get(ITelemetryService);
807
+ const { group, editor } = resolveCommandsContext(editorGroupService, getCommandsContext(resourceOrContext, context));
808
+ if (!editor) {
809
+ return;
810
+ }
811
+ const untypedEditor = editor.toUntyped();
812
+ if (!untypedEditor) {
813
+ return;
814
+ }
815
+ untypedEditor.options = { ...editorService.activeEditorPane?.options, override: EditorResolution.PICK };
816
+ const resolvedEditor = await editorResolverService.resolveEditor(untypedEditor, group);
817
+ if (!isEditorInputWithOptionsAndGroup(resolvedEditor)) {
818
+ return;
819
+ }
820
+ await resolvedEditor.group.replaceEditors([
821
+ {
822
+ editor: editor,
823
+ replacement: resolvedEditor.editor,
824
+ forceReplaceDirty: editor.resource?.scheme === Schemas.untitled,
825
+ options: resolvedEditor.options
826
+ }
827
+ ]);
828
+ telemetryService.publicLog2('workbenchEditorReopen', {
829
+ scheme: editor.resource?.scheme ?? '',
830
+ ext: editor.resource ? extname(editor.resource) : '',
831
+ from: editor.editorId ?? '',
832
+ to: resolvedEditor.editor.editorId ?? ''
833
+ });
834
+ await resolvedEditor.group.openEditor(resolvedEditor.editor);
835
+ }
836
+ });
837
+ CommandsRegistry.registerCommand(CLOSE_EDITORS_AND_GROUP_COMMAND_ID, async (accessor, resourceOrContext, context) => {
838
+ const editorGroupService = accessor.get(IEditorGroupsService);
839
+ const { group } = resolveCommandsContext(editorGroupService, getCommandsContext(resourceOrContext, context));
840
+ if (group) {
841
+ await group.closeAllEditors();
842
+ if (group.count === 0 && editorGroupService.getGroup(group.id) ) {
843
+ editorGroupService.removeGroup(group);
844
+ }
845
+ }
846
+ });
847
+ }
848
+ function registerFocusEditorGroupWihoutWrapCommands() {
849
+ const commands = [
850
+ {
851
+ id: FOCUS_LEFT_GROUP_WITHOUT_WRAP_COMMAND_ID,
852
+ direction: 2
853
+ },
854
+ {
855
+ id: FOCUS_RIGHT_GROUP_WITHOUT_WRAP_COMMAND_ID,
856
+ direction: 3
857
+ },
858
+ {
859
+ id: FOCUS_ABOVE_GROUP_WITHOUT_WRAP_COMMAND_ID,
860
+ direction: 0 ,
861
+ },
862
+ {
863
+ id: FOCUS_BELOW_GROUP_WITHOUT_WRAP_COMMAND_ID,
864
+ direction: 1
865
+ }
866
+ ];
867
+ for (const command of commands) {
868
+ CommandsRegistry.registerCommand(command.id, async (accessor) => {
869
+ const editorGroupService = accessor.get(IEditorGroupsService);
870
+ const group = editorGroupService.findGroup({ direction: command.direction }, editorGroupService.activeGroup, false);
871
+ group?.focus();
872
+ });
873
+ }
874
+ }
875
+ function registerSplitEditorInGroupCommands() {
876
+ async function splitEditorInGroup(accessor, resourceOrContext, context) {
877
+ const editorGroupService = accessor.get(IEditorGroupsService);
878
+ const instantiationService = accessor.get(IInstantiationService);
879
+ const { group, editor } = resolveCommandsContext(editorGroupService, getCommandsContext(resourceOrContext, context));
880
+ if (!editor) {
881
+ return;
882
+ }
883
+ await group.replaceEditors([{
884
+ editor,
885
+ replacement: instantiationService.createInstance(SideBySideEditorInput, undefined, undefined, editor, editor),
886
+ forceReplaceDirty: true
887
+ }]);
888
+ }
889
+ registerAction2(class extends Action2 {
890
+ constructor() {
891
+ super({
892
+ id: SPLIT_EDITOR_IN_GROUP,
893
+ title: { value: ( localize('splitEditorInGroup', "Split Editor in Group")), original: 'Split Editor in Group' },
894
+ category: Categories.View,
895
+ precondition: ActiveEditorCanSplitInGroupContext,
896
+ f1: true,
897
+ keybinding: {
898
+ weight: 200 ,
899
+ when: ActiveEditorCanSplitInGroupContext,
900
+ primary: KeyChord(2048 | 41 , 2048 | 1024 | 93 )
901
+ }
902
+ });
903
+ }
904
+ run(accessor, resourceOrContext, context) {
905
+ return splitEditorInGroup(accessor, resourceOrContext, context);
906
+ }
907
+ });
908
+ async function joinEditorInGroup(accessor, resourceOrContext, context) {
909
+ const editorGroupService = accessor.get(IEditorGroupsService);
910
+ const { group, editor } = resolveCommandsContext(editorGroupService, getCommandsContext(resourceOrContext, context));
911
+ if (!(editor instanceof SideBySideEditorInput)) {
912
+ return;
913
+ }
914
+ let options = undefined;
915
+ const activeEditorPane = group.activeEditorPane;
916
+ if (activeEditorPane instanceof SideBySideEditor && group.activeEditor === editor) {
917
+ for (const pane of [activeEditorPane.getPrimaryEditorPane(), activeEditorPane.getSecondaryEditorPane()]) {
918
+ if (pane?.hasFocus()) {
919
+ options = { viewState: pane.getViewState() };
920
+ break;
921
+ }
922
+ }
923
+ }
924
+ await group.replaceEditors([{
925
+ editor,
926
+ replacement: editor.primary,
927
+ options
928
+ }]);
929
+ }
930
+ registerAction2(class extends Action2 {
931
+ constructor() {
932
+ super({
933
+ id: JOIN_EDITOR_IN_GROUP,
934
+ title: { value: ( localize('joinEditorInGroup', "Join Editor in Group")), original: 'Join Editor in Group' },
935
+ category: Categories.View,
936
+ precondition: SideBySideEditorActiveContext,
937
+ f1: true,
938
+ keybinding: {
939
+ weight: 200 ,
940
+ when: SideBySideEditorActiveContext,
941
+ primary: KeyChord(2048 | 41 , 2048 | 1024 | 93 )
942
+ }
943
+ });
944
+ }
945
+ run(accessor, resourceOrContext, context) {
946
+ return joinEditorInGroup(accessor, resourceOrContext, context);
947
+ }
948
+ });
949
+ registerAction2(class extends Action2 {
950
+ constructor() {
951
+ super({
952
+ id: TOGGLE_SPLIT_EDITOR_IN_GROUP,
953
+ title: { value: ( localize('toggleJoinEditorInGroup', "Toggle Split Editor in Group")), original: 'Toggle Split Editor in Group' },
954
+ category: Categories.View,
955
+ precondition: ( ContextKeyExpr.or(ActiveEditorCanSplitInGroupContext, SideBySideEditorActiveContext)),
956
+ f1: true
957
+ });
958
+ }
959
+ async run(accessor, resourceOrContext, context) {
960
+ const editorGroupService = accessor.get(IEditorGroupsService);
961
+ const { editor } = resolveCommandsContext(editorGroupService, getCommandsContext(resourceOrContext, context));
962
+ if (editor instanceof SideBySideEditorInput) {
963
+ await joinEditorInGroup(accessor, resourceOrContext, context);
964
+ }
965
+ else if (editor) {
966
+ await splitEditorInGroup(accessor, resourceOrContext, context);
967
+ }
968
+ }
969
+ });
970
+ registerAction2(class extends Action2 {
971
+ constructor() {
972
+ super({
973
+ id: TOGGLE_SPLIT_EDITOR_IN_GROUP_LAYOUT,
974
+ title: { value: ( localize('toggleSplitEditorInGroupLayout', "Toggle Layout of Split Editor in Group")), original: 'Toggle Layout of Split Editor in Group' },
975
+ category: Categories.View,
976
+ precondition: SideBySideEditorActiveContext,
977
+ f1: true
978
+ });
979
+ }
980
+ async run(accessor) {
981
+ const configurationService = accessor.get(IConfigurationService);
982
+ const currentSetting = configurationService.getValue(SideBySideEditor.SIDE_BY_SIDE_LAYOUT_SETTING);
983
+ let newSetting;
984
+ if (currentSetting !== 'horizontal') {
985
+ newSetting = 'horizontal';
986
+ }
987
+ else {
988
+ newSetting = 'vertical';
989
+ }
990
+ return configurationService.updateValue(SideBySideEditor.SIDE_BY_SIDE_LAYOUT_SETTING, newSetting);
991
+ }
992
+ });
993
+ }
994
+ function registerFocusSideEditorsCommands() {
995
+ registerAction2(class extends Action2 {
996
+ constructor() {
997
+ super({
998
+ id: FOCUS_FIRST_SIDE_EDITOR,
999
+ title: { value: ( localize('focusLeftSideEditor', "Focus First Side in Active Editor")), original: 'Focus First Side in Active Editor' },
1000
+ category: Categories.View,
1001
+ precondition: ( ContextKeyExpr.or(SideBySideEditorActiveContext, TextCompareEditorActiveContext)),
1002
+ f1: true
1003
+ });
1004
+ }
1005
+ async run(accessor) {
1006
+ const editorService = accessor.get(IEditorService);
1007
+ const commandService = accessor.get(ICommandService);
1008
+ const activeEditorPane = editorService.activeEditorPane;
1009
+ if (activeEditorPane instanceof SideBySideEditor) {
1010
+ activeEditorPane.getSecondaryEditorPane()?.focus();
1011
+ }
1012
+ else if (activeEditorPane instanceof TextDiffEditor) {
1013
+ await commandService.executeCommand(DIFF_FOCUS_SECONDARY_SIDE);
1014
+ }
1015
+ }
1016
+ });
1017
+ registerAction2(class extends Action2 {
1018
+ constructor() {
1019
+ super({
1020
+ id: FOCUS_SECOND_SIDE_EDITOR,
1021
+ title: { value: ( localize('focusRightSideEditor', "Focus Second Side in Active Editor")), original: 'Focus Second Side in Active Editor' },
1022
+ category: Categories.View,
1023
+ precondition: ( ContextKeyExpr.or(SideBySideEditorActiveContext, TextCompareEditorActiveContext)),
1024
+ f1: true
1025
+ });
1026
+ }
1027
+ async run(accessor) {
1028
+ const editorService = accessor.get(IEditorService);
1029
+ const commandService = accessor.get(ICommandService);
1030
+ const activeEditorPane = editorService.activeEditorPane;
1031
+ if (activeEditorPane instanceof SideBySideEditor) {
1032
+ activeEditorPane.getPrimaryEditorPane()?.focus();
1033
+ }
1034
+ else if (activeEditorPane instanceof TextDiffEditor) {
1035
+ await commandService.executeCommand(DIFF_FOCUS_PRIMARY_SIDE);
1036
+ }
1037
+ }
1038
+ });
1039
+ registerAction2(class extends Action2 {
1040
+ constructor() {
1041
+ super({
1042
+ id: FOCUS_OTHER_SIDE_EDITOR,
1043
+ title: { value: ( localize('focusOtherSideEditor', "Focus Other Side in Active Editor")), original: 'Focus Other Side in Active Editor' },
1044
+ category: Categories.View,
1045
+ precondition: ( ContextKeyExpr.or(SideBySideEditorActiveContext, TextCompareEditorActiveContext)),
1046
+ f1: true
1047
+ });
1048
+ }
1049
+ async run(accessor) {
1050
+ const editorService = accessor.get(IEditorService);
1051
+ const commandService = accessor.get(ICommandService);
1052
+ const activeEditorPane = editorService.activeEditorPane;
1053
+ if (activeEditorPane instanceof SideBySideEditor) {
1054
+ if (activeEditorPane.getPrimaryEditorPane()?.hasFocus()) {
1055
+ activeEditorPane.getSecondaryEditorPane()?.focus();
1056
+ }
1057
+ else {
1058
+ activeEditorPane.getPrimaryEditorPane()?.focus();
1059
+ }
1060
+ }
1061
+ else if (activeEditorPane instanceof TextDiffEditor) {
1062
+ await commandService.executeCommand(DIFF_FOCUS_OTHER_SIDE);
1063
+ }
1064
+ }
1065
+ });
1066
+ }
1067
+ function registerOtherEditorCommands() {
1068
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
1069
+ id: KEEP_EDITOR_COMMAND_ID,
1070
+ weight: 200 ,
1071
+ when: undefined,
1072
+ primary: KeyChord(2048 | 41 , 3 ),
1073
+ handler: async (accessor, resourceOrContext, context) => {
1074
+ const editorGroupService = accessor.get(IEditorGroupsService);
1075
+ const { group, editor } = resolveCommandsContext(editorGroupService, getCommandsContext(resourceOrContext, context));
1076
+ if (group && editor) {
1077
+ return group.pinEditor(editor);
1078
+ }
1079
+ }
1080
+ });
1081
+ CommandsRegistry.registerCommand({
1082
+ id: TOGGLE_KEEP_EDITORS_COMMAND_ID,
1083
+ handler: accessor => {
1084
+ const configurationService = accessor.get(IConfigurationService);
1085
+ const currentSetting = configurationService.getValue('workbench.editor.enablePreview');
1086
+ const newSetting = currentSetting === true ? false : true;
1087
+ configurationService.updateValue('workbench.editor.enablePreview', newSetting);
1088
+ }
1089
+ });
1090
+ function setEditorGroupLock(accessor, resourceOrContext, context, locked) {
1091
+ const editorGroupService = accessor.get(IEditorGroupsService);
1092
+ const { group } = resolveCommandsContext(editorGroupService, getCommandsContext(resourceOrContext, context));
1093
+ group?.lock(locked ?? !group.isLocked);
1094
+ }
1095
+ registerAction2(class extends Action2 {
1096
+ constructor() {
1097
+ super({
1098
+ id: TOGGLE_LOCK_GROUP_COMMAND_ID,
1099
+ title: { value: ( localize('toggleEditorGroupLock', "Toggle Editor Group Lock")), original: 'Toggle Editor Group Lock' },
1100
+ category: Categories.View,
1101
+ precondition: MultipleEditorGroupsContext,
1102
+ f1: true
1103
+ });
1104
+ }
1105
+ async run(accessor, resourceOrContext, context) {
1106
+ setEditorGroupLock(accessor, resourceOrContext, context);
1107
+ }
1108
+ });
1109
+ registerAction2(class extends Action2 {
1110
+ constructor() {
1111
+ super({
1112
+ id: LOCK_GROUP_COMMAND_ID,
1113
+ title: { value: ( localize('lockEditorGroup', "Lock Editor Group")), original: 'Lock Editor Group' },
1114
+ category: Categories.View,
1115
+ precondition: ( ContextKeyExpr.and(MultipleEditorGroupsContext, ( ActiveEditorGroupLockedContext.toNegated()))),
1116
+ f1: true
1117
+ });
1118
+ }
1119
+ async run(accessor, resourceOrContext, context) {
1120
+ setEditorGroupLock(accessor, resourceOrContext, context, true);
1121
+ }
1122
+ });
1123
+ registerAction2(class extends Action2 {
1124
+ constructor() {
1125
+ super({
1126
+ id: UNLOCK_GROUP_COMMAND_ID,
1127
+ title: { value: ( localize('unlockEditorGroup', "Unlock Editor Group")), original: 'Unlock Editor Group' },
1128
+ precondition: ( ContextKeyExpr.and(MultipleEditorGroupsContext, ActiveEditorGroupLockedContext)),
1129
+ category: Categories.View,
1130
+ f1: true
1131
+ });
1132
+ }
1133
+ async run(accessor, resourceOrContext, context) {
1134
+ setEditorGroupLock(accessor, resourceOrContext, context, false);
1135
+ }
1136
+ });
1137
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
1138
+ id: PIN_EDITOR_COMMAND_ID,
1139
+ weight: 200 ,
1140
+ when: ( ActiveEditorStickyContext.toNegated()),
1141
+ primary: KeyChord(2048 | 41 , 1024 | 3 ),
1142
+ handler: async (accessor, resourceOrContext, context) => {
1143
+ const editorGroupService = accessor.get(IEditorGroupsService);
1144
+ const { group, editor } = resolveCommandsContext(editorGroupService, getCommandsContext(resourceOrContext, context));
1145
+ if (group && editor) {
1146
+ return group.stickEditor(editor);
1147
+ }
1148
+ }
1149
+ });
1150
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
1151
+ id: DIFF_OPEN_SIDE,
1152
+ weight: 200 ,
1153
+ when: EditorContextKeys.inDiffEditor,
1154
+ primary: KeyChord(2048 | 41 , 1024 | 45 ),
1155
+ handler: async (accessor) => {
1156
+ const editorService = accessor.get(IEditorService);
1157
+ const editorGroupService = accessor.get(IEditorGroupsService);
1158
+ const activeEditor = editorService.activeEditor;
1159
+ const activeTextEditorControl = editorService.activeTextEditorControl;
1160
+ if (!isDiffEditor(activeTextEditorControl) || !(activeEditor instanceof DiffEditorInput)) {
1161
+ return;
1162
+ }
1163
+ let editor;
1164
+ const originalEditor = activeTextEditorControl.getOriginalEditor();
1165
+ if (originalEditor.hasTextFocus()) {
1166
+ editor = activeEditor.original;
1167
+ }
1168
+ else {
1169
+ editor = activeEditor.modified;
1170
+ }
1171
+ return editorGroupService.activeGroup.openEditor(editor);
1172
+ }
1173
+ });
1174
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
1175
+ id: UNPIN_EDITOR_COMMAND_ID,
1176
+ weight: 200 ,
1177
+ when: ActiveEditorStickyContext,
1178
+ primary: KeyChord(2048 | 41 , 1024 | 3 ),
1179
+ handler: async (accessor, resourceOrContext, context) => {
1180
+ const editorGroupService = accessor.get(IEditorGroupsService);
1181
+ const { group, editor } = resolveCommandsContext(editorGroupService, getCommandsContext(resourceOrContext, context));
1182
+ if (group && editor) {
1183
+ return group.unstickEditor(editor);
1184
+ }
1185
+ }
1186
+ });
1187
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
1188
+ id: SHOW_EDITORS_IN_GROUP,
1189
+ weight: 200 ,
1190
+ when: undefined,
1191
+ primary: undefined,
1192
+ handler: (accessor, resourceOrContext, context) => {
1193
+ const editorGroupService = accessor.get(IEditorGroupsService);
1194
+ const quickInputService = accessor.get(IQuickInputService);
1195
+ const commandsContext = getCommandsContext(resourceOrContext, context);
1196
+ if (commandsContext && typeof commandsContext.groupId === 'number') {
1197
+ const group = editorGroupService.getGroup(commandsContext.groupId);
1198
+ if (group) {
1199
+ editorGroupService.activateGroup(group);
1200
+ }
1201
+ }
1202
+ return quickInputService.quickAccess.show(ActiveGroupEditorsByMostRecentlyUsedQuickAccess.PREFIX);
1203
+ }
1204
+ });
1205
+ }
1206
+ function getEditorsContext(accessor, resourceOrContext, context) {
1207
+ const editorGroupService = accessor.get(IEditorGroupsService);
1208
+ const listService = accessor.get(IListService);
1209
+ const editorContext = getMultiSelectedEditorContexts(getCommandsContext(resourceOrContext, context), listService, editorGroupService);
1210
+ const activeGroup = editorGroupService.activeGroup;
1211
+ if (editorContext.length === 0 && activeGroup.activeEditor) {
1212
+ editorContext.push({
1213
+ groupId: activeGroup.id,
1214
+ editorIndex: activeGroup.getIndexOfEditor(activeGroup.activeEditor)
1215
+ });
1216
+ }
1217
+ return {
1218
+ editors: editorContext,
1219
+ groups: ( distinct(( editorContext.map(context => context.groupId))).map(groupId => editorGroupService.getGroup(groupId)))
1220
+ };
1221
+ }
1222
+ function getCommandsContext(resourceOrContext, context) {
1223
+ if (URI.isUri(resourceOrContext)) {
1224
+ return context;
1225
+ }
1226
+ if (resourceOrContext && typeof resourceOrContext.groupId === 'number') {
1227
+ return resourceOrContext;
1228
+ }
1229
+ if (context && typeof context.groupId === 'number') {
1230
+ return context;
1231
+ }
1232
+ return undefined;
1233
+ }
1234
+ function resolveCommandsContext(editorGroupService, context) {
1235
+ let group = context && typeof context.groupId === 'number' ? editorGroupService.getGroup(context.groupId) : undefined;
1236
+ let editor = group && context && typeof context.editorIndex === 'number' ? withNullAsUndefined(group.getEditorByIndex(context.editorIndex)) : undefined;
1237
+ if (!group) {
1238
+ group = editorGroupService.activeGroup;
1239
+ }
1240
+ if (!editor) {
1241
+ editor = withNullAsUndefined(group.activeEditor);
1242
+ }
1243
+ return { group, editor };
1244
+ }
140
1245
  function getMultiSelectedEditorContexts(editorContext, listService, editorGroupService) {
141
1246
  const list = listService.lastFocusedList;
142
1247
  if (list instanceof List && list.getHTMLElement() === document.activeElement) {
@@ -167,6 +1272,17 @@ function getMultiSelectedEditorContexts(editorContext, listService, editorGroupS
167
1272
  return !!editorContext ? [editorContext] : [];
168
1273
  }
169
1274
  function setup() {
1275
+ registerActiveEditorMoveCopyCommand();
1276
+ registerEditorGroupsLayoutCommands();
1277
+ registerDiffEditorCommands();
170
1278
  registerOpenEditorAPICommands();
1279
+ registerOpenEditorAtIndexCommands();
1280
+ registerCloseEditorCommands();
1281
+ registerOtherEditorCommands();
1282
+ registerSplitEditorInGroupCommands();
1283
+ registerFocusSideEditorsCommands();
1284
+ registerFocusEditorGroupAtIndexCommands();
1285
+ registerSplitEditorCommands();
1286
+ registerFocusEditorGroupWihoutWrapCommands();
171
1287
  }
172
- export { API_OPEN_DIFF_EDITOR_COMMAND_ID, API_OPEN_EDITOR_COMMAND_ID, API_OPEN_WITH_EDITOR_COMMAND_ID, CLOSE_EDITORS_AND_GROUP_COMMAND_ID, CLOSE_EDITOR_COMMAND_ID, COPY_ACTIVE_EDITOR_COMMAND_ID, LAYOUT_EDITOR_GROUPS_COMMAND_ID, SPLIT_EDITOR_DOWN, SPLIT_EDITOR_UP, TOGGLE_DIFF_IGNORE_TRIM_WHITESPACE, UNPIN_EDITOR_COMMAND_ID, getMultiSelectedEditorContexts, setup, splitEditor };
1288
+ export { API_OPEN_DIFF_EDITOR_COMMAND_ID, API_OPEN_EDITOR_COMMAND_ID, API_OPEN_WITH_EDITOR_COMMAND_ID, CLOSE_EDITORS_AND_GROUP_COMMAND_ID, CLOSE_EDITORS_IN_GROUP_COMMAND_ID, CLOSE_EDITORS_TO_THE_RIGHT_COMMAND_ID, CLOSE_EDITOR_COMMAND_ID, CLOSE_EDITOR_GROUP_COMMAND_ID, CLOSE_OTHER_EDITORS_IN_GROUP_COMMAND_ID, CLOSE_PINNED_EDITOR_COMMAND_ID, CLOSE_SAVED_EDITORS_COMMAND_ID, COPY_ACTIVE_EDITOR_COMMAND_ID, DIFF_FOCUS_OTHER_SIDE, DIFF_FOCUS_PRIMARY_SIDE, DIFF_FOCUS_SECONDARY_SIDE, DIFF_OPEN_SIDE, FOCUS_ABOVE_GROUP_WITHOUT_WRAP_COMMAND_ID, FOCUS_BELOW_GROUP_WITHOUT_WRAP_COMMAND_ID, FOCUS_FIRST_SIDE_EDITOR, FOCUS_LEFT_GROUP_WITHOUT_WRAP_COMMAND_ID, FOCUS_OTHER_SIDE_EDITOR, FOCUS_RIGHT_GROUP_WITHOUT_WRAP_COMMAND_ID, FOCUS_SECOND_SIDE_EDITOR, GOTO_NEXT_CHANGE, GOTO_PREVIOUS_CHANGE, JOIN_EDITOR_IN_GROUP, KEEP_EDITOR_COMMAND_ID, LAYOUT_EDITOR_GROUPS_COMMAND_ID, LOCK_GROUP_COMMAND_ID, MOVE_ACTIVE_EDITOR_COMMAND_ID, OPEN_EDITOR_AT_INDEX_COMMAND_ID, PIN_EDITOR_COMMAND_ID, REOPEN_WITH_COMMAND_ID, SHOW_EDITORS_IN_GROUP, SPLIT_EDITOR_DOWN, SPLIT_EDITOR_IN_GROUP, SPLIT_EDITOR_LEFT, SPLIT_EDITOR_RIGHT, SPLIT_EDITOR_UP, TOGGLE_DIFF_IGNORE_TRIM_WHITESPACE, TOGGLE_DIFF_SIDE_BY_SIDE, TOGGLE_KEEP_EDITORS_COMMAND_ID, TOGGLE_LOCK_GROUP_COMMAND_ID, TOGGLE_SPLIT_EDITOR_IN_GROUP, TOGGLE_SPLIT_EDITOR_IN_GROUP_LAYOUT, UNLOCK_GROUP_COMMAND_ID, UNPIN_EDITOR_COMMAND_ID, getMultiSelectedEditorContexts, setup, splitEditor };