@codingame/monaco-vscode-api 1.78.5 → 1.78.6-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 (617) hide show
  1. package/README.md +2 -1
  2. package/dist/api.js +5 -4
  3. package/dist/assets/activityaction.css +228 -0
  4. package/dist/assets/activitybarpart.css +65 -0
  5. package/dist/assets/basepanelpart.css +221 -0
  6. package/dist/assets/callHierarchy.css +62 -0
  7. package/dist/assets/{sidebysideeditor.css → compositepart.css} +10 -2
  8. package/dist/assets/debugViewlet.css +336 -0
  9. package/dist/assets/explorerviewlet.css +129 -0
  10. package/dist/assets/hover.css +127 -0
  11. package/dist/assets/menubar.css +111 -0
  12. package/dist/assets/menubarControl.css +61 -0
  13. package/dist/assets/part.css +109 -0
  14. package/dist/assets/repl.css +145 -0
  15. package/dist/assets/sidebarpart.css +61 -0
  16. package/dist/assets/tunnelView.css +107 -0
  17. package/dist/assets/typeHierarchy.css +62 -0
  18. package/dist/assets/views.css +297 -0
  19. package/dist/default-extensions/bat.js +5 -4
  20. package/dist/default-extensions/clojure.js +4 -3
  21. package/dist/default-extensions/coffeescript.js +5 -4
  22. package/dist/default-extensions/cpp.js +10 -9
  23. package/dist/default-extensions/csharp.js +5 -4
  24. package/dist/default-extensions/css.js +4 -3
  25. package/dist/default-extensions/dart.js +4 -3
  26. package/dist/default-extensions/diff.js +4 -3
  27. package/dist/default-extensions/docker.js +4 -3
  28. package/dist/default-extensions/fsharp.js +5 -4
  29. package/dist/default-extensions/go.js +4 -3
  30. package/dist/default-extensions/groovy.js +5 -4
  31. package/dist/default-extensions/handlebars.js +4 -3
  32. package/dist/default-extensions/hlsl.js +4 -3
  33. package/dist/default-extensions/html.js +6 -5
  34. package/dist/default-extensions/ini.js +5 -4
  35. package/dist/default-extensions/java.js +5 -4
  36. package/dist/default-extensions/javascript.js +8 -7
  37. package/dist/default-extensions/json.js +5 -4
  38. package/dist/default-extensions/julia.js +4 -3
  39. package/dist/default-extensions/latex.js +10 -9
  40. package/dist/default-extensions/less.js +4 -3
  41. package/dist/default-extensions/log.js +3 -2
  42. package/dist/default-extensions/lua.js +4 -3
  43. package/dist/default-extensions/make.js +4 -3
  44. package/dist/default-extensions/markdown-basics.js +5 -4
  45. package/dist/default-extensions/objective-c.js +5 -4
  46. package/dist/default-extensions/perl.js +6 -5
  47. package/dist/default-extensions/php.js +6 -5
  48. package/dist/default-extensions/powershell.js +4 -3
  49. package/dist/default-extensions/pug.js +4 -3
  50. package/dist/default-extensions/python.js +5 -4
  51. package/dist/default-extensions/r.js +4 -3
  52. package/dist/default-extensions/razor.js +4 -3
  53. package/dist/default-extensions/references-view.js +8 -0
  54. package/dist/default-extensions/ruby.js +4 -3
  55. package/dist/default-extensions/rust.js +4 -3
  56. package/dist/default-extensions/scss.js +5 -4
  57. package/dist/default-extensions/shaderlab.js +4 -3
  58. package/dist/default-extensions/shellscript.js +4 -3
  59. package/dist/default-extensions/sql.js +4 -3
  60. package/dist/default-extensions/swift.js +5 -4
  61. package/dist/default-extensions/theme-abyss.js +3 -2
  62. package/dist/default-extensions/theme-defaults.js +31 -10
  63. package/dist/default-extensions/theme-kimbie-dark.js +3 -2
  64. package/dist/default-extensions/theme-monokai-dimmed.js +3 -2
  65. package/dist/default-extensions/theme-monokai.js +3 -2
  66. package/dist/default-extensions/theme-quietlight.js +3 -2
  67. package/dist/default-extensions/theme-red.js +3 -2
  68. package/dist/default-extensions/theme-seti.js +5 -2
  69. package/dist/default-extensions/theme-solarized-dark.js +3 -2
  70. package/dist/default-extensions/theme-solarized-light.js +3 -2
  71. package/dist/default-extensions/theme-tomorrow-night-blue.js +3 -2
  72. package/dist/default-extensions/typescript-basics.js +8 -7
  73. package/dist/default-extensions/vb.js +5 -4
  74. package/dist/default-extensions/xml.js +6 -5
  75. package/dist/default-extensions/yaml.js +4 -3
  76. package/dist/extension-tools-40a69515.js +27412 -0
  77. package/dist/extensions.d.ts +18 -2
  78. package/dist/extensions.js +99 -4
  79. package/dist/node_modules/tslib/tslib.es6.js +2 -2
  80. package/dist/override/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -0
  81. package/dist/rollup-extension-directory-plugin.d.ts +5 -2
  82. package/dist/rollup-extension-directory-plugin.js +74 -46
  83. package/dist/rollup-vsix-plugin.d.ts +4 -2
  84. package/dist/rollup-vsix-plugin.js +57 -19
  85. package/dist/service-override/configuration.js +16 -4
  86. package/dist/service-override/files.d.ts +90 -3
  87. package/dist/service-override/files.js +37 -15
  88. package/dist/service-override/layout.js +80 -6
  89. package/dist/service-override/modelEditor.js +3 -1
  90. package/dist/service-override/views.d.ts +6641 -0
  91. package/dist/service-override/views.js +177 -0
  92. package/dist/services.d.ts +25 -1
  93. package/dist/services.js +3 -0
  94. package/dist/vscode/vs/base/browser/ui/menu/menubar.js +831 -0
  95. package/dist/vscode/vs/base/browser/ui/splitview/paneview.js +151 -2
  96. package/dist/vscode/vs/base/browser/ui/tree/treeDefaults.js +14 -0
  97. package/dist/vscode/vs/editor/common/services/treeViewsDnd.js +17 -0
  98. package/dist/vscode/vs/editor/common/services/treeViewsDndService.js +3 -0
  99. package/dist/vscode/vs/platform/backup/common/backup.js +7 -0
  100. package/dist/vscode/vs/platform/configuration/common/configurationRegistry.js +10 -0
  101. package/dist/vscode/vs/platform/credentials/common/credentials.js +3 -0
  102. package/dist/vscode/vs/platform/extensionManagement/common/extensionManagement.js +1 -2
  103. package/dist/vscode/vs/platform/extensionManagement/common/extensionManagementUtil.js +4 -1
  104. package/dist/vscode/vs/platform/extensionManagement/common/extensionStorage.js +174 -0
  105. package/dist/vscode/vs/platform/extensionManagement/common/implicitActivationEvents.js +1 -1
  106. package/dist/vscode/vs/platform/files/common/fileService.js +3 -3
  107. package/dist/vscode/vs/platform/files/common/files.js +28 -0
  108. package/dist/vscode/vs/platform/files/common/inMemoryFilesystemProvider.js +1 -1
  109. package/dist/vscode/vs/platform/languagePacks/common/languagePacks.js +3 -0
  110. package/dist/vscode/vs/platform/remote/common/remoteAuthorityResolver.js +3 -1
  111. package/dist/vscode/vs/platform/storage/common/storage.js +332 -0
  112. package/dist/vscode/vs/platform/telemetry/common/telemetryUtils.js +1 -1
  113. package/dist/vscode/vs/platform/tunnel/common/tunnel.js +29 -1
  114. package/dist/vscode/vs/platform/update/common/update.js +3 -0
  115. package/dist/vscode/vs/platform/window/common/window.js +33 -0
  116. package/dist/vscode/vs/platform/workspaces/common/workspaces.js +1 -1
  117. package/dist/vscode/vs/workbench/api/browser/mainThreadDebugService.js +1 -1
  118. package/dist/vscode/vs/workbench/api/browser/mainThreadDiagnostics.js +1 -1
  119. package/dist/vscode/vs/workbench/api/browser/mainThreadDocuments.js +4 -4
  120. package/dist/vscode/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +1 -1
  121. package/dist/vscode/vs/workbench/api/browser/mainThreadFileSystem.js +1 -1
  122. package/dist/vscode/vs/workbench/api/browser/mainThreadLocalization.js +33 -0
  123. package/dist/vscode/vs/workbench/api/browser/mainThreadQuickOpen.js +1 -1
  124. package/dist/vscode/vs/workbench/api/browser/mainThreadStorage.js +69 -0
  125. package/dist/vscode/vs/workbench/api/browser/mainThreadTreeViews.js +298 -0
  126. package/dist/vscode/vs/workbench/api/browser/viewsExtensionPoint.js +699 -0
  127. package/dist/vscode/vs/workbench/api/common/cache.js +1 -1
  128. package/dist/vscode/vs/workbench/api/common/configurationExtensionPoint.js +1 -1
  129. package/dist/vscode/vs/workbench/api/common/extHostApiDeprecationService.js +1 -1
  130. package/dist/vscode/vs/workbench/api/common/extHostCommands.js +2 -2
  131. package/dist/vscode/vs/workbench/api/common/extHostDebugService.js +2 -2
  132. package/dist/vscode/vs/workbench/api/common/extHostDecorations.js +1 -1
  133. package/dist/vscode/vs/workbench/api/common/extHostDiagnostics.js +3 -3
  134. package/dist/vscode/vs/workbench/api/common/extHostDocumentsAndEditors.js +3 -3
  135. package/dist/vscode/vs/workbench/api/common/extHostExtensionActivator.js +1 -1
  136. package/dist/vscode/vs/workbench/api/common/extHostExtensionService.js +5 -5
  137. package/dist/vscode/vs/workbench/api/common/extHostFileSystem.js +1 -1
  138. package/dist/vscode/vs/workbench/api/common/extHostFileSystemInfo.js +1 -1
  139. package/dist/vscode/vs/workbench/api/common/extHostLanguages.js +1 -1
  140. package/dist/vscode/vs/workbench/api/common/extHostLocalizationService.js +1 -1
  141. package/dist/vscode/vs/workbench/api/common/extHostQuickOpen.js +2 -2
  142. package/dist/vscode/vs/workbench/api/common/extHostTextEditor.js +1 -1
  143. package/dist/vscode/vs/workbench/api/common/extHostTreeViews.js +823 -0
  144. package/dist/vscode/vs/workbench/api/common/extHostTypeConverters.js +17 -4
  145. package/dist/vscode/vs/workbench/api/common/extHostTypes.js +21 -5
  146. package/dist/vscode/vs/workbench/api/common/extHostVariableResolverService.js +3 -3
  147. package/dist/vscode/vs/workbench/api/common/extHostWorkspace.js +1 -1
  148. package/dist/vscode/vs/workbench/browser/actions/layoutActions.js +4 -887
  149. package/dist/vscode/vs/workbench/browser/actions/listCommands.js +602 -0
  150. package/dist/vscode/vs/workbench/browser/actions/windowActions.js +271 -0
  151. package/dist/vscode/vs/workbench/browser/actions/workspaceActions.js +250 -0
  152. package/dist/vscode/vs/workbench/browser/actions/workspaceCommands.js +6 -0
  153. package/dist/vscode/vs/workbench/browser/composite.js +49 -1
  154. package/dist/vscode/vs/workbench/browser/dnd.js +429 -0
  155. package/dist/vscode/vs/workbench/browser/labels.js +426 -0
  156. package/dist/vscode/vs/workbench/browser/panecomposite.js +158 -0
  157. package/dist/vscode/vs/workbench/browser/part.js +84 -0
  158. package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarActions.js +575 -0
  159. package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarPart.js +784 -0
  160. package/dist/vscode/vs/workbench/browser/parts/compositeBar.js +687 -0
  161. package/dist/vscode/vs/workbench/browser/parts/compositeBarActions.js +578 -0
  162. package/dist/vscode/vs/workbench/browser/parts/compositePart.js +319 -0
  163. package/dist/vscode/vs/workbench/browser/parts/editor/editor.contribution.js +6 -795
  164. package/dist/vscode/vs/workbench/browser/parts/editor/editorActions.js +110 -1487
  165. package/dist/vscode/vs/workbench/browser/parts/editor/editorCommands.js +4 -1121
  166. package/dist/vscode/vs/workbench/browser/parts/editor/editorQuickAccess.js +1 -1
  167. package/dist/vscode/vs/workbench/browser/parts/panel/panelActions.js +41 -82
  168. package/dist/vscode/vs/workbench/browser/parts/panel/panelPart.js +753 -0
  169. package/dist/vscode/vs/workbench/browser/parts/sidebar/sidebarPart.js +217 -0
  170. package/dist/vscode/vs/workbench/browser/parts/titlebar/menubarControl.js +600 -0
  171. package/dist/vscode/vs/workbench/browser/parts/views/checkbox.js +80 -0
  172. package/dist/vscode/vs/workbench/browser/parts/views/treeView.js +1486 -0
  173. package/dist/vscode/vs/workbench/browser/parts/views/viewFilter.js +181 -0
  174. package/dist/vscode/vs/workbench/browser/parts/views/viewPane.js +50 -2
  175. package/dist/vscode/vs/workbench/browser/parts/views/viewPaneContainer.js +1020 -0
  176. package/dist/vscode/vs/workbench/browser/parts/views/viewsService.js +562 -0
  177. package/dist/vscode/vs/workbench/browser/parts/views/viewsViewlet.js +109 -0
  178. package/dist/vscode/vs/workbench/browser/quickaccess.js +2 -4
  179. package/dist/vscode/vs/workbench/common/activity.js +3 -0
  180. package/dist/vscode/vs/workbench/common/contextkeys.js +19 -26
  181. package/dist/vscode/vs/workbench/common/editor.js +2 -48
  182. package/dist/vscode/vs/workbench/common/resources.js +3 -3
  183. package/dist/vscode/vs/workbench/common/theme.js +25 -25
  184. package/dist/vscode/vs/workbench/common/views.js +276 -1
  185. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits.js +62 -1
  186. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +305 -0
  187. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +378 -0
  188. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +257 -0
  189. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +259 -0
  190. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +337 -0
  191. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.js +119 -0
  192. package/dist/vscode/vs/workbench/contrib/debug/browser/baseDebugView.js +8 -2
  193. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointsView.js +585 -8
  194. package/dist/vscode/vs/workbench/contrib/debug/browser/callStackView.js +954 -0
  195. package/dist/vscode/vs/workbench/contrib/debug/browser/debug.contribution.js +151 -145
  196. package/dist/vscode/vs/workbench/contrib/debug/browser/debugANSIHandling.js +345 -0
  197. package/dist/vscode/vs/workbench/contrib/debug/browser/debugAdapterManager.js +1 -1
  198. package/dist/vscode/vs/workbench/contrib/debug/browser/debugCommands.js +79 -3
  199. package/dist/vscode/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +1 -1
  200. package/dist/vscode/vs/workbench/contrib/debug/browser/debugEditorActions.js +522 -0
  201. package/dist/vscode/vs/workbench/contrib/debug/browser/debugEditorContribution.js +5 -5
  202. package/dist/vscode/vs/workbench/contrib/debug/browser/debugIcons.js +28 -1
  203. package/dist/vscode/vs/workbench/contrib/debug/browser/debugSession.js +2 -2
  204. package/dist/vscode/vs/workbench/contrib/debug/browser/debugToolBar.js +1 -1
  205. package/dist/vscode/vs/workbench/contrib/debug/browser/debugViewlet.js +166 -0
  206. package/dist/vscode/vs/workbench/contrib/debug/browser/linkDetector.js +10 -10
  207. package/dist/vscode/vs/workbench/contrib/debug/browser/loadedScriptsView.js +629 -0
  208. package/dist/vscode/vs/workbench/contrib/debug/browser/repl.js +908 -0
  209. package/dist/vscode/vs/workbench/contrib/debug/browser/replFilter.js +46 -0
  210. package/dist/vscode/vs/workbench/contrib/debug/browser/replViewer.js +330 -0
  211. package/dist/vscode/vs/workbench/contrib/debug/browser/variablesView.js +295 -10
  212. package/dist/vscode/vs/workbench/contrib/debug/browser/watchExpressionsView.js +411 -0
  213. package/dist/vscode/vs/workbench/contrib/debug/browser/welcomeView.js +85 -0
  214. package/dist/vscode/vs/workbench/contrib/debug/common/debug.js +98 -1
  215. package/dist/vscode/vs/workbench/contrib/debug/common/debugModel.js +13 -4
  216. package/dist/vscode/vs/workbench/contrib/debug/common/debugUtils.js +1 -1
  217. package/dist/vscode/vs/workbench/contrib/debug/common/replModel.js +51 -1
  218. package/dist/vscode/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -0
  219. package/dist/vscode/vs/workbench/contrib/files/browser/explorerViewlet.js +254 -0
  220. package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.contribution.js +207 -0
  221. package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.js +1119 -0
  222. package/dist/vscode/vs/workbench/contrib/files/browser/fileCommands.js +594 -0
  223. package/dist/vscode/vs/workbench/contrib/files/browser/fileConstants.js +26 -0
  224. package/dist/vscode/vs/workbench/contrib/files/browser/fileImportExport.js +708 -0
  225. package/dist/vscode/vs/workbench/contrib/files/browser/files.contribution.js +368 -3
  226. package/dist/vscode/vs/workbench/contrib/files/browser/files.js +88 -1
  227. package/dist/vscode/vs/workbench/contrib/files/browser/views/emptyView.js +88 -0
  228. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +73 -0
  229. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerView.js +793 -0
  230. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerViewer.js +1209 -0
  231. package/dist/vscode/vs/workbench/contrib/files/common/explorerFileNestingTrie.js +1 -1
  232. package/dist/vscode/vs/workbench/contrib/files/common/files.js +194 -3
  233. package/dist/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser.js +27 -0
  234. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookCommon.js +79 -1
  235. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookEditorInput.js +249 -0
  236. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.js +3 -0
  237. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookService.js +10 -0
  238. package/dist/vscode/vs/workbench/contrib/remote/browser/remoteExplorer.js +186 -0
  239. package/dist/vscode/vs/workbench/contrib/remote/browser/remoteIcons.js +23 -0
  240. package/dist/vscode/vs/workbench/contrib/remote/browser/tunnelView.js +1636 -0
  241. package/dist/vscode/vs/workbench/contrib/scm/common/scm.js +2 -0
  242. package/dist/vscode/vs/workbench/contrib/snippets/browser/snippetsFile.js +1 -1
  243. package/dist/vscode/vs/workbench/contrib/snippets/browser/snippetsService.js +5 -3
  244. package/dist/vscode/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +167 -0
  245. package/dist/vscode/vs/workbench/contrib/testing/common/testItemCollection.js +1 -1
  246. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +244 -0
  247. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +332 -0
  248. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyTree.js +117 -0
  249. package/dist/vscode/vs/workbench/contrib/webview/browser/webview.js +41 -0
  250. package/dist/vscode/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +20 -0
  251. package/dist/vscode/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +231 -0
  252. package/dist/vscode/vs/workbench/contrib/webviewView/browser/webviewViewService.js +3 -0
  253. package/dist/vscode/vs/workbench/services/actions/common/menusExtensionPoint.js +179 -1
  254. package/dist/vscode/vs/workbench/services/activity/browser/activityService.js +94 -0
  255. package/dist/vscode/vs/workbench/services/activity/common/activity.js +15 -1
  256. package/dist/vscode/vs/workbench/services/authentication/browser/authenticationService.js +35 -0
  257. package/dist/vscode/vs/workbench/services/authentication/common/authentication.js +3 -0
  258. package/dist/vscode/vs/workbench/services/configuration/browser/configurationService.js +1 -1
  259. package/dist/vscode/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +1 -1
  260. package/dist/vscode/vs/workbench/services/configurationResolver/common/variableResolver.js +14 -14
  261. package/dist/vscode/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +13 -13
  262. package/dist/vscode/vs/workbench/services/extensions/common/extensionStorageMigration.js +56 -0
  263. package/dist/vscode/vs/workbench/services/extensions/common/extensionsRegistry.js +3 -3
  264. package/dist/vscode/vs/workbench/services/hover/browser/hover.js +3 -0
  265. package/dist/vscode/vs/workbench/services/hover/browser/hoverService.js +149 -0
  266. package/dist/vscode/vs/workbench/services/hover/browser/hoverWidget.js +514 -0
  267. package/dist/vscode/vs/workbench/services/keybinding/browser/keybindingService.js +3 -3
  268. package/dist/vscode/vs/workbench/services/keybinding/browser/unboundCommands.js +1 -1
  269. package/dist/vscode/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.js +1 -2
  270. package/dist/vscode/vs/workbench/services/output/common/output.js +1 -1
  271. package/dist/vscode/vs/workbench/services/preferences/common/preferencesModels.js +1 -1
  272. package/dist/vscode/vs/workbench/services/remote/common/remoteExplorerService.js +764 -0
  273. package/dist/vscode/vs/workbench/services/search/common/ignoreFile.js +102 -0
  274. package/dist/vscode/vs/workbench/services/search/common/queryBuilder.js +7 -7
  275. package/dist/vscode/vs/workbench/services/search/common/search.js +2 -2
  276. package/dist/vscode/vs/workbench/services/search/common/searchService.js +7 -7
  277. package/dist/vscode/vs/workbench/services/textMate/browser/textMateTokenizationFeatureImpl.js +2 -2
  278. package/dist/vscode/vs/workbench/services/textMate/browser/workerHost/textMateWorkerHost.js +1 -1
  279. package/dist/vscode/vs/workbench/services/textMate/common/TMGrammarFactory.js +1 -1
  280. package/dist/vscode/vs/workbench/services/textfile/common/textFileEditorModelManager.js +4 -4
  281. package/dist/vscode/vs/workbench/services/textmodelResolver/common/textModelResolverService.js +3 -3
  282. package/dist/vscode/vs/workbench/services/themes/browser/fileIconThemeData.js +2 -2
  283. package/dist/vscode/vs/workbench/services/themes/browser/productIconThemeData.js +2 -2
  284. package/dist/vscode/vs/workbench/services/themes/browser/workbenchThemeService.js +1 -1
  285. package/dist/vscode/vs/workbench/services/views/browser/treeViewsService.js +3 -0
  286. package/dist/vscode/vs/workbench/services/views/browser/viewDescriptorService.js +688 -0
  287. package/dist/vscode/vs/workbench/services/views/common/treeViewsService.js +20 -0
  288. package/dist/vscode/vs/workbench/services/views/common/viewContainerModel.js +613 -0
  289. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +11 -7
  290. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopyService.js +1 -1
  291. package/dist/vscode-default-extensions/bat/language-configuration.json.extensionResource.js +2 -0
  292. package/dist/vscode-default-extensions/bat/snippets/batchfile.code-snippets.extensionResource.js +2 -0
  293. package/dist/vscode-default-extensions/bat/syntaxes/batchfile.tmLanguage.json.extensionResource.js +2 -0
  294. package/dist/vscode-default-extensions/clojure/language-configuration.json.extensionResource.js +2 -0
  295. package/dist/vscode-default-extensions/clojure/syntaxes/clojure.tmLanguage.json.extensionResource.js +2 -0
  296. package/dist/vscode-default-extensions/coffeescript/language-configuration.json.extensionResource.js +2 -0
  297. package/dist/vscode-default-extensions/coffeescript/snippets/coffeescript.code-snippets.extensionResource.js +2 -0
  298. package/dist/vscode-default-extensions/coffeescript/syntaxes/coffeescript.tmLanguage.json.extensionResource.js +2 -0
  299. package/dist/vscode-default-extensions/cpp/language-configuration.json.extensionResource.js +2 -0
  300. package/dist/vscode-default-extensions/cpp/snippets/c.code-snippets.extensionResource.js +2 -0
  301. package/dist/vscode-default-extensions/cpp/snippets/cpp.code-snippets.extensionResource.js +2 -0
  302. package/dist/vscode-default-extensions/cpp/syntaxes/c.tmLanguage.json.extensionResource.js +2 -0
  303. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json.extensionResource.js +2 -0
  304. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.tmLanguage.json.extensionResource.js +2 -0
  305. package/dist/vscode-default-extensions/cpp/syntaxes/cuda-cpp.tmLanguage.json.extensionResource.js +2 -0
  306. package/dist/vscode-default-extensions/cpp/syntaxes/{platform.tmLanguage.json.js → platform.tmLanguage.json.extensionResource.js} +2 -2
  307. package/dist/vscode-default-extensions/csharp/language-configuration.json.extensionResource.js +2 -0
  308. package/dist/vscode-default-extensions/csharp/snippets/csharp.code-snippets.extensionResource.js +2 -0
  309. package/dist/vscode-default-extensions/csharp/syntaxes/csharp.tmLanguage.json.extensionResource.js +2 -0
  310. package/dist/vscode-default-extensions/css/language-configuration.json.extensionResource.js +2 -0
  311. package/dist/vscode-default-extensions/css/syntaxes/css.tmLanguage.json.extensionResource.js +2 -0
  312. package/dist/vscode-default-extensions/dart/language-configuration.json.extensionResource.js +2 -0
  313. package/dist/vscode-default-extensions/dart/syntaxes/dart.tmLanguage.json.extensionResource.js +2 -0
  314. package/dist/vscode-default-extensions/diff/language-configuration.json.extensionResource.js +2 -0
  315. package/dist/vscode-default-extensions/diff/syntaxes/diff.tmLanguage.json.extensionResource.js +2 -0
  316. package/dist/vscode-default-extensions/docker/language-configuration.json.extensionResource.js +2 -0
  317. package/dist/vscode-default-extensions/docker/syntaxes/docker.tmLanguage.json.extensionResource.js +2 -0
  318. package/dist/vscode-default-extensions/fsharp/language-configuration.json.extensionResource.js +2 -0
  319. package/dist/vscode-default-extensions/fsharp/snippets/fsharp.code-snippets.extensionResource.js +2 -0
  320. package/dist/vscode-default-extensions/fsharp/syntaxes/fsharp.tmLanguage.json.extensionResource.js +2 -0
  321. package/dist/vscode-default-extensions/go/language-configuration.json.extensionResource.js +2 -0
  322. package/dist/vscode-default-extensions/go/syntaxes/go.tmLanguage.json.extensionResource.js +2 -0
  323. package/dist/vscode-default-extensions/groovy/language-configuration.json.extensionResource.js +2 -0
  324. package/dist/vscode-default-extensions/groovy/snippets/groovy.code-snippets.extensionResource.js +2 -0
  325. package/dist/vscode-default-extensions/groovy/syntaxes/groovy.tmLanguage.json.extensionResource.js +2 -0
  326. package/dist/vscode-default-extensions/handlebars/language-configuration.json.extensionResource.js +2 -0
  327. package/dist/vscode-default-extensions/handlebars/syntaxes/Handlebars.tmLanguage.json.extensionResource.js +2 -0
  328. package/dist/vscode-default-extensions/hlsl/language-configuration.json.extensionResource.js +2 -0
  329. package/dist/vscode-default-extensions/hlsl/syntaxes/hlsl.tmLanguage.json.extensionResource.js +2 -0
  330. package/dist/vscode-default-extensions/html/language-configuration.json.extensionResource.js +2 -0
  331. package/dist/vscode-default-extensions/html/snippets/html.code-snippets.extensionResource.js +2 -0
  332. package/dist/vscode-default-extensions/html/syntaxes/html-derivative.tmLanguage.json.extensionResource.js +2 -0
  333. package/dist/vscode-default-extensions/html/syntaxes/html.tmLanguage.json.extensionResource.js +2 -0
  334. package/dist/vscode-default-extensions/ini/ini.language-configuration.json.extensionResource.js +2 -0
  335. package/dist/vscode-default-extensions/ini/properties.language-configuration.json.extensionResource.js +2 -0
  336. package/dist/vscode-default-extensions/ini/syntaxes/ini.tmLanguage.json.extensionResource.js +2 -0
  337. package/dist/vscode-default-extensions/java/language-configuration.json.extensionResource.js +2 -0
  338. package/dist/vscode-default-extensions/java/snippets/java.code-snippets.extensionResource.js +2 -0
  339. package/dist/vscode-default-extensions/java/syntaxes/java.tmLanguage.json.extensionResource.js +2 -0
  340. package/dist/vscode-default-extensions/javascript/javascript-language-configuration.json.extensionResource.js +2 -0
  341. package/dist/vscode-default-extensions/javascript/snippets/javascript.code-snippets.extensionResource.js +2 -0
  342. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScript.tmLanguage.json.extensionResource.js +2 -0
  343. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScriptReact.tmLanguage.json.extensionResource.js +2 -0
  344. package/dist/vscode-default-extensions/javascript/syntaxes/Regular Expressions (JavaScript).tmLanguage.extensionResource.js +2 -0
  345. package/dist/vscode-default-extensions/javascript/tags-language-configuration.json.extensionResource.js +2 -0
  346. package/dist/vscode-default-extensions/json/language-configuration.json.extensionResource.js +2 -0
  347. package/dist/vscode-default-extensions/json/syntaxes/JSON.tmLanguage.json.extensionResource.js +2 -0
  348. package/dist/vscode-default-extensions/json/syntaxes/JSONC.tmLanguage.json.extensionResource.js +2 -0
  349. package/dist/vscode-default-extensions/julia/language-configuration.json.extensionResource.js +2 -0
  350. package/dist/vscode-default-extensions/julia/syntaxes/julia.tmLanguage.json.extensionResource.js +2 -0
  351. package/dist/vscode-default-extensions/latex/latex-cpp-embedded-language-configuration.json.extensionResource.js +2 -0
  352. package/dist/vscode-default-extensions/latex/latex-language-configuration.json.extensionResource.js +2 -0
  353. package/dist/vscode-default-extensions/latex/markdown-latex-combined-language-configuration.json.extensionResource.js +2 -0
  354. package/dist/vscode-default-extensions/latex/syntaxes/Bibtex.tmLanguage.json.extensionResource.js +2 -0
  355. package/dist/vscode-default-extensions/latex/syntaxes/LaTeX.tmLanguage.json.extensionResource.js +2 -0
  356. package/dist/vscode-default-extensions/latex/syntaxes/TeX.tmLanguage.json.extensionResource.js +2 -0
  357. package/dist/vscode-default-extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json.extensionResource.js +2 -0
  358. package/dist/vscode-default-extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json.extensionResource.js +2 -0
  359. package/dist/vscode-default-extensions/less/language-configuration.json.extensionResource.js +2 -0
  360. package/dist/vscode-default-extensions/less/syntaxes/less.tmLanguage.json.extensionResource.js +2 -0
  361. package/dist/vscode-default-extensions/log/syntaxes/log.tmLanguage.json.extensionResource.js +2 -0
  362. package/dist/vscode-default-extensions/lua/language-configuration.json.extensionResource.js +2 -0
  363. package/dist/vscode-default-extensions/lua/syntaxes/lua.tmLanguage.json.extensionResource.js +2 -0
  364. package/dist/vscode-default-extensions/make/language-configuration.json.extensionResource.js +2 -0
  365. package/dist/vscode-default-extensions/make/syntaxes/make.tmLanguage.json.extensionResource.js +2 -0
  366. package/dist/vscode-default-extensions/markdown-basics/language-configuration.json.extensionResource.js +2 -0
  367. package/dist/vscode-default-extensions/markdown-basics/snippets/markdown.code-snippets.extensionResource.js +2 -0
  368. package/dist/vscode-default-extensions/markdown-basics/syntaxes/markdown.tmLanguage.json.extensionResource.js +2 -0
  369. package/dist/vscode-default-extensions/objective-c/language-configuration.json.extensionResource.js +2 -0
  370. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c.tmLanguage.json.extensionResource.js +2 -0
  371. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c__.tmLanguage.json.extensionResource.js +2 -0
  372. package/dist/vscode-default-extensions/perl/perl.language-configuration.json.extensionResource.js +2 -0
  373. package/dist/vscode-default-extensions/perl/perl6.language-configuration.json.extensionResource.js +2 -0
  374. package/dist/vscode-default-extensions/perl/syntaxes/perl.tmLanguage.json.extensionResource.js +2 -0
  375. package/dist/vscode-default-extensions/perl/syntaxes/perl6.tmLanguage.json.extensionResource.js +2 -0
  376. package/dist/vscode-default-extensions/php/language-configuration.json.extensionResource.js +2 -0
  377. package/dist/vscode-default-extensions/php/snippets/php.code-snippets.extensionResource.js +2 -0
  378. package/dist/vscode-default-extensions/php/syntaxes/html.tmLanguage.json.extensionResource.js +2 -0
  379. package/dist/vscode-default-extensions/php/syntaxes/php.tmLanguage.json.extensionResource.js +2 -0
  380. package/dist/vscode-default-extensions/powershell/language-configuration.json.extensionResource.js +2 -0
  381. package/dist/vscode-default-extensions/powershell/syntaxes/powershell.tmLanguage.json.extensionResource.js +2 -0
  382. package/dist/vscode-default-extensions/pug/language-configuration.json.extensionResource.js +2 -0
  383. package/dist/vscode-default-extensions/pug/syntaxes/pug.tmLanguage.json.extensionResource.js +2 -0
  384. package/dist/vscode-default-extensions/python/language-configuration.json.extensionResource.js +2 -0
  385. package/dist/vscode-default-extensions/python/syntaxes/MagicPython.tmLanguage.json.extensionResource.js +2 -0
  386. package/dist/vscode-default-extensions/python/syntaxes/MagicRegExp.tmLanguage.json.extensionResource.js +2 -0
  387. package/dist/vscode-default-extensions/r/language-configuration.json.extensionResource.js +2 -0
  388. package/dist/vscode-default-extensions/r/syntaxes/r.tmLanguage.json.extensionResource.js +2 -0
  389. package/dist/vscode-default-extensions/razor/language-configuration.json.extensionResource.js +2 -0
  390. package/dist/vscode-default-extensions/razor/syntaxes/cshtml.tmLanguage.json.extensionResource.js +2 -0
  391. package/dist/vscode-default-extensions/references-view/dist/extension.js.extensionResource.js +2 -0
  392. package/dist/vscode-default-extensions/references-view/package.json.js +2 -0
  393. package/dist/vscode-default-extensions/ruby/language-configuration.json.extensionResource.js +2 -0
  394. package/dist/vscode-default-extensions/ruby/syntaxes/ruby.tmLanguage.json.extensionResource.js +2 -0
  395. package/dist/vscode-default-extensions/rust/language-configuration.json.extensionResource.js +2 -0
  396. package/dist/vscode-default-extensions/rust/syntaxes/rust.tmLanguage.json.extensionResource.js +2 -0
  397. package/dist/vscode-default-extensions/scss/language-configuration.json.extensionResource.js +2 -0
  398. package/dist/vscode-default-extensions/scss/syntaxes/sassdoc.tmLanguage.json.extensionResource.js +2 -0
  399. package/dist/vscode-default-extensions/scss/syntaxes/scss.tmLanguage.json.extensionResource.js +2 -0
  400. package/dist/vscode-default-extensions/shaderlab/language-configuration.json.extensionResource.js +2 -0
  401. package/dist/vscode-default-extensions/shaderlab/syntaxes/shaderlab.tmLanguage.json.extensionResource.js +2 -0
  402. package/dist/vscode-default-extensions/shellscript/language-configuration.json.extensionResource.js +2 -0
  403. package/dist/vscode-default-extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json.extensionResource.js +2 -0
  404. package/dist/vscode-default-extensions/sql/language-configuration.json.extensionResource.js +2 -0
  405. package/dist/vscode-default-extensions/sql/syntaxes/sql.tmLanguage.json.extensionResource.js +2 -0
  406. package/dist/vscode-default-extensions/swift/language-configuration.json.extensionResource.js +2 -0
  407. package/dist/vscode-default-extensions/swift/snippets/swift.code-snippets.extensionResource.js +2 -0
  408. package/dist/vscode-default-extensions/swift/syntaxes/swift.tmLanguage.json.extensionResource.js +2 -0
  409. package/dist/vscode-default-extensions/theme-abyss/themes/abyss-color-theme.json.extensionResource.js +2 -0
  410. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/document-dark.svg.extensionResource.js +2 -0
  411. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/document-light.svg.extensionResource.js +2 -0
  412. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-dark.svg.extensionResource.js +2 -0
  413. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-light.svg.extensionResource.js +2 -0
  414. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-open-dark.svg.extensionResource.js +2 -0
  415. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-open-light.svg.extensionResource.js +2 -0
  416. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-dark.svg.extensionResource.js +2 -0
  417. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-light.svg.extensionResource.js +2 -0
  418. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-open-dark.svg.extensionResource.js +2 -0
  419. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-open-light.svg.extensionResource.js +2 -0
  420. package/dist/vscode-default-extensions/theme-defaults/fileicons/vs_minimal-icon-theme.json.extensionResource.js +2 -0
  421. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus.json.extensionResource.js +2 -0
  422. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus_experimental.json.extensionResource.js +2 -0
  423. package/dist/vscode-default-extensions/theme-defaults/themes/dark_vs.json.extensionResource.js +2 -0
  424. package/dist/vscode-default-extensions/theme-defaults/themes/hc_black.json.extensionResource.js +2 -0
  425. package/dist/vscode-default-extensions/theme-defaults/themes/hc_light.json.extensionResource.js +2 -0
  426. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus.json.extensionResource.js +2 -0
  427. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus_experimental.json.extensionResource.js +2 -0
  428. package/dist/vscode-default-extensions/theme-defaults/themes/light_vs.json.extensionResource.js +2 -0
  429. package/dist/vscode-default-extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json.extensionResource.js +2 -0
  430. package/dist/vscode-default-extensions/theme-monokai/themes/monokai-color-theme.json.extensionResource.js +2 -0
  431. package/dist/vscode-default-extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json.extensionResource.js +2 -0
  432. package/dist/vscode-default-extensions/theme-quietlight/themes/quietlight-color-theme.json.extensionResource.js +2 -0
  433. package/dist/vscode-default-extensions/theme-red/themes/Red-color-theme.json.extensionResource.js +2 -0
  434. package/dist/vscode-default-extensions/theme-seti/icons/seti.woff.extensionResource.js +2 -0
  435. package/dist/vscode-default-extensions/theme-seti/icons/vs-seti-icon-theme.json.extensionResource.js +2 -0
  436. package/dist/vscode-default-extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json.extensionResource.js +2 -0
  437. package/dist/vscode-default-extensions/theme-solarized-light/themes/solarized-light-color-theme.json.extensionResource.js +2 -0
  438. package/dist/vscode-default-extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json.extensionResource.js +2 -0
  439. package/dist/vscode-default-extensions/typescript-basics/language-configuration.json.extensionResource.js +2 -0
  440. package/dist/vscode-default-extensions/typescript-basics/snippets/typescript.code-snippets.extensionResource.js +2 -0
  441. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json.extensionResource.js +2 -0
  442. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScriptReact.tmLanguage.json.extensionResource.js +2 -0
  443. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.js.injection.tmLanguage.json.extensionResource.js +2 -0
  444. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.ts.injection.tmLanguage.json.extensionResource.js +2 -0
  445. package/dist/vscode-default-extensions/vb/language-configuration.json.extensionResource.js +2 -0
  446. package/dist/vscode-default-extensions/vb/snippets/vb.code-snippets.extensionResource.js +2 -0
  447. package/dist/vscode-default-extensions/vb/syntaxes/asp-vb-net.tmlanguage.json.extensionResource.js +2 -0
  448. package/dist/vscode-default-extensions/xml/syntaxes/xml.tmLanguage.json.extensionResource.js +2 -0
  449. package/dist/vscode-default-extensions/xml/syntaxes/xsl.tmLanguage.json.extensionResource.js +2 -0
  450. package/dist/vscode-default-extensions/xml/xml.language-configuration.json.extensionResource.js +2 -0
  451. package/dist/vscode-default-extensions/xml/xsl.language-configuration.json.extensionResource.js +2 -0
  452. package/dist/vscode-default-extensions/yaml/language-configuration.json.extensionResource.js +2 -0
  453. package/dist/vscode-default-extensions/yaml/syntaxes/yaml.tmLanguage.json.extensionResource.js +2 -0
  454. package/dist/vscode-services/extHost.js +28 -5
  455. package/dist/vscode-services/l10n.js +26 -0
  456. package/dist/vscode-services/missing-services.js +60 -9
  457. package/dist/vscode-services/window.js +23 -5
  458. package/monaco-editor-treemending.patch +818 -818
  459. package/package.json +12 -1
  460. package/dist/assets/editorstatus.css +0 -51
  461. package/dist/default-extensions/typescript-language-features.js +0 -6
  462. package/dist/extension-tools-b68a64de.js +0 -1024
  463. package/dist/vscode/vs/workbench/browser/parts/editor/editorPane.js +0 -242
  464. package/dist/vscode/vs/workbench/browser/parts/editor/editorStatus.js +0 -460
  465. package/dist/vscode/vs/workbench/browser/parts/editor/editorWithViewState.js +0 -139
  466. package/dist/vscode/vs/workbench/browser/parts/editor/sideBySideEditor.js +0 -387
  467. package/dist/vscode/vs/workbench/browser/parts/editor/textDiffEditor.js +0 -289
  468. package/dist/vscode-default-extensions/bat/language-configuration.json.js +0 -2
  469. package/dist/vscode-default-extensions/bat/snippets/batchfile.code-snippets.js +0 -2
  470. package/dist/vscode-default-extensions/bat/syntaxes/batchfile.tmLanguage.json.js +0 -2
  471. package/dist/vscode-default-extensions/clojure/language-configuration.json.js +0 -2
  472. package/dist/vscode-default-extensions/clojure/syntaxes/clojure.tmLanguage.json.js +0 -2
  473. package/dist/vscode-default-extensions/coffeescript/language-configuration.json.js +0 -2
  474. package/dist/vscode-default-extensions/coffeescript/snippets/coffeescript.code-snippets.js +0 -2
  475. package/dist/vscode-default-extensions/coffeescript/syntaxes/coffeescript.tmLanguage.json.js +0 -2
  476. package/dist/vscode-default-extensions/cpp/language-configuration.json.js +0 -2
  477. package/dist/vscode-default-extensions/cpp/snippets/c.code-snippets.js +0 -2
  478. package/dist/vscode-default-extensions/cpp/snippets/cpp.code-snippets.js +0 -2
  479. package/dist/vscode-default-extensions/cpp/syntaxes/c.tmLanguage.json.js +0 -2
  480. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json.js +0 -2
  481. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.tmLanguage.json.js +0 -2
  482. package/dist/vscode-default-extensions/cpp/syntaxes/cuda-cpp.tmLanguage.json.js +0 -2
  483. package/dist/vscode-default-extensions/csharp/language-configuration.json.js +0 -2
  484. package/dist/vscode-default-extensions/csharp/snippets/csharp.code-snippets.js +0 -2
  485. package/dist/vscode-default-extensions/csharp/syntaxes/csharp.tmLanguage.json.js +0 -2
  486. package/dist/vscode-default-extensions/css/language-configuration.json.js +0 -2
  487. package/dist/vscode-default-extensions/css/syntaxes/css.tmLanguage.json.js +0 -2
  488. package/dist/vscode-default-extensions/dart/language-configuration.json.js +0 -2
  489. package/dist/vscode-default-extensions/dart/syntaxes/dart.tmLanguage.json.js +0 -2
  490. package/dist/vscode-default-extensions/diff/language-configuration.json.js +0 -2
  491. package/dist/vscode-default-extensions/diff/syntaxes/diff.tmLanguage.json.js +0 -2
  492. package/dist/vscode-default-extensions/docker/language-configuration.json.js +0 -2
  493. package/dist/vscode-default-extensions/docker/syntaxes/docker.tmLanguage.json.js +0 -2
  494. package/dist/vscode-default-extensions/fsharp/language-configuration.json.js +0 -2
  495. package/dist/vscode-default-extensions/fsharp/snippets/fsharp.code-snippets.js +0 -2
  496. package/dist/vscode-default-extensions/fsharp/syntaxes/fsharp.tmLanguage.json.js +0 -2
  497. package/dist/vscode-default-extensions/go/language-configuration.json.js +0 -2
  498. package/dist/vscode-default-extensions/go/syntaxes/go.tmLanguage.json.js +0 -2
  499. package/dist/vscode-default-extensions/groovy/language-configuration.json.js +0 -2
  500. package/dist/vscode-default-extensions/groovy/snippets/groovy.code-snippets.js +0 -2
  501. package/dist/vscode-default-extensions/groovy/syntaxes/groovy.tmLanguage.json.js +0 -2
  502. package/dist/vscode-default-extensions/handlebars/language-configuration.json.js +0 -2
  503. package/dist/vscode-default-extensions/handlebars/syntaxes/Handlebars.tmLanguage.json.js +0 -2
  504. package/dist/vscode-default-extensions/hlsl/language-configuration.json.js +0 -2
  505. package/dist/vscode-default-extensions/hlsl/syntaxes/hlsl.tmLanguage.json.js +0 -2
  506. package/dist/vscode-default-extensions/html/language-configuration.json.js +0 -2
  507. package/dist/vscode-default-extensions/html/snippets/html.code-snippets.js +0 -2
  508. package/dist/vscode-default-extensions/html/syntaxes/html-derivative.tmLanguage.json.js +0 -2
  509. package/dist/vscode-default-extensions/html/syntaxes/html.tmLanguage.json.js +0 -2
  510. package/dist/vscode-default-extensions/ini/ini.language-configuration.json.js +0 -2
  511. package/dist/vscode-default-extensions/ini/properties.language-configuration.json.js +0 -2
  512. package/dist/vscode-default-extensions/ini/syntaxes/ini.tmLanguage.json.js +0 -2
  513. package/dist/vscode-default-extensions/java/language-configuration.json.js +0 -2
  514. package/dist/vscode-default-extensions/java/snippets/java.code-snippets.js +0 -2
  515. package/dist/vscode-default-extensions/java/syntaxes/java.tmLanguage.json.js +0 -2
  516. package/dist/vscode-default-extensions/javascript/javascript-language-configuration.json.js +0 -2
  517. package/dist/vscode-default-extensions/javascript/snippets/javascript.code-snippets.js +0 -2
  518. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScript.tmLanguage.json.js +0 -2
  519. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScriptReact.tmLanguage.json.js +0 -2
  520. package/dist/vscode-default-extensions/javascript/syntaxes/Regular Expressions (JavaScript).tmLanguage.js +0 -2
  521. package/dist/vscode-default-extensions/javascript/tags-language-configuration.json.js +0 -2
  522. package/dist/vscode-default-extensions/json/language-configuration.json.js +0 -2
  523. package/dist/vscode-default-extensions/json/syntaxes/JSON.tmLanguage.json.js +0 -2
  524. package/dist/vscode-default-extensions/json/syntaxes/JSONC.tmLanguage.json.js +0 -2
  525. package/dist/vscode-default-extensions/julia/language-configuration.json.js +0 -2
  526. package/dist/vscode-default-extensions/julia/syntaxes/julia.tmLanguage.json.js +0 -2
  527. package/dist/vscode-default-extensions/latex/latex-cpp-embedded-language-configuration.json.js +0 -2
  528. package/dist/vscode-default-extensions/latex/latex-language-configuration.json.js +0 -2
  529. package/dist/vscode-default-extensions/latex/markdown-latex-combined-language-configuration.json.js +0 -2
  530. package/dist/vscode-default-extensions/latex/syntaxes/Bibtex.tmLanguage.json.js +0 -2
  531. package/dist/vscode-default-extensions/latex/syntaxes/LaTeX.tmLanguage.json.js +0 -2
  532. package/dist/vscode-default-extensions/latex/syntaxes/TeX.tmLanguage.json.js +0 -2
  533. package/dist/vscode-default-extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json.js +0 -2
  534. package/dist/vscode-default-extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json.js +0 -2
  535. package/dist/vscode-default-extensions/less/language-configuration.json.js +0 -2
  536. package/dist/vscode-default-extensions/less/syntaxes/less.tmLanguage.json.js +0 -2
  537. package/dist/vscode-default-extensions/log/syntaxes/log.tmLanguage.json.js +0 -2
  538. package/dist/vscode-default-extensions/lua/language-configuration.json.js +0 -2
  539. package/dist/vscode-default-extensions/lua/syntaxes/lua.tmLanguage.json.js +0 -2
  540. package/dist/vscode-default-extensions/make/language-configuration.json.js +0 -2
  541. package/dist/vscode-default-extensions/make/syntaxes/make.tmLanguage.json.js +0 -2
  542. package/dist/vscode-default-extensions/markdown-basics/language-configuration.json.js +0 -2
  543. package/dist/vscode-default-extensions/markdown-basics/snippets/markdown.code-snippets.js +0 -2
  544. package/dist/vscode-default-extensions/markdown-basics/syntaxes/markdown.tmLanguage.json.js +0 -2
  545. package/dist/vscode-default-extensions/objective-c/language-configuration.json.js +0 -2
  546. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c.tmLanguage.json.js +0 -2
  547. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c__.tmLanguage.json.js +0 -2
  548. package/dist/vscode-default-extensions/perl/perl.language-configuration.json.js +0 -2
  549. package/dist/vscode-default-extensions/perl/perl6.language-configuration.json.js +0 -2
  550. package/dist/vscode-default-extensions/perl/syntaxes/perl.tmLanguage.json.js +0 -2
  551. package/dist/vscode-default-extensions/perl/syntaxes/perl6.tmLanguage.json.js +0 -2
  552. package/dist/vscode-default-extensions/php/language-configuration.json.js +0 -2
  553. package/dist/vscode-default-extensions/php/snippets/php.code-snippets.js +0 -2
  554. package/dist/vscode-default-extensions/php/syntaxes/html.tmLanguage.json.js +0 -2
  555. package/dist/vscode-default-extensions/php/syntaxes/php.tmLanguage.json.js +0 -2
  556. package/dist/vscode-default-extensions/powershell/language-configuration.json.js +0 -2
  557. package/dist/vscode-default-extensions/powershell/syntaxes/powershell.tmLanguage.json.js +0 -2
  558. package/dist/vscode-default-extensions/pug/language-configuration.json.js +0 -2
  559. package/dist/vscode-default-extensions/pug/syntaxes/pug.tmLanguage.json.js +0 -2
  560. package/dist/vscode-default-extensions/python/language-configuration.json.js +0 -2
  561. package/dist/vscode-default-extensions/python/syntaxes/MagicPython.tmLanguage.json.js +0 -2
  562. package/dist/vscode-default-extensions/python/syntaxes/MagicRegExp.tmLanguage.json.js +0 -2
  563. package/dist/vscode-default-extensions/r/language-configuration.json.js +0 -2
  564. package/dist/vscode-default-extensions/r/syntaxes/r.tmLanguage.json.js +0 -2
  565. package/dist/vscode-default-extensions/razor/language-configuration.json.js +0 -2
  566. package/dist/vscode-default-extensions/razor/syntaxes/cshtml.tmLanguage.json.js +0 -2
  567. package/dist/vscode-default-extensions/ruby/language-configuration.json.js +0 -2
  568. package/dist/vscode-default-extensions/ruby/syntaxes/ruby.tmLanguage.json.js +0 -2
  569. package/dist/vscode-default-extensions/rust/language-configuration.json.js +0 -2
  570. package/dist/vscode-default-extensions/rust/syntaxes/rust.tmLanguage.json.js +0 -2
  571. package/dist/vscode-default-extensions/scss/language-configuration.json.js +0 -2
  572. package/dist/vscode-default-extensions/scss/syntaxes/sassdoc.tmLanguage.json.js +0 -2
  573. package/dist/vscode-default-extensions/scss/syntaxes/scss.tmLanguage.json.js +0 -2
  574. package/dist/vscode-default-extensions/shaderlab/language-configuration.json.js +0 -2
  575. package/dist/vscode-default-extensions/shaderlab/syntaxes/shaderlab.tmLanguage.json.js +0 -2
  576. package/dist/vscode-default-extensions/shellscript/language-configuration.json.js +0 -2
  577. package/dist/vscode-default-extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json.js +0 -2
  578. package/dist/vscode-default-extensions/sql/language-configuration.json.js +0 -2
  579. package/dist/vscode-default-extensions/sql/syntaxes/sql.tmLanguage.json.js +0 -2
  580. package/dist/vscode-default-extensions/swift/language-configuration.json.js +0 -2
  581. package/dist/vscode-default-extensions/swift/snippets/swift.code-snippets.js +0 -2
  582. package/dist/vscode-default-extensions/swift/syntaxes/swift.tmLanguage.json.js +0 -2
  583. package/dist/vscode-default-extensions/theme-abyss/themes/abyss-color-theme.json.js +0 -2
  584. package/dist/vscode-default-extensions/theme-defaults/fileicons/vs_minimal-icon-theme.json.js +0 -2
  585. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus.json.js +0 -2
  586. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus_experimental.json.js +0 -2
  587. package/dist/vscode-default-extensions/theme-defaults/themes/dark_vs.json.js +0 -2
  588. package/dist/vscode-default-extensions/theme-defaults/themes/hc_black.json.js +0 -2
  589. package/dist/vscode-default-extensions/theme-defaults/themes/hc_light.json.js +0 -2
  590. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus.json.js +0 -2
  591. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus_experimental.json.js +0 -2
  592. package/dist/vscode-default-extensions/theme-defaults/themes/light_vs.json.js +0 -2
  593. package/dist/vscode-default-extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json.js +0 -2
  594. package/dist/vscode-default-extensions/theme-monokai/themes/monokai-color-theme.json.js +0 -2
  595. package/dist/vscode-default-extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json.js +0 -2
  596. package/dist/vscode-default-extensions/theme-quietlight/themes/quietlight-color-theme.json.js +0 -2
  597. package/dist/vscode-default-extensions/theme-red/themes/Red-color-theme.json.js +0 -2
  598. package/dist/vscode-default-extensions/theme-seti/icons/vs-seti-icon-theme.json.js +0 -2
  599. package/dist/vscode-default-extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json.js +0 -2
  600. package/dist/vscode-default-extensions/theme-solarized-light/themes/solarized-light-color-theme.json.js +0 -2
  601. package/dist/vscode-default-extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json.js +0 -2
  602. package/dist/vscode-default-extensions/typescript-basics/language-configuration.json.js +0 -2
  603. package/dist/vscode-default-extensions/typescript-basics/snippets/typescript.code-snippets.js +0 -2
  604. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json.js +0 -2
  605. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScriptReact.tmLanguage.json.js +0 -2
  606. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.js.injection.tmLanguage.json.js +0 -2
  607. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.ts.injection.tmLanguage.json.js +0 -2
  608. package/dist/vscode-default-extensions/typescript-language-features/package.json.js +0 -2
  609. package/dist/vscode-default-extensions/vb/language-configuration.json.js +0 -2
  610. package/dist/vscode-default-extensions/vb/snippets/vb.code-snippets.js +0 -2
  611. package/dist/vscode-default-extensions/vb/syntaxes/asp-vb-net.tmlanguage.json.js +0 -2
  612. package/dist/vscode-default-extensions/xml/syntaxes/xml.tmLanguage.json.js +0 -2
  613. package/dist/vscode-default-extensions/xml/syntaxes/xsl.tmLanguage.json.js +0 -2
  614. package/dist/vscode-default-extensions/xml/xml.language-configuration.json.js +0 -2
  615. package/dist/vscode-default-extensions/xml/xsl.language-configuration.json.js +0 -2
  616. package/dist/vscode-default-extensions/yaml/language-configuration.json.js +0 -2
  617. package/dist/vscode-default-extensions/yaml/syntaxes/yaml.tmLanguage.json.js +0 -2
