@codingame/monaco-vscode-api 1.79.0-next.0 → 1.79.1

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 (284) hide show
  1. package/README.md +7 -5
  2. package/dist/activity.d.ts +8 -108
  3. package/dist/api.js +3 -3
  4. package/dist/colorRegistry.d.ts +2 -2
  5. package/dist/contextkey.d.ts +2 -2
  6. package/dist/default-extension.js +23 -0
  7. package/dist/editor.d.ts +4 -320
  8. package/dist/editorBrowser.d.ts +327 -10
  9. package/dist/event.d.ts +1 -1
  10. package/dist/{extension-tools-d0cfdea1.js → extension-tools-0c4c1ad7.js} +345 -210
  11. package/dist/extensions.d.ts +3 -4
  12. package/dist/extensions.d2.ts +1 -1
  13. package/dist/extensions.js +4 -37
  14. package/dist/extensionsRegistry.d.ts +1 -1
  15. package/dist/files.d.ts +2 -2
  16. package/dist/keybinding.d.ts +1 -1
  17. package/dist/languageFeatures.d.ts +6 -7
  18. package/dist/log.d.ts +1 -1
  19. package/dist/monaco-treemending.js +15 -1
  20. package/dist/monaco.d.ts +31 -32
  21. package/dist/monaco.js +62 -6
  22. package/dist/node_modules/rollup-plugin-styles/dist/runtime/inject-css.js +2 -0
  23. package/dist/override/vs/workbench/contrib/notebook/common/notebookEditorInput.js +4 -0
  24. package/dist/rollup-extension-directory-plugin.js +1 -2
  25. package/dist/rollup-vsix-plugin.js +1 -2
  26. package/dist/service-override/configuration.d.ts +2 -2
  27. package/dist/service-override/editor.d.ts +13 -0
  28. package/dist/service-override/{modelEditor.js → editor.js} +6 -62
  29. package/dist/service-override/files.d.ts +5 -5
  30. package/dist/service-override/files.js +14 -2
  31. package/dist/service-override/keybindings.js +3 -79
  32. package/dist/service-override/layout.js +6 -2
  33. package/dist/service-override/model.d.ts +7 -0
  34. package/dist/service-override/model.js +10 -0
  35. package/dist/service-override/quickaccess.d.ts +7 -0
  36. package/dist/service-override/quickaccess.js +80 -0
  37. package/dist/service-override/snippets.js +5 -1
  38. package/dist/service-override/textmate.js +7 -2
  39. package/dist/service-override/theme.d.ts +1 -1
  40. package/dist/service-override/tools/editor.js +73 -0
  41. package/dist/service-override/views.d.ts +63 -201
  42. package/dist/service-override/views.js +102 -8
  43. package/dist/services.d.ts +116 -19
  44. package/dist/vscode/vs/base/browser/ui/centered/centeredViewLayout.js +178 -0
  45. package/dist/vscode/vs/base/browser/ui/grid/grid.js +452 -0
  46. package/dist/vscode/vs/base/browser/ui/grid/gridview.css.js +4 -0
  47. package/dist/vscode/vs/base/browser/ui/grid/gridview.js +999 -0
  48. package/dist/vscode/vs/base/browser/ui/iconLabel/simpleIconLabel.js +14 -0
  49. package/dist/vscode/vs/base/browser/ui/menu/menubar.css.js +4 -0
  50. package/dist/vscode/vs/base/browser/ui/menu/menubar.js +1 -1
  51. package/dist/vscode/vs/base/browser/ui/splitview/paneview.css.js +4 -0
  52. package/dist/vscode/vs/base/browser/ui/splitview/paneview.js +1 -1
  53. package/dist/vscode/vs/platform/extensionManagement/common/extensionManagement.js +2 -1
  54. package/dist/vscode/vs/platform/extensionManagement/common/extensionStorage.js +1 -1
  55. package/dist/vscode/vs/platform/product/common/product.js +48 -0
  56. package/dist/vscode/vs/platform/quickinput/browser/quickPickPin.js +94 -0
  57. package/dist/vscode/vs/platform/terminal/common/terminal.js +3 -0
  58. package/dist/vscode/vs/platform/update/common/update.js +11 -1
  59. package/dist/vscode/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +1 -1
  60. package/dist/vscode/vs/workbench/api/browser/mainThreadStatusBar.js +68 -0
  61. package/dist/vscode/vs/workbench/api/common/extHostStatusBar.js +234 -0
  62. package/dist/vscode/vs/workbench/api/common/extHostTypes.js +6 -1
  63. package/dist/vscode/vs/workbench/browser/actions/layoutActions.js +20 -17
  64. package/dist/vscode/vs/workbench/browser/actions/quickAccessActions.js +204 -0
  65. package/dist/vscode/vs/workbench/browser/dnd.js +27 -2
  66. package/dist/vscode/vs/workbench/browser/editor.js +94 -0
  67. package/dist/vscode/vs/workbench/browser/labels.js +23 -2
  68. package/dist/vscode/vs/workbench/browser/media/part.css.js +4 -0
  69. package/dist/vscode/vs/workbench/browser/part.js +1 -1
  70. package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarActions.js +1 -1
  71. package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarPart.js +3 -3
  72. package/dist/vscode/vs/workbench/browser/parts/activitybar/media/activityaction.css.js +4 -0
  73. package/dist/vscode/vs/workbench/browser/parts/activitybar/media/activitybarpart.css.js +4 -0
  74. package/dist/vscode/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +14 -26
  75. package/dist/vscode/vs/workbench/browser/parts/compositePart.js +1 -1
  76. package/dist/vscode/vs/workbench/browser/parts/editor/binaryDiffEditor.js +43 -0
  77. package/dist/vscode/vs/workbench/browser/parts/editor/binaryEditor.js +55 -0
  78. package/dist/vscode/vs/workbench/browser/parts/editor/breadcrumbs.js +330 -0
  79. package/dist/vscode/vs/workbench/browser/parts/editor/breadcrumbsControl.js +690 -0
  80. package/dist/vscode/vs/workbench/browser/parts/editor/breadcrumbsModel.js +142 -0
  81. package/dist/vscode/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +414 -0
  82. package/dist/vscode/vs/workbench/browser/parts/editor/editor.contribution.js +800 -6
  83. package/dist/vscode/vs/workbench/browser/parts/editor/editor.js +56 -1
  84. package/dist/vscode/vs/workbench/browser/parts/editor/editorActions.js +1484 -107
  85. package/dist/vscode/vs/workbench/browser/parts/editor/editorCommands.js +1121 -4
  86. package/dist/vscode/vs/workbench/browser/parts/editor/editorDropTarget.js +499 -0
  87. package/dist/vscode/vs/workbench/browser/parts/editor/editorGroupView.js +1219 -0
  88. package/dist/vscode/vs/workbench/browser/parts/editor/editorGroupWatermark.js +137 -0
  89. package/dist/vscode/vs/workbench/browser/parts/editor/editorPane.js +242 -0
  90. package/dist/vscode/vs/workbench/browser/parts/editor/editorPanes.js +297 -0
  91. package/dist/vscode/vs/workbench/browser/parts/editor/editorPart.js +841 -0
  92. package/dist/vscode/vs/workbench/browser/parts/editor/editorPlaceholder.js +235 -0
  93. package/dist/vscode/vs/workbench/browser/parts/editor/editorQuickAccess.js +1 -1
  94. package/dist/vscode/vs/workbench/browser/parts/editor/editorStatus.js +1152 -0
  95. package/dist/vscode/vs/workbench/browser/parts/editor/editorWithViewState.js +139 -0
  96. package/dist/vscode/vs/workbench/browser/parts/editor/editorsObserver.js +339 -0
  97. package/dist/vscode/vs/workbench/browser/parts/editor/media/breadcrumbscontrol.css.js +4 -0
  98. package/dist/vscode/vs/workbench/browser/parts/editor/media/editordroptarget.css.js +4 -0
  99. package/dist/vscode/vs/workbench/browser/parts/editor/media/editorgroupview.css.js +4 -0
  100. package/dist/vscode/vs/workbench/browser/parts/editor/media/editorplaceholder.css.js +4 -0
  101. package/dist/vscode/vs/workbench/browser/parts/editor/media/editorquickaccess.css.js +4 -0
  102. package/dist/vscode/vs/workbench/browser/parts/editor/media/editorstatus.css.js +4 -0
  103. package/dist/vscode/vs/workbench/browser/parts/editor/media/notabstitlecontrol.css.js +4 -0
  104. package/dist/vscode/vs/workbench/browser/parts/editor/media/sidebysideeditor.css.js +4 -0
  105. package/dist/vscode/vs/workbench/browser/parts/editor/media/tabstitlecontrol.css.js +4 -0
  106. package/dist/vscode/vs/workbench/browser/parts/editor/media/titlecontrol.css.js +4 -0
  107. package/dist/vscode/vs/workbench/browser/parts/editor/noTabsTitleControl.js +243 -0
  108. package/dist/vscode/vs/workbench/browser/parts/editor/sideBySideEditor.js +387 -0
  109. package/dist/vscode/vs/workbench/browser/parts/editor/tabFocus.js +77 -0
  110. package/dist/vscode/vs/workbench/browser/parts/editor/tabsTitleControl.js +1504 -0
  111. package/dist/vscode/vs/workbench/browser/parts/editor/textCodeEditor.js +79 -0
  112. package/dist/vscode/vs/workbench/browser/parts/editor/textDiffEditor.js +304 -0
  113. package/dist/vscode/vs/workbench/browser/parts/editor/textEditor.js +220 -0
  114. package/dist/vscode/vs/workbench/browser/parts/editor/textResourceEditor.js +149 -0
  115. package/dist/vscode/vs/workbench/browser/parts/editor/titleControl.js +284 -0
  116. package/dist/vscode/vs/workbench/browser/parts/media/compositepart.css.js +4 -0
  117. package/dist/vscode/vs/workbench/browser/parts/notifications/media/notificationsActions.css.js +4 -0
  118. package/dist/vscode/vs/workbench/browser/parts/notifications/media/notificationsCenter.css.js +4 -0
  119. package/dist/vscode/vs/workbench/browser/parts/notifications/media/notificationsList.css.js +4 -0
  120. package/dist/vscode/vs/workbench/browser/parts/notifications/media/notificationsToasts.css.js +4 -0
  121. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsActions.js +8 -8
  122. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsCenter.js +2 -2
  123. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsList.js +1 -1
  124. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsToasts.js +1 -1
  125. package/dist/vscode/vs/workbench/browser/parts/panel/media/basepanelpart.css.js +4 -0
  126. package/dist/vscode/vs/workbench/browser/parts/panel/media/panelpart.css.js +4 -0
  127. package/dist/vscode/vs/workbench/browser/parts/panel/panelActions.js +19 -5
  128. package/dist/vscode/vs/workbench/browser/parts/panel/panelPart.js +2 -2
  129. package/dist/vscode/vs/workbench/browser/parts/sidebar/media/sidebarpart.css.js +4 -0
  130. package/dist/vscode/vs/workbench/browser/parts/sidebar/sidebarPart.js +1 -1
  131. package/dist/vscode/vs/workbench/browser/parts/statusbar/media/statusbarpart.css.js +4 -0
  132. package/dist/vscode/vs/workbench/browser/parts/statusbar/statusbarActions.js +109 -0
  133. package/dist/vscode/vs/workbench/browser/parts/statusbar/statusbarItem.js +224 -0
  134. package/dist/vscode/vs/workbench/browser/parts/statusbar/statusbarModel.js +251 -0
  135. package/dist/vscode/vs/workbench/browser/parts/statusbar/statusbarPart.js +439 -0
  136. package/dist/vscode/vs/workbench/browser/parts/titlebar/media/menubarControl.css.js +4 -0
  137. package/dist/vscode/vs/workbench/browser/parts/titlebar/menubarControl.js +76 -3
  138. package/dist/vscode/vs/workbench/browser/parts/views/media/paneviewlet.css.js +4 -0
  139. package/dist/vscode/vs/workbench/browser/parts/views/media/views.css.js +4 -0
  140. package/dist/vscode/vs/workbench/browser/parts/views/treeView.js +1 -1
  141. package/dist/vscode/vs/workbench/browser/parts/views/viewPane.js +5 -5
  142. package/dist/vscode/vs/workbench/browser/parts/views/viewPaneContainer.js +1 -1
  143. package/dist/vscode/vs/workbench/browser/parts/views/viewsService.js +4 -4
  144. package/dist/vscode/vs/workbench/browser/quickaccess.js +6 -2
  145. package/dist/vscode/vs/workbench/browser/workbench.contribution.js +1108 -0
  146. package/dist/vscode/vs/workbench/common/contextkeys.js +34 -1
  147. package/dist/vscode/vs/workbench/common/editor/editorGroupModel.js +674 -0
  148. package/dist/vscode/vs/workbench/common/editor.js +57 -1
  149. package/dist/vscode/vs/workbench/common/theme.js +35 -35
  150. package/dist/vscode/vs/workbench/common/views.js +1 -1
  151. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +4 -4
  152. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +1 -1
  153. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/media/callHierarchy.css.js +4 -0
  154. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +77 -0
  155. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +217 -0
  156. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/workbenchReferenceSearch.js +24 -0
  157. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointWidget.js +1 -1
  158. package/dist/vscode/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +1 -1
  159. package/dist/vscode/vs/workbench/contrib/debug/browser/debug.contribution.js +30 -4
  160. package/dist/vscode/vs/workbench/contrib/debug/browser/debugCommands.js +13 -1
  161. package/dist/vscode/vs/workbench/contrib/debug/browser/debugIcons.js +77 -127
  162. package/dist/vscode/vs/workbench/contrib/debug/browser/debugToolBar.js +1 -1
  163. package/dist/vscode/vs/workbench/contrib/debug/browser/debugViewlet.js +1 -1
  164. package/dist/vscode/vs/workbench/contrib/debug/browser/disassemblyView.js +620 -0
  165. package/dist/vscode/vs/workbench/contrib/debug/browser/exceptionWidget.js +1 -1
  166. package/dist/vscode/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +4 -0
  167. package/dist/vscode/vs/workbench/contrib/debug/browser/media/callStackEditorContribution.css.js +4 -0
  168. package/dist/vscode/vs/workbench/contrib/debug/browser/media/debug.contribution.css.js +4 -0
  169. package/dist/vscode/vs/workbench/contrib/debug/browser/media/debugHover.css.js +4 -0
  170. package/dist/vscode/vs/workbench/contrib/debug/browser/media/debugToolBar.css.js +4 -0
  171. package/dist/vscode/vs/workbench/contrib/debug/browser/media/debugViewlet.css.js +4 -0
  172. package/dist/vscode/vs/workbench/contrib/debug/browser/media/exceptionWidget.css.js +4 -0
  173. package/dist/vscode/vs/workbench/contrib/debug/browser/media/repl.css.js +4 -0
  174. package/dist/vscode/vs/workbench/contrib/debug/browser/repl.js +1 -1
  175. package/dist/vscode/vs/workbench/contrib/debug/common/debug.js +2 -1
  176. package/dist/vscode/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +71 -0
  177. package/dist/vscode/vs/workbench/contrib/files/browser/editors/textFileEditor.js +225 -0
  178. package/dist/vscode/vs/workbench/contrib/files/browser/explorerViewlet.js +5 -4
  179. package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.contribution.js +270 -4
  180. package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.js +4 -1
  181. package/dist/vscode/vs/workbench/contrib/files/browser/fileCommands.js +24 -6
  182. package/dist/vscode/vs/workbench/contrib/files/browser/fileConstants.js +8 -1
  183. package/dist/vscode/vs/workbench/contrib/files/browser/files.contribution.js +10 -0
  184. package/dist/vscode/vs/workbench/contrib/files/browser/media/explorerviewlet.css.js +4 -0
  185. package/dist/vscode/vs/workbench/contrib/files/browser/views/media/openeditors.css.js +4 -0
  186. package/dist/vscode/vs/workbench/contrib/files/browser/views/openEditorsView.js +608 -0
  187. package/dist/vscode/vs/workbench/contrib/files/common/files.js +2 -1
  188. package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionInputPart.js +1 -1
  189. package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionWidget.js +1 -1
  190. package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/media/interactiveSession.css.js +4 -0
  191. package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionContextKeys.js +9 -1
  192. package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionModel.js +305 -0
  193. package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionService.js +6 -1
  194. package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionServiceImpl.js +379 -0
  195. package/dist/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser.js +2 -2
  196. package/dist/vscode/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +33 -1
  197. package/dist/vscode/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +130 -0
  198. package/dist/vscode/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +225 -0
  199. package/dist/vscode/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +4 -0
  200. package/dist/vscode/vs/workbench/contrib/remote/browser/remoteIcons.js +21 -17
  201. package/dist/vscode/vs/workbench/contrib/remote/browser/tunnelView.js +1 -1
  202. package/dist/vscode/vs/workbench/contrib/search/browser/anythingQuickAccess.js +757 -0
  203. package/dist/vscode/vs/workbench/contrib/search/browser/media/anythingQuickAccess.css.js +4 -0
  204. package/dist/vscode/vs/workbench/contrib/search/browser/search.contribution.js +428 -0
  205. package/dist/vscode/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +219 -0
  206. package/dist/vscode/vs/workbench/contrib/search/common/cacheState.js +85 -0
  207. package/dist/vscode/vs/workbench/contrib/search/common/constants.js +2 -0
  208. package/dist/vscode/vs/workbench/contrib/search/common/search.js +119 -1
  209. package/dist/vscode/vs/workbench/contrib/tasks/browser/taskQuickPick.js +385 -0
  210. package/dist/vscode/vs/workbench/contrib/tasks/browser/tasksQuickAccess.js +108 -0
  211. package/dist/vscode/vs/workbench/contrib/tasks/common/tasks.js +351 -0
  212. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminal.js +4 -0
  213. package/dist/vscode/vs/workbench/contrib/terminal/browser/terminalIcon.js +44 -0
  214. package/dist/vscode/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +147 -1
  215. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/media/typeHierarchy.css.js +4 -0
  216. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +1 -1
  217. package/dist/vscode/vs/workbench/services/editor/browser/editorDropService.js +3 -0
  218. package/dist/vscode/vs/workbench/services/editor/browser/editorResolverService.js +619 -0
  219. package/dist/vscode/vs/workbench/services/editor/browser/editorService.js +720 -0
  220. package/dist/vscode/vs/workbench/services/editor/common/editorGroupFinder.js +116 -0
  221. package/dist/vscode/vs/workbench/services/editor/common/editorGroupsService.js +6 -1
  222. package/dist/vscode/vs/workbench/services/editor/common/editorResolverService.js +34 -1
  223. package/dist/vscode/vs/workbench/services/history/browser/historyService.js +1451 -0
  224. package/dist/vscode/vs/workbench/services/hover/browser/hoverService.js +1 -1
  225. package/dist/vscode/vs/workbench/services/hover/browser/media/hover.css.js +4 -0
  226. package/dist/vscode/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.js +2 -1
  227. package/dist/vscode/vs/workbench/services/outline/browser/outline.js +3 -0
  228. package/dist/vscode/vs/workbench/services/progress/browser/progressIndicator.js +72 -1
  229. package/dist/vscode/vs/workbench/services/quickinput/browser/quickInputService.js +67 -0
  230. package/dist/vscode/vs/workbench/services/search/common/search.js +2 -112
  231. package/dist/vscode/vs/workbench/services/semanticSimilarity/common/semanticSimilarityService.js +54 -1
  232. package/dist/vscode/vs/workbench/services/statusbar/browser/statusbar.js +15 -0
  233. package/dist/vscode/vs/workbench/services/textMate/browser/worker/textMate.worker.js +90 -0
  234. package/dist/vscode/vs/workbench/services/textMate/browser/worker/textMateWorkerModel.js +133 -0
  235. package/dist/vscode/vs/workbench/services/untitled/common/untitledTextEditorService.js +110 -3
  236. package/dist/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.js +1 -1
  237. package/dist/vscode-services/extHost.js +12 -5
  238. package/dist/vscode-services/missing-services.js +117 -3
  239. package/dist/vscode-services/window.js +21 -2
  240. package/dist/vscode-services/workspace.js +2 -1
  241. package/dist/workbenchThemeService.d.ts +1 -1
  242. package/dist/workers/textMate.worker.d.ts +2 -0
  243. package/dist/workers/textMate.worker.js +3 -0
  244. package/dist/workspace.d.ts +1 -1
  245. package/monaco-editor-treemending.patch +784 -784
  246. package/package.json +42 -22
  247. package/dist/assets/activityaction.css +0 -224
  248. package/dist/assets/activitybarpart.css +0 -65
  249. package/dist/assets/basepanelpart.css +0 -221
  250. package/dist/assets/breakpointWidget.css +0 -31
  251. package/dist/assets/callHierarchy.css +0 -62
  252. package/dist/assets/callStackEditorContribution.css +0 -12
  253. package/dist/assets/compositepart.css +0 -17
  254. package/dist/assets/debug.contribution.css +0 -138
  255. package/dist/assets/debugHover.css +0 -80
  256. package/dist/assets/debugToolBar.css +0 -49
  257. package/dist/assets/debugViewlet.css +0 -337
  258. package/dist/assets/editorquickaccess.css +0 -8
  259. package/dist/assets/exceptionWidget.css +0 -52
  260. package/dist/assets/explorerviewlet.css +0 -129
  261. package/dist/assets/hover.css +0 -127
  262. package/dist/assets/interactiveSession.css +0 -340
  263. package/dist/assets/menubar.css +0 -111
  264. package/dist/assets/menubarControl.css +0 -61
  265. package/dist/assets/notificationsActions.css +0 -14
  266. package/dist/assets/notificationsCenter.css +0 -69
  267. package/dist/assets/notificationsList.css +0 -152
  268. package/dist/assets/notificationsToasts.css +0 -63
  269. package/dist/assets/panelpart.css +0 -75
  270. package/dist/assets/paneview.css +0 -148
  271. package/dist/assets/paneviewlet.css +0 -79
  272. package/dist/assets/part.css +0 -109
  273. package/dist/assets/repl.css +0 -145
  274. package/dist/assets/sidebarpart.css +0 -61
  275. package/dist/assets/tunnelView.css +0 -107
  276. package/dist/assets/typeHierarchy.css +0 -62
  277. package/dist/assets/views.css +0 -297
  278. package/dist/override/vs/workbench/browser/parts/editor/textEditor.js +0 -2
  279. package/dist/override/vs/workbench/contrib/files/browser/views/openEditorsView.js +0 -2
  280. package/dist/service-override/modelEditor.d.ts +0 -14
  281. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookEditorInput.js +0 -249
  282. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookService.js +0 -10
  283. package/dist/vscode/vs/workbench/services/search/common/searchHelpers.js +0 -72
  284. package/dist/vscode/vs/workbench/services/search/common/searchService.js +0 -355
