@theia/core 1.49.0 → 1.50.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 (899) hide show
  1. package/README.md +7 -7
  2. package/i18n/nls.cs.json +12 -1
  3. package/i18n/nls.de.json +12 -1
  4. package/i18n/nls.es.json +12 -1
  5. package/i18n/nls.fr.json +12 -1
  6. package/i18n/nls.hu.json +12 -1
  7. package/i18n/nls.it.json +12 -1
  8. package/i18n/nls.ja.json +12 -1
  9. package/i18n/nls.json +12 -1
  10. package/i18n/nls.pl.json +12 -1
  11. package/i18n/nls.pt-br.json +12 -1
  12. package/i18n/nls.pt-pt.json +12 -1
  13. package/i18n/nls.ru.json +12 -1
  14. package/i18n/nls.zh-cn.json +12 -1
  15. package/lib/browser/about-dialog.js +14 -14
  16. package/lib/browser/about-dialog.js.map +1 -1
  17. package/lib/browser/authentication-service.js +12 -12
  18. package/lib/browser/authentication-service.js.map +1 -1
  19. package/lib/browser/breadcrumbs/breadcrumb-popup-container.d.ts +1 -1
  20. package/lib/browser/breadcrumbs/breadcrumb-popup-container.d.ts.map +1 -1
  21. package/lib/browser/breadcrumbs/breadcrumb-popup-container.js +12 -12
  22. package/lib/browser/breadcrumbs/breadcrumb-popup-container.js.map +1 -1
  23. package/lib/browser/breadcrumbs/breadcrumb-renderer.js +2 -2
  24. package/lib/browser/breadcrumbs/breadcrumb-renderer.js.map +1 -1
  25. package/lib/browser/breadcrumbs/breadcrumbs-constants.js +1 -1
  26. package/lib/browser/breadcrumbs/breadcrumbs-constants.js.map +1 -1
  27. package/lib/browser/breadcrumbs/breadcrumbs-renderer.js +14 -14
  28. package/lib/browser/breadcrumbs/breadcrumbs-renderer.js.map +1 -1
  29. package/lib/browser/breadcrumbs/breadcrumbs-service.js +10 -10
  30. package/lib/browser/breadcrumbs/breadcrumbs-service.js.map +1 -1
  31. package/lib/browser/breadcrumbs/index.js +5 -5
  32. package/lib/browser/breadcrumbs/index.js.map +1 -1
  33. package/lib/browser/browser-clipboard-service.js +6 -6
  34. package/lib/browser/browser-clipboard-service.js.map +1 -1
  35. package/lib/browser/browser.d.ts +1 -1
  36. package/lib/browser/browser.d.ts.map +1 -1
  37. package/lib/browser/browser.js.map +1 -1
  38. package/lib/browser/color-application-contribution.js +10 -10
  39. package/lib/browser/color-application-contribution.js.map +1 -1
  40. package/lib/browser/color-registry.js +2 -2
  41. package/lib/browser/color-registry.js.map +1 -1
  42. package/lib/browser/command-open-handler.js +4 -4
  43. package/lib/browser/command-open-handler.js.map +1 -1
  44. package/lib/browser/common-frontend-contribution.d.ts +3 -3
  45. package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
  46. package/lib/browser/common-frontend-contribution.js +54 -54
  47. package/lib/browser/common-frontend-contribution.js.map +1 -1
  48. package/lib/browser/common-styling-participants.js +16 -16
  49. package/lib/browser/common-styling-participants.js.map +1 -1
  50. package/lib/browser/connection-status-service.js +26 -26
  51. package/lib/browser/connection-status-service.js.map +1 -1
  52. package/lib/browser/connection-status-service.spec.js.map +1 -1
  53. package/lib/browser/context-key-service.d.ts +2 -2
  54. package/lib/browser/context-key-service.d.ts.map +1 -1
  55. package/lib/browser/context-key-service.js +3 -3
  56. package/lib/browser/context-key-service.js.map +1 -1
  57. package/lib/browser/context-menu-renderer.d.ts +1 -1
  58. package/lib/browser/context-menu-renderer.d.ts.map +1 -1
  59. package/lib/browser/context-menu-renderer.js +2 -2
  60. package/lib/browser/context-menu-renderer.js.map +1 -1
  61. package/lib/browser/core-preferences.d.ts +1 -1
  62. package/lib/browser/core-preferences.d.ts.map +1 -1
  63. package/lib/browser/core-preferences.js +1 -1
  64. package/lib/browser/core-preferences.js.map +1 -1
  65. package/lib/browser/credentials-service.js +4 -4
  66. package/lib/browser/credentials-service.js.map +1 -1
  67. package/lib/browser/decoration-style.js +1 -1
  68. package/lib/browser/decoration-style.js.map +1 -1
  69. package/lib/browser/decorations-service.js +2 -2
  70. package/lib/browser/decorations-service.js.map +1 -1
  71. package/lib/browser/dialogs/react-dialog.js +4 -4
  72. package/lib/browser/dialogs/react-dialog.js.map +1 -1
  73. package/lib/browser/dialogs.d.ts +2 -2
  74. package/lib/browser/dialogs.d.ts.map +1 -1
  75. package/lib/browser/dialogs.js +31 -31
  76. package/lib/browser/dialogs.js.map +1 -1
  77. package/lib/browser/diff-uris.js +5 -5
  78. package/lib/browser/diff-uris.js.map +1 -1
  79. package/lib/browser/encoding-registry.js +6 -6
  80. package/lib/browser/encoding-registry.js.map +1 -1
  81. package/lib/browser/endpoint.js +1 -1
  82. package/lib/browser/endpoint.js.map +1 -1
  83. package/lib/browser/external-uri-service.js +2 -2
  84. package/lib/browser/external-uri-service.js.map +1 -1
  85. package/lib/browser/frontend-application-bindings.js.map +1 -1
  86. package/lib/browser/frontend-application-config-provider.js.map +1 -1
  87. package/lib/browser/frontend-application-contribution.js +3 -3
  88. package/lib/browser/frontend-application-contribution.js.map +1 -1
  89. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  90. package/lib/browser/frontend-application-module.js +5 -2
  91. package/lib/browser/frontend-application-module.js.map +1 -1
  92. package/lib/browser/frontend-application-state.js +4 -4
  93. package/lib/browser/frontend-application-state.js.map +1 -1
  94. package/lib/browser/frontend-application.js +21 -21
  95. package/lib/browser/frontend-application.js.map +1 -1
  96. package/lib/browser/hover-service.d.ts +1 -1
  97. package/lib/browser/hover-service.d.ts.map +1 -1
  98. package/lib/browser/hover-service.js +7 -7
  99. package/lib/browser/hover-service.js.map +1 -1
  100. package/lib/browser/http-open-handler.js +6 -6
  101. package/lib/browser/http-open-handler.js.map +1 -1
  102. package/lib/browser/i18n/language-quick-pick-service.js +8 -8
  103. package/lib/browser/i18n/language-quick-pick-service.js.map +1 -1
  104. package/lib/browser/icon-theme-contribution.js +8 -8
  105. package/lib/browser/icon-theme-contribution.js.map +1 -1
  106. package/lib/browser/icon-theme-service.js +14 -14
  107. package/lib/browser/icon-theme-service.js.map +1 -1
  108. package/lib/browser/index.d.ts +1 -0
  109. package/lib/browser/index.d.ts.map +1 -1
  110. package/lib/browser/index.js +33 -32
  111. package/lib/browser/index.js.map +1 -1
  112. package/lib/browser/json-schema-store.js +8 -8
  113. package/lib/browser/json-schema-store.js.map +1 -1
  114. package/lib/browser/keybinding.d.ts +1 -1
  115. package/lib/browser/keybinding.d.ts.map +1 -1
  116. package/lib/browser/keybinding.js +22 -23
  117. package/lib/browser/keybinding.js.map +1 -1
  118. package/lib/browser/keybinding.spec.js +4 -4
  119. package/lib/browser/keybinding.spec.js.map +1 -1
  120. package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js +7 -7
  121. package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js.map +1 -1
  122. package/lib/browser/keyboard/browser-keyboard-layout-provider.d.ts +2 -2
  123. package/lib/browser/keyboard/browser-keyboard-layout-provider.d.ts.map +1 -1
  124. package/lib/browser/keyboard/browser-keyboard-layout-provider.js +13 -13
  125. package/lib/browser/keyboard/browser-keyboard-layout-provider.js.map +1 -1
  126. package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js +1 -1
  127. package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js.map +1 -1
  128. package/lib/browser/keyboard/index.js +4 -4
  129. package/lib/browser/keyboard/index.js.map +1 -1
  130. package/lib/browser/keyboard/keyboard-layout-service.js +8 -8
  131. package/lib/browser/keyboard/keyboard-layout-service.js.map +1 -1
  132. package/lib/browser/keyboard/keyboard-layout-service.spec.js +1 -1
  133. package/lib/browser/keyboard/keyboard-layout-service.spec.js.map +1 -1
  134. package/lib/browser/keyboard/keys.js +1 -1
  135. package/lib/browser/keyboard/keys.js.map +1 -1
  136. package/lib/browser/label-parser.d.ts +1 -1
  137. package/lib/browser/label-parser.d.ts.map +1 -1
  138. package/lib/browser/label-parser.js +3 -3
  139. package/lib/browser/label-parser.js.map +1 -1
  140. package/lib/browser/label-provider.js +13 -13
  141. package/lib/browser/label-provider.js.map +1 -1
  142. package/lib/browser/label-provider.spec.js.map +1 -1
  143. package/lib/browser/language-icon-provider.js +10 -10
  144. package/lib/browser/language-icon-provider.js.map +1 -1
  145. package/lib/browser/language-service.js +2 -2
  146. package/lib/browser/language-service.js.map +1 -1
  147. package/lib/browser/logger-frontend-module.js.map +1 -1
  148. package/lib/browser/markdown-rendering/markdown-renderer.js +8 -8
  149. package/lib/browser/markdown-rendering/markdown-renderer.js.map +1 -1
  150. package/lib/browser/menu/browser-context-menu-renderer.js +4 -4
  151. package/lib/browser/menu/browser-context-menu-renderer.js.map +1 -1
  152. package/lib/browser/menu/browser-menu-plugin.js +27 -27
  153. package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
  154. package/lib/browser/menu/context-menu-context.js +8 -8
  155. package/lib/browser/menu/context-menu-context.js.map +1 -1
  156. package/lib/browser/messaging/frontend-id-provider.js +2 -2
  157. package/lib/browser/messaging/frontend-id-provider.js.map +1 -1
  158. package/lib/browser/messaging/index.d.ts +1 -0
  159. package/lib/browser/messaging/index.d.ts.map +1 -1
  160. package/lib/browser/messaging/index.js +2 -1
  161. package/lib/browser/messaging/index.js.map +1 -1
  162. package/lib/browser/messaging/service-connection-provider.js +8 -8
  163. package/lib/browser/messaging/service-connection-provider.js.map +1 -1
  164. package/lib/browser/messaging/ws-connection-provider.d.ts +2 -1
  165. package/lib/browser/messaging/ws-connection-provider.d.ts.map +1 -1
  166. package/lib/browser/messaging/ws-connection-provider.js +6 -5
  167. package/lib/browser/messaging/ws-connection-provider.js.map +1 -1
  168. package/lib/browser/messaging/ws-connection-source.js +16 -16
  169. package/lib/browser/messaging/ws-connection-source.js.map +1 -1
  170. package/lib/browser/mime-service.js +2 -2
  171. package/lib/browser/mime-service.js.map +1 -1
  172. package/lib/browser/navigatable-types.d.ts +1 -1
  173. package/lib/browser/navigatable-types.d.ts.map +1 -1
  174. package/lib/browser/navigatable-types.js +3 -3
  175. package/lib/browser/navigatable-types.js.map +1 -1
  176. package/lib/browser/navigatable.js +1 -1
  177. package/lib/browser/navigatable.js.map +1 -1
  178. package/lib/browser/open-with-service.js +4 -4
  179. package/lib/browser/open-with-service.js.map +1 -1
  180. package/lib/browser/opener-service.js +5 -5
  181. package/lib/browser/opener-service.js.map +1 -1
  182. package/lib/browser/performance/frontend-stopwatch.js +3 -3
  183. package/lib/browser/performance/frontend-stopwatch.js.map +1 -1
  184. package/lib/browser/performance/index.js +2 -2
  185. package/lib/browser/performance/index.js.map +1 -1
  186. package/lib/browser/preferences/index.js +7 -7
  187. package/lib/browser/preferences/index.js.map +1 -1
  188. package/lib/browser/preferences/injectable-preference-proxy.js +14 -14
  189. package/lib/browser/preferences/injectable-preference-proxy.js.map +1 -1
  190. package/lib/browser/preferences/preference-configurations.js +4 -4
  191. package/lib/browser/preferences/preference-configurations.js.map +1 -1
  192. package/lib/browser/preferences/preference-contribution.js +11 -11
  193. package/lib/browser/preferences/preference-contribution.js.map +1 -1
  194. package/lib/browser/preferences/preference-language-override-service.js +3 -3
  195. package/lib/browser/preferences/preference-language-override-service.js.map +1 -1
  196. package/lib/browser/preferences/preference-provider.js +6 -6
  197. package/lib/browser/preferences/preference-provider.js.map +1 -1
  198. package/lib/browser/preferences/preference-proxy.d.ts +2 -2
  199. package/lib/browser/preferences/preference-proxy.d.ts.map +1 -1
  200. package/lib/browser/preferences/preference-proxy.js.map +1 -1
  201. package/lib/browser/preferences/preference-proxy.spec.js.map +1 -1
  202. package/lib/browser/preferences/preference-service.d.ts +2 -2
  203. package/lib/browser/preferences/preference-service.d.ts.map +1 -1
  204. package/lib/browser/preferences/preference-service.js +14 -14
  205. package/lib/browser/preferences/preference-service.js.map +1 -1
  206. package/lib/browser/preferences/preference-service.spec.js.map +1 -1
  207. package/lib/browser/preferences/preference-validation-service.d.ts +2 -2
  208. package/lib/browser/preferences/preference-validation-service.d.ts.map +1 -1
  209. package/lib/browser/preferences/preference-validation-service.js +6 -6
  210. package/lib/browser/preferences/preference-validation-service.js.map +1 -1
  211. package/lib/browser/preferences/preference-validation-service.spec.js.map +1 -1
  212. package/lib/browser/preferences/test/index.js +3 -3
  213. package/lib/browser/preferences/test/index.js.map +1 -1
  214. package/lib/browser/preferences/test/mock-preference-proxy.js.map +1 -1
  215. package/lib/browser/preferences/test/mock-preference-service.js +3 -3
  216. package/lib/browser/preferences/test/mock-preference-service.js.map +1 -1
  217. package/lib/browser/preload/i18n-preload-contribution.js +4 -4
  218. package/lib/browser/preload/i18n-preload-contribution.js.map +1 -1
  219. package/lib/browser/preload/os-preload-contribution.js +4 -4
  220. package/lib/browser/preload/os-preload-contribution.js.map +1 -1
  221. package/lib/browser/preload/preloader.js +4 -4
  222. package/lib/browser/preload/preloader.js.map +1 -1
  223. package/lib/browser/preload/theme-preload-contribution.js +2 -2
  224. package/lib/browser/preload/theme-preload-contribution.js.map +1 -1
  225. package/lib/browser/progress-bar.js +14 -14
  226. package/lib/browser/progress-bar.js.map +1 -1
  227. package/lib/browser/progress-client.js +6 -6
  228. package/lib/browser/progress-client.js.map +1 -1
  229. package/lib/browser/progress-location-service.js +2 -2
  230. package/lib/browser/progress-location-service.js.map +1 -1
  231. package/lib/browser/progress-status-bar-item.js +4 -4
  232. package/lib/browser/progress-status-bar-item.js.map +1 -1
  233. package/lib/browser/quick-input/index.js +8 -8
  234. package/lib/browser/quick-input/index.js.map +1 -1
  235. package/lib/browser/quick-input/quick-command-frontend-contribution.js +6 -6
  236. package/lib/browser/quick-input/quick-command-frontend-contribution.js.map +1 -1
  237. package/lib/browser/quick-input/quick-command-service.js +12 -12
  238. package/lib/browser/quick-input/quick-command-service.js.map +1 -1
  239. package/lib/browser/quick-input/quick-help-service.js +6 -6
  240. package/lib/browser/quick-input/quick-help-service.js.map +1 -1
  241. package/lib/browser/quick-input/quick-input-frontend-contribution.js +4 -4
  242. package/lib/browser/quick-input/quick-input-frontend-contribution.js.map +1 -1
  243. package/lib/browser/quick-input/quick-input-service.js +1 -1
  244. package/lib/browser/quick-input/quick-input-service.js.map +1 -1
  245. package/lib/browser/quick-input/quick-pick-service-impl.js +4 -4
  246. package/lib/browser/quick-input/quick-pick-service-impl.js.map +1 -1
  247. package/lib/browser/quick-input/quick-view-service.js +6 -6
  248. package/lib/browser/quick-input/quick-view-service.js.map +1 -1
  249. package/lib/browser/request/browser-request-service.js +14 -14
  250. package/lib/browser/request/browser-request-service.js.map +1 -1
  251. package/lib/browser/resource-context-key.js +10 -10
  252. package/lib/browser/resource-context-key.js.map +1 -1
  253. package/lib/browser/saveable-service.d.ts +72 -0
  254. package/lib/browser/saveable-service.d.ts.map +1 -0
  255. package/lib/browser/saveable-service.js +294 -0
  256. package/lib/browser/saveable-service.js.map +1 -0
  257. package/lib/browser/saveable.d.ts +27 -6
  258. package/lib/browser/saveable.d.ts.map +1 -1
  259. package/lib/browser/saveable.js +33 -98
  260. package/lib/browser/saveable.js.map +1 -1
  261. package/lib/browser/secondary-window-handler.js +8 -8
  262. package/lib/browser/secondary-window-handler.js.map +1 -1
  263. package/lib/browser/shell/additional-views-menu-widget.d.ts +1 -1
  264. package/lib/browser/shell/additional-views-menu-widget.d.ts.map +1 -1
  265. package/lib/browser/shell/additional-views-menu-widget.js +6 -6
  266. package/lib/browser/shell/additional-views-menu-widget.js.map +1 -1
  267. package/lib/browser/shell/application-shell-mouse-tracker.js +5 -6
  268. package/lib/browser/shell/application-shell-mouse-tracker.js.map +1 -1
  269. package/lib/browser/shell/application-shell.d.ts +4 -4
  270. package/lib/browser/shell/application-shell.d.ts.map +1 -1
  271. package/lib/browser/shell/application-shell.js +53 -57
  272. package/lib/browser/shell/application-shell.js.map +1 -1
  273. package/lib/browser/shell/current-widget-command-adapter.d.ts +2 -2
  274. package/lib/browser/shell/current-widget-command-adapter.d.ts.map +1 -1
  275. package/lib/browser/shell/current-widget-command-adapter.js.map +1 -1
  276. package/lib/browser/shell/index.js +7 -7
  277. package/lib/browser/shell/index.js.map +1 -1
  278. package/lib/browser/shell/shell-layout-restorer.js +15 -16
  279. package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
  280. package/lib/browser/shell/side-panel-handler.js +23 -23
  281. package/lib/browser/shell/side-panel-handler.js.map +1 -1
  282. package/lib/browser/shell/side-panel-toolbar.js.map +1 -1
  283. package/lib/browser/shell/sidebar-bottom-menu-widget.js +2 -2
  284. package/lib/browser/shell/sidebar-bottom-menu-widget.js.map +1 -1
  285. package/lib/browser/shell/sidebar-menu-widget.js +7 -7
  286. package/lib/browser/shell/sidebar-menu-widget.js.map +1 -1
  287. package/lib/browser/shell/sidebar-top-menu-widget.js +2 -2
  288. package/lib/browser/shell/sidebar-top-menu-widget.js.map +1 -1
  289. package/lib/browser/shell/split-panels.js +2 -2
  290. package/lib/browser/shell/split-panels.js.map +1 -1
  291. package/lib/browser/shell/tab-bar-decorator.js +8 -8
  292. package/lib/browser/shell/tab-bar-decorator.js.map +1 -1
  293. package/lib/browser/shell/tab-bar-toolbar/index.js +3 -3
  294. package/lib/browser/shell/tab-bar-toolbar/index.js.map +1 -1
  295. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +10 -10
  296. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js.map +1 -1
  297. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js +4 -4
  298. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js.map +1 -1
  299. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +24 -25
  300. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
  301. package/lib/browser/shell/tab-bars.d.ts +1 -1
  302. package/lib/browser/shell/tab-bars.d.ts.map +1 -1
  303. package/lib/browser/shell/tab-bars.js +1 -1
  304. package/lib/browser/shell/tab-bars.js.map +1 -1
  305. package/lib/browser/shell/theia-dock-panel.js +4 -4
  306. package/lib/browser/shell/theia-dock-panel.js.map +1 -1
  307. package/lib/browser/shell/view-column-service.d.ts +24 -0
  308. package/lib/browser/shell/view-column-service.d.ts.map +1 -0
  309. package/lib/browser/shell/view-column-service.js +119 -0
  310. package/lib/browser/shell/view-column-service.js.map +1 -0
  311. package/lib/browser/shell/view-contribution.js +9 -9
  312. package/lib/browser/shell/view-contribution.js.map +1 -1
  313. package/lib/browser/source-tree/index.js +3 -3
  314. package/lib/browser/source-tree/index.js.map +1 -1
  315. package/lib/browser/source-tree/source-tree-widget.js +6 -6
  316. package/lib/browser/source-tree/source-tree-widget.js.map +1 -1
  317. package/lib/browser/source-tree/source-tree.d.ts +1 -1
  318. package/lib/browser/source-tree/source-tree.d.ts.map +1 -1
  319. package/lib/browser/source-tree/source-tree.js +5 -5
  320. package/lib/browser/source-tree/source-tree.js.map +1 -1
  321. package/lib/browser/source-tree/tree-source.js +8 -8
  322. package/lib/browser/source-tree/tree-source.js.map +1 -1
  323. package/lib/browser/status-bar/index.js +3 -3
  324. package/lib/browser/status-bar/index.js.map +1 -1
  325. package/lib/browser/status-bar/status-bar-types.js +1 -1
  326. package/lib/browser/status-bar/status-bar-types.js.map +1 -1
  327. package/lib/browser/status-bar/status-bar-view-model.js +2 -2
  328. package/lib/browser/status-bar/status-bar-view-model.js.map +1 -1
  329. package/lib/browser/status-bar/status-bar.js +9 -9
  330. package/lib/browser/status-bar/status-bar.js.map +1 -1
  331. package/lib/browser/storage-service.js +12 -12
  332. package/lib/browser/storage-service.js.map +1 -1
  333. package/lib/browser/styling-service.js +10 -10
  334. package/lib/browser/styling-service.js.map +1 -1
  335. package/lib/browser/test/jsdom.js.map +1 -1
  336. package/lib/browser/test/mock-opener-service.js +2 -2
  337. package/lib/browser/test/mock-opener-service.js.map +1 -1
  338. package/lib/browser/test/mock-storage-service.d.ts +1 -1
  339. package/lib/browser/test/mock-storage-service.d.ts.map +1 -1
  340. package/lib/browser/test/mock-storage-service.js +2 -2
  341. package/lib/browser/test/mock-storage-service.js.map +1 -1
  342. package/lib/browser/theming.js +10 -10
  343. package/lib/browser/theming.js.map +1 -1
  344. package/lib/browser/tooltip-service.js +11 -11
  345. package/lib/browser/tooltip-service.js.map +1 -1
  346. package/lib/browser/tree/fuzzy-search.js +2 -2
  347. package/lib/browser/tree/fuzzy-search.js.map +1 -1
  348. package/lib/browser/tree/index.js +13 -13
  349. package/lib/browser/tree/index.js.map +1 -1
  350. package/lib/browser/tree/search-box-debounce.js +1 -1
  351. package/lib/browser/tree/search-box-debounce.js.map +1 -1
  352. package/lib/browser/tree/search-box.js +2 -2
  353. package/lib/browser/tree/search-box.js.map +1 -1
  354. package/lib/browser/tree/test/mock-selectable-tree-model.js +1 -1
  355. package/lib/browser/tree/test/mock-selectable-tree-model.js.map +1 -1
  356. package/lib/browser/tree/test/mock-tree-model.js +1 -1
  357. package/lib/browser/tree/test/mock-tree-model.js.map +1 -1
  358. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.js +6 -6
  359. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.js.map +1 -1
  360. package/lib/browser/tree/tree-compression/compressed-tree-model.js +6 -6
  361. package/lib/browser/tree/tree-compression/compressed-tree-model.js.map +1 -1
  362. package/lib/browser/tree/tree-compression/compressed-tree-widget.js +10 -10
  363. package/lib/browser/tree/tree-compression/compressed-tree-widget.js.map +1 -1
  364. package/lib/browser/tree/tree-compression/index.js +4 -4
  365. package/lib/browser/tree/tree-compression/index.js.map +1 -1
  366. package/lib/browser/tree/tree-compression/tree-compression-service.d.ts +1 -1
  367. package/lib/browser/tree/tree-compression/tree-compression-service.d.ts.map +1 -1
  368. package/lib/browser/tree/tree-compression/tree-compression-service.js +2 -2
  369. package/lib/browser/tree/tree-compression/tree-compression-service.js.map +1 -1
  370. package/lib/browser/tree/tree-consistency.spec.js +1 -1
  371. package/lib/browser/tree/tree-consistency.spec.js.map +1 -1
  372. package/lib/browser/tree/tree-container.d.ts +2 -2
  373. package/lib/browser/tree/tree-container.d.ts.map +1 -1
  374. package/lib/browser/tree/tree-container.js.map +1 -1
  375. package/lib/browser/tree/tree-decorator.js +6 -6
  376. package/lib/browser/tree/tree-decorator.js.map +1 -1
  377. package/lib/browser/tree/tree-expansion.js +9 -9
  378. package/lib/browser/tree/tree-expansion.js.map +1 -1
  379. package/lib/browser/tree/tree-focus-service.js +4 -4
  380. package/lib/browser/tree/tree-focus-service.js.map +1 -1
  381. package/lib/browser/tree/tree-iterator.js +2 -2
  382. package/lib/browser/tree/tree-iterator.js.map +1 -1
  383. package/lib/browser/tree/tree-iterator.spec.js.map +1 -1
  384. package/lib/browser/tree/tree-label-provider.js +2 -2
  385. package/lib/browser/tree/tree-label-provider.js.map +1 -1
  386. package/lib/browser/tree/tree-model.js +20 -20
  387. package/lib/browser/tree/tree-model.js.map +1 -1
  388. package/lib/browser/tree/tree-navigation.js +2 -2
  389. package/lib/browser/tree/tree-navigation.js.map +1 -1
  390. package/lib/browser/tree/tree-preference.d.ts +1 -1
  391. package/lib/browser/tree/tree-preference.d.ts.map +1 -1
  392. package/lib/browser/tree/tree-search.js +12 -12
  393. package/lib/browser/tree/tree-search.js.map +1 -1
  394. package/lib/browser/tree/tree-selectable.spec.js.map +1 -1
  395. package/lib/browser/tree/tree-selection-impl.js +10 -10
  396. package/lib/browser/tree/tree-selection-impl.js.map +1 -1
  397. package/lib/browser/tree/tree-selection-state.js +1 -1
  398. package/lib/browser/tree/tree-selection-state.js.map +1 -1
  399. package/lib/browser/tree/tree-selection-state.spec.js +2 -2
  400. package/lib/browser/tree/tree-selection-state.spec.js.map +1 -1
  401. package/lib/browser/tree/tree-selection.js +2 -2
  402. package/lib/browser/tree/tree-selection.js.map +1 -1
  403. package/lib/browser/tree/tree-view-welcome-widget.d.ts +1 -1
  404. package/lib/browser/tree/tree-view-welcome-widget.d.ts.map +1 -1
  405. package/lib/browser/tree/tree-view-welcome-widget.js +8 -8
  406. package/lib/browser/tree/tree-view-welcome-widget.js.map +1 -1
  407. package/lib/browser/tree/tree-widget-selection.d.ts +1 -1
  408. package/lib/browser/tree/tree-widget-selection.d.ts.map +1 -1
  409. package/lib/browser/tree/tree-widget-selection.js +1 -1
  410. package/lib/browser/tree/tree-widget-selection.js.map +1 -1
  411. package/lib/browser/tree/tree-widget.d.ts.map +1 -1
  412. package/lib/browser/tree/tree-widget.js +33 -29
  413. package/lib/browser/tree/tree-widget.js.map +1 -1
  414. package/lib/browser/tree/tree.js +5 -5
  415. package/lib/browser/tree/tree.js.map +1 -1
  416. package/lib/browser/tree/tree.spec.js.map +1 -1
  417. package/lib/browser/user-working-directory-provider.js +6 -6
  418. package/lib/browser/user-working-directory-provider.js.map +1 -1
  419. package/lib/browser/view-container.js +37 -38
  420. package/lib/browser/view-container.js.map +1 -1
  421. package/lib/browser/widget-decoration.js +1 -1
  422. package/lib/browser/widget-decoration.js.map +1 -1
  423. package/lib/browser/widget-manager.js +6 -6
  424. package/lib/browser/widget-manager.js.map +1 -1
  425. package/lib/browser/widget-open-handler.d.ts +1 -1
  426. package/lib/browser/widget-open-handler.d.ts.map +1 -1
  427. package/lib/browser/widget-open-handler.js +10 -10
  428. package/lib/browser/widget-open-handler.js.map +1 -1
  429. package/lib/browser/widgets/alert-message.d.ts +1 -1
  430. package/lib/browser/widgets/alert-message.d.ts.map +1 -1
  431. package/lib/browser/widgets/enhanced-preview-widget.js +1 -1
  432. package/lib/browser/widgets/enhanced-preview-widget.js.map +1 -1
  433. package/lib/browser/widgets/extractable-widget.js +1 -1
  434. package/lib/browser/widgets/extractable-widget.js.map +1 -1
  435. package/lib/browser/widgets/index.js +4 -4
  436. package/lib/browser/widgets/index.js.map +1 -1
  437. package/lib/browser/widgets/previewable-widget.js +1 -1
  438. package/lib/browser/widgets/previewable-widget.js.map +1 -1
  439. package/lib/browser/widgets/react-renderer.d.ts +1 -1
  440. package/lib/browser/widgets/react-renderer.d.ts.map +1 -1
  441. package/lib/browser/widgets/react-renderer.js +5 -5
  442. package/lib/browser/widgets/react-renderer.js.map +1 -1
  443. package/lib/browser/widgets/react-widget.js +4 -4
  444. package/lib/browser/widgets/react-widget.js.map +1 -1
  445. package/lib/browser/widgets/select-component.js.map +1 -1
  446. package/lib/browser/widgets/widget.d.ts +2 -2
  447. package/lib/browser/widgets/widget.d.ts.map +1 -1
  448. package/lib/browser/widgets/widget.js +7 -7
  449. package/lib/browser/widgets/widget.js.map +1 -1
  450. package/lib/browser/window/default-secondary-window-service.d.ts +2 -0
  451. package/lib/browser/window/default-secondary-window-service.d.ts.map +1 -1
  452. package/lib/browser/window/default-secondary-window-service.js +17 -12
  453. package/lib/browser/window/default-secondary-window-service.js.map +1 -1
  454. package/lib/browser/window/default-window-service.js +6 -6
  455. package/lib/browser/window/default-window-service.js.map +1 -1
  456. package/lib/browser/window/test/mock-window-service.js +2 -2
  457. package/lib/browser/window/test/mock-window-service.js.map +1 -1
  458. package/lib/browser/window/window-title-service.js +8 -8
  459. package/lib/browser/window/window-title-service.js.map +1 -1
  460. package/lib/browser/window/window-title-updater.js +6 -6
  461. package/lib/browser/window/window-title-updater.js.map +1 -1
  462. package/lib/browser/window-contribution.js +5 -5
  463. package/lib/browser/window-contribution.js.map +1 -1
  464. package/lib/browser-only/frontend-only-application-module.js.map +1 -1
  465. package/lib/browser-only/logger-frontend-only-module.js.map +1 -1
  466. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js +4 -4
  467. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js.map +1 -1
  468. package/lib/browser-only/messaging/messaging-frontend-only-module.js.map +1 -1
  469. package/lib/browser-only/preload/frontend-only-preload-module.js.map +1 -1
  470. package/lib/common/application-error.js +1 -1
  471. package/lib/common/application-error.js.map +1 -1
  472. package/lib/common/array-utils.d.ts +2 -2
  473. package/lib/common/array-utils.d.ts.map +1 -1
  474. package/lib/common/array-utils.js +1 -1
  475. package/lib/common/array-utils.js.map +1 -1
  476. package/lib/common/buffer.js +8 -8
  477. package/lib/common/buffer.js.map +1 -1
  478. package/lib/common/cancellation.js +1 -1
  479. package/lib/common/cancellation.js.map +1 -1
  480. package/lib/common/char-code.d.ts +180 -180
  481. package/lib/common/char-code.d.ts.map +1 -1
  482. package/lib/common/collections.js.map +1 -1
  483. package/lib/common/color.d.ts +1 -1
  484. package/lib/common/color.d.ts.map +1 -1
  485. package/lib/common/color.js +1 -1
  486. package/lib/common/color.js.map +1 -1
  487. package/lib/common/command.js +6 -6
  488. package/lib/common/command.js.map +1 -1
  489. package/lib/common/contribution-filter/contribution-filter-registry.js +5 -5
  490. package/lib/common/contribution-filter/contribution-filter-registry.js.map +1 -1
  491. package/lib/common/contribution-filter/contribution-filter.d.ts +1 -1
  492. package/lib/common/contribution-filter/contribution-filter.d.ts.map +1 -1
  493. package/lib/common/contribution-filter/filter.d.ts +1 -1
  494. package/lib/common/contribution-filter/filter.d.ts.map +1 -1
  495. package/lib/common/contribution-filter/index.js +3 -3
  496. package/lib/common/contribution-filter/index.js.map +1 -1
  497. package/lib/common/contribution-provider.d.ts +1 -1
  498. package/lib/common/contribution-provider.d.ts.map +1 -1
  499. package/lib/common/contribution-provider.js +1 -1
  500. package/lib/common/contribution-provider.js.map +1 -1
  501. package/lib/common/disposable.d.ts +1 -1
  502. package/lib/common/disposable.d.ts.map +1 -1
  503. package/lib/common/disposable.js +2 -2
  504. package/lib/common/disposable.js.map +1 -1
  505. package/lib/common/encoding-service.js +2 -2
  506. package/lib/common/encoding-service.js.map +1 -1
  507. package/lib/common/env-variables/index.js +1 -1
  508. package/lib/common/env-variables/index.js.map +1 -1
  509. package/lib/common/event.d.ts +2 -2
  510. package/lib/common/event.d.ts.map +1 -1
  511. package/lib/common/event.js +2 -2
  512. package/lib/common/event.js.map +1 -1
  513. package/lib/common/file-uri.js +1 -1
  514. package/lib/common/file-uri.js.map +1 -1
  515. package/lib/common/frontend-application-state.d.ts +1 -1
  516. package/lib/common/frontend-application-state.d.ts.map +1 -1
  517. package/lib/common/frontend-application-state.js +1 -1
  518. package/lib/common/frontend-application-state.js.map +1 -1
  519. package/lib/common/glob.d.ts +2 -2
  520. package/lib/common/glob.d.ts.map +1 -1
  521. package/lib/common/glob.js +1 -1
  522. package/lib/common/glob.js.map +1 -1
  523. package/lib/common/hash.js.map +1 -1
  524. package/lib/common/i18n/localization.d.ts +1 -1
  525. package/lib/common/i18n/localization.d.ts.map +1 -1
  526. package/lib/common/i18n/localization.js +1 -1
  527. package/lib/common/i18n/localization.js.map +1 -1
  528. package/lib/common/index.js +33 -33
  529. package/lib/common/index.js.map +1 -1
  530. package/lib/common/json-schema.d.ts +1 -1
  531. package/lib/common/json-schema.d.ts.map +1 -1
  532. package/lib/common/keybinding.js +2 -2
  533. package/lib/common/keybinding.js.map +1 -1
  534. package/lib/common/keyboard/keyboard-layout-provider.d.ts +1 -0
  535. package/lib/common/keyboard/keyboard-layout-provider.d.ts.map +1 -1
  536. package/lib/common/keys.d.ts +2 -2
  537. package/lib/common/keys.d.ts.map +1 -1
  538. package/lib/common/keys.js +7 -7
  539. package/lib/common/keys.js.map +1 -1
  540. package/lib/common/logger-protocol.js +5 -5
  541. package/lib/common/logger-protocol.js.map +1 -1
  542. package/lib/common/logger-watcher.js +2 -2
  543. package/lib/common/logger-watcher.js.map +1 -1
  544. package/lib/common/logger.d.ts +3 -3
  545. package/lib/common/logger.d.ts.map +1 -1
  546. package/lib/common/logger.js +14 -14
  547. package/lib/common/logger.js.map +1 -1
  548. package/lib/common/logger.spec.js.map +1 -1
  549. package/lib/common/lsp-types.js +1 -1
  550. package/lib/common/lsp-types.js.map +1 -1
  551. package/lib/common/markdown-rendering/icon-utilities.js +1 -1
  552. package/lib/common/markdown-rendering/icon-utilities.js.map +1 -1
  553. package/lib/common/markdown-rendering/index.js +2 -2
  554. package/lib/common/markdown-rendering/index.js.map +1 -1
  555. package/lib/common/markdown-rendering/markdown-string.js +2 -2
  556. package/lib/common/markdown-rendering/markdown-string.js.map +1 -1
  557. package/lib/common/menu/action-menu-node.js.map +1 -1
  558. package/lib/common/menu/composite-menu-node.js +1 -1
  559. package/lib/common/menu/composite-menu-node.js.map +1 -1
  560. package/lib/common/menu/composite-menu-node.spec.js +5 -5
  561. package/lib/common/menu/composite-menu-node.spec.js.map +1 -1
  562. package/lib/common/menu/index.js +5 -5
  563. package/lib/common/menu/index.js.map +1 -1
  564. package/lib/common/menu/menu-adapter.d.ts +1 -1
  565. package/lib/common/menu/menu-adapter.d.ts.map +1 -1
  566. package/lib/common/menu/menu-adapter.js +8 -8
  567. package/lib/common/menu/menu-adapter.js.map +1 -1
  568. package/lib/common/menu/menu-model-registry.js +6 -6
  569. package/lib/common/menu/menu-model-registry.js.map +1 -1
  570. package/lib/common/menu/menu-types.d.ts +2 -2
  571. package/lib/common/menu/menu-types.d.ts.map +1 -1
  572. package/lib/common/menu/menu-types.js +5 -5
  573. package/lib/common/menu/menu-types.js.map +1 -1
  574. package/lib/common/menu/menu.spec.js.map +1 -1
  575. package/lib/common/message-rpc/channel.d.ts +1 -1
  576. package/lib/common/message-rpc/channel.d.ts.map +1 -1
  577. package/lib/common/message-rpc/channel.js +11 -11
  578. package/lib/common/message-rpc/channel.js.map +1 -1
  579. package/lib/common/message-rpc/msg-pack-extension-manager.d.ts +1 -1
  580. package/lib/common/message-rpc/msg-pack-extension-manager.d.ts.map +1 -1
  581. package/lib/common/message-rpc/msg-pack-extension-manager.js +3 -3
  582. package/lib/common/message-rpc/msg-pack-extension-manager.js.map +1 -1
  583. package/lib/common/message-rpc/rpc-message-encoder.d.ts +1 -1
  584. package/lib/common/message-rpc/rpc-message-encoder.d.ts.map +1 -1
  585. package/lib/common/message-rpc/rpc-message-encoder.js +5 -5
  586. package/lib/common/message-rpc/rpc-message-encoder.js.map +1 -1
  587. package/lib/common/message-rpc/rpc-protocol.d.ts +1 -1
  588. package/lib/common/message-rpc/rpc-protocol.d.ts.map +1 -1
  589. package/lib/common/message-rpc/rpc-protocol.js +8 -8
  590. package/lib/common/message-rpc/rpc-protocol.js.map +1 -1
  591. package/lib/common/message-rpc/uint8-array-message-buffer.js.map +1 -1
  592. package/lib/common/message-service-protocol.js +4 -4
  593. package/lib/common/message-service-protocol.js.map +1 -1
  594. package/lib/common/message-service.js +4 -4
  595. package/lib/common/message-service.js.map +1 -1
  596. package/lib/common/messaging/connection-error-handler.d.ts +1 -1
  597. package/lib/common/messaging/connection-error-handler.d.ts.map +1 -1
  598. package/lib/common/messaging/connection-error-handler.js.map +1 -1
  599. package/lib/common/messaging/connection-management.js +1 -1
  600. package/lib/common/messaging/connection-management.js.map +1 -1
  601. package/lib/common/messaging/index.js +3 -3
  602. package/lib/common/messaging/index.js.map +1 -1
  603. package/lib/common/messaging/proxy-factory.d.ts +6 -6
  604. package/lib/common/messaging/proxy-factory.d.ts.map +1 -1
  605. package/lib/common/messaging/proxy-factory.js.map +1 -1
  606. package/lib/common/messaging/proxy-factory.spec.js.map +1 -1
  607. package/lib/common/messaging/socket-write-buffer.js.map +1 -1
  608. package/lib/common/messaging/web-socket-channel.d.ts +1 -1
  609. package/lib/common/messaging/web-socket-channel.d.ts.map +1 -1
  610. package/lib/common/messaging/web-socket-channel.js.map +1 -1
  611. package/lib/common/nls.js +1 -1
  612. package/lib/common/nls.js.map +1 -1
  613. package/lib/common/objects.js.map +1 -1
  614. package/lib/common/os.d.ts +1 -1
  615. package/lib/common/os.d.ts.map +1 -1
  616. package/lib/common/os.js +1 -1
  617. package/lib/common/os.js.map +1 -1
  618. package/lib/common/path.js +17 -17
  619. package/lib/common/path.js.map +1 -1
  620. package/lib/common/paths.js +11 -11
  621. package/lib/common/paths.js.map +1 -1
  622. package/lib/common/performance/index.js +3 -3
  623. package/lib/common/performance/index.js.map +1 -1
  624. package/lib/common/performance/measurement-protocol.d.ts +1 -1
  625. package/lib/common/performance/measurement-protocol.d.ts.map +1 -1
  626. package/lib/common/performance/measurement-protocol.js +6 -6
  627. package/lib/common/performance/measurement-protocol.js.map +1 -1
  628. package/lib/common/performance/stopwatch.js +8 -8
  629. package/lib/common/performance/stopwatch.js.map +1 -1
  630. package/lib/common/preferences/preference-schema.js +3 -3
  631. package/lib/common/preferences/preference-schema.js.map +1 -1
  632. package/lib/common/preferences/preference-scope.js +2 -2
  633. package/lib/common/preferences/preference-scope.js.map +1 -1
  634. package/lib/common/prioritizeable.js +1 -1
  635. package/lib/common/prioritizeable.js.map +1 -1
  636. package/lib/common/progress-service.js +6 -6
  637. package/lib/common/progress-service.js.map +1 -1
  638. package/lib/common/promise-util.js.map +1 -1
  639. package/lib/common/promise-util.spec.js.map +1 -1
  640. package/lib/common/quick-pick-service.d.ts +3 -3
  641. package/lib/common/quick-pick-service.d.ts.map +1 -1
  642. package/lib/common/quick-pick-service.js +3 -3
  643. package/lib/common/quick-pick-service.js.map +1 -1
  644. package/lib/common/reference.js.map +1 -1
  645. package/lib/common/resource.d.ts +1 -1
  646. package/lib/common/resource.d.ts.map +1 -1
  647. package/lib/common/resource.js +16 -16
  648. package/lib/common/resource.js.map +1 -1
  649. package/lib/common/selection-command-handler.d.ts +1 -1
  650. package/lib/common/selection-command-handler.d.ts.map +1 -1
  651. package/lib/common/selection-command-handler.js.map +1 -1
  652. package/lib/common/selection-service.js +2 -2
  653. package/lib/common/selection-service.js.map +1 -1
  654. package/lib/common/selection.js +1 -1
  655. package/lib/common/selection.js.map +1 -1
  656. package/lib/common/severity.js +2 -2
  657. package/lib/common/severity.js.map +1 -1
  658. package/lib/common/stream.js +1 -1
  659. package/lib/common/stream.js.map +1 -1
  660. package/lib/common/strings.js +2 -2
  661. package/lib/common/strings.js.map +1 -1
  662. package/lib/common/ternary-search-tree.js +21 -21
  663. package/lib/common/ternary-search-tree.js.map +1 -1
  664. package/lib/common/test/expect.js.map +1 -1
  665. package/lib/common/test/mock-logger.js +2 -2
  666. package/lib/common/test/mock-logger.js.map +1 -1
  667. package/lib/common/test/mock-resource-provider.js +3 -3
  668. package/lib/common/test/mock-resource-provider.js.map +1 -1
  669. package/lib/common/theme.d.ts +1 -1
  670. package/lib/common/theme.d.ts.map +1 -1
  671. package/lib/common/types.d.ts +8 -8
  672. package/lib/common/types.d.ts.map +1 -1
  673. package/lib/common/types.js.map +1 -1
  674. package/lib/common/types.spec.js.map +1 -1
  675. package/lib/common/uri-command-handler.js +1 -1
  676. package/lib/common/uri-command-handler.js.map +1 -1
  677. package/lib/common/uri.js +6 -6
  678. package/lib/common/uri.js.map +1 -1
  679. package/lib/common/view-column.js +1 -1
  680. package/lib/common/view-column.js.map +1 -1
  681. package/lib/electron-browser/electron-clipboard-service.js +2 -2
  682. package/lib/electron-browser/electron-clipboard-service.js.map +1 -1
  683. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js +6 -6
  684. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js.map +1 -1
  685. package/lib/electron-browser/menu/electron-context-menu-renderer.js +17 -17
  686. package/lib/electron-browser/menu/electron-context-menu-renderer.js.map +1 -1
  687. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts +1 -1
  688. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
  689. package/lib/electron-browser/menu/electron-main-menu-factory.js +12 -12
  690. package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
  691. package/lib/electron-browser/menu/electron-menu-contribution.d.ts +1 -1
  692. package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
  693. package/lib/electron-browser/menu/electron-menu-contribution.js +31 -31
  694. package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
  695. package/lib/electron-browser/menu/electron-menu-module.js.map +1 -1
  696. package/lib/electron-browser/messaging/electron-frontend-id-provider.js +2 -2
  697. package/lib/electron-browser/messaging/electron-frontend-id-provider.js.map +1 -1
  698. package/lib/electron-browser/messaging/electron-ipc-connection-source.js +3 -3
  699. package/lib/electron-browser/messaging/electron-ipc-connection-source.js.map +1 -1
  700. package/lib/electron-browser/messaging/electron-local-ws-connection-source.js +2 -2
  701. package/lib/electron-browser/messaging/electron-local-ws-connection-source.js.map +1 -1
  702. package/lib/electron-browser/messaging/electron-messaging-frontend-module.js.map +1 -1
  703. package/lib/electron-browser/messaging/electron-ws-connection-source.js +3 -3
  704. package/lib/electron-browser/messaging/electron-ws-connection-source.js.map +1 -1
  705. package/lib/electron-browser/preload.js.map +1 -1
  706. package/lib/electron-browser/window/electron-frontend-application-state.js +2 -2
  707. package/lib/electron-browser/window/electron-frontend-application-state.js.map +1 -1
  708. package/lib/electron-browser/window/electron-secondary-window-service.js +2 -2
  709. package/lib/electron-browser/window/electron-secondary-window-service.js.map +1 -1
  710. package/lib/electron-browser/window/electron-window-preferences.d.ts +1 -1
  711. package/lib/electron-browser/window/electron-window-preferences.d.ts.map +1 -1
  712. package/lib/electron-browser/window/electron-window-preferences.js +2 -2
  713. package/lib/electron-browser/window/electron-window-preferences.js.map +1 -1
  714. package/lib/electron-browser/window/electron-window-service.js +14 -14
  715. package/lib/electron-browser/window/electron-window-service.js.map +1 -1
  716. package/lib/electron-common/electron-api.d.ts +3 -3
  717. package/lib/electron-common/electron-api.d.ts.map +1 -1
  718. package/lib/electron-main/electron-api-main.js +5 -5
  719. package/lib/electron-main/electron-api-main.js.map +1 -1
  720. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  721. package/lib/electron-main/electron-main-application.js +19 -17
  722. package/lib/electron-main/electron-main-application.js.map +1 -1
  723. package/lib/electron-main/electron-main-window-service-impl.js +4 -4
  724. package/lib/electron-main/electron-main-window-service-impl.js.map +1 -1
  725. package/lib/electron-main/electron-security-token-service.js +4 -4
  726. package/lib/electron-main/electron-security-token-service.js.map +1 -1
  727. package/lib/electron-main/event-utils.js.map +1 -1
  728. package/lib/electron-main/messaging/electron-messaging-contribution.js +10 -10
  729. package/lib/electron-main/messaging/electron-messaging-contribution.js.map +1 -1
  730. package/lib/electron-main/messaging/electron-messaging-service.js +1 -1
  731. package/lib/electron-main/messaging/electron-messaging-service.js.map +1 -1
  732. package/lib/electron-main/theia-electron-window.d.ts +1 -1
  733. package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
  734. package/lib/electron-main/theia-electron-window.js +12 -12
  735. package/lib/electron-main/theia-electron-window.js.map +1 -1
  736. package/lib/electron-node/cli/electron-backend-cli-module.d.ts +4 -0
  737. package/lib/electron-node/cli/electron-backend-cli-module.d.ts.map +1 -0
  738. package/lib/electron-node/cli/electron-backend-cli-module.js +25 -0
  739. package/lib/electron-node/cli/electron-backend-cli-module.js.map +1 -0
  740. package/lib/electron-node/cli/electron-cli-contribution.d.ts +23 -0
  741. package/lib/electron-node/cli/electron-cli-contribution.d.ts.map +1 -0
  742. package/lib/electron-node/cli/electron-cli-contribution.js +35 -0
  743. package/lib/electron-node/cli/electron-cli-contribution.js.map +1 -0
  744. package/lib/electron-node/hosting/electron-ws-origin-validator.d.ts +1 -1
  745. package/lib/electron-node/hosting/electron-ws-origin-validator.d.ts.map +1 -1
  746. package/lib/electron-node/hosting/electron-ws-origin-validator.js +5 -5
  747. package/lib/electron-node/hosting/electron-ws-origin-validator.js.map +1 -1
  748. package/lib/electron-node/keyboard/electron-keyboard-layout-provider.js +2 -2
  749. package/lib/electron-node/keyboard/electron-keyboard-layout-provider.js.map +1 -1
  750. package/lib/electron-node/request/electron-backend-request-service.js +2 -2
  751. package/lib/electron-node/request/electron-backend-request-service.js.map +1 -1
  752. package/lib/electron-node/token/electron-token-backend-contribution.js +4 -4
  753. package/lib/electron-node/token/electron-token-backend-contribution.js.map +1 -1
  754. package/lib/electron-node/token/electron-token-validator.js +6 -6
  755. package/lib/electron-node/token/electron-token-validator.js.map +1 -1
  756. package/lib/node/application-server.js +4 -4
  757. package/lib/node/application-server.js.map +1 -1
  758. package/lib/node/backend-application-config-provider.js.map +1 -1
  759. package/lib/node/backend-application-module.d.ts.map +1 -1
  760. package/lib/node/backend-application-module.js +3 -1
  761. package/lib/node/backend-application-module.js.map +1 -1
  762. package/lib/node/backend-application.d.ts +3 -1
  763. package/lib/node/backend-application.d.ts.map +1 -1
  764. package/lib/node/backend-application.js +16 -16
  765. package/lib/node/backend-application.js.map +1 -1
  766. package/lib/node/cli.js +7 -7
  767. package/lib/node/cli.js.map +1 -1
  768. package/lib/node/cli.spec.js.map +1 -1
  769. package/lib/node/console-logger-server.js +10 -10
  770. package/lib/node/console-logger-server.js.map +1 -1
  771. package/lib/node/console-logger-server.spec.js +5 -5
  772. package/lib/node/debug.js.map +1 -1
  773. package/lib/node/dynamic-require.js.map +1 -1
  774. package/lib/node/env-variables/env-variables-server.d.ts.map +1 -1
  775. package/lib/node/env-variables/env-variables-server.js +7 -3
  776. package/lib/node/env-variables/env-variables-server.js.map +1 -1
  777. package/lib/node/env-variables/index.js +1 -1
  778. package/lib/node/env-variables/index.js.map +1 -1
  779. package/lib/node/environment-utils.js +2 -2
  780. package/lib/node/environment-utils.js.map +1 -1
  781. package/lib/node/environment-utils.spec.js.map +1 -1
  782. package/lib/node/file-uri.spec.js.map +1 -1
  783. package/lib/node/filesystem-locking.js +2 -2
  784. package/lib/node/filesystem-locking.js.map +1 -1
  785. package/lib/node/hosting/backend-application-hosts.js +6 -6
  786. package/lib/node/hosting/backend-application-hosts.js.map +1 -1
  787. package/lib/node/hosting/ws-origin-validator.js +4 -4
  788. package/lib/node/hosting/ws-origin-validator.js.map +1 -1
  789. package/lib/node/i18n/localization-contribution.js +6 -6
  790. package/lib/node/i18n/localization-contribution.js.map +1 -1
  791. package/lib/node/i18n/localization-provider.js +3 -3
  792. package/lib/node/i18n/localization-provider.js.map +1 -1
  793. package/lib/node/i18n/localization-server.js +6 -6
  794. package/lib/node/i18n/localization-server.js.map +1 -1
  795. package/lib/node/i18n/theia-localization-contribution.js +2 -2
  796. package/lib/node/i18n/theia-localization-contribution.js.map +1 -1
  797. package/lib/node/index.js +5 -5
  798. package/lib/node/index.js.map +1 -1
  799. package/lib/node/key-store-server.js +2 -2
  800. package/lib/node/key-store-server.js.map +1 -1
  801. package/lib/node/logger-backend-module.js.map +1 -1
  802. package/lib/node/logger-cli-contribution.js +4 -4
  803. package/lib/node/logger-cli-contribution.js.map +1 -1
  804. package/lib/node/logger-cli-contribution.spec.js.map +1 -1
  805. package/lib/node/main.d.ts +2 -0
  806. package/lib/node/main.d.ts.map +1 -1
  807. package/lib/node/messaging/binary-message-pipe.js +3 -3
  808. package/lib/node/messaging/binary-message-pipe.js.map +1 -1
  809. package/lib/node/messaging/connection-container-module.d.ts +3 -3
  810. package/lib/node/messaging/connection-container-module.d.ts.map +1 -1
  811. package/lib/node/messaging/default-messaging-service.js +10 -10
  812. package/lib/node/messaging/default-messaging-service.js.map +1 -1
  813. package/lib/node/messaging/index.js +3 -3
  814. package/lib/node/messaging/index.js.map +1 -1
  815. package/lib/node/messaging/ipc-channel.js.map +1 -1
  816. package/lib/node/messaging/ipc-connection-provider.d.ts +2 -1
  817. package/lib/node/messaging/ipc-connection-provider.d.ts.map +1 -1
  818. package/lib/node/messaging/ipc-connection-provider.js +4 -4
  819. package/lib/node/messaging/ipc-connection-provider.js.map +1 -1
  820. package/lib/node/messaging/ipc-protocol.d.ts +1 -1
  821. package/lib/node/messaging/ipc-protocol.d.ts.map +1 -1
  822. package/lib/node/messaging/ipc-protocol.js +1 -1
  823. package/lib/node/messaging/ipc-protocol.js.map +1 -1
  824. package/lib/node/messaging/messaging-listeners.js +4 -4
  825. package/lib/node/messaging/messaging-listeners.js.map +1 -1
  826. package/lib/node/messaging/messaging-service.js +1 -1
  827. package/lib/node/messaging/messaging-service.js.map +1 -1
  828. package/lib/node/messaging/test/test-web-socket-channel.d.ts +1 -0
  829. package/lib/node/messaging/test/test-web-socket-channel.d.ts.map +1 -1
  830. package/lib/node/messaging/test/test-web-socket-channel.js +2 -2
  831. package/lib/node/messaging/test/test-web-socket-channel.js.map +1 -1
  832. package/lib/node/messaging/websocket-endpoint.d.ts +1 -0
  833. package/lib/node/messaging/websocket-endpoint.d.ts.map +1 -1
  834. package/lib/node/messaging/websocket-endpoint.js +6 -6
  835. package/lib/node/messaging/websocket-endpoint.js.map +1 -1
  836. package/lib/node/messaging/websocket-frontend-connection-service.js +4 -4
  837. package/lib/node/messaging/websocket-frontend-connection-service.js.map +1 -1
  838. package/lib/node/os-backend-provider.js +2 -2
  839. package/lib/node/os-backend-provider.js.map +1 -1
  840. package/lib/node/performance/index.js +2 -2
  841. package/lib/node/performance/index.js.map +1 -1
  842. package/lib/node/performance/node-stopwatch.js +3 -3
  843. package/lib/node/performance/node-stopwatch.js.map +1 -1
  844. package/lib/node/process-utils.js +2 -2
  845. package/lib/node/process-utils.js.map +1 -1
  846. package/lib/node/remote/backend-remote-service.d.ts.map +1 -0
  847. package/lib/node/{backend-remote-service.js → remote/backend-remote-service.js} +2 -2
  848. package/lib/node/remote/backend-remote-service.js.map +1 -0
  849. package/lib/node/remote/remote-cli-contribution.d.ts +15 -0
  850. package/lib/node/remote/remote-cli-contribution.d.ts.map +1 -0
  851. package/lib/node/remote/remote-cli-contribution.js +20 -0
  852. package/lib/node/remote/remote-cli-contribution.js.map +1 -0
  853. package/lib/node/remote/remote-copy-contribution.d.ts +25 -0
  854. package/lib/node/remote/remote-copy-contribution.d.ts.map +1 -0
  855. package/lib/node/remote/remote-copy-contribution.js +20 -0
  856. package/lib/node/remote/remote-copy-contribution.js.map +1 -0
  857. package/lib/node/request/backend-request-facade.js +4 -4
  858. package/lib/node/request/backend-request-facade.js.map +1 -1
  859. package/lib/node/request/proxy-cli-contribution.js +4 -4
  860. package/lib/node/request/proxy-cli-contribution.js.map +1 -1
  861. package/lib/node/ws-request-validators.js +4 -4
  862. package/lib/node/ws-request-validators.js.map +1 -1
  863. package/package.json +10 -7
  864. package/src/browser/common-frontend-contribution.ts +3 -3
  865. package/src/browser/core-preferences.ts +1 -1
  866. package/src/browser/frontend-application-module.ts +7 -2
  867. package/src/browser/index.ts +1 -0
  868. package/src/browser/keybinding.spec.ts +2 -1
  869. package/src/browser/messaging/index.ts +1 -0
  870. package/src/browser/messaging/ws-connection-provider.ts +2 -1
  871. package/src/browser/saveable-service.ts +328 -0
  872. package/src/browser/saveable.ts +43 -97
  873. package/src/browser/shell/application-shell.ts +8 -15
  874. package/src/browser/shell/view-column-service.ts +125 -0
  875. package/src/browser/test/mock-storage-service.ts +1 -1
  876. package/src/browser/tree/tree-widget.tsx +7 -1
  877. package/src/browser/window/default-secondary-window-service.ts +6 -2
  878. package/src/common/encoding-service.ts +1 -1
  879. package/src/common/i18n/nls.metadata.json +11381 -8583
  880. package/src/common/selection-command-handler.ts +1 -1
  881. package/src/electron-browser/window/electron-window-preferences.ts +1 -1
  882. package/src/electron-main/electron-main-application.ts +3 -1
  883. package/src/electron-node/cli/electron-backend-cli-module.ts +24 -0
  884. package/src/electron-node/cli/electron-cli-contribution.ts +35 -0
  885. package/src/electron-node/hosting/electron-ws-origin-validator.ts +1 -1
  886. package/src/node/backend-application-module.ts +3 -1
  887. package/src/node/cli.ts +2 -2
  888. package/src/node/env-variables/env-variables-server.ts +5 -0
  889. package/src/node/remote/remote-cli-contribution.ts +34 -0
  890. package/src/node/remote/remote-copy-contribution.ts +45 -0
  891. package/lib/browser/save-resource-service.d.ts +0 -36
  892. package/lib/browser/save-resource-service.d.ts.map +0 -1
  893. package/lib/browser/save-resource-service.js +0 -65
  894. package/lib/browser/save-resource-service.js.map +0 -1
  895. package/lib/node/backend-remote-service.d.ts.map +0 -1
  896. package/lib/node/backend-remote-service.js.map +0 -1
  897. package/src/browser/save-resource-service.ts +0 -60
  898. /package/lib/node/{backend-remote-service.d.ts → remote/backend-remote-service.d.ts} +0 -0
  899. /package/src/node/{backend-remote-service.ts → remote/backend-remote-service.ts} +0 -0
