@codingame/monaco-vscode-api 1.78.8 → 1.79.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 (641) hide show
  1. package/README.md +2 -1
  2. package/dist/activity.d.ts +2902 -0
  3. package/dist/api.js +6 -5
  4. package/dist/assets/activityaction.css +224 -0
  5. package/dist/assets/activitybarpart.css +65 -0
  6. package/dist/assets/basepanelpart.css +221 -0
  7. package/dist/assets/callHierarchy.css +62 -0
  8. package/dist/assets/{sidebysideeditor.css → compositepart.css} +10 -2
  9. package/dist/assets/debugViewlet.css +337 -0
  10. package/dist/assets/explorerviewlet.css +129 -0
  11. package/dist/assets/hover.css +127 -0
  12. package/dist/assets/interactiveSession.css +340 -0
  13. package/dist/assets/menubar.css +111 -0
  14. package/dist/assets/menubarControl.css +61 -0
  15. package/dist/assets/notificationsCenter.css +3 -3
  16. package/dist/assets/panelpart.css +75 -0
  17. package/dist/assets/part.css +109 -0
  18. package/dist/assets/repl.css +145 -0
  19. package/dist/assets/sidebarpart.css +61 -0
  20. package/dist/assets/tunnelView.css +107 -0
  21. package/dist/assets/typeHierarchy.css +62 -0
  22. package/dist/assets/views.css +297 -0
  23. package/dist/collections.d.ts +7 -0
  24. package/dist/colorRegistry.d.ts +710 -0
  25. package/dist/contextkey.d.ts +330 -0
  26. package/dist/debugProtocol.d.ts +2343 -0
  27. package/dist/default-extensions/bat.js +5 -4
  28. package/dist/default-extensions/clojure.js +4 -3
  29. package/dist/default-extensions/coffeescript.js +5 -4
  30. package/dist/default-extensions/cpp.js +10 -9
  31. package/dist/default-extensions/csharp.js +5 -4
  32. package/dist/default-extensions/css.js +4 -3
  33. package/dist/default-extensions/dart.js +4 -3
  34. package/dist/default-extensions/diff.js +4 -3
  35. package/dist/default-extensions/docker.js +4 -3
  36. package/dist/default-extensions/fsharp.js +5 -4
  37. package/dist/default-extensions/go.js +4 -3
  38. package/dist/default-extensions/groovy.js +5 -4
  39. package/dist/default-extensions/handlebars.js +4 -3
  40. package/dist/default-extensions/hlsl.js +4 -3
  41. package/dist/default-extensions/html.js +6 -5
  42. package/dist/default-extensions/ini.js +5 -4
  43. package/dist/default-extensions/java.js +5 -4
  44. package/dist/default-extensions/javascript.js +8 -7
  45. package/dist/default-extensions/json.js +5 -4
  46. package/dist/default-extensions/julia.js +4 -3
  47. package/dist/default-extensions/latex.js +10 -9
  48. package/dist/default-extensions/less.js +4 -3
  49. package/dist/default-extensions/log.js +3 -2
  50. package/dist/default-extensions/lua.js +4 -3
  51. package/dist/default-extensions/make.js +4 -3
  52. package/dist/default-extensions/markdown-basics.js +5 -4
  53. package/dist/default-extensions/objective-c.js +5 -4
  54. package/dist/default-extensions/perl.js +6 -5
  55. package/dist/default-extensions/php.js +6 -5
  56. package/dist/default-extensions/powershell.js +4 -3
  57. package/dist/default-extensions/pug.js +4 -3
  58. package/dist/default-extensions/python.js +5 -4
  59. package/dist/default-extensions/r.js +4 -3
  60. package/dist/default-extensions/razor.js +4 -3
  61. package/dist/default-extensions/references-view.js +8 -0
  62. package/dist/default-extensions/ruby.js +4 -3
  63. package/dist/default-extensions/rust.js +4 -3
  64. package/dist/default-extensions/scss.js +5 -4
  65. package/dist/default-extensions/shaderlab.js +4 -3
  66. package/dist/default-extensions/shellscript.js +4 -3
  67. package/dist/default-extensions/sql.js +4 -3
  68. package/dist/default-extensions/swift.js +5 -4
  69. package/dist/default-extensions/theme-abyss.js +3 -2
  70. package/dist/default-extensions/theme-defaults.js +31 -10
  71. package/dist/default-extensions/theme-kimbie-dark.js +3 -2
  72. package/dist/default-extensions/theme-monokai-dimmed.js +3 -2
  73. package/dist/default-extensions/theme-monokai.js +3 -2
  74. package/dist/default-extensions/theme-quietlight.js +3 -2
  75. package/dist/default-extensions/theme-red.js +3 -2
  76. package/dist/default-extensions/theme-seti.js +5 -2
  77. package/dist/default-extensions/theme-solarized-dark.js +3 -2
  78. package/dist/default-extensions/theme-solarized-light.js +3 -2
  79. package/dist/default-extensions/theme-tomorrow-night-blue.js +3 -2
  80. package/dist/default-extensions/typescript-basics.js +8 -7
  81. package/dist/default-extensions/vb.js +5 -4
  82. package/dist/default-extensions/xml.js +6 -5
  83. package/dist/default-extensions/yaml.js +4 -3
  84. package/dist/editor.d.ts +322 -0
  85. package/dist/editorBrowser.d.ts +3128 -0
  86. package/dist/event.d.ts +581 -0
  87. package/dist/extension-tools-d0cfdea1.js +25603 -0
  88. package/dist/extensions.d.ts +20 -829
  89. package/dist/extensions.d2.ts +457 -0
  90. package/dist/extensions.js +100 -5
  91. package/dist/extensionsRegistry.d.ts +239 -0
  92. package/dist/files.d.ts +853 -0
  93. package/dist/instantiation.d.ts +59 -0
  94. package/dist/jsonSchema.d.ts +90 -0
  95. package/dist/keybinding.d.ts +622 -0
  96. package/dist/languageFeatures.d.ts +4762 -0
  97. package/dist/log.d.ts +150 -0
  98. package/dist/monaco.d.ts +42 -5195
  99. package/dist/override/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -0
  100. package/dist/rollup-extension-directory-plugin.d.ts +5 -2
  101. package/dist/rollup-extension-directory-plugin.js +74 -46
  102. package/dist/rollup-vsix-plugin.d.ts +4 -2
  103. package/dist/rollup-vsix-plugin.js +57 -19
  104. package/dist/service-override/audioCue.d.ts +4 -19
  105. package/dist/service-override/configuration.d.ts +10 -628
  106. package/dist/service-override/configuration.js +16 -4
  107. package/dist/service-override/debug.d.ts +4 -19
  108. package/dist/service-override/dialogs.d.ts +3 -3
  109. package/dist/service-override/files.d.ts +53 -818
  110. package/dist/service-override/files.js +37 -15
  111. package/dist/service-override/keybindings.d.ts +9 -11
  112. package/dist/service-override/languages.d.ts +4 -74
  113. package/dist/service-override/layout.js +80 -6
  114. package/dist/service-override/modelEditor.d.ts +9 -557
  115. package/dist/service-override/modelEditor.js +5 -3
  116. package/dist/service-override/notifications.d.ts +3 -3
  117. package/dist/service-override/preferences.d.ts +3 -3
  118. package/dist/service-override/snippets.d.ts +3 -3
  119. package/dist/service-override/textmate.d.ts +3 -11
  120. package/dist/service-override/theme.d.ts +4 -16
  121. package/dist/service-override/views.d.ts +502 -0
  122. package/dist/service-override/views.js +177 -0
  123. package/dist/services.d.ts +1946 -16903
  124. package/dist/services.js +3 -0
  125. package/dist/standaloneServices.d.ts +14 -0
  126. package/dist/themables.d.ts +28 -0
  127. package/dist/uri.d.ts +151 -0
  128. package/dist/vscode/vs/base/browser/ui/menu/menubar.js +831 -0
  129. package/dist/vscode/vs/base/browser/ui/splitview/paneview.js +151 -2
  130. package/dist/vscode/vs/base/browser/ui/tree/treeDefaults.js +14 -0
  131. package/dist/vscode/vs/platform/backup/common/backup.js +7 -0
  132. package/dist/vscode/vs/platform/configuration/common/configurationRegistry.js +10 -0
  133. package/dist/vscode/vs/platform/credentials/common/credentials.js +3 -0
  134. package/dist/vscode/vs/platform/extensionManagement/common/extensionManagementUtil.js +4 -1
  135. package/dist/vscode/vs/platform/extensionManagement/common/extensionStorage.js +174 -0
  136. package/dist/vscode/vs/platform/files/common/fileService.js +2 -11
  137. package/dist/vscode/vs/platform/files/common/files.js +28 -0
  138. package/dist/vscode/vs/platform/files/common/io.js +2 -7
  139. package/dist/vscode/vs/platform/languagePacks/common/languagePacks.js +3 -0
  140. package/dist/vscode/vs/platform/remote/common/remoteAuthorityResolver.js +3 -1
  141. package/dist/vscode/vs/platform/storage/common/storage.js +332 -0
  142. package/dist/vscode/vs/platform/telemetry/common/telemetryUtils.js +2 -1
  143. package/dist/vscode/vs/platform/tunnel/common/tunnel.js +29 -1
  144. package/dist/vscode/vs/platform/update/common/update.js +3 -0
  145. package/dist/vscode/vs/platform/window/common/window.js +33 -0
  146. package/dist/vscode/vs/workbench/api/browser/mainThreadBulkEdits.js +18 -1
  147. package/dist/vscode/vs/workbench/api/browser/mainThreadDebugService.js +21 -0
  148. package/dist/vscode/vs/workbench/api/browser/mainThreadExtensionService.js +1 -1
  149. package/dist/vscode/vs/workbench/api/browser/mainThreadLanguageFeatures.js +13 -10
  150. package/dist/vscode/vs/workbench/api/browser/mainThreadLocalization.js +33 -0
  151. package/dist/vscode/vs/workbench/api/browser/mainThreadStorage.js +69 -0
  152. package/dist/vscode/vs/workbench/api/browser/mainThreadTreeViews.js +300 -0
  153. package/dist/vscode/vs/workbench/api/browser/mainThreadWorkspace.js +21 -1
  154. package/dist/vscode/vs/workbench/api/browser/viewsExtensionPoint.js +699 -0
  155. package/dist/vscode/vs/workbench/api/common/extHost.protocol.js +5 -1
  156. package/dist/vscode/vs/workbench/api/common/extHostConfiguration.js +13 -8
  157. package/dist/vscode/vs/workbench/api/common/extHostDebugService.js +31 -0
  158. package/dist/vscode/vs/workbench/api/common/extHostExtensionService.js +4 -4
  159. package/dist/vscode/vs/workbench/api/common/extHostLanguageFeatures.js +54 -43
  160. package/dist/vscode/vs/workbench/api/common/extHostTreeViews.js +823 -0
  161. package/dist/vscode/vs/workbench/api/common/extHostTypeConverters.js +33 -13
  162. package/dist/vscode/vs/workbench/api/common/extHostTypes.js +29 -1
  163. package/dist/vscode/vs/workbench/api/common/extHostVariableResolverService.js +3 -3
  164. package/dist/vscode/vs/workbench/api/common/extHostWorkspace.js +8 -0
  165. package/dist/vscode/vs/workbench/api/common/shared/dataTransferCache.js +1 -1
  166. package/dist/vscode/vs/workbench/browser/actions/layoutActions.js +318 -0
  167. package/dist/vscode/vs/workbench/browser/actions/listCommands.js +602 -0
  168. package/dist/vscode/vs/workbench/browser/actions/windowActions.js +271 -0
  169. package/dist/vscode/vs/workbench/browser/actions/workspaceActions.js +250 -0
  170. package/dist/vscode/vs/workbench/browser/actions/workspaceCommands.js +6 -0
  171. package/dist/vscode/vs/workbench/browser/composite.js +49 -1
  172. package/dist/vscode/vs/workbench/browser/dnd.js +395 -0
  173. package/dist/vscode/vs/workbench/browser/labels.js +426 -0
  174. package/dist/vscode/vs/workbench/browser/panecomposite.js +158 -0
  175. package/dist/vscode/vs/workbench/browser/part.js +84 -0
  176. package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarActions.js +582 -0
  177. package/dist/vscode/vs/workbench/browser/parts/activitybar/activitybarPart.js +784 -0
  178. package/dist/vscode/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +146 -0
  179. package/dist/vscode/vs/workbench/browser/parts/compositeBar.js +687 -0
  180. package/dist/vscode/vs/workbench/browser/parts/compositeBarActions.js +578 -0
  181. package/dist/vscode/vs/workbench/browser/parts/compositePart.js +319 -0
  182. package/dist/vscode/vs/workbench/browser/parts/editor/editorActions.js +7 -7
  183. package/dist/vscode/vs/workbench/browser/parts/editor/editorCommands.js +4 -1121
  184. package/dist/vscode/vs/workbench/browser/parts/panel/panelActions.js +381 -0
  185. package/dist/vscode/vs/workbench/browser/parts/panel/panelPart.js +753 -0
  186. package/dist/vscode/vs/workbench/browser/parts/sidebar/sidebarPart.js +217 -0
  187. package/dist/vscode/vs/workbench/browser/parts/titlebar/menubarControl.js +600 -0
  188. package/dist/vscode/vs/workbench/browser/parts/views/checkbox.js +80 -0
  189. package/dist/vscode/vs/workbench/browser/parts/views/treeView.js +1475 -0
  190. package/dist/vscode/vs/workbench/browser/parts/views/viewFilter.js +181 -0
  191. package/dist/vscode/vs/workbench/browser/parts/views/viewPane.js +50 -2
  192. package/dist/vscode/vs/workbench/browser/parts/views/viewPaneContainer.js +1020 -0
  193. package/dist/vscode/vs/workbench/browser/parts/views/viewsService.js +562 -0
  194. package/dist/vscode/vs/workbench/browser/parts/views/viewsViewlet.js +109 -0
  195. package/dist/vscode/vs/workbench/browser/style.js +43 -0
  196. package/dist/vscode/vs/workbench/common/activity.js +3 -0
  197. package/dist/vscode/vs/workbench/common/contextkeys.js +31 -9
  198. package/dist/vscode/vs/workbench/common/editor/textEditorModel.js +7 -8
  199. package/dist/vscode/vs/workbench/common/editor.js +1 -47
  200. package/dist/vscode/vs/workbench/common/theme.js +38 -25
  201. package/dist/vscode/vs/workbench/common/views.js +280 -1
  202. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits.js +62 -1
  203. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +305 -0
  204. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +373 -0
  205. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +257 -0
  206. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +259 -0
  207. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +337 -0
  208. package/dist/vscode/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.js +119 -0
  209. package/dist/vscode/vs/workbench/contrib/debug/browser/baseDebugView.js +8 -2
  210. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +12 -4
  211. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointWidget.js +5 -0
  212. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointsView.js +585 -8
  213. package/dist/vscode/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +5 -1
  214. package/dist/vscode/vs/workbench/contrib/debug/browser/callStackView.js +954 -0
  215. package/dist/vscode/vs/workbench/contrib/debug/browser/debug.contribution.js +151 -145
  216. package/dist/vscode/vs/workbench/contrib/debug/browser/debugANSIHandling.js +345 -0
  217. package/dist/vscode/vs/workbench/contrib/debug/browser/debugCommands.js +79 -3
  218. package/dist/vscode/vs/workbench/contrib/debug/browser/debugEditorActions.js +522 -0
  219. package/dist/vscode/vs/workbench/contrib/debug/browser/debugEditorContribution.js +10 -9
  220. package/dist/vscode/vs/workbench/contrib/debug/browser/debugHover.js +15 -7
  221. package/dist/vscode/vs/workbench/contrib/debug/browser/debugIcons.js +28 -1
  222. package/dist/vscode/vs/workbench/contrib/debug/browser/debugSession.js +72 -65
  223. package/dist/vscode/vs/workbench/contrib/debug/browser/debugViewlet.js +166 -0
  224. package/dist/vscode/vs/workbench/contrib/debug/browser/linkDetector.js +10 -10
  225. package/dist/vscode/vs/workbench/contrib/debug/browser/loadedScriptsView.js +629 -0
  226. package/dist/vscode/vs/workbench/contrib/debug/browser/repl.js +908 -0
  227. package/dist/vscode/vs/workbench/contrib/debug/browser/replFilter.js +46 -0
  228. package/dist/vscode/vs/workbench/contrib/debug/browser/replViewer.js +330 -0
  229. package/dist/vscode/vs/workbench/contrib/debug/browser/variablesView.js +295 -10
  230. package/dist/vscode/vs/workbench/contrib/debug/browser/watchExpressionsView.js +411 -0
  231. package/dist/vscode/vs/workbench/contrib/debug/browser/welcomeView.js +85 -0
  232. package/dist/vscode/vs/workbench/contrib/debug/common/debug.js +98 -1
  233. package/dist/vscode/vs/workbench/contrib/debug/common/debugModel.js +10 -1
  234. package/dist/vscode/vs/workbench/contrib/debug/common/debugViewModel.js +9 -1
  235. package/dist/vscode/vs/workbench/contrib/debug/common/replModel.js +51 -1
  236. package/dist/vscode/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -0
  237. package/dist/vscode/vs/workbench/contrib/files/browser/explorerViewlet.js +254 -0
  238. package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.contribution.js +207 -0
  239. package/dist/vscode/vs/workbench/contrib/files/browser/fileActions.js +1119 -0
  240. package/dist/vscode/vs/workbench/contrib/files/browser/fileCommands.js +595 -0
  241. package/dist/vscode/vs/workbench/contrib/files/browser/fileConstants.js +26 -0
  242. package/dist/vscode/vs/workbench/contrib/files/browser/fileImportExport.js +708 -0
  243. package/dist/vscode/vs/workbench/contrib/files/browser/files.contribution.js +368 -13
  244. package/dist/vscode/vs/workbench/contrib/files/browser/files.js +88 -1
  245. package/dist/vscode/vs/workbench/contrib/files/browser/views/emptyView.js +88 -0
  246. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +73 -0
  247. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerView.js +796 -0
  248. package/dist/vscode/vs/workbench/contrib/files/browser/views/explorerViewer.js +1209 -0
  249. package/dist/vscode/vs/workbench/contrib/files/common/files.js +194 -3
  250. package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionFollowups.js +30 -0
  251. package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionInputPart.js +196 -0
  252. package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionListRenderer.js +622 -0
  253. package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionOptions.js +77 -0
  254. package/dist/vscode/vs/workbench/contrib/interactiveSession/browser/interactiveSessionWidget.js +311 -0
  255. package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionContextKeys.js +48 -0
  256. package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionService.js +8 -0
  257. package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionViewModel.js +207 -0
  258. package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionWidgetHistoryService.js +3 -0
  259. package/dist/vscode/vs/workbench/contrib/interactiveSession/common/interactiveSessionWordCounter.js +25 -0
  260. package/dist/vscode/vs/workbench/contrib/notebook/browser/notebookBrowser.js +27 -0
  261. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookCommon.js +79 -1
  262. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookEditorInput.js +249 -0
  263. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookEditorModelResolverService.js +3 -0
  264. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookService.js +10 -0
  265. package/dist/vscode/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +117 -19
  266. package/dist/vscode/vs/workbench/contrib/remote/browser/remoteExplorer.js +186 -0
  267. package/dist/vscode/vs/workbench/contrib/remote/browser/remoteIcons.js +23 -0
  268. package/dist/vscode/vs/workbench/contrib/remote/browser/tunnelView.js +1636 -0
  269. package/dist/vscode/vs/workbench/contrib/scm/common/scm.js +2 -0
  270. package/dist/vscode/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +167 -0
  271. package/dist/vscode/vs/workbench/contrib/testing/common/testId.js +5 -2
  272. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +244 -0
  273. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +332 -0
  274. package/dist/vscode/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyTree.js +117 -0
  275. package/dist/vscode/vs/workbench/contrib/webview/browser/webview.js +41 -0
  276. package/dist/vscode/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +20 -0
  277. package/dist/vscode/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +231 -0
  278. package/dist/vscode/vs/workbench/contrib/webviewView/browser/webviewViewService.js +3 -0
  279. package/dist/vscode/vs/workbench/services/actions/common/menusExtensionPoint.js +179 -1
  280. package/dist/vscode/vs/workbench/services/activity/browser/activityService.js +94 -0
  281. package/dist/vscode/vs/workbench/services/activity/common/activity.js +15 -1
  282. package/dist/vscode/vs/workbench/services/authentication/browser/authenticationService.js +35 -0
  283. package/dist/vscode/vs/workbench/services/authentication/common/authentication.js +3 -0
  284. package/dist/vscode/vs/workbench/services/configuration/browser/configuration.js +1 -1
  285. package/dist/vscode/vs/workbench/services/configurationResolver/common/variableResolver.js +13 -13
  286. package/dist/vscode/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +3 -3
  287. package/dist/vscode/vs/workbench/services/extensions/common/extensionStorageMigration.js +56 -0
  288. package/dist/vscode/vs/workbench/services/extensions/common/extensions.js +1 -1
  289. package/dist/vscode/vs/workbench/services/extensions/common/extensionsApiProposals.js +8 -0
  290. package/dist/vscode/vs/workbench/services/hover/browser/hover.js +3 -0
  291. package/dist/vscode/vs/workbench/services/hover/browser/hoverService.js +149 -0
  292. package/dist/vscode/vs/workbench/services/hover/browser/hoverWidget.js +514 -0
  293. package/dist/vscode/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +29 -29
  294. package/dist/vscode/vs/workbench/services/keybinding/common/windowsKeyboardMapper.js +11 -11
  295. package/dist/vscode/vs/workbench/services/language/common/languageService.js +1 -1
  296. package/dist/vscode/vs/workbench/services/layout/browser/layoutService.js +9 -1
  297. package/dist/vscode/vs/workbench/services/remote/common/remoteExplorerService.js +782 -0
  298. package/dist/vscode/vs/workbench/services/search/common/ignoreFile.js +102 -0
  299. package/dist/vscode/vs/workbench/services/search/common/queryBuilder.js +26 -8
  300. package/dist/vscode/vs/workbench/services/search/common/search.js +4 -3
  301. package/dist/vscode/vs/workbench/services/semanticSimilarity/common/semanticSimilarityService.js +3 -0
  302. package/dist/vscode/vs/workbench/services/textMate/browser/workerHost/textMateWorkerTokenizerController.js +6 -10
  303. package/dist/vscode/vs/workbench/services/textfile/common/textfiles.js +1 -1
  304. package/dist/vscode/vs/workbench/services/themes/browser/fileIconThemeData.js +2 -2
  305. package/dist/vscode/vs/workbench/services/themes/browser/productIconThemeData.js +4 -5
  306. package/dist/vscode/vs/workbench/services/themes/browser/workbenchThemeService.js +16 -10
  307. package/dist/vscode/vs/workbench/services/themes/common/themeConfiguration.js +36 -38
  308. package/dist/vscode/vs/workbench/services/themes/common/themeExtensionPoints.js +4 -8
  309. package/dist/vscode/vs/workbench/services/themes/common/workbenchThemeService.js +22 -1
  310. package/dist/vscode/vs/workbench/services/views/browser/treeViewsService.js +3 -0
  311. package/dist/vscode/vs/workbench/services/views/browser/viewDescriptorService.js +688 -0
  312. package/dist/vscode/vs/workbench/services/views/common/treeViewsService.js +20 -0
  313. package/dist/vscode/vs/workbench/services/views/common/viewContainerModel.js +613 -0
  314. package/dist/vscode-default-extensions/bat/language-configuration.json.extensionResource.js +2 -0
  315. package/dist/vscode-default-extensions/bat/snippets/batchfile.code-snippets.extensionResource.js +2 -0
  316. package/dist/vscode-default-extensions/bat/syntaxes/batchfile.tmLanguage.json.extensionResource.js +2 -0
  317. package/dist/vscode-default-extensions/clojure/language-configuration.json.extensionResource.js +2 -0
  318. package/dist/vscode-default-extensions/clojure/syntaxes/clojure.tmLanguage.json.extensionResource.js +2 -0
  319. package/dist/vscode-default-extensions/coffeescript/language-configuration.json.extensionResource.js +2 -0
  320. package/dist/vscode-default-extensions/coffeescript/snippets/coffeescript.code-snippets.extensionResource.js +2 -0
  321. package/dist/vscode-default-extensions/coffeescript/syntaxes/coffeescript.tmLanguage.json.extensionResource.js +2 -0
  322. package/dist/vscode-default-extensions/cpp/language-configuration.json.extensionResource.js +2 -0
  323. package/dist/vscode-default-extensions/cpp/snippets/c.code-snippets.extensionResource.js +2 -0
  324. package/dist/vscode-default-extensions/cpp/snippets/cpp.code-snippets.extensionResource.js +2 -0
  325. package/dist/vscode-default-extensions/cpp/syntaxes/c.tmLanguage.json.extensionResource.js +2 -0
  326. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json.extensionResource.js +2 -0
  327. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.tmLanguage.json.extensionResource.js +2 -0
  328. package/dist/vscode-default-extensions/cpp/syntaxes/cuda-cpp.tmLanguage.json.extensionResource.js +2 -0
  329. package/dist/vscode-default-extensions/cpp/syntaxes/{platform.tmLanguage.json.js → platform.tmLanguage.json.extensionResource.js} +2 -2
  330. package/dist/vscode-default-extensions/csharp/language-configuration.json.extensionResource.js +2 -0
  331. package/dist/vscode-default-extensions/csharp/snippets/csharp.code-snippets.extensionResource.js +2 -0
  332. package/dist/vscode-default-extensions/csharp/syntaxes/csharp.tmLanguage.json.extensionResource.js +2 -0
  333. package/dist/vscode-default-extensions/css/language-configuration.json.extensionResource.js +2 -0
  334. package/dist/vscode-default-extensions/css/syntaxes/css.tmLanguage.json.extensionResource.js +2 -0
  335. package/dist/vscode-default-extensions/dart/language-configuration.json.extensionResource.js +2 -0
  336. package/dist/vscode-default-extensions/dart/syntaxes/dart.tmLanguage.json.extensionResource.js +2 -0
  337. package/dist/vscode-default-extensions/diff/language-configuration.json.extensionResource.js +2 -0
  338. package/dist/vscode-default-extensions/diff/syntaxes/diff.tmLanguage.json.extensionResource.js +2 -0
  339. package/dist/vscode-default-extensions/docker/language-configuration.json.extensionResource.js +2 -0
  340. package/dist/vscode-default-extensions/docker/syntaxes/docker.tmLanguage.json.extensionResource.js +2 -0
  341. package/dist/vscode-default-extensions/fsharp/language-configuration.json.extensionResource.js +2 -0
  342. package/dist/vscode-default-extensions/fsharp/snippets/fsharp.code-snippets.extensionResource.js +2 -0
  343. package/dist/vscode-default-extensions/fsharp/syntaxes/fsharp.tmLanguage.json.extensionResource.js +2 -0
  344. package/dist/vscode-default-extensions/go/language-configuration.json.extensionResource.js +2 -0
  345. package/dist/vscode-default-extensions/go/syntaxes/go.tmLanguage.json.extensionResource.js +2 -0
  346. package/dist/vscode-default-extensions/groovy/language-configuration.json.extensionResource.js +2 -0
  347. package/dist/vscode-default-extensions/groovy/snippets/groovy.code-snippets.extensionResource.js +2 -0
  348. package/dist/vscode-default-extensions/groovy/syntaxes/groovy.tmLanguage.json.extensionResource.js +2 -0
  349. package/dist/vscode-default-extensions/handlebars/language-configuration.json.extensionResource.js +2 -0
  350. package/dist/vscode-default-extensions/handlebars/syntaxes/Handlebars.tmLanguage.json.extensionResource.js +2 -0
  351. package/dist/vscode-default-extensions/hlsl/language-configuration.json.extensionResource.js +2 -0
  352. package/dist/vscode-default-extensions/hlsl/syntaxes/hlsl.tmLanguage.json.extensionResource.js +2 -0
  353. package/dist/vscode-default-extensions/html/language-configuration.json.extensionResource.js +2 -0
  354. package/dist/vscode-default-extensions/html/snippets/html.code-snippets.extensionResource.js +2 -0
  355. package/dist/vscode-default-extensions/html/syntaxes/html-derivative.tmLanguage.json.extensionResource.js +2 -0
  356. package/dist/vscode-default-extensions/html/syntaxes/html.tmLanguage.json.extensionResource.js +2 -0
  357. package/dist/vscode-default-extensions/ini/ini.language-configuration.json.extensionResource.js +2 -0
  358. package/dist/vscode-default-extensions/ini/properties.language-configuration.json.extensionResource.js +2 -0
  359. package/dist/vscode-default-extensions/ini/syntaxes/ini.tmLanguage.json.extensionResource.js +2 -0
  360. package/dist/vscode-default-extensions/java/language-configuration.json.extensionResource.js +2 -0
  361. package/dist/vscode-default-extensions/java/snippets/java.code-snippets.extensionResource.js +2 -0
  362. package/dist/vscode-default-extensions/java/syntaxes/java.tmLanguage.json.extensionResource.js +2 -0
  363. package/dist/vscode-default-extensions/javascript/javascript-language-configuration.json.extensionResource.js +2 -0
  364. package/dist/vscode-default-extensions/javascript/snippets/javascript.code-snippets.extensionResource.js +2 -0
  365. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScript.tmLanguage.json.extensionResource.js +2 -0
  366. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScriptReact.tmLanguage.json.extensionResource.js +2 -0
  367. package/dist/vscode-default-extensions/javascript/syntaxes/Regular Expressions (JavaScript).tmLanguage.extensionResource.js +2 -0
  368. package/dist/vscode-default-extensions/javascript/tags-language-configuration.json.extensionResource.js +2 -0
  369. package/dist/vscode-default-extensions/json/language-configuration.json.extensionResource.js +2 -0
  370. package/dist/vscode-default-extensions/json/syntaxes/JSON.tmLanguage.json.extensionResource.js +2 -0
  371. package/dist/vscode-default-extensions/json/syntaxes/JSONC.tmLanguage.json.extensionResource.js +2 -0
  372. package/dist/vscode-default-extensions/julia/language-configuration.json.extensionResource.js +2 -0
  373. package/dist/vscode-default-extensions/julia/syntaxes/julia.tmLanguage.json.extensionResource.js +2 -0
  374. package/dist/vscode-default-extensions/latex/latex-cpp-embedded-language-configuration.json.extensionResource.js +2 -0
  375. package/dist/vscode-default-extensions/latex/latex-language-configuration.json.extensionResource.js +2 -0
  376. package/dist/vscode-default-extensions/latex/markdown-latex-combined-language-configuration.json.extensionResource.js +2 -0
  377. package/dist/vscode-default-extensions/latex/syntaxes/Bibtex.tmLanguage.json.extensionResource.js +2 -0
  378. package/dist/vscode-default-extensions/latex/syntaxes/LaTeX.tmLanguage.json.extensionResource.js +2 -0
  379. package/dist/vscode-default-extensions/latex/syntaxes/TeX.tmLanguage.json.extensionResource.js +2 -0
  380. package/dist/vscode-default-extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json.extensionResource.js +2 -0
  381. package/dist/vscode-default-extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json.extensionResource.js +2 -0
  382. package/dist/vscode-default-extensions/less/language-configuration.json.extensionResource.js +2 -0
  383. package/dist/vscode-default-extensions/less/syntaxes/less.tmLanguage.json.extensionResource.js +2 -0
  384. package/dist/vscode-default-extensions/log/syntaxes/log.tmLanguage.json.extensionResource.js +2 -0
  385. package/dist/vscode-default-extensions/lua/language-configuration.json.extensionResource.js +2 -0
  386. package/dist/vscode-default-extensions/lua/syntaxes/lua.tmLanguage.json.extensionResource.js +2 -0
  387. package/dist/vscode-default-extensions/make/language-configuration.json.extensionResource.js +2 -0
  388. package/dist/vscode-default-extensions/make/syntaxes/make.tmLanguage.json.extensionResource.js +2 -0
  389. package/dist/vscode-default-extensions/markdown-basics/language-configuration.json.extensionResource.js +2 -0
  390. package/dist/vscode-default-extensions/markdown-basics/snippets/markdown.code-snippets.extensionResource.js +2 -0
  391. package/dist/vscode-default-extensions/markdown-basics/syntaxes/markdown.tmLanguage.json.extensionResource.js +2 -0
  392. package/dist/vscode-default-extensions/objective-c/language-configuration.json.extensionResource.js +2 -0
  393. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c.tmLanguage.json.extensionResource.js +2 -0
  394. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c__.tmLanguage.json.extensionResource.js +2 -0
  395. package/dist/vscode-default-extensions/perl/perl.language-configuration.json.extensionResource.js +2 -0
  396. package/dist/vscode-default-extensions/perl/perl6.language-configuration.json.extensionResource.js +2 -0
  397. package/dist/vscode-default-extensions/perl/syntaxes/perl.tmLanguage.json.extensionResource.js +2 -0
  398. package/dist/vscode-default-extensions/perl/syntaxes/perl6.tmLanguage.json.extensionResource.js +2 -0
  399. package/dist/vscode-default-extensions/php/language-configuration.json.extensionResource.js +2 -0
  400. package/dist/vscode-default-extensions/php/snippets/php.code-snippets.extensionResource.js +2 -0
  401. package/dist/vscode-default-extensions/php/syntaxes/html.tmLanguage.json.extensionResource.js +2 -0
  402. package/dist/vscode-default-extensions/php/syntaxes/php.tmLanguage.json.extensionResource.js +2 -0
  403. package/dist/vscode-default-extensions/powershell/language-configuration.json.extensionResource.js +2 -0
  404. package/dist/vscode-default-extensions/powershell/syntaxes/powershell.tmLanguage.json.extensionResource.js +2 -0
  405. package/dist/vscode-default-extensions/pug/language-configuration.json.extensionResource.js +2 -0
  406. package/dist/vscode-default-extensions/pug/syntaxes/pug.tmLanguage.json.extensionResource.js +2 -0
  407. package/dist/vscode-default-extensions/python/language-configuration.json.extensionResource.js +2 -0
  408. package/dist/vscode-default-extensions/python/syntaxes/MagicPython.tmLanguage.json.extensionResource.js +2 -0
  409. package/dist/vscode-default-extensions/python/syntaxes/MagicRegExp.tmLanguage.json.extensionResource.js +2 -0
  410. package/dist/vscode-default-extensions/r/language-configuration.json.extensionResource.js +2 -0
  411. package/dist/vscode-default-extensions/r/syntaxes/r.tmLanguage.json.extensionResource.js +2 -0
  412. package/dist/vscode-default-extensions/razor/language-configuration.json.extensionResource.js +2 -0
  413. package/dist/vscode-default-extensions/razor/syntaxes/cshtml.tmLanguage.json.extensionResource.js +2 -0
  414. package/dist/vscode-default-extensions/references-view/dist/extension.js.extensionResource.js +2 -0
  415. package/dist/vscode-default-extensions/references-view/package.json.js +2 -0
  416. package/dist/vscode-default-extensions/ruby/language-configuration.json.extensionResource.js +2 -0
  417. package/dist/vscode-default-extensions/ruby/syntaxes/ruby.tmLanguage.json.extensionResource.js +2 -0
  418. package/dist/vscode-default-extensions/rust/language-configuration.json.extensionResource.js +2 -0
  419. package/dist/vscode-default-extensions/rust/syntaxes/rust.tmLanguage.json.extensionResource.js +2 -0
  420. package/dist/vscode-default-extensions/scss/language-configuration.json.extensionResource.js +2 -0
  421. package/dist/vscode-default-extensions/scss/syntaxes/sassdoc.tmLanguage.json.extensionResource.js +2 -0
  422. package/dist/vscode-default-extensions/scss/syntaxes/scss.tmLanguage.json.extensionResource.js +2 -0
  423. package/dist/vscode-default-extensions/shaderlab/language-configuration.json.extensionResource.js +2 -0
  424. package/dist/vscode-default-extensions/shaderlab/syntaxes/shaderlab.tmLanguage.json.extensionResource.js +2 -0
  425. package/dist/vscode-default-extensions/shellscript/language-configuration.json.extensionResource.js +2 -0
  426. package/dist/vscode-default-extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json.extensionResource.js +2 -0
  427. package/dist/vscode-default-extensions/sql/language-configuration.json.extensionResource.js +2 -0
  428. package/dist/vscode-default-extensions/sql/syntaxes/sql.tmLanguage.json.extensionResource.js +2 -0
  429. package/dist/vscode-default-extensions/swift/language-configuration.json.extensionResource.js +2 -0
  430. package/dist/vscode-default-extensions/swift/snippets/swift.code-snippets.extensionResource.js +2 -0
  431. package/dist/vscode-default-extensions/swift/syntaxes/swift.tmLanguage.json.extensionResource.js +2 -0
  432. package/dist/vscode-default-extensions/theme-abyss/themes/abyss-color-theme.json.extensionResource.js +2 -0
  433. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/document-dark.svg.extensionResource.js +2 -0
  434. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/document-light.svg.extensionResource.js +2 -0
  435. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-dark.svg.extensionResource.js +2 -0
  436. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-light.svg.extensionResource.js +2 -0
  437. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-open-dark.svg.extensionResource.js +2 -0
  438. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/folder-open-light.svg.extensionResource.js +2 -0
  439. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-dark.svg.extensionResource.js +2 -0
  440. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-light.svg.extensionResource.js +2 -0
  441. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-open-dark.svg.extensionResource.js +2 -0
  442. package/dist/vscode-default-extensions/theme-defaults/fileicons/images/root-folder-open-light.svg.extensionResource.js +2 -0
  443. package/dist/vscode-default-extensions/theme-defaults/fileicons/vs_minimal-icon-theme.json.extensionResource.js +2 -0
  444. package/dist/vscode-default-extensions/theme-defaults/package.json.js +1 -1
  445. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus.json.extensionResource.js +2 -0
  446. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus_experimental.json.extensionResource.js +2 -0
  447. package/dist/vscode-default-extensions/theme-defaults/themes/dark_vs.json.extensionResource.js +2 -0
  448. package/dist/vscode-default-extensions/theme-defaults/themes/hc_black.json.extensionResource.js +2 -0
  449. package/dist/vscode-default-extensions/theme-defaults/themes/hc_light.json.extensionResource.js +2 -0
  450. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus.json.extensionResource.js +2 -0
  451. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus_experimental.json.extensionResource.js +2 -0
  452. package/dist/vscode-default-extensions/theme-defaults/themes/light_vs.json.extensionResource.js +2 -0
  453. package/dist/vscode-default-extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json.extensionResource.js +2 -0
  454. package/dist/vscode-default-extensions/theme-monokai/themes/monokai-color-theme.json.extensionResource.js +2 -0
  455. package/dist/vscode-default-extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json.extensionResource.js +2 -0
  456. package/dist/vscode-default-extensions/theme-quietlight/themes/quietlight-color-theme.json.extensionResource.js +2 -0
  457. package/dist/vscode-default-extensions/theme-red/themes/Red-color-theme.json.extensionResource.js +2 -0
  458. package/dist/vscode-default-extensions/theme-seti/icons/seti.woff.extensionResource.js +2 -0
  459. package/dist/vscode-default-extensions/theme-seti/icons/vs-seti-icon-theme.json.extensionResource.js +2 -0
  460. package/dist/vscode-default-extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json.extensionResource.js +2 -0
  461. package/dist/vscode-default-extensions/theme-solarized-light/themes/solarized-light-color-theme.json.extensionResource.js +2 -0
  462. package/dist/vscode-default-extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json.extensionResource.js +2 -0
  463. package/dist/vscode-default-extensions/typescript-basics/language-configuration.json.extensionResource.js +2 -0
  464. package/dist/vscode-default-extensions/typescript-basics/snippets/typescript.code-snippets.extensionResource.js +2 -0
  465. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json.extensionResource.js +2 -0
  466. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScriptReact.tmLanguage.json.extensionResource.js +2 -0
  467. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.js.injection.tmLanguage.json.extensionResource.js +2 -0
  468. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.ts.injection.tmLanguage.json.extensionResource.js +2 -0
  469. package/dist/vscode-default-extensions/vb/language-configuration.json.extensionResource.js +2 -0
  470. package/dist/vscode-default-extensions/vb/snippets/vb.code-snippets.extensionResource.js +2 -0
  471. package/dist/vscode-default-extensions/vb/syntaxes/asp-vb-net.tmlanguage.json.extensionResource.js +2 -0
  472. package/dist/vscode-default-extensions/xml/syntaxes/xml.tmLanguage.json.extensionResource.js +2 -0
  473. package/dist/vscode-default-extensions/xml/syntaxes/xsl.tmLanguage.json.extensionResource.js +2 -0
  474. package/dist/vscode-default-extensions/xml/xml.language-configuration.json.extensionResource.js +2 -0
  475. package/dist/vscode-default-extensions/xml/xsl.language-configuration.json.extensionResource.js +2 -0
  476. package/dist/vscode-default-extensions/yaml/language-configuration.json.extensionResource.js +2 -0
  477. package/dist/vscode-default-extensions/yaml/syntaxes/yaml.tmLanguage.json.extensionResource.js +2 -0
  478. package/dist/vscode-services/extHost.js +28 -5
  479. package/dist/vscode-services/l10n.js +26 -0
  480. package/dist/vscode-services/missing-services.js +64 -12
  481. package/dist/vscode-services/window.js +23 -5
  482. package/dist/workbenchThemeService.d.ts +20 -0
  483. package/dist/workspace.d.ts +141 -0
  484. package/monaco-editor-treemending.patch +1134 -1902
  485. package/package.json +28 -16
  486. package/dist/default-extensions/typescript-language-features.js +0 -6
  487. package/dist/extension-tools-b68a64de.js +0 -1024
  488. package/dist/vscode/vs/workbench/browser/parts/editor/editorPane.js +0 -242
  489. package/dist/vscode/vs/workbench/browser/parts/editor/editorWithViewState.js +0 -139
  490. package/dist/vscode/vs/workbench/browser/parts/editor/sideBySideEditor.js +0 -387
  491. package/dist/vscode/vs/workbench/browser/parts/editor/textDiffEditor.js +0 -289
  492. package/dist/vscode-default-extensions/bat/language-configuration.json.js +0 -2
  493. package/dist/vscode-default-extensions/bat/snippets/batchfile.code-snippets.js +0 -2
  494. package/dist/vscode-default-extensions/bat/syntaxes/batchfile.tmLanguage.json.js +0 -2
  495. package/dist/vscode-default-extensions/clojure/language-configuration.json.js +0 -2
  496. package/dist/vscode-default-extensions/clojure/syntaxes/clojure.tmLanguage.json.js +0 -2
  497. package/dist/vscode-default-extensions/coffeescript/language-configuration.json.js +0 -2
  498. package/dist/vscode-default-extensions/coffeescript/snippets/coffeescript.code-snippets.js +0 -2
  499. package/dist/vscode-default-extensions/coffeescript/syntaxes/coffeescript.tmLanguage.json.js +0 -2
  500. package/dist/vscode-default-extensions/cpp/language-configuration.json.js +0 -2
  501. package/dist/vscode-default-extensions/cpp/snippets/c.code-snippets.js +0 -2
  502. package/dist/vscode-default-extensions/cpp/snippets/cpp.code-snippets.js +0 -2
  503. package/dist/vscode-default-extensions/cpp/syntaxes/c.tmLanguage.json.js +0 -2
  504. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json.js +0 -2
  505. package/dist/vscode-default-extensions/cpp/syntaxes/cpp.tmLanguage.json.js +0 -2
  506. package/dist/vscode-default-extensions/cpp/syntaxes/cuda-cpp.tmLanguage.json.js +0 -2
  507. package/dist/vscode-default-extensions/csharp/language-configuration.json.js +0 -2
  508. package/dist/vscode-default-extensions/csharp/snippets/csharp.code-snippets.js +0 -2
  509. package/dist/vscode-default-extensions/csharp/syntaxes/csharp.tmLanguage.json.js +0 -2
  510. package/dist/vscode-default-extensions/css/language-configuration.json.js +0 -2
  511. package/dist/vscode-default-extensions/css/syntaxes/css.tmLanguage.json.js +0 -2
  512. package/dist/vscode-default-extensions/dart/language-configuration.json.js +0 -2
  513. package/dist/vscode-default-extensions/dart/syntaxes/dart.tmLanguage.json.js +0 -2
  514. package/dist/vscode-default-extensions/diff/language-configuration.json.js +0 -2
  515. package/dist/vscode-default-extensions/diff/syntaxes/diff.tmLanguage.json.js +0 -2
  516. package/dist/vscode-default-extensions/docker/language-configuration.json.js +0 -2
  517. package/dist/vscode-default-extensions/docker/syntaxes/docker.tmLanguage.json.js +0 -2
  518. package/dist/vscode-default-extensions/fsharp/language-configuration.json.js +0 -2
  519. package/dist/vscode-default-extensions/fsharp/snippets/fsharp.code-snippets.js +0 -2
  520. package/dist/vscode-default-extensions/fsharp/syntaxes/fsharp.tmLanguage.json.js +0 -2
  521. package/dist/vscode-default-extensions/go/language-configuration.json.js +0 -2
  522. package/dist/vscode-default-extensions/go/syntaxes/go.tmLanguage.json.js +0 -2
  523. package/dist/vscode-default-extensions/groovy/language-configuration.json.js +0 -2
  524. package/dist/vscode-default-extensions/groovy/snippets/groovy.code-snippets.js +0 -2
  525. package/dist/vscode-default-extensions/groovy/syntaxes/groovy.tmLanguage.json.js +0 -2
  526. package/dist/vscode-default-extensions/handlebars/language-configuration.json.js +0 -2
  527. package/dist/vscode-default-extensions/handlebars/syntaxes/Handlebars.tmLanguage.json.js +0 -2
  528. package/dist/vscode-default-extensions/hlsl/language-configuration.json.js +0 -2
  529. package/dist/vscode-default-extensions/hlsl/syntaxes/hlsl.tmLanguage.json.js +0 -2
  530. package/dist/vscode-default-extensions/html/language-configuration.json.js +0 -2
  531. package/dist/vscode-default-extensions/html/snippets/html.code-snippets.js +0 -2
  532. package/dist/vscode-default-extensions/html/syntaxes/html-derivative.tmLanguage.json.js +0 -2
  533. package/dist/vscode-default-extensions/html/syntaxes/html.tmLanguage.json.js +0 -2
  534. package/dist/vscode-default-extensions/ini/ini.language-configuration.json.js +0 -2
  535. package/dist/vscode-default-extensions/ini/properties.language-configuration.json.js +0 -2
  536. package/dist/vscode-default-extensions/ini/syntaxes/ini.tmLanguage.json.js +0 -2
  537. package/dist/vscode-default-extensions/java/language-configuration.json.js +0 -2
  538. package/dist/vscode-default-extensions/java/snippets/java.code-snippets.js +0 -2
  539. package/dist/vscode-default-extensions/java/syntaxes/java.tmLanguage.json.js +0 -2
  540. package/dist/vscode-default-extensions/javascript/javascript-language-configuration.json.js +0 -2
  541. package/dist/vscode-default-extensions/javascript/snippets/javascript.code-snippets.js +0 -2
  542. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScript.tmLanguage.json.js +0 -2
  543. package/dist/vscode-default-extensions/javascript/syntaxes/JavaScriptReact.tmLanguage.json.js +0 -2
  544. package/dist/vscode-default-extensions/javascript/syntaxes/Regular Expressions (JavaScript).tmLanguage.js +0 -2
  545. package/dist/vscode-default-extensions/javascript/tags-language-configuration.json.js +0 -2
  546. package/dist/vscode-default-extensions/json/language-configuration.json.js +0 -2
  547. package/dist/vscode-default-extensions/json/syntaxes/JSON.tmLanguage.json.js +0 -2
  548. package/dist/vscode-default-extensions/json/syntaxes/JSONC.tmLanguage.json.js +0 -2
  549. package/dist/vscode-default-extensions/julia/language-configuration.json.js +0 -2
  550. package/dist/vscode-default-extensions/julia/syntaxes/julia.tmLanguage.json.js +0 -2
  551. package/dist/vscode-default-extensions/latex/latex-cpp-embedded-language-configuration.json.js +0 -2
  552. package/dist/vscode-default-extensions/latex/latex-language-configuration.json.js +0 -2
  553. package/dist/vscode-default-extensions/latex/markdown-latex-combined-language-configuration.json.js +0 -2
  554. package/dist/vscode-default-extensions/latex/syntaxes/Bibtex.tmLanguage.json.js +0 -2
  555. package/dist/vscode-default-extensions/latex/syntaxes/LaTeX.tmLanguage.json.js +0 -2
  556. package/dist/vscode-default-extensions/latex/syntaxes/TeX.tmLanguage.json.js +0 -2
  557. package/dist/vscode-default-extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json.js +0 -2
  558. package/dist/vscode-default-extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json.js +0 -2
  559. package/dist/vscode-default-extensions/less/language-configuration.json.js +0 -2
  560. package/dist/vscode-default-extensions/less/syntaxes/less.tmLanguage.json.js +0 -2
  561. package/dist/vscode-default-extensions/log/syntaxes/log.tmLanguage.json.js +0 -2
  562. package/dist/vscode-default-extensions/lua/language-configuration.json.js +0 -2
  563. package/dist/vscode-default-extensions/lua/syntaxes/lua.tmLanguage.json.js +0 -2
  564. package/dist/vscode-default-extensions/make/language-configuration.json.js +0 -2
  565. package/dist/vscode-default-extensions/make/syntaxes/make.tmLanguage.json.js +0 -2
  566. package/dist/vscode-default-extensions/markdown-basics/language-configuration.json.js +0 -2
  567. package/dist/vscode-default-extensions/markdown-basics/snippets/markdown.code-snippets.js +0 -2
  568. package/dist/vscode-default-extensions/markdown-basics/syntaxes/markdown.tmLanguage.json.js +0 -2
  569. package/dist/vscode-default-extensions/objective-c/language-configuration.json.js +0 -2
  570. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c.tmLanguage.json.js +0 -2
  571. package/dist/vscode-default-extensions/objective-c/syntaxes/objective-c__.tmLanguage.json.js +0 -2
  572. package/dist/vscode-default-extensions/perl/perl.language-configuration.json.js +0 -2
  573. package/dist/vscode-default-extensions/perl/perl6.language-configuration.json.js +0 -2
  574. package/dist/vscode-default-extensions/perl/syntaxes/perl.tmLanguage.json.js +0 -2
  575. package/dist/vscode-default-extensions/perl/syntaxes/perl6.tmLanguage.json.js +0 -2
  576. package/dist/vscode-default-extensions/php/language-configuration.json.js +0 -2
  577. package/dist/vscode-default-extensions/php/snippets/php.code-snippets.js +0 -2
  578. package/dist/vscode-default-extensions/php/syntaxes/html.tmLanguage.json.js +0 -2
  579. package/dist/vscode-default-extensions/php/syntaxes/php.tmLanguage.json.js +0 -2
  580. package/dist/vscode-default-extensions/powershell/language-configuration.json.js +0 -2
  581. package/dist/vscode-default-extensions/powershell/syntaxes/powershell.tmLanguage.json.js +0 -2
  582. package/dist/vscode-default-extensions/pug/language-configuration.json.js +0 -2
  583. package/dist/vscode-default-extensions/pug/syntaxes/pug.tmLanguage.json.js +0 -2
  584. package/dist/vscode-default-extensions/python/language-configuration.json.js +0 -2
  585. package/dist/vscode-default-extensions/python/syntaxes/MagicPython.tmLanguage.json.js +0 -2
  586. package/dist/vscode-default-extensions/python/syntaxes/MagicRegExp.tmLanguage.json.js +0 -2
  587. package/dist/vscode-default-extensions/r/language-configuration.json.js +0 -2
  588. package/dist/vscode-default-extensions/r/syntaxes/r.tmLanguage.json.js +0 -2
  589. package/dist/vscode-default-extensions/razor/language-configuration.json.js +0 -2
  590. package/dist/vscode-default-extensions/razor/syntaxes/cshtml.tmLanguage.json.js +0 -2
  591. package/dist/vscode-default-extensions/ruby/language-configuration.json.js +0 -2
  592. package/dist/vscode-default-extensions/ruby/syntaxes/ruby.tmLanguage.json.js +0 -2
  593. package/dist/vscode-default-extensions/rust/language-configuration.json.js +0 -2
  594. package/dist/vscode-default-extensions/rust/syntaxes/rust.tmLanguage.json.js +0 -2
  595. package/dist/vscode-default-extensions/scss/language-configuration.json.js +0 -2
  596. package/dist/vscode-default-extensions/scss/syntaxes/sassdoc.tmLanguage.json.js +0 -2
  597. package/dist/vscode-default-extensions/scss/syntaxes/scss.tmLanguage.json.js +0 -2
  598. package/dist/vscode-default-extensions/shaderlab/language-configuration.json.js +0 -2
  599. package/dist/vscode-default-extensions/shaderlab/syntaxes/shaderlab.tmLanguage.json.js +0 -2
  600. package/dist/vscode-default-extensions/shellscript/language-configuration.json.js +0 -2
  601. package/dist/vscode-default-extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json.js +0 -2
  602. package/dist/vscode-default-extensions/sql/language-configuration.json.js +0 -2
  603. package/dist/vscode-default-extensions/sql/syntaxes/sql.tmLanguage.json.js +0 -2
  604. package/dist/vscode-default-extensions/swift/language-configuration.json.js +0 -2
  605. package/dist/vscode-default-extensions/swift/snippets/swift.code-snippets.js +0 -2
  606. package/dist/vscode-default-extensions/swift/syntaxes/swift.tmLanguage.json.js +0 -2
  607. package/dist/vscode-default-extensions/theme-abyss/themes/abyss-color-theme.json.js +0 -2
  608. package/dist/vscode-default-extensions/theme-defaults/fileicons/vs_minimal-icon-theme.json.js +0 -2
  609. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus.json.js +0 -2
  610. package/dist/vscode-default-extensions/theme-defaults/themes/dark_plus_experimental.json.js +0 -2
  611. package/dist/vscode-default-extensions/theme-defaults/themes/dark_vs.json.js +0 -2
  612. package/dist/vscode-default-extensions/theme-defaults/themes/hc_black.json.js +0 -2
  613. package/dist/vscode-default-extensions/theme-defaults/themes/hc_light.json.js +0 -2
  614. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus.json.js +0 -2
  615. package/dist/vscode-default-extensions/theme-defaults/themes/light_plus_experimental.json.js +0 -2
  616. package/dist/vscode-default-extensions/theme-defaults/themes/light_vs.json.js +0 -2
  617. package/dist/vscode-default-extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json.js +0 -2
  618. package/dist/vscode-default-extensions/theme-monokai/themes/monokai-color-theme.json.js +0 -2
  619. package/dist/vscode-default-extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json.js +0 -2
  620. package/dist/vscode-default-extensions/theme-quietlight/themes/quietlight-color-theme.json.js +0 -2
  621. package/dist/vscode-default-extensions/theme-red/themes/Red-color-theme.json.js +0 -2
  622. package/dist/vscode-default-extensions/theme-seti/icons/vs-seti-icon-theme.json.js +0 -2
  623. package/dist/vscode-default-extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json.js +0 -2
  624. package/dist/vscode-default-extensions/theme-solarized-light/themes/solarized-light-color-theme.json.js +0 -2
  625. package/dist/vscode-default-extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json.js +0 -2
  626. package/dist/vscode-default-extensions/typescript-basics/language-configuration.json.js +0 -2
  627. package/dist/vscode-default-extensions/typescript-basics/snippets/typescript.code-snippets.js +0 -2
  628. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json.js +0 -2
  629. package/dist/vscode-default-extensions/typescript-basics/syntaxes/TypeScriptReact.tmLanguage.json.js +0 -2
  630. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.js.injection.tmLanguage.json.js +0 -2
  631. package/dist/vscode-default-extensions/typescript-basics/syntaxes/jsdoc.ts.injection.tmLanguage.json.js +0 -2
  632. package/dist/vscode-default-extensions/typescript-language-features/package.json.js +0 -2
  633. package/dist/vscode-default-extensions/vb/language-configuration.json.js +0 -2
  634. package/dist/vscode-default-extensions/vb/snippets/vb.code-snippets.js +0 -2
  635. package/dist/vscode-default-extensions/vb/syntaxes/asp-vb-net.tmlanguage.json.js +0 -2
  636. package/dist/vscode-default-extensions/xml/syntaxes/xml.tmLanguage.json.js +0 -2
  637. package/dist/vscode-default-extensions/xml/syntaxes/xsl.tmLanguage.json.js +0 -2
  638. package/dist/vscode-default-extensions/xml/xml.language-configuration.json.js +0 -2
  639. package/dist/vscode-default-extensions/xml/xsl.language-configuration.json.js +0 -2
  640. package/dist/vscode-default-extensions/yaml/language-configuration.json.js +0 -2
  641. package/dist/vscode-default-extensions/yaml/syntaxes/yaml.tmLanguage.json.js +0 -2