@@ -0,0 +1,690 @@
1
+ import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
2
+ import * as dom from 'monaco-editor/esm/vs/base/browser/dom.js';
3
+ import { StandardMouseEvent } from 'monaco-editor/esm/vs/base/browser/mouseEvent.js';
4
+ import { BreadcrumbsWidget, BreadcrumbsItem } from 'monaco-editor/esm/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js';
5
+ import { tail } from 'monaco-editor/esm/vs/base/common/arrays.js';
6
+ import { timeout } from 'monaco-editor/esm/vs/base/common/async.js';
7
+ import { DisposableStore, MutableDisposable, toDisposable, combinedDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
8
+ import { extUri } from 'monaco-editor/esm/vs/base/common/resources.js';
9
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
10
+ import './media/breadcrumbscontrol.css.js';
11
+ import { localize } from 'monaco-editor/esm/vs/nls.js';
12
+ import { registerAction2, Action2, MenuId } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
13
+ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
14
+ import { ContextKeyExpr, RawContextKey, IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
15
+ import { IContextViewService } from 'monaco-editor/esm/vs/platform/contextview/browser/contextView.js';
16
+ import { FileKind, IFileService } from 'monaco-editor/esm/vs/platform/files/common/files.js';
17
+ import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
18
+ import { KeybindingsRegistry } from 'monaco-editor/esm/vs/platform/keybinding/common/keybindingsRegistry.js';
19
+ import { WorkbenchListFocusContextKey, IListService, WorkbenchDataTree, WorkbenchAsyncDataTree } from 'monaco-editor/esm/vs/platform/list/browser/listService.js';
20
+ import { IQuickInputService } from 'monaco-editor/esm/vs/platform/quickinput/common/quickInput.js';
21
+ import { ResourceLabels, DEFAULT_LABELS_CONTAINER } from '../../labels.js';
22
+ import { BreadcrumbsConfig, IBreadcrumbsService } from './breadcrumbs.js';
23
+ import { BreadcrumbsModel, OutlineElement2, FileElement } from './breadcrumbsModel.js';
24
+ import { BreadcrumbsFilePicker, BreadcrumbsOutlinePicker } from './breadcrumbsPicker.js';
25
+ import { EditorResourceAccessor, SideBySideEditor } from '../../../common/editor.js';
26
+ import { IEditorService, SIDE_GROUP, ACTIVE_GROUP } from '../../../services/editor/common/editorService.js';
27
+ import { IEditorGroupsService } from '../../../services/editor/common/editorGroupsService.js';
28
+ import { PixelRatio } from 'monaco-editor/esm/vs/base/browser/browser.js';
29
+ import { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.js';
30
+ import { Categories } from 'monaco-editor/esm/vs/platform/action/common/actionCommonCategories.js';
31
+ import { registerIcon } from 'monaco-editor/esm/vs/platform/theme/common/iconRegistry.js';
32
+ import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
33
+ import { defaultBreadcrumbsWidgetStyles } from 'monaco-editor/esm/vs/platform/theme/browser/defaultStyles.js';
34
+ class OutlineItem extends BreadcrumbsItem {
35
+ constructor(model, element, options) {
36
+ super();
37
+ this.model = model;
38
+ this.element = element;
39
+ this.options = options;
40
+ this._disposables = ( new DisposableStore());
41
+ }
42
+ dispose() {
43
+ this._disposables.dispose();
44
+ }
45
+ equals(other) {
46
+ if (!(other instanceof OutlineItem)) {
47
+ return false;
48
+ }
49
+ return this.element.element === other.element.element &&
50
+ this.options.showFileIcons === other.options.showFileIcons &&
51
+ this.options.showSymbolIcons === other.options.showSymbolIcons;
52
+ }
53
+ render(container) {
54
+ const { element, outline } = this.element;
55
+ if (element === outline) {
56
+ const element = dom.$('span', undefined, '…');
57
+ container.appendChild(element);
58
+ return;
59
+ }
60
+ const templateId = outline.config.delegate.getTemplateId(element);
61
+ const renderer = outline.config.renderers.find(renderer => renderer.templateId === templateId);
62
+ if (!renderer) {
63
+ container.innerText = '<<NO RENDERER>>';
64
+ return;
65
+ }
66
+ const template = renderer.renderTemplate(container);
67
+ renderer.renderElement({
68
+ element,
69
+ children: [],
70
+ depth: 0,
71
+ visibleChildrenCount: 0,
72
+ visibleChildIndex: 0,
73
+ collapsible: false,
74
+ collapsed: false,
75
+ visible: true,
76
+ filterData: undefined
77
+ }, 0, template, undefined);
78
+ this._disposables.add(toDisposable(() => { renderer.disposeTemplate(template); }));
79
+ }
80
+ }
81
+ class FileItem extends BreadcrumbsItem {
82
+ constructor(model, element, options, _labels) {
83
+ super();
84
+ this.model = model;
85
+ this.element = element;
86
+ this.options = options;
87
+ this._labels = _labels;
88
+ this._disposables = ( new DisposableStore());
89
+ }
90
+ dispose() {
91
+ this._disposables.dispose();
92
+ }
93
+ equals(other) {
94
+ if (!(other instanceof FileItem)) {
95
+ return false;
96
+ }
97
+ return (extUri.isEqual(this.element.uri, other.element.uri) &&
98
+ this.options.showFileIcons === other.options.showFileIcons &&
99
+ this.options.showSymbolIcons === other.options.showSymbolIcons);
100
+ }
101
+ render(container) {
102
+ const label = this._labels.create(container);
103
+ label.setFile(this.element.uri, {
104
+ hidePath: true,
105
+ hideIcon: this.element.kind === FileKind.FOLDER || !this.options.showFileIcons,
106
+ fileKind: this.element.kind,
107
+ fileDecorations: { colors: this.options.showDecorationColors, badges: false },
108
+ });
109
+ container.classList.add(FileKind[this.element.kind].toLowerCase());
110
+ this._disposables.add(label);
111
+ }
112
+ }
113
+ const separatorIcon = registerIcon('breadcrumb-separator', Codicon.chevronRight, ( localize('separatorIcon', 'Icon for the separator in the breadcrumbs.')));
114
+ let BreadcrumbsControl = class BreadcrumbsControl {
115
+ constructor(container, _options, _editorGroup, _contextKeyService, _contextViewService, _instantiationService, _quickInputService, _fileService, _editorService, _labelService, configurationService, breadcrumbsService) {
116
+ this._options = _options;
117
+ this._editorGroup = _editorGroup;
118
+ this._contextKeyService = _contextKeyService;
119
+ this._contextViewService = _contextViewService;
120
+ this._instantiationService = _instantiationService;
121
+ this._quickInputService = _quickInputService;
122
+ this._fileService = _fileService;
123
+ this._editorService = _editorService;
124
+ this._labelService = _labelService;
125
+ this._disposables = ( new DisposableStore());
126
+ this._breadcrumbsDisposables = ( new DisposableStore());
127
+ this._model = ( new MutableDisposable());
128
+ this._breadcrumbsPickerShowing = false;
129
+ this.domNode = document.createElement('div');
130
+ this.domNode.classList.add('breadcrumbs-control');
131
+ dom.append(container, this.domNode);
132
+ this._cfUseQuickPick = BreadcrumbsConfig.UseQuickPick.bindTo(configurationService);
133
+ this._cfShowIcons = BreadcrumbsConfig.Icons.bindTo(configurationService);
134
+ this._cfTitleScrollbarSizing = BreadcrumbsConfig.TitleScrollbarSizing.bindTo(configurationService);
135
+ this._labels = this._instantiationService.createInstance(ResourceLabels, DEFAULT_LABELS_CONTAINER);
136
+ const sizing = this._cfTitleScrollbarSizing.getValue() ?? 'default';
137
+ const styles = _options.widgetStyles ?? defaultBreadcrumbsWidgetStyles;
138
+ this._widget = ( new BreadcrumbsWidget(
139
+ this.domNode,
140
+ BreadcrumbsControl.SCROLLBAR_SIZES[sizing],
141
+ separatorIcon,
142
+ styles
143
+ ));
144
+ this._widget.onDidSelectItem(this._onSelectEvent, this, this._disposables);
145
+ this._widget.onDidFocusItem(this._onFocusEvent, this, this._disposables);
146
+ this._widget.onDidChangeFocus(this._updateCkBreadcrumbsActive, this, this._disposables);
147
+ this._ckBreadcrumbsPossible = BreadcrumbsControl.CK_BreadcrumbsPossible.bindTo(this._contextKeyService);
148
+ this._ckBreadcrumbsVisible = BreadcrumbsControl.CK_BreadcrumbsVisible.bindTo(this._contextKeyService);
149
+ this._ckBreadcrumbsActive = BreadcrumbsControl.CK_BreadcrumbsActive.bindTo(this._contextKeyService);
150
+ this._disposables.add(breadcrumbsService.register(this._editorGroup.id, this._widget));
151
+ this.hide();
152
+ }
153
+ dispose() {
154
+ this._disposables.dispose();
155
+ this._breadcrumbsDisposables.dispose();
156
+ this._ckBreadcrumbsPossible.reset();
157
+ this._ckBreadcrumbsVisible.reset();
158
+ this._ckBreadcrumbsActive.reset();
159
+ this._cfUseQuickPick.dispose();
160
+ this._cfShowIcons.dispose();
161
+ this._widget.dispose();
162
+ this._labels.dispose();
163
+ this.domNode.remove();
164
+ }
165
+ get model() {
166
+ return this._model.value;
167
+ }
168
+ layout(dim) {
169
+ this._widget.layout(dim);
170
+ }
171
+ isHidden() {
172
+ return this.domNode.classList.contains('hidden');
173
+ }
174
+ hide() {
175
+ this._breadcrumbsDisposables.clear();
176
+ this._ckBreadcrumbsVisible.set(false);
177
+ this.domNode.classList.toggle('hidden', true);
178
+ }
179
+ revealLast() {
180
+ this._widget.revealLast();
181
+ }
182
+ update() {
183
+ this._breadcrumbsDisposables.clear();
184
+ const uri = EditorResourceAccessor.getCanonicalUri(this._editorGroup.activeEditor, { supportSideBySide: SideBySideEditor.PRIMARY });
185
+ const wasHidden = this.isHidden();
186
+ if (!uri || !this._fileService.hasProvider(uri)) {
187
+ this._ckBreadcrumbsPossible.set(false);
188
+ if (!wasHidden) {
189
+ this.hide();
190
+ return true;
191
+ }
192
+ else {
193
+ return false;
194
+ }
195
+ }
196
+ const fileInfoUri = EditorResourceAccessor.getOriginalUri(this._editorGroup.activeEditor, { supportSideBySide: SideBySideEditor.PRIMARY });
197
+ this.domNode.classList.toggle('hidden', false);
198
+ this._ckBreadcrumbsVisible.set(true);
199
+ this._ckBreadcrumbsPossible.set(true);
200
+ const model = this._instantiationService.createInstance(BreadcrumbsModel, fileInfoUri ?? uri, this._editorGroup.activeEditorPane);
201
+ this._model.value = model;
202
+ this.domNode.classList.toggle('backslash-path', this._labelService.getSeparator(uri.scheme, uri.authority) === '\\');
203
+ const updateBreadcrumbs = () => {
204
+ this.domNode.classList.toggle('relative-path', model.isRelative());
205
+ const showIcons = this._cfShowIcons.getValue();
206
+ const options = {
207
+ ...this._options,
208
+ showFileIcons: this._options.showFileIcons && showIcons,
209
+ showSymbolIcons: this._options.showSymbolIcons && showIcons
210
+ };
211
+ const items = ( model.getElements().map(element => element instanceof FileElement ? ( new FileItem(model, element, options, this._labels)) : ( new OutlineItem(model, element, options))));
212
+ if (items.length === 0) {
213
+ this._widget.setEnabled(false);
214
+ this._widget.setItems([new (class extends BreadcrumbsItem {
215
+ render(container) {
216
+ container.innerText = ( localize('empty', "no elements"));
217
+ }
218
+ equals(other) {
219
+ return other === this;
220
+ }
221
+ })]);
222
+ }
223
+ else {
224
+ this._widget.setEnabled(true);
225
+ this._widget.setItems(items);
226
+ this._widget.reveal(items[items.length - 1]);
227
+ }
228
+ };
229
+ const listener = model.onDidUpdate(updateBreadcrumbs);
230
+ const configListener = this._cfShowIcons.onDidChange(updateBreadcrumbs);
231
+ updateBreadcrumbs();
232
+ this._breadcrumbsDisposables.clear();
233
+ this._breadcrumbsDisposables.add(listener);
234
+ this._breadcrumbsDisposables.add(toDisposable(() => this._model.clear()));
235
+ this._breadcrumbsDisposables.add(configListener);
236
+ this._breadcrumbsDisposables.add(toDisposable(() => this._widget.setItems([])));
237
+ const updateScrollbarSizing = () => {
238
+ const sizing = this._cfTitleScrollbarSizing.getValue() ?? 'default';
239
+ this._widget.setHorizontalScrollbarSize(BreadcrumbsControl.SCROLLBAR_SIZES[sizing]);
240
+ };
241
+ updateScrollbarSizing();
242
+ const updateScrollbarSizeListener = this._cfTitleScrollbarSizing.onDidChange(updateScrollbarSizing);
243
+ this._breadcrumbsDisposables.add(updateScrollbarSizeListener);
244
+ this._breadcrumbsDisposables.add({
245
+ dispose: () => {
246
+ if (this._breadcrumbsPickerShowing) {
247
+ this._contextViewService.hideContextView({ source: this });
248
+ }
249
+ }
250
+ });
251
+ return wasHidden !== this.isHidden();
252
+ }
253
+ _onFocusEvent(event) {
254
+ if (event.item && this._breadcrumbsPickerShowing) {
255
+ this._breadcrumbsPickerIgnoreOnceItem = undefined;
256
+ this._widget.setSelection(event.item);
257
+ }
258
+ }
259
+ _onSelectEvent(event) {
260
+ if (!event.item) {
261
+ return;
262
+ }
263
+ if (event.item === this._breadcrumbsPickerIgnoreOnceItem) {
264
+ this._breadcrumbsPickerIgnoreOnceItem = undefined;
265
+ this._widget.setFocused(undefined);
266
+ this._widget.setSelection(undefined);
267
+ return;
268
+ }
269
+ const { element } = event.item;
270
+ this._editorGroup.focus();
271
+ const group = this._getEditorGroup(event.payload);
272
+ if (group !== undefined) {
273
+ this._widget.setFocused(undefined);
274
+ this._widget.setSelection(undefined);
275
+ this._revealInEditor(event, element, group);
276
+ return;
277
+ }
278
+ if (this._cfUseQuickPick.getValue()) {
279
+ this._widget.setFocused(undefined);
280
+ this._widget.setSelection(undefined);
281
+ this._quickInputService.quickAccess.show(element instanceof OutlineElement2 ? '@' : '');
282
+ return;
283
+ }
284
+ let picker;
285
+ let pickerAnchor;
286
+ this._contextViewService.showContextView({
287
+ render: (parent) => {
288
+ if (event.item instanceof FileItem) {
289
+ picker = this._instantiationService.createInstance(BreadcrumbsFilePicker, parent, event.item.model.resource);
290
+ }
291
+ else if (event.item instanceof OutlineItem) {
292
+ picker = this._instantiationService.createInstance(BreadcrumbsOutlinePicker, parent, event.item.model.resource);
293
+ }
294
+ const selectListener = picker.onWillPickElement(() => this._contextViewService.hideContextView({ source: this, didPick: true }));
295
+ const zoomListener = PixelRatio.onDidChange(() => this._contextViewService.hideContextView({ source: this }));
296
+ const focusTracker = dom.trackFocus(parent);
297
+ const blurListener = focusTracker.onDidBlur(() => {
298
+ this._breadcrumbsPickerIgnoreOnceItem = this._widget.isDOMFocused() ? event.item : undefined;
299
+ this._contextViewService.hideContextView({ source: this });
300
+ });
301
+ this._breadcrumbsPickerShowing = true;
302
+ this._updateCkBreadcrumbsActive();
303
+ return combinedDisposable(picker, selectListener, zoomListener, focusTracker, blurListener);
304
+ },
305
+ getAnchor: () => {
306
+ if (!pickerAnchor) {
307
+ const maxInnerWidth = window.innerWidth - 8 ;
308
+ let maxHeight = Math.min(window.innerHeight * 0.7, 300);
309
+ const pickerWidth = Math.min(maxInnerWidth, Math.max(240, maxInnerWidth / 4.17));
310
+ const pickerArrowSize = 8;
311
+ let pickerArrowOffset;
312
+ const data = dom.getDomNodePagePosition(event.node.firstChild);
313
+ const y = data.top + data.height + pickerArrowSize;
314
+ if (y + maxHeight >= window.innerHeight) {
315
+ maxHeight = window.innerHeight - y - 30 ;
316
+ }
317
+ let x = data.left;
318
+ if (x + pickerWidth >= maxInnerWidth) {
319
+ x = maxInnerWidth - pickerWidth;
320
+ }
321
+ if (event.payload instanceof StandardMouseEvent) {
322
+ const maxPickerArrowOffset = pickerWidth - 2 * pickerArrowSize;
323
+ pickerArrowOffset = event.payload.posx - x;
324
+ if (pickerArrowOffset > maxPickerArrowOffset) {
325
+ x = Math.min(maxInnerWidth - pickerWidth, x + pickerArrowOffset - maxPickerArrowOffset);
326
+ pickerArrowOffset = maxPickerArrowOffset;
327
+ }
328
+ }
329
+ else {
330
+ pickerArrowOffset = (data.left + (data.width * 0.3)) - x;
331
+ }
332
+ picker.show(element, maxHeight, pickerWidth, pickerArrowSize, Math.max(0, pickerArrowOffset));
333
+ pickerAnchor = { x, y };
334
+ }
335
+ return pickerAnchor;
336
+ },
337
+ onHide: (data) => {
338
+ if (!data?.didPick) {
339
+ picker.restoreViewState();
340
+ }
341
+ this._breadcrumbsPickerShowing = false;
342
+ this._updateCkBreadcrumbsActive();
343
+ if (data?.source === this) {
344
+ this._widget.setFocused(undefined);
345
+ this._widget.setSelection(undefined);
346
+ }
347
+ picker.dispose();
348
+ }
349
+ });
350
+ }
351
+ _updateCkBreadcrumbsActive() {
352
+ const value = this._widget.isDOMFocused() || this._breadcrumbsPickerShowing;
353
+ this._ckBreadcrumbsActive.set(value);
354
+ }
355
+ async _revealInEditor(event, element, group, pinned = false) {
356
+ if (element instanceof FileElement) {
357
+ if (element.kind === FileKind.FILE) {
358
+ await this._editorService.openEditor({ resource: element.uri, options: { pinned } }, group);
359
+ }
360
+ else {
361
+ const items = this._widget.getItems();
362
+ const idx = items.indexOf(event.item);
363
+ this._widget.setFocused(items[idx + 1]);
364
+ this._widget.setSelection(items[idx + 1], BreadcrumbsControl.Payload_Pick);
365
+ }
366
+ }
367
+ else {
368
+ element.outline.reveal(element, { pinned }, group === SIDE_GROUP);
369
+ }
370
+ }
371
+ _getEditorGroup(data) {
372
+ if (data === BreadcrumbsControl.Payload_RevealAside) {
373
+ return SIDE_GROUP;
374
+ }
375
+ else if (data === BreadcrumbsControl.Payload_Reveal) {
376
+ return ACTIVE_GROUP;
377
+ }
378
+ else {
379
+ return undefined;
380
+ }
381
+ }
382
+ };
383
+ BreadcrumbsControl.HEIGHT = 22;
384
+ BreadcrumbsControl.SCROLLBAR_SIZES = {
385
+ default: 3,
386
+ large: 8
387
+ };
388
+ BreadcrumbsControl.Payload_Reveal = {};
389
+ BreadcrumbsControl.Payload_RevealAside = {};
390
+ BreadcrumbsControl.Payload_Pick = {};
391
+ BreadcrumbsControl.CK_BreadcrumbsPossible = ( new RawContextKey('breadcrumbsPossible', false, ( localize('breadcrumbsPossible', "Whether the editor can show breadcrumbs"))));
392
+ BreadcrumbsControl.CK_BreadcrumbsVisible = ( new RawContextKey('breadcrumbsVisible', false, ( localize('breadcrumbsVisible', "Whether breadcrumbs are currently visible"))));
393
+ BreadcrumbsControl.CK_BreadcrumbsActive = ( new RawContextKey('breadcrumbsActive', false, ( localize('breadcrumbsActive', "Whether breadcrumbs have focus"))));
394
+ BreadcrumbsControl = ( __decorate([
395
+ ( __param(3, IContextKeyService)),
396
+ ( __param(4, IContextViewService)),
397
+ ( __param(5, IInstantiationService)),
398
+ ( __param(6, IQuickInputService)),
399
+ ( __param(7, IFileService)),
400
+ ( __param(8, IEditorService)),
401
+ ( __param(9, ILabelService)),
402
+ ( __param(10, IConfigurationService)),
403
+ ( __param(11, IBreadcrumbsService))
404
+ ], BreadcrumbsControl));
405
+ registerAction2(class ToggleBreadcrumb extends Action2 {
406
+ constructor() {
407
+ super({
408
+ id: 'breadcrumbs.toggle',
409
+ title: {
410
+ value: ( localize('cmd.toggle', "Toggle Breadcrumbs")),
411
+ mnemonicTitle: ( localize(
412
+ { key: 'miBreadcrumbs', comment: ['&& denotes a mnemonic'] },
413
+ "Toggle &&Breadcrumbs"
414
+ )),
415
+ original: 'Toggle Breadcrumbs',
416
+ },
417
+ category: Categories.View,
418
+ toggled: {
419
+ condition: ( ContextKeyExpr.equals('config.breadcrumbs.enabled', true)),
420
+ title: ( localize('cmd.toggle2', "Breadcrumbs")),
421
+ mnemonicTitle: ( localize(
422
+ { key: 'miBreadcrumbs2', comment: ['&& denotes a mnemonic'] },
423
+ "&&Breadcrumbs"
424
+ ))
425
+ },
426
+ menu: [
427
+ { id: MenuId.CommandPalette },
428
+ { id: MenuId.MenubarAppearanceMenu, group: '4_editor', order: 2 },
429
+ { id: MenuId.NotebookToolbar, group: 'notebookLayout', order: 2 },
430
+ { id: MenuId.StickyScrollContext }
431
+ ]
432
+ });
433
+ }
434
+ run(accessor) {
435
+ const config = accessor.get(IConfigurationService);
436
+ const value = BreadcrumbsConfig.IsEnabled.bindTo(config).getValue();
437
+ BreadcrumbsConfig.IsEnabled.bindTo(config).updateValue(!value);
438
+ }
439
+ });
440
+ function focusAndSelectHandler(accessor, select) {
441
+ const groups = accessor.get(IEditorGroupsService);
442
+ const breadcrumbs = accessor.get(IBreadcrumbsService);
443
+ const widget = breadcrumbs.getWidget(groups.activeGroup.id);
444
+ if (widget) {
445
+ const item = tail(widget.getItems());
446
+ widget.setFocused(item);
447
+ if (select) {
448
+ widget.setSelection(item, BreadcrumbsControl.Payload_Pick);
449
+ }
450
+ }
451
+ }
452
+ registerAction2(class FocusAndSelectBreadcrumbs extends Action2 {
453
+ constructor() {
454
+ super({
455
+ id: 'breadcrumbs.focusAndSelect',
456
+ title: {
457
+ value: ( localize('cmd.focusAndSelect', "Focus and Select Breadcrumbs")),
458
+ original: 'Focus and Select Breadcrumbs'
459
+ },
460
+ precondition: BreadcrumbsControl.CK_BreadcrumbsVisible,
461
+ keybinding: {
462
+ weight: 200 ,
463
+ primary: 2048 | 1024 | 89 ,
464
+ when: BreadcrumbsControl.CK_BreadcrumbsPossible,
465
+ },
466
+ f1: true
467
+ });
468
+ }
469
+ run(accessor, ...args) {
470
+ focusAndSelectHandler(accessor, true);
471
+ }
472
+ });
473
+ registerAction2(class FocusBreadcrumbs extends Action2 {
474
+ constructor() {
475
+ super({
476
+ id: 'breadcrumbs.focus',
477
+ title: {
478
+ value: ( localize('cmd.focus', "Focus Breadcrumbs")),
479
+ original: 'Focus Breadcrumbs'
480
+ },
481
+ precondition: BreadcrumbsControl.CK_BreadcrumbsVisible,
482
+ keybinding: {
483
+ weight: 200 ,
484
+ primary: 2048 | 1024 | 85 ,
485
+ when: BreadcrumbsControl.CK_BreadcrumbsPossible,
486
+ },
487
+ f1: true
488
+ });
489
+ }
490
+ run(accessor, ...args) {
491
+ focusAndSelectHandler(accessor, false);
492
+ }
493
+ });
494
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
495
+ id: 'breadcrumbs.toggleToOn',
496
+ weight: 200 ,
497
+ primary: 2048 | 1024 | 89 ,
498
+ when: ContextKeyExpr.not('config.breadcrumbs.enabled'),
499
+ handler: async (accessor) => {
500
+ const instant = accessor.get(IInstantiationService);
501
+ const config = accessor.get(IConfigurationService);
502
+ const isEnabled = BreadcrumbsConfig.IsEnabled.bindTo(config);
503
+ if (!isEnabled.getValue()) {
504
+ await isEnabled.updateValue(true);
505
+ await timeout(50);
506
+ }
507
+ return instant.invokeFunction(focusAndSelectHandler, true);
508
+ }
509
+ });
510
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
511
+ id: 'breadcrumbs.focusNext',
512
+ weight: 200 ,
513
+ primary: 17 ,
514
+ secondary: [2048 | 17 ],
515
+ mac: {
516
+ primary: 17 ,
517
+ secondary: [512 | 17 ],
518
+ },
519
+ when: ( ContextKeyExpr.and(
520
+ BreadcrumbsControl.CK_BreadcrumbsVisible,
521
+ BreadcrumbsControl.CK_BreadcrumbsActive
522
+ )),
523
+ handler(accessor) {
524
+ const groups = accessor.get(IEditorGroupsService);
525
+ const breadcrumbs = accessor.get(IBreadcrumbsService);
526
+ const widget = breadcrumbs.getWidget(groups.activeGroup.id);
527
+ if (!widget) {
528
+ return;
529
+ }
530
+ widget.focusNext();
531
+ }
532
+ });
533
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
534
+ id: 'breadcrumbs.focusPrevious',
535
+ weight: 200 ,
536
+ primary: 15 ,
537
+ secondary: [2048 | 15 ],
538
+ mac: {
539
+ primary: 15 ,
540
+ secondary: [512 | 15 ],
541
+ },
542
+ when: ( ContextKeyExpr.and(
543
+ BreadcrumbsControl.CK_BreadcrumbsVisible,
544
+ BreadcrumbsControl.CK_BreadcrumbsActive
545
+ )),
546
+ handler(accessor) {
547
+ const groups = accessor.get(IEditorGroupsService);
548
+ const breadcrumbs = accessor.get(IBreadcrumbsService);
549
+ const widget = breadcrumbs.getWidget(groups.activeGroup.id);
550
+ if (!widget) {
551
+ return;
552
+ }
553
+ widget.focusPrev();
554
+ }
555
+ });
556
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
557
+ id: 'breadcrumbs.focusNextWithPicker',
558
+ weight: 200 + 1,
559
+ primary: 2048 | 17 ,
560
+ mac: {
561
+ primary: 512 | 17 ,
562
+ },
563
+ when: ( ContextKeyExpr.and(
564
+ BreadcrumbsControl.CK_BreadcrumbsVisible,
565
+ BreadcrumbsControl.CK_BreadcrumbsActive,
566
+ WorkbenchListFocusContextKey
567
+ )),
568
+ handler(accessor) {
569
+ const groups = accessor.get(IEditorGroupsService);
570
+ const breadcrumbs = accessor.get(IBreadcrumbsService);
571
+ const widget = breadcrumbs.getWidget(groups.activeGroup.id);
572
+ if (!widget) {
573
+ return;
574
+ }
575
+ widget.focusNext();
576
+ }
577
+ });
578
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
579
+ id: 'breadcrumbs.focusPreviousWithPicker',
580
+ weight: 200 + 1,
581
+ primary: 2048 | 15 ,
582
+ mac: {
583
+ primary: 512 | 15 ,
584
+ },
585
+ when: ( ContextKeyExpr.and(
586
+ BreadcrumbsControl.CK_BreadcrumbsVisible,
587
+ BreadcrumbsControl.CK_BreadcrumbsActive,
588
+ WorkbenchListFocusContextKey
589
+ )),
590
+ handler(accessor) {
591
+ const groups = accessor.get(IEditorGroupsService);
592
+ const breadcrumbs = accessor.get(IBreadcrumbsService);
593
+ const widget = breadcrumbs.getWidget(groups.activeGroup.id);
594
+ if (!widget) {
595
+ return;
596
+ }
597
+ widget.focusPrev();
598
+ }
599
+ });
600
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
601
+ id: 'breadcrumbs.selectFocused',
602
+ weight: 200 ,
603
+ primary: 3 ,
604
+ secondary: [18 ],
605
+ when: ( ContextKeyExpr.and(
606
+ BreadcrumbsControl.CK_BreadcrumbsVisible,
607
+ BreadcrumbsControl.CK_BreadcrumbsActive
608
+ )),
609
+ handler(accessor) {
610
+ const groups = accessor.get(IEditorGroupsService);
611
+ const breadcrumbs = accessor.get(IBreadcrumbsService);
612
+ const widget = breadcrumbs.getWidget(groups.activeGroup.id);
613
+ if (!widget) {
614
+ return;
615
+ }
616
+ widget.setSelection(widget.getFocused(), BreadcrumbsControl.Payload_Pick);
617
+ }
618
+ });
619
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
620
+ id: 'breadcrumbs.revealFocused',
621
+ weight: 200 ,
622
+ primary: 10 ,
623
+ secondary: [2048 | 3 ],
624
+ when: ( ContextKeyExpr.and(
625
+ BreadcrumbsControl.CK_BreadcrumbsVisible,
626
+ BreadcrumbsControl.CK_BreadcrumbsActive
627
+ )),
628
+ handler(accessor) {
629
+ const groups = accessor.get(IEditorGroupsService);
630
+ const breadcrumbs = accessor.get(IBreadcrumbsService);
631
+ const widget = breadcrumbs.getWidget(groups.activeGroup.id);
632
+ if (!widget) {
633
+ return;
634
+ }
635
+ widget.setSelection(widget.getFocused(), BreadcrumbsControl.Payload_Reveal);
636
+ }
637
+ });
638
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
639
+ id: 'breadcrumbs.selectEditor',
640
+ weight: 200 + 1,
641
+ primary: 9 ,
642
+ when: ( ContextKeyExpr.and(
643
+ BreadcrumbsControl.CK_BreadcrumbsVisible,
644
+ BreadcrumbsControl.CK_BreadcrumbsActive
645
+ )),
646
+ handler(accessor) {
647
+ const groups = accessor.get(IEditorGroupsService);
648
+ const breadcrumbs = accessor.get(IBreadcrumbsService);
649
+ const widget = breadcrumbs.getWidget(groups.activeGroup.id);
650
+ if (!widget) {
651
+ return;
652
+ }
653
+ widget.setFocused(undefined);
654
+ widget.setSelection(undefined);
655
+ groups.activeGroup.activeEditorPane?.focus();
656
+ }
657
+ });
658
+ KeybindingsRegistry.registerCommandAndKeybindingRule({
659
+ id: 'breadcrumbs.revealFocusedFromTreeAside',
660
+ weight: 200 ,
661
+ primary: 2048 | 3 ,
662
+ when: ( ContextKeyExpr.and(
663
+ BreadcrumbsControl.CK_BreadcrumbsVisible,
664
+ BreadcrumbsControl.CK_BreadcrumbsActive,
665
+ WorkbenchListFocusContextKey
666
+ )),
667
+ handler(accessor) {
668
+ const editors = accessor.get(IEditorService);
669
+ const lists = accessor.get(IListService);
670
+ const tree = lists.lastFocusedList;
671
+ if (!(tree instanceof WorkbenchDataTree) && !(tree instanceof WorkbenchAsyncDataTree)) {
672
+ return;
673
+ }
674
+ const element = tree.getFocus()[0];
675
+ if (URI.isUri(element?.resource)) {
676
+ return editors.openEditor({
677
+ resource: element.resource,
678
+ options: { pinned: true }
679
+ }, SIDE_GROUP);
680
+ }
681
+ const input = tree.getInput();
682
+ if (input && typeof input.outlineKind === 'string') {
683
+ return input.reveal(element, {
684
+ pinned: true,
685
+ preserveFocus: false
686
+ }, true);
687
+ }
688
+ }
689
+ });
690
+ export { BreadcrumbsControl };