@@ -20,14 +20,23 @@ import { Emitter, Event } from '../common/event';
20
20
  import { MaybePromise } from '../common/types';
21
21
  import { Key } from './keyboard/keys';
22
22
  import { AbstractDialog } from './dialogs';
23
- import { waitForClosed } from './widgets';
24
23
  import { nls } from '../common/nls';
25
- import { Disposable, isObject } from '../common';
24
+ import { DisposableCollection, isObject } from '../common';
25
+
26
+ export type AutoSaveMode = 'off' | 'afterDelay' | 'onFocusChange' | 'onWindowChange';
26
27
 
27
28
  export interface Saveable {
28
29
  readonly dirty: boolean;
30
+ /**
31
+ * This event is fired when the content of the `dirty` variable changes.
32
+ */
29
33
  readonly onDirtyChanged: Event<void>;
30
- readonly autoSave: 'off' | 'afterDelay' | 'onFocusChange' | 'onWindowChange';
34
+ /**
35
+ * This event is fired when the content of the saveable changes.
36
+ * While `onDirtyChanged` is fired to notify the UI that the widget is dirty,
37
+ * `onContentChanged` is used for the auto save throttling.
38
+ */
39
+ readonly onContentChanged: Event<void>;
31
40
  /**
32
41
  * Saves dirty changes.
33
42
  */
@@ -53,11 +62,15 @@ export interface SaveableSource {
53
62
  export class DelegatingSaveable implements Saveable {
54
63
  dirty = false;
55
64
  protected readonly onDirtyChangedEmitter = new Emitter<void>();
65
+ protected readonly onContentChangedEmitter = new Emitter<void>();
56
66
 
57
67
  get onDirtyChanged(): Event<void> {
58
68
  return this.onDirtyChangedEmitter.event;
59
69
  }
60
- autoSave: 'off' | 'afterDelay' | 'onFocusChange' | 'onWindowChange' = 'off';
70
+
71
+ get onContentChanged(): Event<void> {
72
+ return this.onContentChangedEmitter.event;
73
+ }
61
74
 
62
75
  async save(options?: SaveOptions): Promise<void> {
63
76
  await this._delegate?.save(options);
@@ -68,16 +81,19 @@ export class DelegatingSaveable implements Saveable {
68
81
  applySnapshot?(snapshot: object): void;
69
82
 
70
83
  protected _delegate?: Saveable;
71
- protected toDispose?: Disposable;
84
+ protected toDispose = new DisposableCollection();
72
85
 
73
86
  set delegate(delegate: Saveable) {
74
- this.toDispose?.dispose();
87
+ this.toDispose.dispose();
88
+ this.toDispose = new DisposableCollection();
75
89
  this._delegate = delegate;
76
- this.toDispose = delegate.onDirtyChanged(() => {
90
+ this.toDispose.push(delegate.onDirtyChanged(() => {
77
91
  this.dirty = delegate.dirty;
78
92
  this.onDirtyChangedEmitter.fire();
79
- });
80
- this.autoSave = delegate.autoSave;
93
+ }));
94
+ this.toDispose.push(delegate.onContentChanged(() => {
95
+ this.onContentChangedEmitter.fire();
96
+ }));
81
97
  if (this.dirty !== delegate.dirty) {
82
98
  this.dirty = delegate.dirty;
83
99
  this.onDirtyChangedEmitter.fire();
@@ -131,52 +147,6 @@ export namespace Saveable {
131
147
  }
132
148
  }
133
149
 
134
- async function closeWithoutSaving(this: PostCreationSaveableWidget, doRevert: boolean = true): Promise<void> {
135
- const saveable = get(this);
136
- if (saveable && doRevert && saveable.dirty && saveable.revert) {
137
- await saveable.revert();
138
- }
139
- this[close]();
140
- return waitForClosed(this);
141
- }
142
-
143
- function createCloseWithSaving(
144
- getOtherSaveables?: () => Array<Widget | SaveableWidget>,
145
- doSave?: (widget: Widget, options?: SaveOptions) => Promise<void>
146
- ): (this: SaveableWidget, options?: SaveableWidget.CloseOptions) => Promise<void> {
147
- let closing = false;
148
- return async function (this: SaveableWidget, options: SaveableWidget.CloseOptions): Promise<void> {
149
- if (closing) { return; }
150
- const saveable = get(this);
151
- if (!saveable) { return; }
152
- closing = true;
153
- try {
154
- const result = await shouldSave(saveable, () => {
155
- const notLastWithDocument = !closingWidgetWouldLoseSaveable(this, getOtherSaveables?.() ?? []);
156
- if (notLastWithDocument) {
157
- return this.closeWithoutSaving(false).then(() => undefined);
158
- }
159
- if (options && options.shouldSave) {
160
- return options.shouldSave();
161
- }
162
- return new ShouldSaveDialog(this).open();
163
- });
164
- if (typeof result === 'boolean') {
165
- if (result) {
166
- await (doSave?.(this) ?? Saveable.save(this));
167
- if (!isDirty(this)) {
168
- await this.closeWithoutSaving();
169
- }
170
- } else {
171
- await this.closeWithoutSaving();
172
- }
173
- }
174
- } finally {
175
- closing = false;
176
- }
177
- };
178
- }
179
-
180
150
  export async function confirmSaveBeforeClose(toClose: Iterable<Widget>, others: Widget[]): Promise<boolean | undefined> {
181
151
  for (const widget of toClose) {
182
152
  const saveable = Saveable.get(widget);
@@ -197,49 +167,9 @@ export namespace Saveable {
197
167
  return true;
198
168
  }
199
169
 
200
- /**
201
- * @param widget the widget that may be closed
202
- * @param others widgets that will not be closed.
203
- * @returns `true` if widget is saveable and no widget among the `others` refers to the same saveable. `false` otherwise.
204
- */
205
- function closingWidgetWouldLoseSaveable(widget: Widget, others: Widget[]): boolean {
206
- const saveable = get(widget);
207
- return !!saveable && !others.some(otherWidget => otherWidget !== widget && get(otherWidget) === saveable);
208
- }
209
-
210
- export function apply(
211
- widget: Widget,
212
- getOtherSaveables?: () => Array<Widget | SaveableWidget>,
213
- doSave?: (widget: Widget, options?: SaveOptions) => Promise<void>,
214
- ): SaveableWidget | undefined {
215
- if (SaveableWidget.is(widget)) {
216
- return widget;
217
- }
170
+ export function closingWidgetWouldLoseSaveable(widget: Widget, others: Widget[]): boolean {
218
171
  const saveable = Saveable.get(widget);
219
- if (!saveable) {
220
- return undefined;
221
- }
222
- const saveableWidget = widget as SaveableWidget;
223
- setDirty(saveableWidget, saveable.dirty);
224
- saveable.onDirtyChanged(() => setDirty(saveableWidget, saveable.dirty));
225
- const closeWithSaving = createCloseWithSaving(getOtherSaveables, doSave);
226
- return Object.assign(saveableWidget, {
227
- closeWithoutSaving,
228
- closeWithSaving,
229
- close: closeWithSaving,
230
- [close]: saveableWidget.close,
231
- });
232
- }
233
- export async function shouldSave(saveable: Saveable, cb: () => MaybePromise<boolean | undefined>): Promise<boolean | undefined> {
234
- if (!saveable.dirty) {
235
- return false;
236
- }
237
-
238
- if (saveable.autoSave !== 'off') {
239
- return true;
240
- }
241
-
242
- return cb();
172
+ return !!saveable && !others.some(otherWidget => otherWidget !== widget && Saveable.get(otherWidget) === saveable);
243
173
  }
244
174
  }
245
175
 
@@ -302,11 +232,27 @@ export const enum FormatType {
302
232
  DIRTY
303
233
  };
304
234
 
235
+ export enum SaveReason {
236
+ Manual = 1,
237
+ AfterDelay = 2,
238
+ FocusChange = 3
239
+ }
240
+
241
+ export namespace SaveReason {
242
+ export function isManual(reason?: number): reason is typeof SaveReason.Manual {
243
+ return reason === SaveReason.Manual;
244
+ }
245
+ }
246
+
305
247
  export interface SaveOptions {
306
248
  /**
307
249
  * Formatting type to apply when saving.
308
250
  */
309
251
  readonly formatType?: FormatType;
252
+ /**
253
+ * The reason for saving the resource.
254
+ */
255
+ readonly saveReason?: SaveReason;
310
256
  }
311
257
 
312
258
  /**
@@ -24,7 +24,7 @@ import { Message } from '@phosphor/messaging';
24
24
  import { IDragEvent } from '@phosphor/dragdrop';
25
25
  import { RecursivePartial, Event as CommonEvent, DisposableCollection, Disposable, environment, isObject } from '../../common';
26
26
  import { animationFrame } from '../browser';
27
- import { Saveable, SaveableWidget, SaveOptions, SaveableSource } from '../saveable';
27
+ import { Saveable, SaveableWidget, SaveOptions } from '../saveable';
28
28
  import { StatusBarImpl, StatusBarEntry, StatusBarAlignment } from '../status-bar/status-bar';
29
29
  import { TheiaDockPanel, BOTTOM_AREA_ID, MAIN_AREA_ID } from './theia-dock-panel';
30
30
  import { SidePanelHandler, SidePanel, SidePanelHandlerFactory } from './side-panel-handler';
@@ -38,7 +38,7 @@ import { waitForRevealed, waitForClosed, PINNED_CLASS } from '../widgets';
38
38
  import { CorePreferences } from '../core-preferences';
39
39
  import { BreadcrumbsRendererFactory } from '../breadcrumbs/breadcrumbs-renderer';
40
40
  import { Deferred } from '../../common/promise-util';
41
- import { SaveResourceService } from '../save-resource-service';
41
+ import { SaveableService } from '../saveable-service';
42
42
  import { nls } from '../../common/nls';
43
43
  import { SecondaryWindowHandler } from '../secondary-window-handler';
44
44
  import URI from '../../common/uri';
@@ -272,7 +272,7 @@ export class ApplicationShell extends Widget {
272
272
  @inject(FrontendApplicationStateService) protected readonly applicationStateService: FrontendApplicationStateService,
273
273
  @inject(ApplicationShellOptions) @optional() options: RecursivePartial<ApplicationShell.Options> = {},
274
274
  @inject(CorePreferences) protected readonly corePreferences: CorePreferences,
275
- @inject(SaveResourceService) protected readonly saveResourceService: SaveResourceService,
275
+ @inject(SaveableService) protected readonly saveableService: SaveableService,
276
276
  @inject(SecondaryWindowHandler) protected readonly secondaryWindowHandler: SecondaryWindowHandler,
277
277
  @inject(WindowService) protected readonly windowService: WindowService
278
278
  ) {
@@ -1231,13 +1231,6 @@ export class ApplicationShell extends Widget {
1231
1231
  }
1232
1232
  this.tracker.add(widget);
1233
1233
  this.checkActivation(widget);
1234
- Saveable.apply(
1235
- widget,
1236
- () => this.widgets.filter((maybeSaveable): maybeSaveable is Widget & SaveableSource => !!Saveable.get(maybeSaveable)),
1237
- async (toSave, options) => {
1238
- await this.saveResourceService.save(toSave, options);
1239
- },
1240
- );
1241
1234
  if (ApplicationShell.TrackableWidgetProvider.is(widget)) {
1242
1235
  for (const toTrack of widget.getTrackableWidgets()) {
1243
1236
  this.track(toTrack);
@@ -2043,21 +2036,21 @@ export class ApplicationShell extends Widget {
2043
2036
  * Test whether the current widget is dirty.
2044
2037
  */
2045
2038
  canSave(): boolean {
2046
- return this.saveResourceService.canSave(this.currentWidget);
2039
+ return this.saveableService.canSave(this.currentWidget);
2047
2040
  }
2048
2041
 
2049
2042
  /**
2050
2043
  * Save the current widget if it is dirty.
2051
2044
  */
2052
2045
  async save(options?: SaveOptions): Promise<void> {
2053
- await this.saveResourceService.save(this.currentWidget, options);
2046
+ await this.saveableService.save(this.currentWidget, options);
2054
2047
  }
2055
2048
 
2056
2049
  /**
2057
2050
  * Test whether there is a dirty widget.
2058
2051
  */
2059
2052
  canSaveAll(): boolean {
2060
- return this.tracker.widgets.some(widget => this.saveResourceService.canSave(widget));
2053
+ return this.tracker.widgets.some(widget => this.saveableService.canSave(widget));
2061
2054
  }
2062
2055
 
2063
2056
  /**
@@ -2065,8 +2058,8 @@ export class ApplicationShell extends Widget {
2065
2058
  */
2066
2059
  async saveAll(options?: SaveOptions): Promise<void> {
2067
2060
  for (const widget of this.widgets) {
2068
- if (this.saveResourceService.canSaveNotSaveAs(widget)) {
2069
- await this.saveResourceService.save(widget, options);
2061
+ if (this.saveableService.canSaveNotSaveAs(widget)) {
2062
+ await this.saveableService.save(widget, options);
2070
2063
  }
2071
2064
  }
2072
2065
  }
@@ -0,0 +1,125 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2019 Red Hat, Inc. and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { injectable, inject } from 'inversify';
18
+ import { Emitter, Event } from '../../common/event';
19
+ import { ApplicationShell } from './application-shell';
20
+ import { toArray } from '@phosphor/algorithm';
21
+ import { TabBar, Widget } from '@phosphor/widgets';
22
+
23
+ @injectable()
24
+ export class ViewColumnService {
25
+ private readonly columnValues = new Map<string, number>();
26
+ private readonly viewColumnIds = new Map<number, string[]>();
27
+
28
+ protected readonly onViewColumnChangedEmitter = new Emitter<{ id: string, viewColumn: number }>();
29
+
30
+ constructor(
31
+ @inject(ApplicationShell) private readonly shell: ApplicationShell,
32
+ ) {
33
+ let oldColumnValues = new Map<string, number>();
34
+ const update = async () => {
35
+ await new Promise<void>((resolve => setTimeout(resolve)));
36
+ this.updateViewColumns();
37
+ this.viewColumnIds.forEach((ids: string[], viewColumn: number) => {
38
+ ids.forEach((id: string) => {
39
+ if (!oldColumnValues.has(id) || oldColumnValues.get(id) !== viewColumn) {
40
+ this.onViewColumnChangedEmitter.fire({ id, viewColumn });
41
+ }
42
+ });
43
+ });
44
+ oldColumnValues = new Map(this.columnValues.entries());
45
+ };
46
+ this.shell.mainPanel.widgetAdded.connect(() => update());
47
+ this.shell.mainPanel.widgetRemoved.connect(() => update());
48
+ }
49
+
50
+ get onViewColumnChanged(): Event<{ id: string, viewColumn: number }> {
51
+ return this.onViewColumnChangedEmitter.event;
52
+ }
53
+
54
+ updateViewColumns(): void {
55
+ this.columnValues.clear();
56
+ this.viewColumnIds.clear();
57
+
58
+ const rows = new Map<number, Set<number>>();
59
+ const columns = new Map<number, Map<number, TabBar<Widget>>>();
60
+ for (const tabBar of toArray(this.shell.mainPanel.tabBars())) {
61
+ if (!tabBar.node.style.top || !tabBar.node.style.left) {
62
+ continue;
63
+ }
64
+ const top = parseInt(tabBar.node.style.top);
65
+ const left = parseInt(tabBar.node.style.left);
66
+
67
+ const row = rows.get(top) || new Set<number>();
68
+ row.add(left);
69
+ rows.set(top, row);
70
+
71
+ const column = columns.get(left) || new Map<number, TabBar<Widget>>();
72
+ column.set(top, tabBar);
73
+ columns.set(left, column);
74
+ }
75
+ const firstRow = rows.get([...rows.keys()].sort()[0]);
76
+ if (!firstRow) {
77
+ return;
78
+ }
79
+ const lefts = [...firstRow.keys()].sort();
80
+ for (let i = 0; i < lefts.length; i++) {
81
+ const column = columns.get(lefts[i]);
82
+ if (!column) {
83
+ break;
84
+ }
85
+ const cellIndexes = [...column.keys()].sort();
86
+ let viewColumn = Math.min(i, 2);
87
+ for (let j = 0; j < cellIndexes.length; j++) {
88
+ const cell = column.get(cellIndexes[j]);
89
+ if (!cell) {
90
+ break;
91
+ }
92
+ this.setViewColumn(cell, viewColumn);
93
+ if (viewColumn < 7) {
94
+ viewColumn += 3;
95
+ }
96
+ }
97
+ }
98
+ }
99
+
100
+ protected setViewColumn(tabBar: TabBar<Widget>, viewColumn: number): void {
101
+ const ids = [];
102
+ for (const title of tabBar.titles) {
103
+ const id = title.owner.id;
104
+ ids.push(id);
105
+ this.columnValues.set(id, viewColumn);
106
+ }
107
+ this.viewColumnIds.set(viewColumn, ids);
108
+ }
109
+
110
+ getViewColumnIds(viewColumn: number): string[] {
111
+ return this.viewColumnIds.get(viewColumn) || [];
112
+ }
113
+
114
+ getViewColumn(id: string): number | undefined {
115
+ return this.columnValues.get(id);
116
+ }
117
+
118
+ hasViewColumn(id: string): boolean {
119
+ return this.columnValues.has(id);
120
+ }
121
+
122
+ viewColumnsSize(): number {
123
+ return this.viewColumnIds.size;
124
+ }
125
+ }
@@ -22,7 +22,7 @@ import { injectable } from 'inversify';
22
22
  */
23
23
  @injectable()
24
24
  export class MockStorageService implements StorageService {
25
- readonly data = new Map<string, {} | undefined>();
25
+ readonly data = new Map<string, unknown | undefined>();
26
26
 
27
27
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
28
  onSetDataCallback?: (key: string, data?: any) => void;
@@ -302,6 +302,12 @@ export class TreeWidget extends ReactWidget implements StatefulWidget {
302
302
  }
303
303
  })
304
304
  ]);
305
+
306
+ this.node.addEventListener('focusin', e => {
307
+ if (this.model.selectedNodes.length && (!this.selectionService.selection || !TreeWidgetSelection.isSource(this.selectionService.selection, this))) {
308
+ this.updateGlobalSelection();
309
+ }
310
+ });
305
311
  }
306
312
  this.toDispose.push(this.corePreferences.onPreferenceChanged(preference => {
307
313
  if (preference.preferenceName === 'workbench.tree.renderIndentGuides') {
@@ -339,7 +345,7 @@ export class TreeWidget extends ReactWidget implements StatefulWidget {
339
345
  }
340
346
  }
341
347
  this.rows = new Map(rowsToUpdate);
342
- this.updateScrollToRow();
348
+ this.update();
343
349
  }
344
350
 
345
351
  protected getDepthForNode(node: TreeNode, depths: Map<CompositeTreeNode | undefined, number>): number {
@@ -21,6 +21,7 @@ import { ApplicationShell } from '../shell';
21
21
  import { Saveable } from '../saveable';
22
22
  import { PreferenceService } from '../preferences';
23
23
  import { environment } from '../../common';
24
+ import { SaveableService } from '../saveable-service';
24
25
 
25
26
  @injectable()
26
27
  export class DefaultSecondaryWindowService implements SecondaryWindowService {
@@ -43,6 +44,9 @@ export class DefaultSecondaryWindowService implements SecondaryWindowService {
43
44
  @inject(PreferenceService)
44
45
  protected readonly preferenceService: PreferenceService;
45
46
 
47
+ @inject(SaveableService)
48
+ protected readonly saveResourceService: SaveableService;
49
+
46
50
  @postConstruct()
47
51
  init(): void {
48
52
  // Set up messaging with secondary windows
@@ -93,7 +97,7 @@ export class DefaultSecondaryWindowService implements SecondaryWindowService {
93
97
  newWindow.addEventListener('DOMContentLoaded', () => {
94
98
  newWindow.addEventListener('beforeunload', evt => {
95
99
  const saveable = Saveable.get(widget);
96
- const wouldLoseState = !!saveable && saveable.dirty && saveable.autoSave === 'off';
100
+ const wouldLoseState = !!saveable && saveable.dirty && this.saveResourceService.autoSave === 'off';
97
101
  if (wouldLoseState) {
98
102
  evt.returnValue = '';
99
103
  evt.preventDefault();
@@ -104,7 +108,7 @@ export class DefaultSecondaryWindowService implements SecondaryWindowService {
104
108
  newWindow.addEventListener('unload', () => {
105
109
  const saveable = Saveable.get(widget);
106
110
  shell.closeWidget(widget.id, {
107
- save: !!saveable && saveable.dirty && saveable.autoSave !== 'off'
111
+ save: !!saveable && saveable.dirty && this.saveResourceService.autoSave !== 'off'
108
112
  });
109
113
 
110
114
  const extIndex = this.secondaryWindows.indexOf(newWindow);
@@ -318,7 +318,7 @@ export class EncodingService {
318
318
  });
319
319
  }
320
320
 
321
- encodeStream(value: string | Readable<string>, options?: ResourceEncoding): Promise<BinaryBuffer | BinaryBufferReadable>
321
+ encodeStream(value: string | Readable<string>, options?: ResourceEncoding): Promise<BinaryBuffer | BinaryBufferReadable>;
322
322
  encodeStream(value?: string | Readable<string>, options?: ResourceEncoding): Promise<BinaryBuffer | BinaryBufferReadable | undefined>;
323
323
  async encodeStream(value: string | Readable<string> | undefined, options?: ResourceEncoding): Promise<BinaryBuffer | BinaryBufferReadable | undefined> {
324
324
  let encoding = options?.encoding;