@@ -0,0 +1,1209 @@
1
+ import { __decorate, __param } from '../../../../../../../node_modules/tslib/tslib.es6.js';
2
+ import * as dom from 'monaco-editor/esm/vs/base/browser/dom.js';
3
+ import * as glob from 'monaco-editor/esm/vs/base/common/glob.js';
4
+ import { IProgressService } from 'monaco-editor/esm/vs/platform/progress/common/progress.js';
5
+ import { INotificationService, Severity } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
6
+ import { IFileService, FileKind } from 'monaco-editor/esm/vs/platform/files/common/files.js';
7
+ import { IWorkbenchLayoutService } from '../../../../services/layout/browser/layoutService.js';
8
+ import { IWorkspaceContextService, isTemporaryWorkspace } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
9
+ import { DisposableStore, toDisposable, dispose, Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
10
+ import { IContextViewService, IContextMenuService } from 'monaco-editor/esm/vs/platform/contextview/browser/contextView.js';
11
+ import { IThemeService } from 'monaco-editor/esm/vs/platform/theme/common/themeService.js';
12
+ import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
13
+ import { dirname, joinPath, distinctParents } from 'monaco-editor/esm/vs/base/common/resources.js';
14
+ import { InputBox } from 'monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js';
15
+ import { localize } from 'monaco-editor/esm/vs/nls.js';
16
+ import { once } from 'monaco-editor/esm/vs/base/common/functional.js';
17
+ import { equals, deepClone } from 'monaco-editor/esm/vs/base/common/objects.js';
18
+ import * as path from 'monaco-editor/esm/vs/base/common/path.js';
19
+ import { ExplorerItem, NewExplorerItem } from '../../common/explorerModel.js';
20
+ import { compareFileNamesDefault, compareFileExtensionsDefault, compareFileNamesUnicode, compareFileExtensionsUnicode, compareFileNamesLower, compareFileExtensionsLower, compareFileNamesUpper, compareFileExtensionsUpper } from 'monaco-editor/esm/vs/base/common/comparers.js';
21
+ import { containsDragType, CodeDataTransfers } from 'monaco-editor/esm/vs/platform/dnd/browser/dnd.js';
22
+ import { fillEditorsDragData } from '../../../../browser/dnd.js';
23
+ import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
24
+ import { DataTransfers } from 'monaco-editor/esm/vs/base/browser/dnd.js';
25
+ import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
26
+ import { ExternalElementsDragAndDropData, NativeDragAndDropData } from 'monaco-editor/esm/vs/base/browser/ui/list/listView.js';
27
+ import { isWeb, isMacintosh } from 'monaco-editor/esm/vs/base/common/platform.js';
28
+ import { getFileNamesMessage, IDialogService } from 'monaco-editor/esm/vs/platform/dialogs/common/dialogs.js';
29
+ import { IWorkspaceEditingService } from '../../../../services/workspaces/common/workspaceEditing.js';
30
+ import { IEditorService } from '../../../../services/editor/common/editorService.js';
31
+ import { findValidPasteFileTarget } from '../fileActions.js';
32
+ import { createMatches } from 'monaco-editor/esm/vs/base/common/filters.js';
33
+ import { EventMultiplexer, Event, Emitter } from 'monaco-editor/esm/vs/base/common/event.js';
34
+ import { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.js';
35
+ import { isStringArray, isNumber } from 'monaco-editor/esm/vs/base/common/types.js';
36
+ import { IUriIdentityService } from 'monaco-editor/esm/vs/platform/uriIdentity/common/uriIdentity.js';
37
+ import { ResourceFileEdit } from 'monaco-editor/esm/vs/editor/browser/services/bulkEditService.js';
38
+ import { IExplorerService } from '../files.js';
39
+ import { ExternalFileImport, BrowserFileUpload, getMultipleFilesOverwriteConfirm } from '../fileImportExport.js';
40
+ import { toErrorMessage } from 'monaco-editor/esm/vs/base/common/errorMessage.js';
41
+ import { WebFileSystemAccess } from 'monaco-editor/esm/vs/platform/files/browser/webFileSystemAccess.js';
42
+ import { IgnoreFile } from '../../../../services/search/common/ignoreFile.js';
43
+ import { ResourceSet } from 'monaco-editor/esm/vs/base/common/map.js';
44
+ import { TernarySearchTree } from 'monaco-editor/esm/vs/base/common/ternarySearchTree.js';
45
+ import { defaultInputBoxStyles } from 'monaco-editor/esm/vs/platform/theme/browser/defaultStyles.js';
46
+ import { timeout } from 'monaco-editor/esm/vs/base/common/async.js';
47
+ import { IHoverService } from '../../../../services/hover/browser/hover.js';
48
+ class ExplorerDelegate {
49
+ getHeight(element) {
50
+ return ExplorerDelegate.ITEM_HEIGHT;
51
+ }
52
+ getTemplateId(element) {
53
+ return FilesRenderer.ID;
54
+ }
55
+ }
56
+ ExplorerDelegate.ITEM_HEIGHT = 22;
57
+ const explorerRootErrorEmitter = ( new Emitter());
58
+ let ExplorerDataSource = class ExplorerDataSource {
59
+ constructor(fileFilter, progressService, configService, notificationService, layoutService, fileService, explorerService, contextService) {
60
+ this.fileFilter = fileFilter;
61
+ this.progressService = progressService;
62
+ this.configService = configService;
63
+ this.notificationService = notificationService;
64
+ this.layoutService = layoutService;
65
+ this.fileService = fileService;
66
+ this.explorerService = explorerService;
67
+ this.contextService = contextService;
68
+ }
69
+ hasChildren(element) {
70
+ return Array.isArray(element) || element.hasChildren((stat) => this.fileFilter.filter(stat, 1 ));
71
+ }
72
+ getChildren(element) {
73
+ if (Array.isArray(element)) {
74
+ return element;
75
+ }
76
+ const hasError = element.error;
77
+ const sortOrder = this.explorerService.sortOrderConfiguration.sortOrder;
78
+ const children = element.fetchChildren(sortOrder);
79
+ if (Array.isArray(children)) {
80
+ return children;
81
+ }
82
+ const promise = children.then(children => {
83
+ if (element instanceof ExplorerItem && element.isRoot && !element.error && hasError && this.contextService.getWorkbenchState() !== 2 ) {
84
+ explorerRootErrorEmitter.fire(element.resource);
85
+ }
86
+ return children;
87
+ }, e => {
88
+ if (element instanceof ExplorerItem && element.isRoot) {
89
+ if (this.contextService.getWorkbenchState() === 2 ) {
90
+ const placeholder = ( new ExplorerItem(
91
+ element.resource,
92
+ this.fileService,
93
+ this.configService,
94
+ undefined,
95
+ undefined,
96
+ false
97
+ ));
98
+ placeholder.error = e;
99
+ return [placeholder];
100
+ }
101
+ else {
102
+ explorerRootErrorEmitter.fire(element.resource);
103
+ }
104
+ }
105
+ else {
106
+ this.notificationService.error(e);
107
+ }
108
+ return [];
109
+ });
110
+ this.progressService.withProgress({
111
+ location: 1 ,
112
+ delay: this.layoutService.isRestored() ? 800 : 1500
113
+ }, _progress => promise);
114
+ return promise;
115
+ }
116
+ };
117
+ ExplorerDataSource = ( __decorate([
118
+ ( __param(1, IProgressService)),
119
+ ( __param(2, IConfigurationService)),
120
+ ( __param(3, INotificationService)),
121
+ ( __param(4, IWorkbenchLayoutService)),
122
+ ( __param(5, IFileService)),
123
+ ( __param(6, IExplorerService)),
124
+ ( __param(7, IWorkspaceContextService))
125
+ ], ExplorerDataSource));
126
+ class CompressedNavigationController {
127
+ get index() { return this._index; }
128
+ get count() { return this.items.length; }
129
+ get current() { return this.items[this._index]; }
130
+ get currentId() { return `${this.id}_${this.index}`; }
131
+ get labels() { return this._labels; }
132
+ constructor(id, items, templateData, depth, collapsed) {
133
+ this.id = id;
134
+ this.items = items;
135
+ this.depth = depth;
136
+ this.collapsed = collapsed;
137
+ this._onDidChange = ( new Emitter());
138
+ this.onDidChange = this._onDidChange.event;
139
+ this._index = items.length - 1;
140
+ this.updateLabels(templateData);
141
+ this._updateLabelDisposable = templateData.label.onDidRender(() => this.updateLabels(templateData));
142
+ }
143
+ updateLabels(templateData) {
144
+ this._labels = Array.from(templateData.container.querySelectorAll('.label-name'));
145
+ let parents = '';
146
+ for (let i = 0; i < this.labels.length; i++) {
147
+ const ariaLabel = parents.length ? `${this.items[i].name}, compact, ${parents}` : this.items[i].name;
148
+ this.labels[i].setAttribute('aria-label', ariaLabel);
149
+ this.labels[i].setAttribute('aria-level', `${this.depth + i}`);
150
+ parents = parents.length ? `${this.items[i].name} ${parents}` : this.items[i].name;
151
+ }
152
+ this.updateCollapsed(this.collapsed);
153
+ if (this._index < this.labels.length) {
154
+ this.labels[this._index].classList.add('active');
155
+ }
156
+ }
157
+ previous() {
158
+ if (this._index <= 0) {
159
+ return;
160
+ }
161
+ this.setIndex(this._index - 1);
162
+ }
163
+ next() {
164
+ if (this._index >= this.items.length - 1) {
165
+ return;
166
+ }
167
+ this.setIndex(this._index + 1);
168
+ }
169
+ first() {
170
+ if (this._index === 0) {
171
+ return;
172
+ }
173
+ this.setIndex(0);
174
+ }
175
+ last() {
176
+ if (this._index === this.items.length - 1) {
177
+ return;
178
+ }
179
+ this.setIndex(this.items.length - 1);
180
+ }
181
+ setIndex(index) {
182
+ if (index < 0 || index >= this.items.length) {
183
+ return;
184
+ }
185
+ this.labels[this._index].classList.remove('active');
186
+ this._index = index;
187
+ this.labels[this._index].classList.add('active');
188
+ this._onDidChange.fire();
189
+ }
190
+ updateCollapsed(collapsed) {
191
+ this.collapsed = collapsed;
192
+ for (let i = 0; i < this.labels.length; i++) {
193
+ this.labels[i].setAttribute('aria-expanded', collapsed ? 'false' : 'true');
194
+ }
195
+ }
196
+ dispose() {
197
+ this._onDidChange.dispose();
198
+ this._updateLabelDisposable.dispose();
199
+ }
200
+ }
201
+ CompressedNavigationController.ID = 0;
202
+ let FilesRenderer = class FilesRenderer {
203
+ constructor(container, labels, updateWidth, contextViewService, themeService, configurationService, explorerService, labelService, contextService, contextMenuService, hoverService) {
204
+ this.labels = labels;
205
+ this.updateWidth = updateWidth;
206
+ this.contextViewService = contextViewService;
207
+ this.themeService = themeService;
208
+ this.configurationService = configurationService;
209
+ this.explorerService = explorerService;
210
+ this.labelService = labelService;
211
+ this.contextService = contextService;
212
+ this.contextMenuService = contextMenuService;
213
+ this.hoverService = hoverService;
214
+ this.compressedNavigationControllers = ( new Map());
215
+ this._onDidChangeActiveDescendant = ( new EventMultiplexer());
216
+ this.onDidChangeActiveDescendant = this._onDidChangeActiveDescendant.event;
217
+ this.hoverDelegate = new (class {
218
+ get delay() {
219
+ if (Date.now() - this.lastHoverHideTime < 500) {
220
+ return 0;
221
+ }
222
+ return this.configurationService.getValue('workbench.hover.delay');
223
+ }
224
+ constructor(configurationService, hoverService) {
225
+ this.configurationService = configurationService;
226
+ this.hoverService = hoverService;
227
+ this.lastHoverHideTime = 0;
228
+ this.hiddenFromClick = false;
229
+ this.placement = 'element';
230
+ }
231
+ showHover(options, focus) {
232
+ let element;
233
+ if (options.target instanceof HTMLElement) {
234
+ element = options.target;
235
+ }
236
+ else {
237
+ element = options.target.targetElements[0];
238
+ }
239
+ const tlRow = element.closest('.monaco-tl-row');
240
+ const listRow = tlRow?.closest('.monaco-list-row');
241
+ const child = element.querySelector('div.monaco-icon-label-container');
242
+ const childOfChild = child?.querySelector('span.monaco-icon-name-container');
243
+ let overflowed = false;
244
+ if (childOfChild && child) {
245
+ const width = child.clientWidth;
246
+ const childWidth = childOfChild.offsetWidth;
247
+ overflowed = width <= childWidth;
248
+ }
249
+ const hasDecoration = ( options.content.toString()).includes('•');
250
+ overflowed = overflowed || hasDecoration;
251
+ const indentGuideElement = tlRow?.querySelector('.monaco-tl-indent');
252
+ if (!indentGuideElement) {
253
+ return;
254
+ }
255
+ return overflowed ? this.hoverService.showHover({
256
+ ...options,
257
+ target: indentGuideElement,
258
+ compact: true,
259
+ container: listRow,
260
+ additionalClasses: ['explorer-item-hover'],
261
+ skipFadeInAnimation: true,
262
+ showPointer: false,
263
+ hoverPosition: 1 ,
264
+ }, focus) : undefined;
265
+ }
266
+ onDidHideHover() {
267
+ if (!this.hiddenFromClick) {
268
+ this.lastHoverHideTime = Date.now();
269
+ }
270
+ this.hiddenFromClick = false;
271
+ }
272
+ })(this.configurationService, this.hoverService);
273
+ this.config = this.configurationService.getValue();
274
+ const updateOffsetStyles = () => {
275
+ const indent = this.configurationService.getValue('workbench.tree.indent');
276
+ const offset = Math.max(22 - indent, 0);
277
+ container.style.setProperty(`--vscode-explorer-align-offset-margin-left`, `${offset}px`);
278
+ };
279
+ this.configListener = this.configurationService.onDidChangeConfiguration(e => {
280
+ if (e.affectsConfiguration('explorer')) {
281
+ this.config = this.configurationService.getValue();
282
+ }
283
+ if (e.affectsConfiguration('workbench.tree.indent')) {
284
+ updateOffsetStyles();
285
+ }
286
+ });
287
+ updateOffsetStyles();
288
+ }
289
+ getWidgetAriaLabel() {
290
+ return ( localize('treeAriaLabel', "Files Explorer"));
291
+ }
292
+ get templateId() {
293
+ return FilesRenderer.ID;
294
+ }
295
+ renderTemplate(container) {
296
+ const templateDisposables = ( new DisposableStore());
297
+ const experimentalHover = this.configurationService.getValue('explorer.experimental.hover');
298
+ const label = templateDisposables.add(this.labels.create(container, { supportHighlights: true, hoverDelegate: experimentalHover ? this.hoverDelegate : undefined }));
299
+ templateDisposables.add(label.onDidRender(() => {
300
+ try {
301
+ if (templateData.currentContext) {
302
+ this.updateWidth(templateData.currentContext);
303
+ }
304
+ }
305
+ catch (e) {
306
+ }
307
+ }));
308
+ const templateData = { templateDisposables, elementDisposables: templateDisposables.add(( new DisposableStore())), label, container };
309
+ return templateData;
310
+ }
311
+ renderElement(node, index, templateData) {
312
+ const stat = node.element;
313
+ templateData.currentContext = stat;
314
+ const editableData = this.explorerService.getEditableData(stat);
315
+ templateData.label.element.classList.remove('compressed');
316
+ if (!editableData) {
317
+ templateData.label.element.style.display = 'flex';
318
+ this.renderStat(stat, stat.name, undefined, node.filterData, templateData);
319
+ }
320
+ else {
321
+ templateData.label.element.style.display = 'none';
322
+ templateData.elementDisposables.add(this.renderInputBox(templateData.container, stat, editableData));
323
+ }
324
+ }
325
+ renderCompressedElements(node, index, templateData, height) {
326
+ const stat = node.element.elements[node.element.elements.length - 1];
327
+ templateData.currentContext = stat;
328
+ const editable = node.element.elements.filter(e => this.explorerService.isEditable(e));
329
+ const editableData = editable.length === 0 ? undefined : this.explorerService.getEditableData(editable[0]);
330
+ if (!editableData) {
331
+ templateData.label.element.classList.add('compressed');
332
+ templateData.label.element.style.display = 'flex';
333
+ const id = `compressed-explorer_${CompressedNavigationController.ID++}`;
334
+ const label = ( node.element.elements.map(e => e.name));
335
+ this.renderStat(stat, label, id, node.filterData, templateData);
336
+ const compressedNavigationController = ( new CompressedNavigationController(id, node.element.elements, templateData, node.depth, node.collapsed));
337
+ templateData.elementDisposables.add(compressedNavigationController);
338
+ this.compressedNavigationControllers.set(stat, compressedNavigationController);
339
+ templateData.elementDisposables.add(this._onDidChangeActiveDescendant.add(compressedNavigationController.onDidChange));
340
+ templateData.elementDisposables.add(dom.addDisposableListener(templateData.container, 'mousedown', e => {
341
+ const result = getIconLabelNameFromHTMLElement(e.target);
342
+ if (result) {
343
+ compressedNavigationController.setIndex(result.index);
344
+ }
345
+ }));
346
+ templateData.elementDisposables.add(toDisposable(() => this.compressedNavigationControllers.delete(stat)));
347
+ }
348
+ else {
349
+ templateData.label.element.classList.remove('compressed');
350
+ templateData.label.element.style.display = 'none';
351
+ templateData.elementDisposables.add(this.renderInputBox(templateData.container, editable[0], editableData));
352
+ }
353
+ }
354
+ renderStat(stat, label, domId, filterData, templateData) {
355
+ templateData.label.element.style.display = 'flex';
356
+ const extraClasses = ['explorer-item'];
357
+ if (this.explorerService.isCut(stat)) {
358
+ extraClasses.push('cut');
359
+ }
360
+ const theme = this.themeService.getFileIconTheme();
361
+ const twistieContainer = templateData.container.parentElement?.parentElement?.querySelector('.monaco-tl-twistie');
362
+ twistieContainer?.classList.toggle('force-twistie', stat.hasNests && theme.hidesExplorerArrows);
363
+ const themeIsUnhappyWithNesting = theme.hasFileIcons && (theme.hidesExplorerArrows || !theme.hasFolderIcons);
364
+ const realignNestedChildren = stat.nestedParent && themeIsUnhappyWithNesting;
365
+ const experimentalHover = this.configurationService.getValue('explorer.experimental.hover');
366
+ templateData.label.setResource({ resource: stat.resource, name: label }, {
367
+ title: experimentalHover ? isStringArray(label) ? label[0] : label : undefined,
368
+ fileKind: stat.isRoot ? FileKind.ROOT_FOLDER : stat.isDirectory ? FileKind.FOLDER : FileKind.FILE,
369
+ extraClasses: realignNestedChildren ? [...extraClasses, 'align-nest-icon-with-parent-icon'] : extraClasses,
370
+ fileDecorations: this.config.explorer.decorations,
371
+ matches: createMatches(filterData),
372
+ separator: this.labelService.getSeparator(stat.resource.scheme, stat.resource.authority),
373
+ domId
374
+ });
375
+ }
376
+ renderInputBox(container, stat, editableData) {
377
+ const label = this.labels.create(container);
378
+ const extraClasses = ['explorer-item', 'explorer-item-edited'];
379
+ const fileKind = stat.isRoot ? FileKind.ROOT_FOLDER : stat.isDirectory ? FileKind.FOLDER : FileKind.FILE;
380
+ const theme = this.themeService.getFileIconTheme();
381
+ const themeIsUnhappyWithNesting = theme.hasFileIcons && (theme.hidesExplorerArrows || !theme.hasFolderIcons);
382
+ const realignNestedChildren = stat.nestedParent && themeIsUnhappyWithNesting;
383
+ const labelOptions = {
384
+ hidePath: true,
385
+ hideLabel: true,
386
+ fileKind,
387
+ extraClasses: realignNestedChildren ? [...extraClasses, 'align-nest-icon-with-parent-icon'] : extraClasses,
388
+ };
389
+ const parent = stat.name ? dirname(stat.resource) : stat.resource;
390
+ const value = stat.name || '';
391
+ label.setFile(joinPath(parent, value || ' '), labelOptions);
392
+ label.element.firstElementChild.style.display = 'none';
393
+ const inputBox = ( new InputBox(label.element, this.contextViewService, {
394
+ validationOptions: {
395
+ validation: (value) => {
396
+ const message = editableData.validationMessage(value);
397
+ if (!message || message.severity !== Severity.Error) {
398
+ return null;
399
+ }
400
+ return {
401
+ content: message.content,
402
+ formatContent: true,
403
+ type: 3
404
+ };
405
+ }
406
+ },
407
+ ariaLabel: ( localize(
408
+ 'fileInputAriaLabel',
409
+ "Type file name. Press Enter to confirm or Escape to cancel."
410
+ )),
411
+ inputBoxStyles: defaultInputBoxStyles
412
+ }));
413
+ const lastDot = value.lastIndexOf('.');
414
+ let currentSelectionState = 'prefix';
415
+ inputBox.value = value;
416
+ inputBox.focus();
417
+ inputBox.select({ start: 0, end: lastDot > 0 && !stat.isDirectory ? lastDot : value.length });
418
+ const done = once((success, finishEditing) => {
419
+ label.element.style.display = 'none';
420
+ const value = inputBox.value;
421
+ dispose(toDispose);
422
+ label.element.remove();
423
+ if (finishEditing) {
424
+ editableData.onFinish(value, success);
425
+ }
426
+ });
427
+ const showInputBoxNotification = () => {
428
+ if (inputBox.isInputValid()) {
429
+ const message = editableData.validationMessage(inputBox.value);
430
+ if (message) {
431
+ inputBox.showMessage({
432
+ content: message.content,
433
+ formatContent: true,
434
+ type: message.severity === Severity.Info ? 1 : message.severity === Severity.Warning ? 2 : 3
435
+ });
436
+ }
437
+ else {
438
+ inputBox.hideMessage();
439
+ }
440
+ }
441
+ };
442
+ showInputBoxNotification();
443
+ const toDispose = [
444
+ inputBox,
445
+ inputBox.onDidChange(value => {
446
+ label.setFile(joinPath(parent, value || ' '), labelOptions);
447
+ }),
448
+ dom.addStandardDisposableListener(inputBox.inputElement, dom.EventType.KEY_DOWN, (e) => {
449
+ if (e.equals(60 )) {
450
+ const dotIndex = inputBox.value.lastIndexOf('.');
451
+ if (stat.isDirectory || dotIndex === -1) {
452
+ return;
453
+ }
454
+ if (currentSelectionState === 'prefix') {
455
+ currentSelectionState = 'all';
456
+ inputBox.select({ start: 0, end: inputBox.value.length });
457
+ }
458
+ else if (currentSelectionState === 'all') {
459
+ currentSelectionState = 'suffix';
460
+ inputBox.select({ start: dotIndex + 1, end: inputBox.value.length });
461
+ }
462
+ else {
463
+ currentSelectionState = 'prefix';
464
+ inputBox.select({ start: 0, end: dotIndex });
465
+ }
466
+ }
467
+ else if (e.equals(3 )) {
468
+ if (!inputBox.validate()) {
469
+ done(true, true);
470
+ }
471
+ }
472
+ else if (e.equals(9 )) {
473
+ done(false, true);
474
+ }
475
+ }),
476
+ dom.addStandardDisposableListener(inputBox.inputElement, dom.EventType.KEY_UP, (e) => {
477
+ showInputBoxNotification();
478
+ }),
479
+ dom.addDisposableListener(inputBox.inputElement, dom.EventType.BLUR, async () => {
480
+ while (true) {
481
+ await timeout(0);
482
+ if (!document.hasFocus()) {
483
+ break;
484
+ }
485
+ if (document.activeElement === inputBox.inputElement) {
486
+ return;
487
+ }
488
+ else if (document.activeElement instanceof HTMLElement && dom.hasParentWithClass(document.activeElement, 'context-view')) {
489
+ await Event.toPromise(this.contextMenuService.onDidHideContextMenu);
490
+ }
491
+ else {
492
+ break;
493
+ }
494
+ }
495
+ done(inputBox.isInputValid(), true);
496
+ }),
497
+ label
498
+ ];
499
+ return toDisposable(() => {
500
+ done(false, false);
501
+ });
502
+ }
503
+ disposeElement(element, index, templateData) {
504
+ templateData.currentContext = undefined;
505
+ templateData.elementDisposables.clear();
506
+ }
507
+ disposeCompressedElements(node, index, templateData) {
508
+ templateData.currentContext = undefined;
509
+ templateData.elementDisposables.clear();
510
+ }
511
+ disposeTemplate(templateData) {
512
+ templateData.templateDisposables.dispose();
513
+ }
514
+ getCompressedNavigationController(stat) {
515
+ return this.compressedNavigationControllers.get(stat);
516
+ }
517
+ getAriaLabel(element) {
518
+ return element.name;
519
+ }
520
+ getAriaLevel(element) {
521
+ let depth = 0;
522
+ let parent = element.parent;
523
+ while (parent) {
524
+ parent = parent.parent;
525
+ depth++;
526
+ }
527
+ if (this.contextService.getWorkbenchState() === 3 ) {
528
+ depth = depth + 1;
529
+ }
530
+ return depth;
531
+ }
532
+ getActiveDescendantId(stat) {
533
+ const compressedNavigationController = this.compressedNavigationControllers.get(stat);
534
+ return compressedNavigationController?.currentId;
535
+ }
536
+ dispose() {
537
+ this.configListener.dispose();
538
+ }
539
+ };
540
+ FilesRenderer.ID = 'file';
541
+ FilesRenderer = ( __decorate([
542
+ ( __param(3, IContextViewService)),
543
+ ( __param(4, IThemeService)),
544
+ ( __param(5, IConfigurationService)),
545
+ ( __param(6, IExplorerService)),
546
+ ( __param(7, ILabelService)),
547
+ ( __param(8, IWorkspaceContextService)),
548
+ ( __param(9, IContextMenuService)),
549
+ ( __param(10, IHoverService))
550
+ ], FilesRenderer));
551
+ let FilesFilter = class FilesFilter {
552
+ constructor(contextService, configurationService, explorerService, editorService, uriIdentityService, fileService) {
553
+ this.contextService = contextService;
554
+ this.configurationService = configurationService;
555
+ this.explorerService = explorerService;
556
+ this.editorService = editorService;
557
+ this.uriIdentityService = uriIdentityService;
558
+ this.fileService = fileService;
559
+ this.hiddenExpressionPerRoot = ( new Map());
560
+ this.editorsAffectingFilter = ( new Set());
561
+ this._onDidChange = ( new Emitter());
562
+ this.toDispose = [];
563
+ this.ignoreFileResourcesPerRoot = ( new Map());
564
+ this.ignoreTreesPerRoot = ( new Map());
565
+ this.toDispose.push(this.contextService.onDidChangeWorkspaceFolders(() => this.updateConfiguration()));
566
+ this.toDispose.push(this.configurationService.onDidChangeConfiguration((e) => {
567
+ if (e.affectsConfiguration('files.exclude') || e.affectsConfiguration('explorer.excludeGitIgnore')) {
568
+ this.updateConfiguration();
569
+ }
570
+ }));
571
+ this.toDispose.push(this.fileService.onDidFilesChange(e => {
572
+ for (const [root, ignoreFileResourceSet] of this.ignoreFileResourcesPerRoot.entries()) {
573
+ ignoreFileResourceSet.forEach(async (ignoreResource) => {
574
+ if (e.contains(ignoreResource, 0 )) {
575
+ await this.processIgnoreFile(root, ignoreResource, true);
576
+ }
577
+ if (e.contains(ignoreResource, 2 )) {
578
+ this.ignoreTreesPerRoot.get(root)?.delete(dirname(ignoreResource));
579
+ ignoreFileResourceSet.delete(ignoreResource);
580
+ this._onDidChange.fire();
581
+ }
582
+ });
583
+ }
584
+ }));
585
+ this.toDispose.push(this.editorService.onDidVisibleEditorsChange(() => {
586
+ const editors = this.editorService.visibleEditors;
587
+ let shouldFire = false;
588
+ for (const e of editors) {
589
+ if (!e.resource) {
590
+ continue;
591
+ }
592
+ const stat = this.explorerService.findClosest(e.resource);
593
+ if (stat && stat.isExcluded) {
594
+ shouldFire = true;
595
+ break;
596
+ }
597
+ }
598
+ for (const e of this.editorsAffectingFilter) {
599
+ if (!editors.includes(e)) {
600
+ shouldFire = true;
601
+ break;
602
+ }
603
+ }
604
+ if (shouldFire) {
605
+ this.editorsAffectingFilter.clear();
606
+ this._onDidChange.fire();
607
+ }
608
+ }));
609
+ this.updateConfiguration();
610
+ }
611
+ get onDidChange() {
612
+ return this._onDidChange.event;
613
+ }
614
+ updateConfiguration() {
615
+ let shouldFire = false;
616
+ let updatedGitIgnoreSetting = false;
617
+ this.contextService.getWorkspace().folders.forEach(folder => {
618
+ const configuration = this.configurationService.getValue({ resource: folder.uri });
619
+ const excludesConfig = configuration?.files?.exclude || Object.create(null);
620
+ const parseIgnoreFile = configuration.explorer.excludeGitIgnore;
621
+ if (parseIgnoreFile && !( this.ignoreTreesPerRoot.has(( folder.uri.toString())))) {
622
+ updatedGitIgnoreSetting = true;
623
+ this.ignoreFileResourcesPerRoot.set(( folder.uri.toString()), ( new ResourceSet()));
624
+ this.ignoreTreesPerRoot.set(( folder.uri.toString()), TernarySearchTree.forUris((uri) => this.uriIdentityService.extUri.ignorePathCasing(uri)));
625
+ }
626
+ if (!parseIgnoreFile && ( this.ignoreTreesPerRoot.has(( folder.uri.toString())))) {
627
+ updatedGitIgnoreSetting = true;
628
+ this.ignoreFileResourcesPerRoot.delete(( folder.uri.toString()));
629
+ this.ignoreTreesPerRoot.delete(( folder.uri.toString()));
630
+ }
631
+ if (!shouldFire) {
632
+ const cached = this.hiddenExpressionPerRoot.get(( folder.uri.toString()));
633
+ shouldFire = !cached || !equals(cached.original, excludesConfig);
634
+ }
635
+ const excludesConfigCopy = deepClone(excludesConfig);
636
+ this.hiddenExpressionPerRoot.set(( folder.uri.toString()), { original: excludesConfigCopy, parsed: glob.parse(excludesConfigCopy) });
637
+ });
638
+ if (shouldFire || updatedGitIgnoreSetting) {
639
+ this.editorsAffectingFilter.clear();
640
+ this._onDidChange.fire();
641
+ }
642
+ }
643
+ async processIgnoreFile(root, ignoreFileResource, update) {
644
+ const dirUri = dirname(ignoreFileResource);
645
+ const ignoreTree = this.ignoreTreesPerRoot.get(root);
646
+ if (!ignoreTree) {
647
+ return;
648
+ }
649
+ if (!update && ( ignoreTree.has(dirUri))) {
650
+ return;
651
+ }
652
+ const content = await this.fileService.readFile(ignoreFileResource);
653
+ if (update) {
654
+ const ignoreFile = ignoreTree.get(dirUri);
655
+ ignoreFile?.updateContents(( content.value.toString()));
656
+ }
657
+ else {
658
+ const ignoreParent = ignoreTree.findSubstr(dirUri);
659
+ const ignoreFile = ( new IgnoreFile(( content.value.toString()), dirUri.path, ignoreParent));
660
+ ignoreTree.set(dirUri, ignoreFile);
661
+ if (!this.ignoreFileResourcesPerRoot.get(root)?.has(ignoreFileResource)) {
662
+ this.ignoreFileResourcesPerRoot.get(root)?.add(ignoreFileResource);
663
+ }
664
+ }
665
+ this._onDidChange.fire();
666
+ }
667
+ filter(stat, parentVisibility) {
668
+ if (stat.name === '.gitignore' && ( this.ignoreTreesPerRoot.has(( stat.root.resource.toString())))) {
669
+ this.processIgnoreFile(( stat.root.resource.toString()), stat.resource, false);
670
+ return true;
671
+ }
672
+ return this.isVisible(stat, parentVisibility);
673
+ }
674
+ isVisible(stat, parentVisibility) {
675
+ stat.isExcluded = false;
676
+ if (parentVisibility === 0 ) {
677
+ stat.isExcluded = true;
678
+ return false;
679
+ }
680
+ if (this.explorerService.getEditableData(stat)) {
681
+ return true;
682
+ }
683
+ const cached = this.hiddenExpressionPerRoot.get(( stat.root.resource.toString()));
684
+ const globMatch = cached?.parsed(path.relative(stat.root.resource.path, stat.resource.path), stat.name, name => !!(stat.parent && stat.parent.getChild(name)));
685
+ const ignoreFile = globMatch ? undefined : this.ignoreTreesPerRoot.get(( stat.root.resource.toString()))?.findSubstr(stat.resource);
686
+ const isIncludedInTraversal = ignoreFile?.isPathIncludedInTraversal(stat.resource.path, stat.isDirectory);
687
+ const isIgnoredByIgnoreFile = isIncludedInTraversal === undefined ? false : !isIncludedInTraversal;
688
+ if (isIgnoredByIgnoreFile || globMatch || stat.parent?.isExcluded) {
689
+ stat.isExcluded = true;
690
+ const editors = this.editorService.visibleEditors;
691
+ const editor = editors.find(e => e.resource && this.uriIdentityService.extUri.isEqualOrParent(e.resource, stat.resource));
692
+ if (editor && stat.root === this.explorerService.findClosestRoot(stat.resource)) {
693
+ this.editorsAffectingFilter.add(editor);
694
+ return true;
695
+ }
696
+ return false;
697
+ }
698
+ return true;
699
+ }
700
+ dispose() {
701
+ dispose(this.toDispose);
702
+ }
703
+ };
704
+ FilesFilter = ( __decorate([
705
+ ( __param(0, IWorkspaceContextService)),
706
+ ( __param(1, IConfigurationService)),
707
+ ( __param(2, IExplorerService)),
708
+ ( __param(3, IEditorService)),
709
+ ( __param(4, IUriIdentityService)),
710
+ ( __param(5, IFileService))
711
+ ], FilesFilter));
712
+ let FileSorter = class FileSorter {
713
+ constructor(explorerService, contextService) {
714
+ this.explorerService = explorerService;
715
+ this.contextService = contextService;
716
+ }
717
+ compare(statA, statB) {
718
+ if (statA.isRoot) {
719
+ if (statB.isRoot) {
720
+ const workspaceA = this.contextService.getWorkspaceFolder(statA.resource);
721
+ const workspaceB = this.contextService.getWorkspaceFolder(statB.resource);
722
+ return workspaceA && workspaceB ? (workspaceA.index - workspaceB.index) : -1;
723
+ }
724
+ return -1;
725
+ }
726
+ if (statB.isRoot) {
727
+ return 1;
728
+ }
729
+ const sortOrder = this.explorerService.sortOrderConfiguration.sortOrder;
730
+ const lexicographicOptions = this.explorerService.sortOrderConfiguration.lexicographicOptions;
731
+ let compareFileNames;
732
+ let compareFileExtensions;
733
+ switch (lexicographicOptions) {
734
+ case 'upper':
735
+ compareFileNames = compareFileNamesUpper;
736
+ compareFileExtensions = compareFileExtensionsUpper;
737
+ break;
738
+ case 'lower':
739
+ compareFileNames = compareFileNamesLower;
740
+ compareFileExtensions = compareFileExtensionsLower;
741
+ break;
742
+ case 'unicode':
743
+ compareFileNames = compareFileNamesUnicode;
744
+ compareFileExtensions = compareFileExtensionsUnicode;
745
+ break;
746
+ default:
747
+ compareFileNames = compareFileNamesDefault;
748
+ compareFileExtensions = compareFileExtensionsDefault;
749
+ }
750
+ switch (sortOrder) {
751
+ case 'type':
752
+ if (statA.isDirectory && !statB.isDirectory) {
753
+ return -1;
754
+ }
755
+ if (statB.isDirectory && !statA.isDirectory) {
756
+ return 1;
757
+ }
758
+ if (statA.isDirectory && statB.isDirectory) {
759
+ return compareFileNames(statA.name, statB.name);
760
+ }
761
+ break;
762
+ case 'filesFirst':
763
+ if (statA.isDirectory && !statB.isDirectory) {
764
+ return 1;
765
+ }
766
+ if (statB.isDirectory && !statA.isDirectory) {
767
+ return -1;
768
+ }
769
+ break;
770
+ case 'foldersNestsFiles':
771
+ if (statA.isDirectory && !statB.isDirectory) {
772
+ return -1;
773
+ }
774
+ if (statB.isDirectory && !statA.isDirectory) {
775
+ return 1;
776
+ }
777
+ if (statA.hasNests && !statB.hasNests) {
778
+ return -1;
779
+ }
780
+ if (statB.hasNests && !statA.hasNests) {
781
+ return 1;
782
+ }
783
+ break;
784
+ case 'mixed':
785
+ break;
786
+ default:
787
+ if (statA.isDirectory && !statB.isDirectory) {
788
+ return -1;
789
+ }
790
+ if (statB.isDirectory && !statA.isDirectory) {
791
+ return 1;
792
+ }
793
+ break;
794
+ }
795
+ switch (sortOrder) {
796
+ case 'type':
797
+ return compareFileExtensions(statA.name, statB.name);
798
+ case 'modified':
799
+ if (statA.mtime !== statB.mtime) {
800
+ return (statA.mtime && statB.mtime && statA.mtime < statB.mtime) ? 1 : -1;
801
+ }
802
+ return compareFileNames(statA.name, statB.name);
803
+ default:
804
+ return compareFileNames(statA.name, statB.name);
805
+ }
806
+ }
807
+ };
808
+ FileSorter = ( __decorate([
809
+ ( __param(0, IExplorerService)),
810
+ ( __param(1, IWorkspaceContextService))
811
+ ], FileSorter));
812
+ let FileDragAndDrop = class FileDragAndDrop {
813
+ constructor(isCollapsed, explorerService, editorService, dialogService, contextService, fileService, configurationService, instantiationService, workspaceEditingService, uriIdentityService) {
814
+ this.isCollapsed = isCollapsed;
815
+ this.explorerService = explorerService;
816
+ this.editorService = editorService;
817
+ this.dialogService = dialogService;
818
+ this.contextService = contextService;
819
+ this.fileService = fileService;
820
+ this.configurationService = configurationService;
821
+ this.instantiationService = instantiationService;
822
+ this.workspaceEditingService = workspaceEditingService;
823
+ this.uriIdentityService = uriIdentityService;
824
+ this.compressedDropTargetDisposable = Disposable.None;
825
+ this.dropEnabled = false;
826
+ this.toDispose = [];
827
+ const updateDropEnablement = (e) => {
828
+ if (!e || e.affectsConfiguration('explorer.enableDragAndDrop')) {
829
+ this.dropEnabled = this.configurationService.getValue('explorer.enableDragAndDrop');
830
+ }
831
+ };
832
+ updateDropEnablement(undefined);
833
+ this.toDispose.push(this.configurationService.onDidChangeConfiguration(e => updateDropEnablement(e)));
834
+ }
835
+ onDragOver(data, target, targetIndex, originalEvent) {
836
+ if (!this.dropEnabled) {
837
+ return false;
838
+ }
839
+ if (target) {
840
+ const compressedTarget = FileDragAndDrop.getCompressedStatFromDragEvent(target, originalEvent);
841
+ if (compressedTarget) {
842
+ const iconLabelName = getIconLabelNameFromHTMLElement(originalEvent.target);
843
+ if (iconLabelName && iconLabelName.index < iconLabelName.count - 1) {
844
+ const result = this.handleDragOver(data, compressedTarget, targetIndex, originalEvent);
845
+ if (result) {
846
+ if (iconLabelName.element !== this.compressedDragOverElement) {
847
+ this.compressedDragOverElement = iconLabelName.element;
848
+ this.compressedDropTargetDisposable.dispose();
849
+ this.compressedDropTargetDisposable = toDisposable(() => {
850
+ iconLabelName.element.classList.remove('drop-target');
851
+ this.compressedDragOverElement = undefined;
852
+ });
853
+ iconLabelName.element.classList.add('drop-target');
854
+ }
855
+ return typeof result === 'boolean' ? result : { ...result, feedback: [] };
856
+ }
857
+ this.compressedDropTargetDisposable.dispose();
858
+ return false;
859
+ }
860
+ }
861
+ }
862
+ this.compressedDropTargetDisposable.dispose();
863
+ return this.handleDragOver(data, target, targetIndex, originalEvent);
864
+ }
865
+ handleDragOver(data, target, targetIndex, originalEvent) {
866
+ const isCopy = originalEvent && ((originalEvent.ctrlKey && !isMacintosh) || (originalEvent.altKey && isMacintosh));
867
+ const isNative = data instanceof NativeDragAndDropData;
868
+ const effect = (isNative || isCopy) ? 0 : 1 ;
869
+ if (isNative) {
870
+ if (!containsDragType(originalEvent, DataTransfers.FILES, CodeDataTransfers.FILES, DataTransfers.RESOURCES)) {
871
+ return false;
872
+ }
873
+ }
874
+ else if (data instanceof ExternalElementsDragAndDropData) {
875
+ return false;
876
+ }
877
+ else {
878
+ const items = FileDragAndDrop.getStatsFromDragAndDropData(data);
879
+ if (!target) {
880
+ if (!isCopy && items.every(i => !!i.parent && i.parent.isRoot)) {
881
+ return false;
882
+ }
883
+ return { accept: true, bubble: 0 , effect, autoExpand: false };
884
+ }
885
+ if (!Array.isArray(items)) {
886
+ return false;
887
+ }
888
+ if (( items.some((source) => {
889
+ if (source.isRoot && target instanceof ExplorerItem && !target.isRoot) {
890
+ return true;
891
+ }
892
+ if (this.uriIdentityService.extUri.isEqual(source.resource, target.resource)) {
893
+ return true;
894
+ }
895
+ if (source.isRoot && target instanceof ExplorerItem && target.isRoot) {
896
+ return false;
897
+ }
898
+ if (!isCopy && this.uriIdentityService.extUri.isEqual(dirname(source.resource), target.resource)) {
899
+ return true;
900
+ }
901
+ if (this.uriIdentityService.extUri.isEqualOrParent(target.resource, source.resource)) {
902
+ return true;
903
+ }
904
+ return false;
905
+ }))) {
906
+ return false;
907
+ }
908
+ }
909
+ if (!target) {
910
+ return { accept: true, bubble: 0 , effect };
911
+ }
912
+ else {
913
+ if (target.isDirectory) {
914
+ if (target.isReadonly) {
915
+ return false;
916
+ }
917
+ return { accept: true, bubble: 0 , effect, autoExpand: true };
918
+ }
919
+ if (this.contextService.getWorkspace().folders.every(folder => ( folder.uri.toString()) !== ( target.resource.toString()))) {
920
+ return { accept: true, bubble: 1 , effect };
921
+ }
922
+ }
923
+ return false;
924
+ }
925
+ getDragURI(element) {
926
+ if (this.explorerService.isEditable(element)) {
927
+ return null;
928
+ }
929
+ return ( element.resource.toString());
930
+ }
931
+ getDragLabel(elements, originalEvent) {
932
+ if (elements.length === 1) {
933
+ const stat = FileDragAndDrop.getCompressedStatFromDragEvent(elements[0], originalEvent);
934
+ return stat.name;
935
+ }
936
+ return String(elements.length);
937
+ }
938
+ onDragStart(data, originalEvent) {
939
+ const items = FileDragAndDrop.getStatsFromDragAndDropData(data, originalEvent);
940
+ if (items && items.length && originalEvent.dataTransfer) {
941
+ this.instantiationService.invokeFunction(accessor => fillEditorsDragData(accessor, items, originalEvent));
942
+ const fileResources = ( items.filter(s => s.resource.scheme === Schemas.file).map(r => r.resource.fsPath));
943
+ if (fileResources.length) {
944
+ originalEvent.dataTransfer.setData(CodeDataTransfers.FILES, JSON.stringify(fileResources));
945
+ }
946
+ }
947
+ }
948
+ async drop(data, target, targetIndex, originalEvent) {
949
+ this.compressedDropTargetDisposable.dispose();
950
+ if (target) {
951
+ const compressedTarget = FileDragAndDrop.getCompressedStatFromDragEvent(target, originalEvent);
952
+ if (compressedTarget) {
953
+ target = compressedTarget;
954
+ }
955
+ }
956
+ if (!target) {
957
+ target = this.explorerService.roots[this.explorerService.roots.length - 1];
958
+ }
959
+ if (!target.isDirectory && target.parent) {
960
+ target = target.parent;
961
+ }
962
+ if (target.isReadonly) {
963
+ return;
964
+ }
965
+ const resolvedTarget = target;
966
+ if (!resolvedTarget) {
967
+ return;
968
+ }
969
+ try {
970
+ if (data instanceof NativeDragAndDropData) {
971
+ if (!isWeb || (isTemporaryWorkspace(this.contextService.getWorkspace()) && WebFileSystemAccess.supported(window))) {
972
+ const fileImport = this.instantiationService.createInstance(ExternalFileImport);
973
+ await fileImport.import(resolvedTarget, originalEvent);
974
+ }
975
+ else {
976
+ const browserUpload = this.instantiationService.createInstance(BrowserFileUpload);
977
+ await browserUpload.upload(target, originalEvent);
978
+ }
979
+ }
980
+ else {
981
+ await this.handleExplorerDrop(data, resolvedTarget, originalEvent);
982
+ }
983
+ }
984
+ catch (error) {
985
+ this.dialogService.error(toErrorMessage(error));
986
+ }
987
+ }
988
+ async handleExplorerDrop(data, target, originalEvent) {
989
+ const elementsData = FileDragAndDrop.getStatsFromDragAndDropData(data);
990
+ const distinctItems = ( new Map(( elementsData.map(element => [element, this.isCollapsed(element)]))));
991
+ for (const [item, collapsed] of distinctItems) {
992
+ if (collapsed) {
993
+ const nestedChildren = item.nestedChildren;
994
+ if (nestedChildren) {
995
+ for (const child of nestedChildren) {
996
+ distinctItems.set(child, true);
997
+ }
998
+ }
999
+ }
1000
+ }
1001
+ const items = distinctParents([...( distinctItems.keys())], s => s.resource);
1002
+ const isCopy = (originalEvent.ctrlKey && !isMacintosh) || (originalEvent.altKey && isMacintosh);
1003
+ const confirmDragAndDrop = !isCopy && this.configurationService.getValue(FileDragAndDrop.CONFIRM_DND_SETTING_KEY);
1004
+ if (confirmDragAndDrop) {
1005
+ const message = items.length > 1 && items.every(s => s.isRoot) ? ( localize(
1006
+ 'confirmRootsMove',
1007
+ "Are you sure you want to change the order of multiple root folders in your workspace?"
1008
+ ))
1009
+ : items.length > 1 ? ( localize(
1010
+ 'confirmMultiMove',
1011
+ "Are you sure you want to move the following {0} files into '{1}'?",
1012
+ items.length,
1013
+ target.name
1014
+ ))
1015
+ : items[0].isRoot ? ( localize(
1016
+ 'confirmRootMove',
1017
+ "Are you sure you want to change the order of root folder '{0}' in your workspace?",
1018
+ items[0].name
1019
+ ))
1020
+ : ( localize(
1021
+ 'confirmMove',
1022
+ "Are you sure you want to move '{0}' into '{1}'?",
1023
+ items[0].name,
1024
+ target.name
1025
+ ));
1026
+ const detail = items.length > 1 && !items.every(s => s.isRoot) ? getFileNamesMessage(( items.map(i => i.resource))) : undefined;
1027
+ const confirmation = await this.dialogService.confirm({
1028
+ message,
1029
+ detail,
1030
+ checkbox: {
1031
+ label: ( localize('doNotAskAgain', "Do not ask me again"))
1032
+ },
1033
+ primaryButton: ( localize({ key: 'moveButtonLabel', comment: ['&& denotes a mnemonic'] }, "&&Move"))
1034
+ });
1035
+ if (!confirmation.confirmed) {
1036
+ return;
1037
+ }
1038
+ if (confirmation.checkboxChecked === true) {
1039
+ await this.configurationService.updateValue(FileDragAndDrop.CONFIRM_DND_SETTING_KEY, false);
1040
+ }
1041
+ }
1042
+ await this.doHandleRootDrop(items.filter(s => s.isRoot), target);
1043
+ const sources = items.filter(s => !s.isRoot);
1044
+ if (isCopy) {
1045
+ return this.doHandleExplorerDropOnCopy(sources, target);
1046
+ }
1047
+ return this.doHandleExplorerDropOnMove(sources, target);
1048
+ }
1049
+ async doHandleRootDrop(roots, target) {
1050
+ if (roots.length === 0) {
1051
+ return;
1052
+ }
1053
+ const folders = this.contextService.getWorkspace().folders;
1054
+ let targetIndex;
1055
+ const workspaceCreationData = [];
1056
+ const rootsToMove = [];
1057
+ for (let index = 0; index < folders.length; index++) {
1058
+ const data = {
1059
+ uri: folders[index].uri,
1060
+ name: folders[index].name
1061
+ };
1062
+ if (target instanceof ExplorerItem && this.uriIdentityService.extUri.isEqual(folders[index].uri, target.resource)) {
1063
+ targetIndex = index;
1064
+ }
1065
+ if (roots.every(r => ( r.resource.toString()) !== ( folders[index].uri.toString()))) {
1066
+ workspaceCreationData.push(data);
1067
+ }
1068
+ else {
1069
+ rootsToMove.push(data);
1070
+ }
1071
+ }
1072
+ if (targetIndex === undefined) {
1073
+ targetIndex = workspaceCreationData.length;
1074
+ }
1075
+ workspaceCreationData.splice(targetIndex, 0, ...rootsToMove);
1076
+ return this.workspaceEditingService.updateFolders(0, workspaceCreationData.length, workspaceCreationData);
1077
+ }
1078
+ async doHandleExplorerDropOnCopy(sources, target) {
1079
+ const explorerConfig = this.configurationService.getValue().explorer;
1080
+ const resourceFileEdits = [];
1081
+ for (const { resource, isDirectory } of sources) {
1082
+ const allowOverwrite = explorerConfig.incrementalNaming === 'disabled';
1083
+ const newResource = await findValidPasteFileTarget(this.explorerService, this.fileService, this.dialogService, target, { resource, isDirectory, allowOverwrite }, explorerConfig.incrementalNaming);
1084
+ if (!newResource) {
1085
+ continue;
1086
+ }
1087
+ const resourceEdit = ( new ResourceFileEdit(resource, newResource, { copy: true, overwrite: allowOverwrite }));
1088
+ resourceFileEdits.push(resourceEdit);
1089
+ }
1090
+ const labelSufix = getFileOrFolderLabelSufix(sources);
1091
+ await this.explorerService.applyBulkEdit(resourceFileEdits, {
1092
+ confirmBeforeUndo: explorerConfig.confirmUndo === "default" || explorerConfig.confirmUndo === "verbose" ,
1093
+ undoLabel: ( localize('copy', "Copy {0}", labelSufix)),
1094
+ progressLabel: ( localize('copying', "Copying {0}", labelSufix)),
1095
+ });
1096
+ const editors = ( resourceFileEdits.filter(edit => {
1097
+ const item = edit.newResource ? this.explorerService.findClosest(edit.newResource) : undefined;
1098
+ return item && !item.isDirectory;
1099
+ }).map(edit => ({ resource: edit.newResource, options: { pinned: true } })));
1100
+ await this.editorService.openEditors(editors);
1101
+ }
1102
+ async doHandleExplorerDropOnMove(sources, target) {
1103
+ const resourceFileEdits = ( sources.filter(source => !source.isReadonly).map(source => ( new ResourceFileEdit(source.resource, joinPath(target.resource, source.name)))));
1104
+ const labelSufix = getFileOrFolderLabelSufix(sources);
1105
+ const options = {
1106
+ confirmBeforeUndo: this.configurationService.getValue().explorer.confirmUndo === "verbose" ,
1107
+ undoLabel: ( localize('move', "Move {0}", labelSufix)),
1108
+ progressLabel: ( localize('moving', "Moving {0}", labelSufix))
1109
+ };
1110
+ try {
1111
+ await this.explorerService.applyBulkEdit(resourceFileEdits, options);
1112
+ }
1113
+ catch (error) {
1114
+ if (error.fileOperationResult === 4 ) {
1115
+ const overwrites = [];
1116
+ for (const edit of resourceFileEdits) {
1117
+ if (edit.newResource && (await this.fileService.exists(edit.newResource))) {
1118
+ overwrites.push(edit.newResource);
1119
+ }
1120
+ }
1121
+ const confirm = getMultipleFilesOverwriteConfirm(overwrites);
1122
+ const { confirmed } = await this.dialogService.confirm(confirm);
1123
+ if (confirmed) {
1124
+ await this.explorerService.applyBulkEdit(( resourceFileEdits.map(re => ( new ResourceFileEdit(re.oldResource, re.newResource, { overwrite: true })))), options);
1125
+ }
1126
+ }
1127
+ else {
1128
+ throw error;
1129
+ }
1130
+ }
1131
+ }
1132
+ static getStatsFromDragAndDropData(data, dragStartEvent) {
1133
+ if (data.context) {
1134
+ return data.context;
1135
+ }
1136
+ if (dragStartEvent && data.elements.length === 1) {
1137
+ data.context = [FileDragAndDrop.getCompressedStatFromDragEvent(data.elements[0], dragStartEvent)];
1138
+ return data.context;
1139
+ }
1140
+ return data.elements;
1141
+ }
1142
+ static getCompressedStatFromDragEvent(stat, dragEvent) {
1143
+ const target = document.elementFromPoint(dragEvent.clientX, dragEvent.clientY);
1144
+ const iconLabelName = getIconLabelNameFromHTMLElement(target);
1145
+ if (iconLabelName) {
1146
+ const { count, index } = iconLabelName;
1147
+ let i = count - 1;
1148
+ while (i > index && stat.parent) {
1149
+ stat = stat.parent;
1150
+ i--;
1151
+ }
1152
+ return stat;
1153
+ }
1154
+ return stat;
1155
+ }
1156
+ onDragEnd() {
1157
+ this.compressedDropTargetDisposable.dispose();
1158
+ }
1159
+ };
1160
+ FileDragAndDrop.CONFIRM_DND_SETTING_KEY = 'explorer.confirmDragAndDrop';
1161
+ FileDragAndDrop = ( __decorate([
1162
+ ( __param(1, IExplorerService)),
1163
+ ( __param(2, IEditorService)),
1164
+ ( __param(3, IDialogService)),
1165
+ ( __param(4, IWorkspaceContextService)),
1166
+ ( __param(5, IFileService)),
1167
+ ( __param(6, IConfigurationService)),
1168
+ ( __param(7, IInstantiationService)),
1169
+ ( __param(8, IWorkspaceEditingService)),
1170
+ ( __param(9, IUriIdentityService))
1171
+ ], FileDragAndDrop));
1172
+ function getIconLabelNameFromHTMLElement(target) {
1173
+ if (!(target instanceof HTMLElement)) {
1174
+ return null;
1175
+ }
1176
+ let element = target;
1177
+ while (element && !element.classList.contains('monaco-list-row')) {
1178
+ if (element.classList.contains('label-name') && element.hasAttribute('data-icon-label-count')) {
1179
+ const count = Number(element.getAttribute('data-icon-label-count'));
1180
+ const index = Number(element.getAttribute('data-icon-label-index'));
1181
+ if (isNumber(count) && isNumber(index)) {
1182
+ return { element: element, count, index };
1183
+ }
1184
+ }
1185
+ element = element.parentElement;
1186
+ }
1187
+ return null;
1188
+ }
1189
+ function isCompressedFolderName(target) {
1190
+ return !!getIconLabelNameFromHTMLElement(target);
1191
+ }
1192
+ class ExplorerCompressionDelegate {
1193
+ isIncompressible(stat) {
1194
+ return stat.isRoot || !stat.isDirectory || stat instanceof NewExplorerItem || (!stat.parent || stat.parent.isRoot);
1195
+ }
1196
+ }
1197
+ function getFileOrFolderLabelSufix(items) {
1198
+ if (items.length === 1) {
1199
+ return items[0].name;
1200
+ }
1201
+ if (items.every(i => i.isDirectory)) {
1202
+ return ( localize('numberOfFolders', "{0} folders", items.length));
1203
+ }
1204
+ if (items.every(i => !i.isDirectory)) {
1205
+ return ( localize('numberOfFiles', "{0} files", items.length));
1206
+ }
1207
+ return `${items.length} files and folders`;
1208
+ }
1209
+ export { CompressedNavigationController, ExplorerCompressionDelegate, ExplorerDataSource, ExplorerDelegate, FileDragAndDrop, FileSorter, FilesFilter, FilesRenderer, explorerRootErrorEmitter, isCompressedFolderName };