@@ -0,0 +1,1486 @@
1
+ import { __decorate, __param } from '../../../../../../node_modules/tslib/tslib.es6.js';
2
+ import { DataTransfers } from 'monaco-editor/esm/vs/base/browser/dnd.js';
3
+ import * as dom from 'monaco-editor/esm/vs/base/browser/dom.js';
4
+ import { renderMarkdownAsPlaintext } from 'monaco-editor/esm/vs/base/browser/markdownRenderer.js';
5
+ import { ActionBar } from 'monaco-editor/esm/vs/base/browser/ui/actionbar/actionbar.js';
6
+ import { ActionViewItem } from 'monaco-editor/esm/vs/base/browser/ui/actionbar/actionViewItems.js';
7
+ import { CollapseAllAction } from '../../../../base/browser/ui/tree/treeDefaults.js';
8
+ import { ActionRunner } from 'monaco-editor/esm/vs/base/common/actions.js';
9
+ import { timeout } from 'monaco-editor/esm/vs/base/common/async.js';
10
+ import { CancellationTokenSource, CancellationToken } from 'monaco-editor/esm/vs/base/common/cancellation.js';
11
+ import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
12
+ import { isCancellationError } from 'monaco-editor/esm/vs/base/common/errors.js';
13
+ import { Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
14
+ import { createMatches } from 'monaco-editor/esm/vs/base/common/filters.js';
15
+ import { Disposable, DisposableStore, toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
16
+ import { Mimes } from 'monaco-editor/esm/vs/base/common/mime.js';
17
+ import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
18
+ import { basename, dirname } from 'monaco-editor/esm/vs/base/common/resources.js';
19
+ import { isFalsyOrWhitespace } from 'monaco-editor/esm/vs/base/common/strings.js';
20
+ import { isString } from 'monaco-editor/esm/vs/base/common/types.js';
21
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
22
+ import { generateUuid } from 'monaco-editor/esm/vs/base/common/uuid.js';
23
+ import "../../../../../../assets/views.css";
24
+ import { VSDataTransfer } from 'monaco-editor/esm/vs/base/common/dataTransfer.js';
25
+ import { localize } from 'monaco-editor/esm/vs/nls.js';
26
+ import { createActionViewItem, createAndFillInContextMenuActions } from 'monaco-editor/esm/vs/platform/actions/browser/menuEntryActionViewItem.js';
27
+ import { MenuId, MenuRegistry, registerAction2, Action2, IMenuService } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
28
+ import { CommandsRegistry, ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
29
+ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
30
+ import { IContextKeyService, RawContextKey, ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
31
+ import { IContextMenuService } from 'monaco-editor/esm/vs/platform/contextview/browser/contextView.js';
32
+ import { FileKind } from 'monaco-editor/esm/vs/platform/files/common/files.js';
33
+ import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
34
+ import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/common/keybinding.js';
35
+ import { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.js';
36
+ import { WorkbenchAsyncDataTree } from 'monaco-editor/esm/vs/platform/list/browser/listService.js';
37
+ import { ILogService } from 'monaco-editor/esm/vs/platform/log/common/log.js';
38
+ import { INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
39
+ import { IOpenerService } from 'monaco-editor/esm/vs/platform/opener/common/opener.js';
40
+ import { IProgressService } from 'monaco-editor/esm/vs/platform/progress/common/progress.js';
41
+ import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
42
+ import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
43
+ import { ColorScheme } from 'monaco-editor/esm/vs/platform/theme/common/theme.js';
44
+ import { FolderThemeIcon, FileThemeIcon, IThemeService } from 'monaco-editor/esm/vs/platform/theme/common/themeService.js';
45
+ import { ThemeIcon } from 'monaco-editor/esm/vs/base/common/themables.js';
46
+ import { LocalSelectionTransfer, DraggedTreeItemsIdentifier, fillEditorsDragData } from '../../dnd.js';
47
+ import { ResourceLabels } from '../../labels.js';
48
+ import { API_OPEN_EDITOR_COMMAND_ID, API_OPEN_DIFF_EDITOR_COMMAND_ID } from '../editor/editorCommands.js';
49
+ import { ViewPane } from './viewPane.js';
50
+ import { PANEL_BACKGROUND, SIDE_BAR_BACKGROUND } from '../../../common/theme.js';
51
+ import { ResolvableTreeItem, TreeItemCollapsibleState, Extensions, IViewDescriptorService, NoTreeViewError } from '../../../common/views.js';
52
+ import { IActivityService, NumberBadge } from '../../../services/activity/common/activity.js';
53
+ import { IExtensionService } from '../../../services/extensions/common/extensions.js';
54
+ import { IHoverService } from '../../../services/hover/browser/hover.js';
55
+ import { ITreeViewsService } from '../../../services/views/browser/treeViewsService.js';
56
+ import { CodeDataTransfers } from 'monaco-editor/esm/vs/platform/dnd/browser/dnd.js';
57
+ import { toVSDataTransfer, addExternalEditorsDropData } from 'monaco-editor/esm/vs/editor/browser/dnd.js';
58
+ import { TreeItemCheckbox, CheckboxStateHandler } from './checkbox.js';
59
+ import { setTimeout0 } from 'monaco-editor/esm/vs/base/common/platform.js';
60
+ import { TelemetryTrustedValue } from '../../../../platform/telemetry/common/telemetryUtils.js';
61
+ import { ITreeViewsDnDService } from '../../../../editor/common/services/treeViewsDndService.js';
62
+ let TreeViewPane = class TreeViewPane extends ViewPane {
63
+ constructor(options, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService, notificationService) {
64
+ super({ ...options, titleMenuId: MenuId.ViewTitle, donotForwardArgs: false }, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService);
65
+ const { treeView } = ( Registry.as(Extensions.ViewsRegistry)).getView(options.id);
66
+ this.treeView = treeView;
67
+ this._register(this.treeView.onDidChangeActions(() => this.updateActions(), this));
68
+ this._register(this.treeView.onDidChangeTitle((newTitle) => this.updateTitle(newTitle)));
69
+ this._register(this.treeView.onDidChangeDescription((newDescription) => this.updateTitleDescription(newDescription)));
70
+ this._register(toDisposable(() => {
71
+ if (this._container && this.treeView.container && (this._container === this.treeView.container)) {
72
+ this.treeView.setVisibility(false);
73
+ }
74
+ }));
75
+ this._register(this.onDidChangeBodyVisibility(() => this.updateTreeVisibility()));
76
+ this._register(this.treeView.onDidChangeWelcomeState(() => this._onDidChangeViewWelcomeState.fire()));
77
+ if (options.title !== this.treeView.title) {
78
+ this.updateTitle(this.treeView.title);
79
+ }
80
+ if (options.titleDescription !== this.treeView.description) {
81
+ this.updateTitleDescription(this.treeView.description);
82
+ }
83
+ this._actionRunner = ( new MultipleSelectionActionRunner(notificationService, () => this.treeView.getSelection()));
84
+ this.updateTreeVisibility();
85
+ }
86
+ focus() {
87
+ super.focus();
88
+ this.treeView.focus();
89
+ }
90
+ renderBody(container) {
91
+ this._container = container;
92
+ super.renderBody(container);
93
+ this.renderTreeView(container);
94
+ }
95
+ shouldShowWelcome() {
96
+ return ((this.treeView.dataProvider === undefined) || !!this.treeView.dataProvider.isTreeEmpty) && (this.treeView.message === undefined);
97
+ }
98
+ layoutBody(height, width) {
99
+ super.layoutBody(height, width);
100
+ this.layoutTreeView(height, width);
101
+ }
102
+ getOptimalWidth() {
103
+ return this.treeView.getOptimalWidth();
104
+ }
105
+ renderTreeView(container) {
106
+ this.treeView.show(container);
107
+ }
108
+ layoutTreeView(height, width) {
109
+ this.treeView.layout(height, width);
110
+ }
111
+ updateTreeVisibility() {
112
+ this.treeView.setVisibility(this.isBodyVisible());
113
+ }
114
+ getActionRunner() {
115
+ return this._actionRunner;
116
+ }
117
+ getActionsContext() {
118
+ return { $treeViewId: this.id, $focusedTreeItem: true, $selectedTreeItems: true };
119
+ }
120
+ };
121
+ TreeViewPane = ( __decorate([
122
+ ( __param(1, IKeybindingService)),
123
+ ( __param(2, IContextMenuService)),
124
+ ( __param(3, IConfigurationService)),
125
+ ( __param(4, IContextKeyService)),
126
+ ( __param(5, IViewDescriptorService)),
127
+ ( __param(6, IInstantiationService)),
128
+ ( __param(7, IOpenerService)),
129
+ ( __param(8, IThemeService)),
130
+ ( __param(9, ITelemetryService)),
131
+ ( __param(10, INotificationService))
132
+ ], TreeViewPane));
133
+ class Root {
134
+ constructor() {
135
+ this.label = { label: 'root' };
136
+ this.handle = '0';
137
+ this.parentHandle = undefined;
138
+ this.collapsibleState = TreeItemCollapsibleState.Expanded;
139
+ this.children = undefined;
140
+ }
141
+ }
142
+ function isTreeCommandEnabled(treeCommand, contextKeyService) {
143
+ const command = CommandsRegistry.getCommand(treeCommand.originalId ? treeCommand.originalId : treeCommand.id);
144
+ if (command) {
145
+ const commandAction = MenuRegistry.getCommand(command.id);
146
+ const precondition = commandAction && commandAction.precondition;
147
+ if (precondition) {
148
+ return contextKeyService.contextMatchesRules(precondition);
149
+ }
150
+ }
151
+ return true;
152
+ }
153
+ const noDataProviderMessage = ( localize(
154
+ 'no-dataprovider',
155
+ "There is no data provider registered that can provide view data."
156
+ ));
157
+ const RawCustomTreeViewContextKey = ( new RawContextKey('customTreeView', false));
158
+ class Tree extends WorkbenchAsyncDataTree {
159
+ }
160
+ let AbstractTreeView = class AbstractTreeView extends Disposable {
161
+ constructor(id, _title, themeService, instantiationService, commandService, configurationService, progressService, contextMenuService, keybindingService, notificationService, viewDescriptorService, hoverService, contextKeyService, activityService, logService) {
162
+ super();
163
+ this.id = id;
164
+ this._title = _title;
165
+ this.themeService = themeService;
166
+ this.instantiationService = instantiationService;
167
+ this.commandService = commandService;
168
+ this.configurationService = configurationService;
169
+ this.progressService = progressService;
170
+ this.contextMenuService = contextMenuService;
171
+ this.keybindingService = keybindingService;
172
+ this.notificationService = notificationService;
173
+ this.viewDescriptorService = viewDescriptorService;
174
+ this.hoverService = hoverService;
175
+ this.contextKeyService = contextKeyService;
176
+ this.activityService = activityService;
177
+ this.logService = logService;
178
+ this.isVisible = false;
179
+ this._hasIconForParentNode = false;
180
+ this._hasIconForLeafNode = false;
181
+ this.focused = false;
182
+ this._canSelectMany = false;
183
+ this.elementsToRefresh = [];
184
+ this._onDidExpandItem = this._register(( new Emitter()));
185
+ this.onDidExpandItem = this._onDidExpandItem.event;
186
+ this._onDidCollapseItem = this._register(( new Emitter()));
187
+ this.onDidCollapseItem = this._onDidCollapseItem.event;
188
+ this._onDidChangeSelection = this._register(( new Emitter()));
189
+ this.onDidChangeSelection = this._onDidChangeSelection.event;
190
+ this._onDidChangeFocus = this._register(( new Emitter()));
191
+ this.onDidChangeFocus = this._onDidChangeFocus.event;
192
+ this._onDidChangeVisibility = this._register(( new Emitter()));
193
+ this.onDidChangeVisibility = this._onDidChangeVisibility.event;
194
+ this._onDidChangeActions = this._register(( new Emitter()));
195
+ this.onDidChangeActions = this._onDidChangeActions.event;
196
+ this._onDidChangeWelcomeState = this._register(( new Emitter()));
197
+ this.onDidChangeWelcomeState = this._onDidChangeWelcomeState.event;
198
+ this._onDidChangeTitle = this._register(( new Emitter()));
199
+ this.onDidChangeTitle = this._onDidChangeTitle.event;
200
+ this._onDidChangeDescription = this._register(( new Emitter()));
201
+ this.onDidChangeDescription = this._onDidChangeDescription.event;
202
+ this._onDidChangeCheckboxState = this._register(( new Emitter()));
203
+ this.onDidChangeCheckboxState = this._onDidChangeCheckboxState.event;
204
+ this._onDidCompleteRefresh = this._register(( new Emitter()));
205
+ this._isInitialized = false;
206
+ this._height = 0;
207
+ this._width = 0;
208
+ this.refreshing = false;
209
+ this.root = ( new Root());
210
+ }
211
+ initialize() {
212
+ if (this._isInitialized) {
213
+ return;
214
+ }
215
+ this._isInitialized = true;
216
+ this.contextKeyService.bufferChangeEvents(() => {
217
+ this.initializeShowCollapseAllAction();
218
+ this.initializeCollapseAllToggle();
219
+ this.initializeShowRefreshAction();
220
+ });
221
+ this.treeViewDnd = this.instantiationService.createInstance(CustomTreeViewDragAndDrop, this.id);
222
+ if (this._dragAndDropController) {
223
+ this.treeViewDnd.controller = this._dragAndDropController;
224
+ }
225
+ this._register(this.configurationService.onDidChangeConfiguration(e => {
226
+ if (e.affectsConfiguration('explorer.decorations')) {
227
+ this.doRefresh([this.root]);
228
+ }
229
+ }));
230
+ this._register(this.viewDescriptorService.onDidChangeLocation(({ views, from, to }) => {
231
+ if (( views.some(v => v.id === this.id))) {
232
+ this.tree?.updateOptions({ overrideStyles: { listBackground: this.viewLocation === 1 ? PANEL_BACKGROUND : SIDE_BAR_BACKGROUND } });
233
+ }
234
+ }));
235
+ this.registerActions();
236
+ this.create();
237
+ }
238
+ get viewContainer() {
239
+ return this.viewDescriptorService.getViewContainerByViewId(this.id);
240
+ }
241
+ get viewLocation() {
242
+ return this.viewDescriptorService.getViewLocationById(this.id);
243
+ }
244
+ get dragAndDropController() {
245
+ return this._dragAndDropController;
246
+ }
247
+ set dragAndDropController(dnd) {
248
+ this._dragAndDropController = dnd;
249
+ if (this.treeViewDnd) {
250
+ this.treeViewDnd.controller = dnd;
251
+ }
252
+ }
253
+ get dataProvider() {
254
+ return this._dataProvider;
255
+ }
256
+ set dataProvider(dataProvider) {
257
+ if (dataProvider) {
258
+ const self = this;
259
+ this._dataProvider = new (class {
260
+ constructor() {
261
+ this._isEmpty = true;
262
+ this._onDidChangeEmpty = ( new Emitter());
263
+ this.onDidChangeEmpty = this._onDidChangeEmpty.event;
264
+ }
265
+ get isTreeEmpty() {
266
+ return this._isEmpty;
267
+ }
268
+ async getChildren(node) {
269
+ let children;
270
+ if (node && node.children) {
271
+ children = node.children;
272
+ }
273
+ else {
274
+ node = node ?? self.root;
275
+ try {
276
+ node.children = await (node instanceof Root ? dataProvider.getChildren() : dataProvider.getChildren(node));
277
+ children = node.children ?? [];
278
+ }
279
+ catch (e) {
280
+ if (e instanceof NoTreeViewError) {
281
+ node.children = [];
282
+ children = [];
283
+ return children;
284
+ }
285
+ else {
286
+ throw e;
287
+ }
288
+ }
289
+ }
290
+ if (node instanceof Root) {
291
+ const oldEmpty = this._isEmpty;
292
+ this._isEmpty = children.length === 0;
293
+ if (oldEmpty !== this._isEmpty) {
294
+ this._onDidChangeEmpty.fire();
295
+ }
296
+ }
297
+ return children;
298
+ }
299
+ });
300
+ if (this._dataProvider.onDidChangeEmpty) {
301
+ this._register(this._dataProvider.onDidChangeEmpty(() => {
302
+ this.updateCollapseAllToggle();
303
+ this._onDidChangeWelcomeState.fire();
304
+ }));
305
+ }
306
+ this.updateMessage();
307
+ this.refresh();
308
+ }
309
+ else {
310
+ this._dataProvider = undefined;
311
+ this.updateMessage();
312
+ }
313
+ this._onDidChangeWelcomeState.fire();
314
+ }
315
+ get message() {
316
+ return this._message;
317
+ }
318
+ set message(message) {
319
+ this._message = message;
320
+ this.updateMessage();
321
+ this._onDidChangeWelcomeState.fire();
322
+ }
323
+ get title() {
324
+ return this._title;
325
+ }
326
+ set title(name) {
327
+ this._title = name;
328
+ this._onDidChangeTitle.fire(this._title);
329
+ }
330
+ get description() {
331
+ return this._description;
332
+ }
333
+ set description(description) {
334
+ this._description = description;
335
+ this._onDidChangeDescription.fire(this._description);
336
+ }
337
+ get badge() {
338
+ return this._badge;
339
+ }
340
+ set badge(badge) {
341
+ if (this._badge?.value === badge?.value &&
342
+ this._badge?.tooltip === badge?.tooltip) {
343
+ return;
344
+ }
345
+ if (this._badgeActivity) {
346
+ this._badgeActivity.dispose();
347
+ this._badgeActivity = undefined;
348
+ }
349
+ this._badge = badge;
350
+ if (badge) {
351
+ const activity = {
352
+ badge: ( new NumberBadge(badge.value, () => badge.tooltip)),
353
+ priority: 50
354
+ };
355
+ this._badgeActivity = this.activityService.showViewActivity(this.id, activity);
356
+ }
357
+ }
358
+ get canSelectMany() {
359
+ return this._canSelectMany;
360
+ }
361
+ set canSelectMany(canSelectMany) {
362
+ const oldCanSelectMany = this._canSelectMany;
363
+ this._canSelectMany = canSelectMany;
364
+ if (this._canSelectMany !== oldCanSelectMany) {
365
+ this.tree?.updateOptions({ multipleSelectionSupport: this.canSelectMany });
366
+ }
367
+ }
368
+ get hasIconForParentNode() {
369
+ return this._hasIconForParentNode;
370
+ }
371
+ get hasIconForLeafNode() {
372
+ return this._hasIconForLeafNode;
373
+ }
374
+ get visible() {
375
+ return this.isVisible;
376
+ }
377
+ initializeShowCollapseAllAction(startingValue = false) {
378
+ if (!this.collapseAllContext) {
379
+ this.collapseAllContextKey = ( new RawContextKey(`treeView.${this.id}.enableCollapseAll`, startingValue, ( localize(
380
+ 'treeView.enableCollapseAll',
381
+ "Whether the the tree view with id {0} enables collapse all.",
382
+ this.id
383
+ ))));
384
+ this.collapseAllContext = this.collapseAllContextKey.bindTo(this.contextKeyService);
385
+ }
386
+ return true;
387
+ }
388
+ get showCollapseAllAction() {
389
+ this.initializeShowCollapseAllAction();
390
+ return !!this.collapseAllContext?.get();
391
+ }
392
+ set showCollapseAllAction(showCollapseAllAction) {
393
+ this.initializeShowCollapseAllAction(showCollapseAllAction);
394
+ this.collapseAllContext?.set(showCollapseAllAction);
395
+ }
396
+ initializeShowRefreshAction(startingValue = false) {
397
+ if (!this.refreshContext) {
398
+ this.refreshContextKey = ( new RawContextKey(`treeView.${this.id}.enableRefresh`, startingValue, ( localize(
399
+ 'treeView.enableRefresh',
400
+ "Whether the tree view with id {0} enables refresh.",
401
+ this.id
402
+ ))));
403
+ this.refreshContext = this.refreshContextKey.bindTo(this.contextKeyService);
404
+ }
405
+ }
406
+ get showRefreshAction() {
407
+ this.initializeShowRefreshAction();
408
+ return !!this.refreshContext?.get();
409
+ }
410
+ set showRefreshAction(showRefreshAction) {
411
+ this.initializeShowRefreshAction(showRefreshAction);
412
+ this.refreshContext?.set(showRefreshAction);
413
+ }
414
+ registerActions() {
415
+ const that = this;
416
+ this._register(registerAction2(class extends Action2 {
417
+ constructor() {
418
+ super({
419
+ id: `workbench.actions.treeView.${that.id}.refresh`,
420
+ title: ( localize('refresh', "Refresh")),
421
+ menu: {
422
+ id: MenuId.ViewTitle,
423
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', that.id)), that.refreshContextKey)),
424
+ group: 'navigation',
425
+ order: Number.MAX_SAFE_INTEGER - 1,
426
+ },
427
+ icon: Codicon.refresh
428
+ });
429
+ }
430
+ async run() {
431
+ return that.refresh();
432
+ }
433
+ }));
434
+ this._register(registerAction2(class extends Action2 {
435
+ constructor() {
436
+ super({
437
+ id: `workbench.actions.treeView.${that.id}.collapseAll`,
438
+ title: ( localize('collapseAll', "Collapse All")),
439
+ menu: {
440
+ id: MenuId.ViewTitle,
441
+ when: ( ContextKeyExpr.and(( ContextKeyExpr.equals('view', that.id)), that.collapseAllContextKey)),
442
+ group: 'navigation',
443
+ order: Number.MAX_SAFE_INTEGER,
444
+ },
445
+ precondition: that.collapseAllToggleContextKey,
446
+ icon: Codicon.collapseAll
447
+ });
448
+ }
449
+ async run() {
450
+ if (that.tree) {
451
+ return ( new CollapseAllAction(that.tree, true)).run();
452
+ }
453
+ }
454
+ }));
455
+ }
456
+ setVisibility(isVisible) {
457
+ this.initialize();
458
+ isVisible = !!isVisible;
459
+ if (this.isVisible === isVisible) {
460
+ return;
461
+ }
462
+ this.isVisible = isVisible;
463
+ if (this.tree) {
464
+ if (this.isVisible) {
465
+ dom.show(this.tree.getHTMLElement());
466
+ }
467
+ else {
468
+ dom.hide(this.tree.getHTMLElement());
469
+ }
470
+ if (this.isVisible && this.elementsToRefresh.length && this.dataProvider) {
471
+ this.doRefresh(this.elementsToRefresh);
472
+ this.elementsToRefresh = [];
473
+ }
474
+ }
475
+ setTimeout0(() => {
476
+ if (this.dataProvider) {
477
+ this._onDidChangeVisibility.fire(this.isVisible);
478
+ }
479
+ });
480
+ if (this.visible) {
481
+ this.activate();
482
+ }
483
+ }
484
+ focus(reveal = true, revealItem) {
485
+ if (this.tree && this.root.children && this.root.children.length > 0) {
486
+ const element = revealItem ?? this.tree.getSelection()[0];
487
+ if (element && reveal) {
488
+ this.tree.reveal(element, 0.5);
489
+ }
490
+ this.tree.domFocus();
491
+ }
492
+ else if (this.tree) {
493
+ this.tree.domFocus();
494
+ }
495
+ else {
496
+ this.domNode.focus();
497
+ }
498
+ }
499
+ show(container) {
500
+ this._container = container;
501
+ dom.append(container, this.domNode);
502
+ }
503
+ create() {
504
+ this.domNode = dom.$('.tree-explorer-viewlet-tree-view');
505
+ this.messageElement = dom.append(this.domNode, dom.$('.message'));
506
+ this.updateMessage();
507
+ this.treeContainer = dom.append(this.domNode, dom.$('.customview-tree'));
508
+ this.treeContainer.classList.add('file-icon-themable-tree', 'show-file-icons');
509
+ const focusTracker = this._register(dom.trackFocus(this.domNode));
510
+ this._register(focusTracker.onDidFocus(() => this.focused = true));
511
+ this._register(focusTracker.onDidBlur(() => this.focused = false));
512
+ }
513
+ createTree() {
514
+ const actionViewItemProvider = createActionViewItem.bind(undefined, this.instantiationService);
515
+ const treeMenus = this._register(this.instantiationService.createInstance(TreeMenus, this.id));
516
+ this.treeLabels = this._register(this.instantiationService.createInstance(ResourceLabels, this));
517
+ const dataSource = this.instantiationService.createInstance(TreeDataSource, this, (task) => this.progressService.withProgress({ location: this.id }, () => task));
518
+ const aligner = ( new Aligner(this.themeService));
519
+ const checkboxStateHandler = this._register(( new CheckboxStateHandler()));
520
+ this._register(checkboxStateHandler.onDidChangeCheckboxState(items => {
521
+ items.forEach(item => this.tree?.rerender(item));
522
+ this._onDidChangeCheckboxState.fire(items);
523
+ }));
524
+ const renderer = this.instantiationService.createInstance(TreeRenderer, this.id, treeMenus, this.treeLabels, actionViewItemProvider, aligner, checkboxStateHandler);
525
+ const widgetAriaLabel = this._title;
526
+ this.tree = this._register(this.instantiationService.createInstance(Tree, this.id, this.treeContainer, ( new TreeViewDelegate()), [renderer], dataSource, {
527
+ identityProvider: ( new TreeViewIdentityProvider()),
528
+ accessibilityProvider: {
529
+ getAriaLabel(element) {
530
+ if (element.accessibilityInformation) {
531
+ return element.accessibilityInformation.label;
532
+ }
533
+ if (isString(element.tooltip)) {
534
+ return element.tooltip;
535
+ }
536
+ else {
537
+ if (element.resourceUri && !element.label) {
538
+ return null;
539
+ }
540
+ let buildAriaLabel = '';
541
+ if (element.label) {
542
+ buildAriaLabel += element.label.label + ' ';
543
+ }
544
+ if (element.description) {
545
+ buildAriaLabel += element.description;
546
+ }
547
+ return buildAriaLabel;
548
+ }
549
+ },
550
+ getRole(element) {
551
+ return element.accessibilityInformation?.role ?? 'treeitem';
552
+ },
553
+ getWidgetAriaLabel() {
554
+ return widgetAriaLabel;
555
+ }
556
+ },
557
+ keyboardNavigationLabelProvider: {
558
+ getKeyboardNavigationLabel: (item) => {
559
+ return item.label ? item.label.label : (item.resourceUri ? basename(URI.revive(item.resourceUri)) : undefined);
560
+ }
561
+ },
562
+ expandOnlyOnTwistieClick: (e) => {
563
+ return !!e.command || !!e.checkbox || this.configurationService.getValue('workbench.tree.expandMode') === 'doubleClick';
564
+ },
565
+ collapseByDefault: (e) => {
566
+ return e.collapsibleState !== TreeItemCollapsibleState.Expanded;
567
+ },
568
+ multipleSelectionSupport: this.canSelectMany,
569
+ dnd: this.treeViewDnd,
570
+ overrideStyles: {
571
+ listBackground: this.viewLocation === 1 ? PANEL_BACKGROUND : SIDE_BAR_BACKGROUND
572
+ }
573
+ }));
574
+ treeMenus.setContextKeyService(this.tree.contextKeyService);
575
+ aligner.tree = this.tree;
576
+ const actionRunner = ( new MultipleSelectionActionRunner(this.notificationService, () => this.tree.getSelection()));
577
+ renderer.actionRunner = actionRunner;
578
+ this.tree.contextKeyService.createKey(this.id, true);
579
+ const customTreeKey = RawCustomTreeViewContextKey.bindTo(this.tree.contextKeyService);
580
+ customTreeKey.set(true);
581
+ this._register(this.tree.onContextMenu(e => this.onContextMenu(treeMenus, e, actionRunner)));
582
+ this._register(this.tree.onDidChangeSelection(e => this._onDidChangeSelection.fire(e.elements)));
583
+ this._register(this.tree.onDidChangeFocus(e => {
584
+ if (e.elements.length) {
585
+ this._onDidChangeFocus.fire(e.elements[0]);
586
+ }
587
+ }));
588
+ this._register(this.tree.onDidChangeCollapseState(e => {
589
+ if (!e.node.element) {
590
+ return;
591
+ }
592
+ const element = Array.isArray(e.node.element.element) ? e.node.element.element[0] : e.node.element.element;
593
+ if (e.node.collapsed) {
594
+ this._onDidCollapseItem.fire(element);
595
+ }
596
+ else {
597
+ this._onDidExpandItem.fire(element);
598
+ }
599
+ }));
600
+ this.tree.setInput(this.root).then(() => this.updateContentAreas());
601
+ this._register(this.tree.onDidOpen(async (e) => {
602
+ if (!e.browserEvent) {
603
+ return;
604
+ }
605
+ if (e.browserEvent.target && e.browserEvent.target.classList.contains(TreeItemCheckbox.checkboxClass)) {
606
+ return;
607
+ }
608
+ const selection = this.tree.getSelection();
609
+ const command = await this.resolveCommand(selection.length === 1 ? selection[0] : undefined);
610
+ if (command && isTreeCommandEnabled(command, this.contextKeyService)) {
611
+ let args = command.arguments || [];
612
+ if (command.id === API_OPEN_EDITOR_COMMAND_ID || command.id === API_OPEN_DIFF_EDITOR_COMMAND_ID) {
613
+ args = [...args, e];
614
+ }
615
+ try {
616
+ await this.commandService.executeCommand(command.id, ...args);
617
+ }
618
+ catch (err) {
619
+ this.notificationService.error(err);
620
+ }
621
+ }
622
+ }));
623
+ this._register(treeMenus.onDidChange((changed) => {
624
+ if (this.tree?.hasNode(changed)) {
625
+ this.tree?.rerender(changed);
626
+ }
627
+ }));
628
+ }
629
+ async resolveCommand(element) {
630
+ let command = element?.command;
631
+ if (element && !command) {
632
+ if ((element instanceof ResolvableTreeItem) && element.hasResolve) {
633
+ await element.resolve(( new CancellationTokenSource()).token);
634
+ command = element.command;
635
+ }
636
+ }
637
+ return command;
638
+ }
639
+ onContextMenu(treeMenus, treeEvent, actionRunner) {
640
+ this.hoverService.hideHover();
641
+ const node = treeEvent.element;
642
+ if (node === null) {
643
+ return;
644
+ }
645
+ const event = treeEvent.browserEvent;
646
+ event.preventDefault();
647
+ event.stopPropagation();
648
+ this.tree.setFocus([node]);
649
+ const actions = treeMenus.getResourceContextActions(node);
650
+ if (!actions.length) {
651
+ return;
652
+ }
653
+ this.contextMenuService.showContextMenu({
654
+ getAnchor: () => treeEvent.anchor,
655
+ getActions: () => actions,
656
+ getActionViewItem: (action) => {
657
+ const keybinding = this.keybindingService.lookupKeybinding(action.id);
658
+ if (keybinding) {
659
+ return ( new ActionViewItem(action, action, { label: true, keybinding: keybinding.getLabel() }));
660
+ }
661
+ return undefined;
662
+ },
663
+ onHide: (wasCancelled) => {
664
+ if (wasCancelled) {
665
+ this.tree.domFocus();
666
+ }
667
+ },
668
+ getActionsContext: () => ({ $treeViewId: this.id, $treeItemHandle: node.handle }),
669
+ actionRunner
670
+ });
671
+ }
672
+ updateMessage() {
673
+ if (this._message) {
674
+ this.showMessage(this._message);
675
+ }
676
+ else if (!this.dataProvider) {
677
+ this.showMessage(noDataProviderMessage);
678
+ }
679
+ else {
680
+ this.hideMessage();
681
+ }
682
+ this.updateContentAreas();
683
+ }
684
+ showMessage(message) {
685
+ this._messageValue = message;
686
+ if (!this.messageElement) {
687
+ return;
688
+ }
689
+ this.messageElement.classList.remove('hide');
690
+ this.resetMessageElement();
691
+ if (!isFalsyOrWhitespace(this._message)) {
692
+ this.messageElement.textContent = this._messageValue;
693
+ }
694
+ this.layout(this._height, this._width);
695
+ }
696
+ hideMessage() {
697
+ this.resetMessageElement();
698
+ this.messageElement?.classList.add('hide');
699
+ this.layout(this._height, this._width);
700
+ }
701
+ resetMessageElement() {
702
+ if (this.messageElement) {
703
+ dom.clearNode(this.messageElement);
704
+ }
705
+ }
706
+ layout(height, width) {
707
+ if (height && width && this.messageElement && this.treeContainer) {
708
+ this._height = height;
709
+ this._width = width;
710
+ const treeHeight = height - dom.getTotalHeight(this.messageElement);
711
+ this.treeContainer.style.height = treeHeight + 'px';
712
+ this.tree?.layout(treeHeight, width);
713
+ }
714
+ }
715
+ getOptimalWidth() {
716
+ if (this.tree) {
717
+ const parentNode = this.tree.getHTMLElement();
718
+ const childNodes = [].slice.call(parentNode.querySelectorAll('.outline-item-label > a'));
719
+ return dom.getLargestChildWidth(parentNode, childNodes);
720
+ }
721
+ return 0;
722
+ }
723
+ async refresh(elements) {
724
+ if (this.dataProvider && this.tree) {
725
+ if (this.refreshing) {
726
+ await Event.toPromise(this._onDidCompleteRefresh.event);
727
+ }
728
+ if (!elements) {
729
+ elements = [this.root];
730
+ this.elementsToRefresh = [];
731
+ }
732
+ for (const element of elements) {
733
+ element.children = undefined;
734
+ }
735
+ if (this.isVisible) {
736
+ return this.doRefresh(elements);
737
+ }
738
+ else {
739
+ if (this.elementsToRefresh.length) {
740
+ const seen = ( new Set());
741
+ this.elementsToRefresh.forEach(element => seen.add(element.handle));
742
+ for (const element of elements) {
743
+ if (!( seen.has(element.handle))) {
744
+ this.elementsToRefresh.push(element);
745
+ }
746
+ }
747
+ }
748
+ else {
749
+ this.elementsToRefresh.push(...elements);
750
+ }
751
+ }
752
+ }
753
+ return undefined;
754
+ }
755
+ async expand(itemOrItems) {
756
+ const tree = this.tree;
757
+ if (!tree) {
758
+ return;
759
+ }
760
+ try {
761
+ itemOrItems = Array.isArray(itemOrItems) ? itemOrItems : [itemOrItems];
762
+ await Promise.all(( itemOrItems.map(element => {
763
+ return tree.expand(element, false);
764
+ })));
765
+ }
766
+ catch (e) {
767
+ }
768
+ }
769
+ isCollapsed(item) {
770
+ return !!this.tree?.isCollapsed(item);
771
+ }
772
+ setSelection(items) {
773
+ this.tree?.setSelection(items);
774
+ }
775
+ getSelection() {
776
+ return this.tree?.getSelection() ?? [];
777
+ }
778
+ setFocus(item) {
779
+ if (this.tree) {
780
+ if (item) {
781
+ this.focus(true, item);
782
+ this.tree.setFocus([item]);
783
+ }
784
+ else {
785
+ this.tree.setFocus([]);
786
+ }
787
+ }
788
+ }
789
+ async reveal(item) {
790
+ if (this.tree) {
791
+ return this.tree.reveal(item);
792
+ }
793
+ }
794
+ async doRefresh(elements) {
795
+ const tree = this.tree;
796
+ if (tree && this.visible) {
797
+ this.refreshing = true;
798
+ const oldSelection = tree.getSelection();
799
+ try {
800
+ await Promise.all(( elements.map(element => tree.updateChildren(element, true, true))));
801
+ }
802
+ catch (e) {
803
+ this.logService.error(e);
804
+ }
805
+ const newSelection = tree.getSelection();
806
+ if (oldSelection.length !== newSelection.length || ( oldSelection.some((value, index) => value.handle !== newSelection[index].handle))) {
807
+ this._onDidChangeSelection.fire(newSelection);
808
+ }
809
+ this.refreshing = false;
810
+ this._onDidCompleteRefresh.fire();
811
+ this.updateContentAreas();
812
+ if (this.focused) {
813
+ this.focus(false);
814
+ }
815
+ this.updateCollapseAllToggle();
816
+ }
817
+ }
818
+ initializeCollapseAllToggle() {
819
+ if (!this.collapseAllToggleContext) {
820
+ this.collapseAllToggleContextKey = ( new RawContextKey(`treeView.${this.id}.toggleCollapseAll`, false, ( localize(
821
+ 'treeView.toggleCollapseAll',
822
+ "Whether collapse all is toggled for the tree view with id {0}.",
823
+ this.id
824
+ ))));
825
+ this.collapseAllToggleContext = this.collapseAllToggleContextKey.bindTo(this.contextKeyService);
826
+ }
827
+ }
828
+ updateCollapseAllToggle() {
829
+ if (this.showCollapseAllAction) {
830
+ this.initializeCollapseAllToggle();
831
+ this.collapseAllToggleContext?.set(!!this.root.children && (this.root.children.length > 0) &&
832
+ ( this.root.children.some(value => value.collapsibleState !== TreeItemCollapsibleState.None)));
833
+ }
834
+ }
835
+ updateContentAreas() {
836
+ const isTreeEmpty = !this.root.children || this.root.children.length === 0;
837
+ if (this._messageValue && isTreeEmpty && !this.refreshing && this.treeContainer) {
838
+ if (!this.dragAndDropController) {
839
+ this.treeContainer.classList.add('hide');
840
+ }
841
+ this.domNode.setAttribute('tabindex', '0');
842
+ }
843
+ else if (this.treeContainer) {
844
+ this.treeContainer.classList.remove('hide');
845
+ this.domNode.removeAttribute('tabindex');
846
+ }
847
+ }
848
+ get container() {
849
+ return this._container;
850
+ }
851
+ };
852
+ AbstractTreeView = ( __decorate([
853
+ ( __param(2, IThemeService)),
854
+ ( __param(3, IInstantiationService)),
855
+ ( __param(4, ICommandService)),
856
+ ( __param(5, IConfigurationService)),
857
+ ( __param(6, IProgressService)),
858
+ ( __param(7, IContextMenuService)),
859
+ ( __param(8, IKeybindingService)),
860
+ ( __param(9, INotificationService)),
861
+ ( __param(10, IViewDescriptorService)),
862
+ ( __param(11, IHoverService)),
863
+ ( __param(12, IContextKeyService)),
864
+ ( __param(13, IActivityService)),
865
+ ( __param(14, ILogService))
866
+ ], AbstractTreeView));
867
+ class TreeViewIdentityProvider {
868
+ getId(element) {
869
+ return element.handle;
870
+ }
871
+ }
872
+ class TreeViewDelegate {
873
+ getHeight(element) {
874
+ return TreeRenderer.ITEM_HEIGHT;
875
+ }
876
+ getTemplateId(element) {
877
+ return TreeRenderer.TREE_TEMPLATE_ID;
878
+ }
879
+ }
880
+ class TreeDataSource {
881
+ constructor(treeView, withProgress) {
882
+ this.treeView = treeView;
883
+ this.withProgress = withProgress;
884
+ }
885
+ hasChildren(element) {
886
+ return !!this.treeView.dataProvider && (element.collapsibleState !== TreeItemCollapsibleState.None);
887
+ }
888
+ async getChildren(element) {
889
+ let result = [];
890
+ if (this.treeView.dataProvider) {
891
+ try {
892
+ result = (await this.withProgress(this.treeView.dataProvider.getChildren(element))) ?? [];
893
+ }
894
+ catch (e) {
895
+ if (!e.message.startsWith('Bad progress location:')) {
896
+ throw e;
897
+ }
898
+ }
899
+ }
900
+ return result;
901
+ }
902
+ }
903
+ let TreeRenderer = class TreeRenderer extends Disposable {
904
+ constructor(treeViewId, menus, labels, actionViewItemProvider, aligner, checkboxStateHandler, themeService, configurationService, labelService, hoverService, treeViewsService, contextKeyService) {
905
+ super();
906
+ this.treeViewId = treeViewId;
907
+ this.menus = menus;
908
+ this.labels = labels;
909
+ this.actionViewItemProvider = actionViewItemProvider;
910
+ this.aligner = aligner;
911
+ this.checkboxStateHandler = checkboxStateHandler;
912
+ this.themeService = themeService;
913
+ this.configurationService = configurationService;
914
+ this.labelService = labelService;
915
+ this.hoverService = hoverService;
916
+ this.treeViewsService = treeViewsService;
917
+ this.contextKeyService = contextKeyService;
918
+ this._hasCheckbox = false;
919
+ this._renderedElements = ( new Map());
920
+ this._hoverDelegate = {
921
+ showHover: (options) => this.hoverService.showHover(options),
922
+ delay: this.configurationService.getValue('workbench.hover.delay')
923
+ };
924
+ this._register(this.themeService.onDidFileIconThemeChange(() => this.rerender()));
925
+ this._register(this.themeService.onDidColorThemeChange(() => this.rerender()));
926
+ }
927
+ get templateId() {
928
+ return TreeRenderer.TREE_TEMPLATE_ID;
929
+ }
930
+ set actionRunner(actionRunner) {
931
+ this._actionRunner = actionRunner;
932
+ }
933
+ renderTemplate(container) {
934
+ container.classList.add('custom-view-tree-node-item');
935
+ const checkboxContainer = dom.append(container, dom.$(''));
936
+ const resourceLabel = this.labels.create(container, { supportHighlights: true, hoverDelegate: this._hoverDelegate });
937
+ const icon = dom.prepend(resourceLabel.element, dom.$('.custom-view-tree-node-item-icon'));
938
+ const actionsContainer = dom.append(resourceLabel.element, dom.$('.actions'));
939
+ const actionBar = ( new ActionBar(actionsContainer, {
940
+ actionViewItemProvider: this.actionViewItemProvider
941
+ }));
942
+ return { resourceLabel, icon, checkboxContainer, actionBar, container, elementDisposable: ( new DisposableStore()) };
943
+ }
944
+ getHover(label, resource, node) {
945
+ if (!(node instanceof ResolvableTreeItem) || !node.hasResolve) {
946
+ if (resource && !node.tooltip) {
947
+ return undefined;
948
+ }
949
+ else if (node.tooltip === undefined) {
950
+ return label;
951
+ }
952
+ else if (!isString(node.tooltip)) {
953
+ return { markdown: node.tooltip, markdownNotSupportedFallback: resource ? undefined : renderMarkdownAsPlaintext(node.tooltip) };
954
+ }
955
+ else if (node.tooltip !== '') {
956
+ return node.tooltip;
957
+ }
958
+ else {
959
+ return undefined;
960
+ }
961
+ }
962
+ return {
963
+ markdown: typeof node.tooltip === 'string' ? node.tooltip :
964
+ (token) => {
965
+ return ( new Promise((resolve) => {
966
+ node.resolve(token).then(() => resolve(node.tooltip));
967
+ }));
968
+ },
969
+ markdownNotSupportedFallback: resource ? undefined : (label ?? '')
970
+ };
971
+ }
972
+ renderElement(element, index, templateData) {
973
+ const node = element.element;
974
+ const resource = node.resourceUri ? URI.revive(node.resourceUri) : null;
975
+ const treeItemLabel = node.label ? node.label : (resource ? { label: basename(resource) } : undefined);
976
+ const description = isString(node.description) ? node.description : resource && node.description === true ? this.labelService.getUriLabel(dirname(resource), { relative: true }) : undefined;
977
+ const label = treeItemLabel ? treeItemLabel.label : undefined;
978
+ const matches = (treeItemLabel && treeItemLabel.highlights && label) ? ( treeItemLabel.highlights.map(([start, end]) => {
979
+ if (start < 0) {
980
+ start = label.length + start;
981
+ }
982
+ if (end < 0) {
983
+ end = label.length + end;
984
+ }
985
+ if ((start >= label.length) || (end > label.length)) {
986
+ return ({ start: 0, end: 0 });
987
+ }
988
+ if (start > end) {
989
+ const swap = start;
990
+ start = end;
991
+ end = swap;
992
+ }
993
+ return ({ start, end });
994
+ })) : undefined;
995
+ const icon = this.themeService.getColorTheme().type === ColorScheme.LIGHT ? node.icon : node.iconDark;
996
+ const iconUrl = icon ? URI.revive(icon) : undefined;
997
+ const title = this.getHover(label, resource, node);
998
+ templateData.actionBar.clear();
999
+ templateData.icon.style.color = '';
1000
+ let commandEnabled = true;
1001
+ if (node.command) {
1002
+ commandEnabled = isTreeCommandEnabled(node.command, this.contextKeyService);
1003
+ }
1004
+ this.renderCheckbox(node, templateData);
1005
+ if (resource) {
1006
+ const fileDecorations = this.configurationService.getValue('explorer.decorations');
1007
+ const labelResource = resource ? resource : ( URI.parse('missing:_icon_resource'));
1008
+ templateData.resourceLabel.setResource({ name: label, description, resource: labelResource }, {
1009
+ fileKind: this.getFileKind(node),
1010
+ title,
1011
+ hideIcon: this.shouldHideResourceLabelIcon(iconUrl, node.themeIcon),
1012
+ fileDecorations,
1013
+ extraClasses: ['custom-view-tree-node-item-resourceLabel'],
1014
+ matches: matches ? matches : createMatches(element.filterData),
1015
+ strikethrough: treeItemLabel?.strikethrough,
1016
+ disabledCommand: !commandEnabled,
1017
+ labelEscapeNewLines: true
1018
+ });
1019
+ }
1020
+ else {
1021
+ templateData.resourceLabel.setResource({ name: label, description }, {
1022
+ title,
1023
+ hideIcon: true,
1024
+ extraClasses: ['custom-view-tree-node-item-resourceLabel'],
1025
+ matches: matches ? matches : createMatches(element.filterData),
1026
+ strikethrough: treeItemLabel?.strikethrough,
1027
+ disabledCommand: !commandEnabled,
1028
+ labelEscapeNewLines: true
1029
+ });
1030
+ }
1031
+ if (iconUrl) {
1032
+ templateData.icon.className = 'custom-view-tree-node-item-icon';
1033
+ templateData.icon.style.backgroundImage = dom.asCSSUrl(iconUrl);
1034
+ }
1035
+ else {
1036
+ let iconClass;
1037
+ if (this.shouldShowThemeIcon(!!resource, node.themeIcon)) {
1038
+ iconClass = ThemeIcon.asClassName(node.themeIcon);
1039
+ if (node.themeIcon.color) {
1040
+ templateData.icon.style.color = this.themeService.getColorTheme().getColor(node.themeIcon.color.id)?.toString() ?? '';
1041
+ }
1042
+ }
1043
+ templateData.icon.className = iconClass ? `custom-view-tree-node-item-icon ${iconClass}` : '';
1044
+ templateData.icon.style.backgroundImage = '';
1045
+ }
1046
+ if (!commandEnabled) {
1047
+ templateData.icon.className = templateData.icon.className + ' disabled';
1048
+ if (templateData.container.parentElement) {
1049
+ templateData.container.parentElement.className = templateData.container.parentElement.className + ' disabled';
1050
+ }
1051
+ }
1052
+ templateData.actionBar.context = { $treeViewId: this.treeViewId, $treeItemHandle: node.handle };
1053
+ const menuActions = this.menus.getResourceActions(node);
1054
+ if (menuActions.menu) {
1055
+ templateData.elementDisposable.add(menuActions.menu);
1056
+ }
1057
+ templateData.actionBar.push(menuActions.actions, { icon: true, label: false });
1058
+ if (this._actionRunner) {
1059
+ templateData.actionBar.actionRunner = this._actionRunner;
1060
+ }
1061
+ this.setAlignment(templateData.container, node);
1062
+ this.treeViewsService.addRenderedTreeItemElement(node, templateData.container);
1063
+ this._renderedElements.set(element, templateData);
1064
+ }
1065
+ rerender() {
1066
+ const keys = ( new Set(( this._renderedElements.keys())));
1067
+ for (const key of keys) {
1068
+ const value = this._renderedElements.get(key);
1069
+ if (value) {
1070
+ this.disposeElement(key, 0, value);
1071
+ this.renderElement(key, 0, value);
1072
+ }
1073
+ }
1074
+ }
1075
+ renderCheckbox(node, templateData) {
1076
+ if (node.checkbox) {
1077
+ if (!this._hasCheckbox) {
1078
+ this._hasCheckbox = true;
1079
+ this.rerender();
1080
+ }
1081
+ if (!templateData.checkbox) {
1082
+ const checkbox = ( new TreeItemCheckbox(templateData.checkboxContainer, this.checkboxStateHandler));
1083
+ templateData.checkbox = checkbox;
1084
+ }
1085
+ templateData.checkbox.render(node);
1086
+ }
1087
+ else if (templateData.checkbox) {
1088
+ templateData.checkbox.dispose();
1089
+ templateData.checkbox = undefined;
1090
+ }
1091
+ }
1092
+ setAlignment(container, treeItem) {
1093
+ container.parentElement.classList.toggle('align-icon-with-twisty', !this._hasCheckbox && this.aligner.alignIconWithTwisty(treeItem));
1094
+ }
1095
+ shouldHideResourceLabelIcon(iconUrl, icon) {
1096
+ return (!!iconUrl || (!!icon && !this.isFileKindThemeIcon(icon)));
1097
+ }
1098
+ shouldShowThemeIcon(hasResource, icon) {
1099
+ if (!icon) {
1100
+ return false;
1101
+ }
1102
+ return !(hasResource && this.isFileKindThemeIcon(icon));
1103
+ }
1104
+ isFolderThemeIcon(icon) {
1105
+ return icon?.id === FolderThemeIcon.id;
1106
+ }
1107
+ isFileKindThemeIcon(icon) {
1108
+ if (icon) {
1109
+ return icon.id === FileThemeIcon.id || this.isFolderThemeIcon(icon);
1110
+ }
1111
+ else {
1112
+ return false;
1113
+ }
1114
+ }
1115
+ getFileKind(node) {
1116
+ if (node.themeIcon) {
1117
+ switch (node.themeIcon.id) {
1118
+ case FileThemeIcon.id:
1119
+ return FileKind.FILE;
1120
+ case FolderThemeIcon.id:
1121
+ return FileKind.FOLDER;
1122
+ }
1123
+ }
1124
+ return node.collapsibleState === TreeItemCollapsibleState.Collapsed || node.collapsibleState === TreeItemCollapsibleState.Expanded ? FileKind.FOLDER : FileKind.FILE;
1125
+ }
1126
+ disposeElement(resource, index, templateData) {
1127
+ templateData.elementDisposable.clear();
1128
+ this._renderedElements.delete(resource);
1129
+ this.treeViewsService.removeRenderedTreeItemElement(resource.element);
1130
+ templateData.checkbox?.dispose();
1131
+ templateData.checkbox = undefined;
1132
+ }
1133
+ disposeTemplate(templateData) {
1134
+ templateData.resourceLabel.dispose();
1135
+ templateData.actionBar.dispose();
1136
+ templateData.elementDisposable.dispose();
1137
+ }
1138
+ };
1139
+ TreeRenderer.ITEM_HEIGHT = 22;
1140
+ TreeRenderer.TREE_TEMPLATE_ID = 'treeExplorer';
1141
+ TreeRenderer = ( __decorate([
1142
+ ( __param(6, IThemeService)),
1143
+ ( __param(7, IConfigurationService)),
1144
+ ( __param(8, ILabelService)),
1145
+ ( __param(9, IHoverService)),
1146
+ ( __param(10, ITreeViewsService)),
1147
+ ( __param(11, IContextKeyService))
1148
+ ], TreeRenderer));
1149
+ class Aligner extends Disposable {
1150
+ constructor(themeService) {
1151
+ super();
1152
+ this.themeService = themeService;
1153
+ }
1154
+ set tree(tree) {
1155
+ this._tree = tree;
1156
+ }
1157
+ alignIconWithTwisty(treeItem) {
1158
+ if (treeItem.collapsibleState !== TreeItemCollapsibleState.None) {
1159
+ return false;
1160
+ }
1161
+ if (!this.hasIcon(treeItem)) {
1162
+ return false;
1163
+ }
1164
+ if (this._tree) {
1165
+ const parent = this._tree.getParentElement(treeItem) || this._tree.getInput();
1166
+ if (this.hasIcon(parent)) {
1167
+ return !!parent.children && ( parent.children.some(
1168
+ c => c.collapsibleState !== TreeItemCollapsibleState.None && !this.hasIcon(c)
1169
+ ));
1170
+ }
1171
+ return !!parent.children && parent.children.every(c => c.collapsibleState === TreeItemCollapsibleState.None || !this.hasIcon(c));
1172
+ }
1173
+ else {
1174
+ return false;
1175
+ }
1176
+ }
1177
+ hasIcon(node) {
1178
+ const icon = this.themeService.getColorTheme().type === ColorScheme.LIGHT ? node.icon : node.iconDark;
1179
+ if (icon) {
1180
+ return true;
1181
+ }
1182
+ if (node.resourceUri || node.themeIcon) {
1183
+ const fileIconTheme = this.themeService.getFileIconTheme();
1184
+ const isFolder = node.themeIcon ? node.themeIcon.id === FolderThemeIcon.id : node.collapsibleState !== TreeItemCollapsibleState.None;
1185
+ if (isFolder) {
1186
+ return fileIconTheme.hasFileIcons && fileIconTheme.hasFolderIcons;
1187
+ }
1188
+ return fileIconTheme.hasFileIcons;
1189
+ }
1190
+ return false;
1191
+ }
1192
+ }
1193
+ class MultipleSelectionActionRunner extends ActionRunner {
1194
+ constructor(notificationService, getSelectedResources) {
1195
+ super();
1196
+ this.getSelectedResources = getSelectedResources;
1197
+ this._register(this.onDidRun(e => {
1198
+ if (e.error && !isCancellationError(e.error)) {
1199
+ notificationService.error(( localize(
1200
+ 'command-error',
1201
+ 'Error running command {1}: {0}. This is likely caused by the extension that contributes {1}.',
1202
+ e.error.message,
1203
+ e.action.id
1204
+ )));
1205
+ }
1206
+ }));
1207
+ }
1208
+ async runAction(action, context) {
1209
+ const selection = this.getSelectedResources();
1210
+ let selectionHandleArgs = undefined;
1211
+ let actionInSelected = false;
1212
+ if (selection.length > 1) {
1213
+ selectionHandleArgs = ( selection.map(selected => {
1214
+ if ((selected.handle === context.$treeItemHandle) || context.$selectedTreeItems) {
1215
+ actionInSelected = true;
1216
+ }
1217
+ return { $treeViewId: context.$treeViewId, $treeItemHandle: selected.handle };
1218
+ }));
1219
+ }
1220
+ if (!actionInSelected) {
1221
+ selectionHandleArgs = undefined;
1222
+ }
1223
+ await action.run(context, selectionHandleArgs);
1224
+ }
1225
+ }
1226
+ let TreeMenus = class TreeMenus extends Disposable {
1227
+ constructor(id, menuService) {
1228
+ super();
1229
+ this.id = id;
1230
+ this.menuService = menuService;
1231
+ this._onDidChange = ( new Emitter());
1232
+ this.onDidChange = this._onDidChange.event;
1233
+ }
1234
+ getResourceActions(element) {
1235
+ const actions = this.getActions(MenuId.ViewItemContext, element, true);
1236
+ return { menu: actions.menu, actions: actions.primary };
1237
+ }
1238
+ getResourceContextActions(element) {
1239
+ return this.getActions(MenuId.ViewItemContext, element).secondary;
1240
+ }
1241
+ setContextKeyService(service) {
1242
+ this.contextKeyService = service;
1243
+ }
1244
+ getActions(menuId, element, listen = false) {
1245
+ if (!this.contextKeyService) {
1246
+ return { primary: [], secondary: [] };
1247
+ }
1248
+ const contextKeyService = this.contextKeyService.createOverlay([
1249
+ ['view', this.id],
1250
+ ['viewItem', element.contextValue]
1251
+ ]);
1252
+ const menu = this.menuService.createMenu(menuId, contextKeyService);
1253
+ const primary = [];
1254
+ const secondary = [];
1255
+ const result = { primary, secondary, menu };
1256
+ createAndFillInContextMenuActions(menu, { shouldForwardArgs: true }, result, 'inline');
1257
+ if (listen) {
1258
+ this._register(menu.onDidChange(() => this._onDidChange.fire(element)));
1259
+ }
1260
+ else {
1261
+ menu.dispose();
1262
+ }
1263
+ return result;
1264
+ }
1265
+ dispose() {
1266
+ this.contextKeyService = undefined;
1267
+ super.dispose();
1268
+ }
1269
+ };
1270
+ TreeMenus = ( __decorate([
1271
+ ( __param(1, IMenuService))
1272
+ ], TreeMenus));
1273
+ let CustomTreeView = class CustomTreeView extends AbstractTreeView {
1274
+ constructor(id, title, extensionId, themeService, instantiationService, commandService, configurationService, progressService, contextMenuService, keybindingService, notificationService, viewDescriptorService, contextKeyService, hoverService, extensionService, activityService, telemetryService, logService) {
1275
+ super(id, title, themeService, instantiationService, commandService, configurationService, progressService, contextMenuService, keybindingService, notificationService, viewDescriptorService, hoverService, contextKeyService, activityService, logService);
1276
+ this.extensionId = extensionId;
1277
+ this.extensionService = extensionService;
1278
+ this.telemetryService = telemetryService;
1279
+ this.activated = false;
1280
+ }
1281
+ activate() {
1282
+ if (!this.activated) {
1283
+ this.telemetryService.publicLog2('Extension:ViewActivate', {
1284
+ extensionId: ( new TelemetryTrustedValue(this.extensionId)),
1285
+ id: this.id,
1286
+ });
1287
+ this.createTree();
1288
+ this.progressService.withProgress({ location: this.id }, () => this.extensionService.activateByEvent(`onView:${this.id}`))
1289
+ .then(() => timeout(2000))
1290
+ .then(() => {
1291
+ this.updateMessage();
1292
+ });
1293
+ this.activated = true;
1294
+ }
1295
+ }
1296
+ };
1297
+ CustomTreeView = ( __decorate([
1298
+ ( __param(3, IThemeService)),
1299
+ ( __param(4, IInstantiationService)),
1300
+ ( __param(5, ICommandService)),
1301
+ ( __param(6, IConfigurationService)),
1302
+ ( __param(7, IProgressService)),
1303
+ ( __param(8, IContextMenuService)),
1304
+ ( __param(9, IKeybindingService)),
1305
+ ( __param(10, INotificationService)),
1306
+ ( __param(11, IViewDescriptorService)),
1307
+ ( __param(12, IContextKeyService)),
1308
+ ( __param(13, IHoverService)),
1309
+ ( __param(14, IExtensionService)),
1310
+ ( __param(15, IActivityService)),
1311
+ ( __param(16, ITelemetryService)),
1312
+ ( __param(17, ILogService))
1313
+ ], CustomTreeView));
1314
+ let CustomTreeViewDragAndDrop = class CustomTreeViewDragAndDrop {
1315
+ constructor(treeId, labelService, instantiationService, treeViewsDragAndDropService, logService) {
1316
+ this.treeId = treeId;
1317
+ this.labelService = labelService;
1318
+ this.instantiationService = instantiationService;
1319
+ this.treeViewsDragAndDropService = treeViewsDragAndDropService;
1320
+ this.logService = logService;
1321
+ this.treeItemsTransfer = LocalSelectionTransfer.getInstance();
1322
+ this.treeMimeType = `application/vnd.code.tree.${treeId.toLowerCase()}`;
1323
+ }
1324
+ set controller(controller) {
1325
+ this.dndController = controller;
1326
+ }
1327
+ handleDragAndLog(dndController, itemHandles, uuid, dragCancellationToken) {
1328
+ return dndController.handleDrag(itemHandles, uuid, dragCancellationToken).then(additionalDataTransfer => {
1329
+ if (additionalDataTransfer) {
1330
+ const unlistedTypes = [];
1331
+ for (const item of additionalDataTransfer.entries()) {
1332
+ if ((item[0] !== this.treeMimeType) && (dndController.dragMimeTypes.findIndex(value => value === item[0]) < 0)) {
1333
+ unlistedTypes.push(item[0]);
1334
+ }
1335
+ }
1336
+ if (unlistedTypes.length) {
1337
+ this.logService.warn(`Drag and drop controller for tree ${this.treeId} adds the following data transfer types but does not declare them in dragMimeTypes: ${unlistedTypes.join(', ')}`);
1338
+ }
1339
+ }
1340
+ return additionalDataTransfer;
1341
+ });
1342
+ }
1343
+ addExtensionProvidedTransferTypes(originalEvent, itemHandles) {
1344
+ if (!originalEvent.dataTransfer || !this.dndController) {
1345
+ return;
1346
+ }
1347
+ const uuid = generateUuid();
1348
+ this.dragCancellationToken = ( new CancellationTokenSource());
1349
+ this.treeViewsDragAndDropService.addDragOperationTransfer(uuid, this.handleDragAndLog(this.dndController, itemHandles, uuid, this.dragCancellationToken.token));
1350
+ this.treeItemsTransfer.setData([( new DraggedTreeItemsIdentifier(uuid))], DraggedTreeItemsIdentifier.prototype);
1351
+ originalEvent.dataTransfer.clearData(Mimes.text);
1352
+ if (this.dndController.dragMimeTypes.find((element) => element === Mimes.uriList)) {
1353
+ originalEvent.dataTransfer?.setData(DataTransfers.RESOURCES, '');
1354
+ }
1355
+ this.dndController.dragMimeTypes.forEach(supportedType => {
1356
+ originalEvent.dataTransfer?.setData(supportedType, '');
1357
+ });
1358
+ }
1359
+ addResourceInfoToTransfer(originalEvent, resources) {
1360
+ if (resources.length && originalEvent.dataTransfer) {
1361
+ this.instantiationService.invokeFunction(accessor => fillEditorsDragData(accessor, resources, originalEvent));
1362
+ const fileResources = ( resources.filter(s => s.scheme === Schemas.file).map(r => r.fsPath));
1363
+ if (fileResources.length) {
1364
+ originalEvent.dataTransfer.setData(CodeDataTransfers.FILES, JSON.stringify(fileResources));
1365
+ }
1366
+ }
1367
+ }
1368
+ onDragStart(data, originalEvent) {
1369
+ if (originalEvent.dataTransfer) {
1370
+ const treeItemsData = data.getData();
1371
+ const resources = [];
1372
+ const sourceInfo = {
1373
+ id: this.treeId,
1374
+ itemHandles: []
1375
+ };
1376
+ treeItemsData.forEach(item => {
1377
+ sourceInfo.itemHandles.push(item.handle);
1378
+ if (item.resourceUri) {
1379
+ resources.push(URI.revive(item.resourceUri));
1380
+ }
1381
+ });
1382
+ this.addResourceInfoToTransfer(originalEvent, resources);
1383
+ this.addExtensionProvidedTransferTypes(originalEvent, sourceInfo.itemHandles);
1384
+ originalEvent.dataTransfer.setData(this.treeMimeType, JSON.stringify(sourceInfo));
1385
+ }
1386
+ }
1387
+ debugLog(types) {
1388
+ if (types.size) {
1389
+ this.logService.debug(`TreeView dragged mime types: ${Array.from(types).join(', ')}`);
1390
+ }
1391
+ else {
1392
+ this.logService.debug(`TreeView dragged with no supported mime types.`);
1393
+ }
1394
+ }
1395
+ onDragOver(data, targetElement, targetIndex, originalEvent) {
1396
+ const dataTransfer = toVSDataTransfer(originalEvent.dataTransfer);
1397
+ addExternalEditorsDropData(dataTransfer, originalEvent);
1398
+ const types = ( new Set(( Array.from(dataTransfer.entries()).map(x => x[0]))));
1399
+ if (originalEvent.dataTransfer) {
1400
+ for (const item of originalEvent.dataTransfer.items) {
1401
+ if (item.kind === 'file' || item.type === DataTransfers.RESOURCES.toLowerCase()) {
1402
+ types.add(Mimes.uriList);
1403
+ break;
1404
+ }
1405
+ }
1406
+ }
1407
+ this.debugLog(types);
1408
+ const dndController = this.dndController;
1409
+ if (!dndController || !originalEvent.dataTransfer || (dndController.dropMimeTypes.length === 0)) {
1410
+ return false;
1411
+ }
1412
+ const dragContainersSupportedType = ( Array.from(types).some((value, index) => {
1413
+ if (value === this.treeMimeType) {
1414
+ return true;
1415
+ }
1416
+ else {
1417
+ return dndController.dropMimeTypes.indexOf(value) >= 0;
1418
+ }
1419
+ }));
1420
+ if (dragContainersSupportedType) {
1421
+ return { accept: true, bubble: 0 , autoExpand: true };
1422
+ }
1423
+ return false;
1424
+ }
1425
+ getDragURI(element) {
1426
+ if (!this.dndController) {
1427
+ return null;
1428
+ }
1429
+ return element.resourceUri ? ( URI.revive(element.resourceUri).toString()) : element.handle;
1430
+ }
1431
+ getDragLabel(elements) {
1432
+ if (!this.dndController) {
1433
+ return undefined;
1434
+ }
1435
+ if (elements.length > 1) {
1436
+ return String(elements.length);
1437
+ }
1438
+ const element = elements[0];
1439
+ return element.label ? element.label.label : (element.resourceUri ? this.labelService.getUriLabel(URI.revive(element.resourceUri)) : undefined);
1440
+ }
1441
+ async drop(data, targetNode, targetIndex, originalEvent) {
1442
+ const dndController = this.dndController;
1443
+ if (!originalEvent.dataTransfer || !dndController) {
1444
+ return;
1445
+ }
1446
+ let treeSourceInfo;
1447
+ let willDropUuid;
1448
+ if (this.treeItemsTransfer.hasData(DraggedTreeItemsIdentifier.prototype)) {
1449
+ willDropUuid = this.treeItemsTransfer.getData(DraggedTreeItemsIdentifier.prototype)[0].identifier;
1450
+ }
1451
+ const originalDataTransfer = toVSDataTransfer(originalEvent.dataTransfer);
1452
+ addExternalEditorsDropData(originalDataTransfer, originalEvent, true);
1453
+ const outDataTransfer = ( new VSDataTransfer());
1454
+ for (const [type, item] of originalDataTransfer.entries()) {
1455
+ if (type === this.treeMimeType || dndController.dropMimeTypes.includes(type) || (item.asFile() && dndController.dropMimeTypes.includes(DataTransfers.FILES.toLowerCase()))) {
1456
+ outDataTransfer.append(type, item);
1457
+ if (type === this.treeMimeType) {
1458
+ try {
1459
+ treeSourceInfo = JSON.parse(await item.asString());
1460
+ }
1461
+ catch {
1462
+ }
1463
+ }
1464
+ }
1465
+ }
1466
+ const additionalDataTransfer = await this.treeViewsDragAndDropService.removeDragOperationTransfer(willDropUuid);
1467
+ if (additionalDataTransfer) {
1468
+ for (const [type, item] of additionalDataTransfer.entries()) {
1469
+ outDataTransfer.append(type, item);
1470
+ }
1471
+ }
1472
+ return dndController.handleDrop(outDataTransfer, targetNode, CancellationToken.None, willDropUuid, treeSourceInfo?.id, treeSourceInfo?.itemHandles);
1473
+ }
1474
+ onDragEnd(originalEvent) {
1475
+ if (originalEvent.dataTransfer?.dropEffect === 'none') {
1476
+ this.dragCancellationToken?.cancel();
1477
+ }
1478
+ }
1479
+ };
1480
+ CustomTreeViewDragAndDrop = ( __decorate([
1481
+ ( __param(1, ILabelService)),
1482
+ ( __param(2, IInstantiationService)),
1483
+ ( __param(3, ITreeViewsDnDService)),
1484
+ ( __param(4, ILogService))
1485
+ ], CustomTreeViewDragAndDrop));
1486
+ export { CustomTreeView, CustomTreeViewDragAndDrop, RawCustomTreeViewContextKey, TreeViewPane };