@theia/core 1.49.1 → 1.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -0,0 +1,294 @@
1
+ "use strict";
2
+ /********************************************************************************
3
+ * Copyright (C) 2022 Arm and others.
4
+ *
5
+ * This program and the accompanying materials are made available under the
6
+ * terms of the Eclipse Public License v. 2.0 which is available at
7
+ * http://www.eclipse.org/legal/epl-2.0.
8
+ *
9
+ * This Source Code may also be made available under the following Secondary
10
+ * Licenses when the conditions for such availability set forth in the Eclipse
11
+ * Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ * with the GNU Classpath Exception which is available at
13
+ * https://www.gnu.org/software/classpath/license.html.
14
+ *
15
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ ********************************************************************************/
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.AutoSaveThrottle = exports.SaveableService = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const inversify_1 = require("inversify");
21
+ const common_1 = require("../common");
22
+ const navigatable_types_1 = require("./navigatable-types");
23
+ const saveable_1 = require("./saveable");
24
+ const widgets_1 = require("./widgets");
25
+ const throttle = require("lodash.throttle");
26
+ let SaveableService = class SaveableService {
27
+ constructor() {
28
+ this.saveThrottles = new Map();
29
+ this.saveMode = 'off';
30
+ this.saveDelay = 1000;
31
+ this.onDidAutoSaveChangeEmitter = new common_1.Emitter();
32
+ this.onDidAutoSaveDelayChangeEmitter = new common_1.Emitter();
33
+ }
34
+ get onDidAutoSaveChange() {
35
+ return this.onDidAutoSaveChangeEmitter.event;
36
+ }
37
+ get onDidAutoSaveDelayChange() {
38
+ return this.onDidAutoSaveDelayChangeEmitter.event;
39
+ }
40
+ get autoSave() {
41
+ return this.saveMode;
42
+ }
43
+ set autoSave(value) {
44
+ this.updateAutoSaveMode(value);
45
+ }
46
+ get autoSaveDelay() {
47
+ return this.saveDelay;
48
+ }
49
+ set autoSaveDelay(value) {
50
+ this.updateAutoSaveDelay(value);
51
+ }
52
+ onDidInitializeLayout(app) {
53
+ this.shell = app.shell;
54
+ // Register restored editors first
55
+ for (const widget of this.shell.widgets) {
56
+ const saveable = saveable_1.Saveable.get(widget);
57
+ if (saveable) {
58
+ this.registerSaveable(widget, saveable);
59
+ }
60
+ }
61
+ this.shell.onDidAddWidget(e => {
62
+ const saveable = saveable_1.Saveable.get(e);
63
+ if (saveable) {
64
+ this.registerSaveable(e, saveable);
65
+ }
66
+ });
67
+ this.shell.onDidChangeCurrentWidget(e => {
68
+ if (this.saveMode === 'onFocusChange') {
69
+ const widget = e.oldValue;
70
+ const saveable = saveable_1.Saveable.get(widget);
71
+ if (saveable && widget && this.shouldAutoSave(widget, saveable)) {
72
+ saveable.save({
73
+ saveReason: saveable_1.SaveReason.FocusChange
74
+ });
75
+ }
76
+ }
77
+ });
78
+ this.shell.onDidRemoveWidget(e => {
79
+ var _a;
80
+ (_a = this.saveThrottles.get(e)) === null || _a === void 0 ? void 0 : _a.dispose();
81
+ this.saveThrottles.delete(e);
82
+ });
83
+ }
84
+ updateAutoSaveMode(mode) {
85
+ this.saveMode = mode;
86
+ this.onDidAutoSaveChangeEmitter.fire(mode);
87
+ if (mode === 'onFocusChange') {
88
+ // If the new mode is onFocusChange, we need to save all dirty documents that are not focused
89
+ const widgets = this.shell.widgets;
90
+ for (const widget of widgets) {
91
+ const saveable = saveable_1.Saveable.get(widget);
92
+ if (saveable && widget !== this.shell.currentWidget && this.shouldAutoSave(widget, saveable)) {
93
+ saveable.save({
94
+ saveReason: saveable_1.SaveReason.FocusChange
95
+ });
96
+ }
97
+ }
98
+ }
99
+ }
100
+ updateAutoSaveDelay(delay) {
101
+ this.saveDelay = delay;
102
+ this.onDidAutoSaveDelayChangeEmitter.fire(delay);
103
+ }
104
+ registerSaveable(widget, saveable) {
105
+ const saveThrottle = new AutoSaveThrottle(saveable, this, () => {
106
+ if (this.saveMode === 'afterDelay' && this.shouldAutoSave(widget, saveable)) {
107
+ saveable.save({
108
+ saveReason: saveable_1.SaveReason.AfterDelay
109
+ });
110
+ }
111
+ }, this.addBlurListener(widget, saveable));
112
+ this.saveThrottles.set(widget, saveThrottle);
113
+ this.applySaveableWidget(widget, saveable);
114
+ return saveThrottle;
115
+ }
116
+ addBlurListener(widget, saveable) {
117
+ const document = widget.node.ownerDocument;
118
+ const listener = (() => {
119
+ if (this.saveMode === 'onWindowChange' && !this.windowHasFocus(document) && this.shouldAutoSave(widget, saveable)) {
120
+ saveable.save({
121
+ saveReason: saveable_1.SaveReason.FocusChange
122
+ });
123
+ }
124
+ }).bind(this);
125
+ document.addEventListener('blur', listener);
126
+ return common_1.Disposable.create(() => {
127
+ document.removeEventListener('blur', listener);
128
+ });
129
+ }
130
+ windowHasFocus(document) {
131
+ if (document.visibilityState === 'hidden') {
132
+ return false;
133
+ }
134
+ else if (document.hasFocus()) {
135
+ return true;
136
+ }
137
+ // TODO: Add support for iframes
138
+ return false;
139
+ }
140
+ shouldAutoSave(widget, saveable) {
141
+ const uri = navigatable_types_1.NavigatableWidget.getUri(widget);
142
+ if ((uri === null || uri === void 0 ? void 0 : uri.scheme) === common_1.UNTITLED_SCHEME) {
143
+ // Never auto-save untitled documents
144
+ return false;
145
+ }
146
+ else {
147
+ return saveable.dirty;
148
+ }
149
+ }
150
+ applySaveableWidget(widget, saveable) {
151
+ if (saveable_1.SaveableWidget.is(widget)) {
152
+ return;
153
+ }
154
+ const saveableWidget = widget;
155
+ (0, saveable_1.setDirty)(saveableWidget, saveable.dirty);
156
+ saveable.onDirtyChanged(() => (0, saveable_1.setDirty)(saveableWidget, saveable.dirty));
157
+ const closeWithSaving = this.createCloseWithSaving();
158
+ const closeWithoutSaving = () => this.closeWithoutSaving(saveableWidget, false);
159
+ Object.assign(saveableWidget, {
160
+ closeWithoutSaving,
161
+ closeWithSaving,
162
+ close: closeWithSaving,
163
+ [saveable_1.close]: saveableWidget.close,
164
+ });
165
+ }
166
+ createCloseWithSaving() {
167
+ let closing = false;
168
+ const doSave = this.closeWithSaving.bind(this);
169
+ return async function (options) {
170
+ if (closing) {
171
+ return;
172
+ }
173
+ closing = true;
174
+ try {
175
+ await doSave(this, options);
176
+ }
177
+ finally {
178
+ closing = false;
179
+ }
180
+ };
181
+ }
182
+ async closeWithSaving(widget, options) {
183
+ const result = await this.shouldSaveWidget(widget, options);
184
+ if (typeof result === 'boolean') {
185
+ if (result) {
186
+ await this.save(widget, {
187
+ saveReason: saveable_1.SaveReason.AfterDelay
188
+ });
189
+ if (!saveable_1.Saveable.isDirty(widget)) {
190
+ await widget.closeWithoutSaving();
191
+ }
192
+ }
193
+ else {
194
+ await widget.closeWithoutSaving();
195
+ }
196
+ }
197
+ }
198
+ async shouldSaveWidget(widget, options) {
199
+ if (!saveable_1.Saveable.isDirty(widget)) {
200
+ return false;
201
+ }
202
+ if (this.autoSave !== 'off') {
203
+ return true;
204
+ }
205
+ const notLastWithDocument = !saveable_1.Saveable.closingWidgetWouldLoseSaveable(widget, Array.from(this.saveThrottles.keys()));
206
+ if (notLastWithDocument) {
207
+ return widget.closeWithoutSaving(false).then(() => undefined);
208
+ }
209
+ if (options && options.shouldSave) {
210
+ return options.shouldSave();
211
+ }
212
+ return new saveable_1.ShouldSaveDialog(widget).open();
213
+ }
214
+ async closeWithoutSaving(widget, doRevert = true) {
215
+ const saveable = saveable_1.Saveable.get(widget);
216
+ if (saveable && doRevert && saveable.dirty && saveable.revert) {
217
+ await saveable.revert();
218
+ }
219
+ widget[saveable_1.close]();
220
+ return (0, widgets_1.waitForClosed)(widget);
221
+ }
222
+ /**
223
+ * Indicate if the document can be saved ('Save' command should be disable if not).
224
+ */
225
+ canSave(widget) {
226
+ return saveable_1.Saveable.isDirty(widget) && (this.canSaveNotSaveAs(widget) || this.canSaveAs(widget));
227
+ }
228
+ canSaveNotSaveAs(widget) {
229
+ var _a;
230
+ // By default, we never allow a document to be saved if it is untitled.
231
+ return Boolean(widget && ((_a = navigatable_types_1.NavigatableWidget.getUri(widget)) === null || _a === void 0 ? void 0 : _a.scheme) !== common_1.UNTITLED_SCHEME);
232
+ }
233
+ /**
234
+ * Saves the document
235
+ *
236
+ * No op if the widget is not saveable.
237
+ */
238
+ async save(widget, options) {
239
+ if (this.canSaveNotSaveAs(widget)) {
240
+ await saveable_1.Saveable.save(widget, options);
241
+ return navigatable_types_1.NavigatableWidget.getUri(widget);
242
+ }
243
+ else if (this.canSaveAs(widget)) {
244
+ return this.saveAs(widget, options);
245
+ }
246
+ }
247
+ canSaveAs(saveable) {
248
+ return false;
249
+ }
250
+ saveAs(sourceWidget, options) {
251
+ return Promise.reject('Unsupported: The base SaveResourceService does not support saveAs action.');
252
+ }
253
+ };
254
+ exports.SaveableService = SaveableService;
255
+ exports.SaveableService = SaveableService = tslib_1.__decorate([
256
+ (0, inversify_1.injectable)()
257
+ ], SaveableService);
258
+ class AutoSaveThrottle {
259
+ constructor(saveable, saveService, callback, ...disposables) {
260
+ this._callback = callback;
261
+ this._saveable = saveable;
262
+ this._saveService = saveService;
263
+ this._disposable = new common_1.DisposableCollection(...disposables, saveable.onContentChanged(() => {
264
+ this.throttledSave();
265
+ }), saveable.onDirtyChanged(() => {
266
+ this.throttledSave();
267
+ }), saveService.onDidAutoSaveChange(() => {
268
+ this.throttledSave();
269
+ }), saveService.onDidAutoSaveDelayChange(() => {
270
+ this.throttledSave(true);
271
+ }));
272
+ }
273
+ throttledSave(reset = false) {
274
+ var _a;
275
+ (_a = this._throttle) === null || _a === void 0 ? void 0 : _a.cancel();
276
+ if (reset) {
277
+ this._throttle = undefined;
278
+ }
279
+ if (this._saveService.autoSave === 'afterDelay' && this._saveable.dirty) {
280
+ if (!this._throttle) {
281
+ this._throttle = throttle(() => this._callback(), this._saveService.autoSaveDelay, {
282
+ leading: false,
283
+ trailing: true
284
+ });
285
+ }
286
+ this._throttle();
287
+ }
288
+ }
289
+ dispose() {
290
+ this._disposable.dispose();
291
+ }
292
+ }
293
+ exports.AutoSaveThrottle = AutoSaveThrottle;
294
+ //# sourceMappingURL=saveable-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saveable-service.js","sourceRoot":"","sources":["../../src/browser/saveable-service.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,20 @@ import { Message } from '@phosphor/messaging';
3
3
  import { Emitter, Event } from '../common/event';
4
4
  import { MaybePromise } from '../common/types';
5
5
  import { AbstractDialog } from './dialogs';
6
- import { Disposable } from '../common';
6
+ import { DisposableCollection } from '../common';
7
+ export type AutoSaveMode = 'off' | 'afterDelay' | 'onFocusChange' | 'onWindowChange';
7
8
  export interface Saveable {
8
9
  readonly dirty: boolean;
10
+ /**
11
+ * This event is fired when the content of the `dirty` variable changes.
12
+ */
9
13
  readonly onDirtyChanged: Event<void>;
10
- readonly autoSave: 'off' | 'afterDelay' | 'onFocusChange' | 'onWindowChange';
14
+ /**
15
+ * This event is fired when the content of the saveable changes.
16
+ * While `onDirtyChanged` is fired to notify the UI that the widget is dirty,
17
+ * `onContentChanged` is used for the auto save throttling.
18
+ */
19
+ readonly onContentChanged: Event<void>;
11
20
  /**
12
21
  * Saves dirty changes.
13
22
  */
@@ -31,14 +40,15 @@ export interface SaveableSource {
31
40
  export declare class DelegatingSaveable implements Saveable {
32
41
  dirty: boolean;
33
42
  protected readonly onDirtyChangedEmitter: Emitter<void>;
43
+ protected readonly onContentChangedEmitter: Emitter<void>;
34
44
  get onDirtyChanged(): Event<void>;
35
- autoSave: 'off' | 'afterDelay' | 'onFocusChange' | 'onWindowChange';
45
+ get onContentChanged(): Event<void>;
36
46
  save(options?: SaveOptions): Promise<void>;
37
47
  revert?(options?: Saveable.RevertOptions): Promise<void>;
38
48
  createSnapshot?(): Saveable.Snapshot;
39
49
  applySnapshot?(snapshot: object): void;
40
50
  protected _delegate?: Saveable;
41
- protected toDispose?: Disposable;
51
+ protected toDispose: DisposableCollection;
42
52
  set delegate(delegate: Saveable);
43
53
  }
44
54
  export declare namespace Saveable {
@@ -61,8 +71,7 @@ export declare namespace Saveable {
61
71
  function isDirty(arg: unknown): boolean;
62
72
  function save(arg: unknown, options?: SaveOptions): Promise<void>;
63
73
  function confirmSaveBeforeClose(toClose: Iterable<Widget>, others: Widget[]): Promise<boolean | undefined>;
64
- function apply(widget: Widget, getOtherSaveables?: () => Array<Widget | SaveableWidget>, doSave?: (widget: Widget, options?: SaveOptions) => Promise<void>): SaveableWidget | undefined;
65
- function shouldSave(saveable: Saveable, cb: () => MaybePromise<boolean | undefined>): Promise<boolean | undefined>;
74
+ function closingWidgetWouldLoseSaveable(widget: Widget, others: Widget[]): boolean;
66
75
  }
67
76
  export interface SaveableWidget extends Widget {
68
77
  /**
@@ -107,11 +116,23 @@ export declare const enum FormatType {
107
116
  */
108
117
  DIRTY = 3
109
118
  }
119
+ export declare enum SaveReason {
120
+ Manual = 1,
121
+ AfterDelay = 2,
122
+ FocusChange = 3
123
+ }
124
+ export declare namespace SaveReason {
125
+ function isManual(reason?: number): reason is typeof SaveReason.Manual;
126
+ }
110
127
  export interface SaveOptions {
111
128
  /**
112
129
  * Formatting type to apply when saving.
113
130
  */
114
131
  readonly formatType?: FormatType;
132
+ /**
133
+ * The reason for saving the resource.
134
+ */
135
+ readonly saveReason?: SaveReason;
115
136
  }
116
137
  export declare function setDirty(widget: Widget, dirty: boolean): void;
117
138
  export declare class ShouldSaveDialog extends AbstractDialog<boolean> {
@@ -1 +1 @@
1
- {"version":3,"file":"saveable.d.ts","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saveable.d.ts","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
@@ -15,42 +15,48 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ShouldSaveDialog = exports.setDirty = exports.SaveableWidget = exports.close = exports.Saveable = exports.DelegatingSaveable = void 0;
18
+ exports.ShouldSaveDialog = exports.setDirty = exports.SaveReason = exports.SaveableWidget = exports.close = exports.Saveable = exports.DelegatingSaveable = void 0;
19
19
  const event_1 = require("../common/event");
20
20
  const keys_1 = require("./keyboard/keys");
21
21
  const dialogs_1 = require("./dialogs");
22
- const widgets_1 = require("./widgets");
23
22
  const nls_1 = require("../common/nls");
24
23
  const common_1 = require("../common");
25
24
  class DelegatingSaveable {
26
25
  constructor() {
27
26
  this.dirty = false;
28
27
  this.onDirtyChangedEmitter = new event_1.Emitter();
29
- this.autoSave = 'off';
28
+ this.onContentChangedEmitter = new event_1.Emitter();
29
+ this.toDispose = new common_1.DisposableCollection();
30
30
  }
31
31
  get onDirtyChanged() {
32
32
  return this.onDirtyChangedEmitter.event;
33
33
  }
34
+ get onContentChanged() {
35
+ return this.onContentChangedEmitter.event;
36
+ }
34
37
  async save(options) {
35
38
  var _a;
36
39
  await ((_a = this._delegate) === null || _a === void 0 ? void 0 : _a.save(options));
37
40
  }
38
41
  set delegate(delegate) {
39
- var _a, _b, _c, _d;
40
- (_a = this.toDispose) === null || _a === void 0 ? void 0 : _a.dispose();
42
+ var _a, _b, _c;
43
+ this.toDispose.dispose();
44
+ this.toDispose = new common_1.DisposableCollection();
41
45
  this._delegate = delegate;
42
- this.toDispose = delegate.onDirtyChanged(() => {
46
+ this.toDispose.push(delegate.onDirtyChanged(() => {
43
47
  this.dirty = delegate.dirty;
44
48
  this.onDirtyChangedEmitter.fire();
45
- });
46
- this.autoSave = delegate.autoSave;
49
+ }));
50
+ this.toDispose.push(delegate.onContentChanged(() => {
51
+ this.onContentChangedEmitter.fire();
52
+ }));
47
53
  if (this.dirty !== delegate.dirty) {
48
54
  this.dirty = delegate.dirty;
49
55
  this.onDirtyChangedEmitter.fire();
50
56
  }
51
- this.revert = (_b = delegate.revert) === null || _b === void 0 ? void 0 : _b.bind(delegate);
52
- this.createSnapshot = (_c = delegate.createSnapshot) === null || _c === void 0 ? void 0 : _c.bind(delegate);
53
- this.applySnapshot = (_d = delegate.applySnapshot) === null || _d === void 0 ? void 0 : _d.bind(delegate);
57
+ this.revert = (_a = delegate.revert) === null || _a === void 0 ? void 0 : _a.bind(delegate);
58
+ this.createSnapshot = (_b = delegate.createSnapshot) === null || _b === void 0 ? void 0 : _b.bind(delegate);
59
+ this.applySnapshot = (_c = delegate.applySnapshot) === null || _c === void 0 ? void 0 : _c.bind(delegate);
54
60
  }
55
61
  }
56
62
  exports.DelegatingSaveable = DelegatingSaveable;
@@ -93,55 +99,6 @@ var Saveable;
93
99
  }
94
100
  }
95
101
  Saveable.save = save;
96
- async function closeWithoutSaving(doRevert = true) {
97
- const saveable = get(this);
98
- if (saveable && doRevert && saveable.dirty && saveable.revert) {
99
- await saveable.revert();
100
- }
101
- this[exports.close]();
102
- return (0, widgets_1.waitForClosed)(this);
103
- }
104
- function createCloseWithSaving(getOtherSaveables, doSave) {
105
- let closing = false;
106
- return async function (options) {
107
- var _a;
108
- if (closing) {
109
- return;
110
- }
111
- const saveable = get(this);
112
- if (!saveable) {
113
- return;
114
- }
115
- closing = true;
116
- try {
117
- const result = await shouldSave(saveable, () => {
118
- var _a;
119
- const notLastWithDocument = !closingWidgetWouldLoseSaveable(this, (_a = getOtherSaveables === null || getOtherSaveables === void 0 ? void 0 : getOtherSaveables()) !== null && _a !== void 0 ? _a : []);
120
- if (notLastWithDocument) {
121
- return this.closeWithoutSaving(false).then(() => undefined);
122
- }
123
- if (options && options.shouldSave) {
124
- return options.shouldSave();
125
- }
126
- return new ShouldSaveDialog(this).open();
127
- });
128
- if (typeof result === 'boolean') {
129
- if (result) {
130
- await ((_a = doSave === null || doSave === void 0 ? void 0 : doSave(this)) !== null && _a !== void 0 ? _a : Saveable.save(this));
131
- if (!isDirty(this)) {
132
- await this.closeWithoutSaving();
133
- }
134
- }
135
- else {
136
- await this.closeWithoutSaving();
137
- }
138
- }
139
- }
140
- finally {
141
- closing = false;
142
- }
143
- };
144
- }
145
102
  async function confirmSaveBeforeClose(toClose, others) {
146
103
  var _a;
147
104
  for (const widget of toClose) {
@@ -165,46 +122,12 @@ var Saveable;
165
122
  return true;
166
123
  }
167
124
  Saveable.confirmSaveBeforeClose = confirmSaveBeforeClose;
168
- /**
169
- * @param widget the widget that may be closed
170
- * @param others widgets that will not be closed.
171
- * @returns `true` if widget is saveable and no widget among the `others` refers to the same saveable. `false` otherwise.
172
- */
173
125
  function closingWidgetWouldLoseSaveable(widget, others) {
174
- const saveable = get(widget);
175
- return !!saveable && !others.some(otherWidget => otherWidget !== widget && get(otherWidget) === saveable);
176
- }
177
- function apply(widget, getOtherSaveables, doSave) {
178
- if (SaveableWidget.is(widget)) {
179
- return widget;
180
- }
181
126
  const saveable = Saveable.get(widget);
182
- if (!saveable) {
183
- return undefined;
184
- }
185
- const saveableWidget = widget;
186
- setDirty(saveableWidget, saveable.dirty);
187
- saveable.onDirtyChanged(() => setDirty(saveableWidget, saveable.dirty));
188
- const closeWithSaving = createCloseWithSaving(getOtherSaveables, doSave);
189
- return Object.assign(saveableWidget, {
190
- closeWithoutSaving,
191
- closeWithSaving,
192
- close: closeWithSaving,
193
- [exports.close]: saveableWidget.close,
194
- });
195
- }
196
- Saveable.apply = apply;
197
- async function shouldSave(saveable, cb) {
198
- if (!saveable.dirty) {
199
- return false;
200
- }
201
- if (saveable.autoSave !== 'off') {
202
- return true;
203
- }
204
- return cb();
127
+ return !!saveable && !others.some(otherWidget => otherWidget !== widget && Saveable.get(otherWidget) === saveable);
205
128
  }
206
- Saveable.shouldSave = shouldSave;
207
- })(Saveable = exports.Saveable || (exports.Saveable = {}));
129
+ Saveable.closingWidgetWouldLoseSaveable = closingWidgetWouldLoseSaveable;
130
+ })(Saveable || (exports.Saveable = Saveable = {}));
208
131
  exports.close = Symbol('close');
209
132
  var SaveableWidget;
210
133
  (function (SaveableWidget) {
@@ -224,8 +147,20 @@ var SaveableWidget;
224
147
  }
225
148
  }
226
149
  SaveableWidget.get = get;
227
- })(SaveableWidget = exports.SaveableWidget || (exports.SaveableWidget = {}));
150
+ })(SaveableWidget || (exports.SaveableWidget = SaveableWidget = {}));
228
151
  ;
152
+ var SaveReason;
153
+ (function (SaveReason) {
154
+ SaveReason[SaveReason["Manual"] = 1] = "Manual";
155
+ SaveReason[SaveReason["AfterDelay"] = 2] = "AfterDelay";
156
+ SaveReason[SaveReason["FocusChange"] = 3] = "FocusChange";
157
+ })(SaveReason || (exports.SaveReason = SaveReason = {}));
158
+ (function (SaveReason) {
159
+ function isManual(reason) {
160
+ return reason === SaveReason.Manual;
161
+ }
162
+ SaveReason.isManual = isManual;
163
+ })(SaveReason || (exports.SaveReason = SaveReason = {}));
229
164
  /**
230
165
  * The class name added to the dirty widget's title.
231
166
  */
@@ -1 +1 @@
1
- {"version":3,"file":"saveable.js","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saveable.js","sourceRoot":"","sources":["../../src/browser/saveable.ts"],"names":[],"mappings":"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"}
@@ -175,20 +175,20 @@ let SecondaryWindowHandler = class SecondaryWindowHandler {
175
175
  }
176
176
  }
177
177
  };
178
- (0, tslib_1.__decorate)([
178
+ exports.SecondaryWindowHandler = SecondaryWindowHandler;
179
+ tslib_1.__decorate([
179
180
  (0, inversify_1.inject)(keybinding_1.KeybindingRegistry),
180
- (0, tslib_1.__metadata)("design:type", keybinding_1.KeybindingRegistry)
181
+ tslib_1.__metadata("design:type", keybinding_1.KeybindingRegistry)
181
182
  ], SecondaryWindowHandler.prototype, "keybindings", void 0);
182
- (0, tslib_1.__decorate)([
183
+ tslib_1.__decorate([
183
184
  (0, inversify_1.inject)(message_service_1.MessageService),
184
- (0, tslib_1.__metadata)("design:type", message_service_1.MessageService)
185
+ tslib_1.__metadata("design:type", message_service_1.MessageService)
185
186
  ], SecondaryWindowHandler.prototype, "messageService", void 0);
186
- (0, tslib_1.__decorate)([
187
+ tslib_1.__decorate([
187
188
  (0, inversify_1.inject)(secondary_window_service_1.SecondaryWindowService),
188
- (0, tslib_1.__metadata)("design:type", Object)
189
+ tslib_1.__metadata("design:type", Object)
189
190
  ], SecondaryWindowHandler.prototype, "secondaryWindowService", void 0);
190
- SecondaryWindowHandler = (0, tslib_1.__decorate)([
191
+ exports.SecondaryWindowHandler = SecondaryWindowHandler = tslib_1.__decorate([
191
192
  (0, inversify_1.injectable)()
192
193
  ], SecondaryWindowHandler);
193
- exports.SecondaryWindowHandler = SecondaryWindowHandler;
194
194
  //# sourceMappingURL=secondary-window-handler.js.map