@theia/core 1.45.1 → 1.46.0-next.106

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 (704) hide show
  1. package/README.md +6 -6
  2. package/i18n/nls.cs.json +20 -3
  3. package/i18n/nls.de.json +20 -3
  4. package/i18n/nls.es.json +20 -3
  5. package/i18n/nls.fr.json +20 -3
  6. package/i18n/nls.hu.json +20 -3
  7. package/i18n/nls.it.json +20 -3
  8. package/i18n/nls.ja.json +20 -3
  9. package/i18n/nls.json +20 -3
  10. package/i18n/nls.pl.json +20 -3
  11. package/i18n/nls.pt-br.json +20 -3
  12. package/i18n/nls.pt-pt.json +20 -3
  13. package/i18n/nls.ru.json +20 -3
  14. package/i18n/nls.zh-cn.json +20 -3
  15. package/lib/browser/about-dialog.js +13 -24
  16. package/lib/browser/about-dialog.js.map +1 -1
  17. package/lib/browser/authentication-service.js +12 -20
  18. package/lib/browser/authentication-service.js.map +1 -1
  19. package/lib/browser/breadcrumbs/breadcrumb-popup-container.js +12 -20
  20. package/lib/browser/breadcrumbs/breadcrumb-popup-container.js.map +1 -1
  21. package/lib/browser/breadcrumbs/breadcrumb-renderer.js +2 -7
  22. package/lib/browser/breadcrumbs/breadcrumb-renderer.js.map +1 -1
  23. package/lib/browser/breadcrumbs/breadcrumbs-renderer.js +14 -22
  24. package/lib/browser/breadcrumbs/breadcrumbs-renderer.js.map +1 -1
  25. package/lib/browser/breadcrumbs/breadcrumbs-service.js +10 -18
  26. package/lib/browser/breadcrumbs/breadcrumbs-service.js.map +1 -1
  27. package/lib/browser/breadcrumbs/index.js +6 -15
  28. package/lib/browser/breadcrumbs/index.js.map +1 -1
  29. package/lib/browser/browser-clipboard-service.js +6 -14
  30. package/lib/browser/browser-clipboard-service.js.map +1 -1
  31. package/lib/browser/browser.d.ts +3 -0
  32. package/lib/browser/browser.d.ts.map +1 -1
  33. package/lib/browser/browser.js +5 -1
  34. package/lib/browser/browser.js.map +1 -1
  35. package/lib/browser/color-application-contribution.js +8 -16
  36. package/lib/browser/color-application-contribution.js.map +1 -1
  37. package/lib/browser/color-registry.js +2 -7
  38. package/lib/browser/color-registry.js.map +1 -1
  39. package/lib/browser/command-open-handler.js +4 -12
  40. package/lib/browser/command-open-handler.js.map +1 -1
  41. package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
  42. package/lib/browser/common-frontend-contribution.js +49 -60
  43. package/lib/browser/common-frontend-contribution.js.map +1 -1
  44. package/lib/browser/common-styling-participants.js +9 -14
  45. package/lib/browser/common-styling-participants.js.map +1 -1
  46. package/lib/browser/connection-status-service.js +22 -33
  47. package/lib/browser/connection-status-service.js.map +1 -1
  48. package/lib/browser/context-key-service.d.ts +1 -2
  49. package/lib/browser/context-key-service.d.ts.map +1 -1
  50. package/lib/browser/context-key-service.js +2 -7
  51. package/lib/browser/context-key-service.js.map +1 -1
  52. package/lib/browser/context-menu-renderer.d.ts +0 -1
  53. package/lib/browser/context-menu-renderer.d.ts.map +1 -1
  54. package/lib/browser/context-menu-renderer.js +3 -12
  55. package/lib/browser/context-menu-renderer.js.map +1 -1
  56. package/lib/browser/core-preferences.d.ts +1 -0
  57. package/lib/browser/core-preferences.d.ts.map +1 -1
  58. package/lib/browser/core-preferences.js +5 -0
  59. package/lib/browser/core-preferences.js.map +1 -1
  60. package/lib/browser/credentials-service.js +4 -15
  61. package/lib/browser/credentials-service.js.map +1 -1
  62. package/lib/browser/decorations-service.js +6 -12
  63. package/lib/browser/decorations-service.js.map +1 -1
  64. package/lib/browser/dialogs/react-dialog.js +4 -15
  65. package/lib/browser/dialogs/react-dialog.js.map +1 -1
  66. package/lib/browser/dialogs.js +18 -29
  67. package/lib/browser/dialogs.js.map +1 -1
  68. package/lib/browser/diff-uris.js +4 -15
  69. package/lib/browser/diff-uris.js.map +1 -1
  70. package/lib/browser/encoding-registry.js +6 -14
  71. package/lib/browser/encoding-registry.js.map +1 -1
  72. package/lib/browser/external-uri-service.js +2 -7
  73. package/lib/browser/external-uri-service.js.map +1 -1
  74. package/lib/browser/frontend-application-contribution.js +2 -7
  75. package/lib/browser/frontend-application-contribution.js.map +1 -1
  76. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  77. package/lib/browser/frontend-application-module.js +4 -2
  78. package/lib/browser/frontend-application-module.js.map +1 -1
  79. package/lib/browser/frontend-application-state.js +4 -12
  80. package/lib/browser/frontend-application-state.js.map +1 -1
  81. package/lib/browser/frontend-application.js +21 -32
  82. package/lib/browser/frontend-application.js.map +1 -1
  83. package/lib/browser/hover-service.js +6 -14
  84. package/lib/browser/hover-service.js.map +1 -1
  85. package/lib/browser/http-open-handler.js +6 -14
  86. package/lib/browser/http-open-handler.js.map +1 -1
  87. package/lib/browser/i18n/language-quick-pick-service.js +8 -16
  88. package/lib/browser/i18n/language-quick-pick-service.js.map +1 -1
  89. package/lib/browser/icon-registry.d.ts +1 -7
  90. package/lib/browser/icon-registry.d.ts.map +1 -1
  91. package/lib/browser/icon-registry.js.map +1 -1
  92. package/lib/browser/icon-theme-contribution.js +7 -15
  93. package/lib/browser/icon-theme-contribution.js.map +1 -1
  94. package/lib/browser/icon-theme-service.js +13 -21
  95. package/lib/browser/icon-theme-service.js.map +1 -1
  96. package/lib/browser/index.js +32 -41
  97. package/lib/browser/index.js.map +1 -1
  98. package/lib/browser/json-schema-store.js +7 -15
  99. package/lib/browser/json-schema-store.js.map +1 -1
  100. package/lib/browser/keybinding.d.ts.map +1 -1
  101. package/lib/browser/keybinding.js +21 -26
  102. package/lib/browser/keybinding.js.map +1 -1
  103. package/lib/browser/keybinding.spec.js +4 -9
  104. package/lib/browser/keybinding.spec.js.map +1 -1
  105. package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js +6 -14
  106. package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js.map +1 -1
  107. package/lib/browser/keyboard/browser-keyboard-layout-provider.js +10 -18
  108. package/lib/browser/keyboard/browser-keyboard-layout-provider.js.map +1 -1
  109. package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js +2 -7
  110. package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js.map +1 -1
  111. package/lib/browser/keyboard/index.js +5 -14
  112. package/lib/browser/keyboard/index.js.map +1 -1
  113. package/lib/browser/keyboard/keyboard-layout-service.js +8 -16
  114. package/lib/browser/keyboard/keyboard-layout-service.js.map +1 -1
  115. package/lib/browser/keyboard/keyboard-layout-service.spec.js +2 -7
  116. package/lib/browser/keyboard/keyboard-layout-service.spec.js.map +1 -1
  117. package/lib/browser/keyboard/keys.js +2 -11
  118. package/lib/browser/keyboard/keys.js.map +1 -1
  119. package/lib/browser/label-parser.js +2 -7
  120. package/lib/browser/label-parser.js.map +1 -1
  121. package/lib/browser/label-provider.js +11 -19
  122. package/lib/browser/label-provider.js.map +1 -1
  123. package/lib/browser/language-icon-provider.js +10 -18
  124. package/lib/browser/language-icon-provider.js.map +1 -1
  125. package/lib/browser/language-service.js +2 -7
  126. package/lib/browser/language-service.js.map +1 -1
  127. package/lib/browser/markdown-rendering/markdown-renderer.d.ts +1 -1
  128. package/lib/browser/markdown-rendering/markdown-renderer.d.ts.map +1 -1
  129. package/lib/browser/markdown-rendering/markdown-renderer.js +8 -16
  130. package/lib/browser/markdown-rendering/markdown-renderer.js.map +1 -1
  131. package/lib/browser/menu/browser-context-menu-renderer.js +4 -15
  132. package/lib/browser/menu/browser-context-menu-renderer.js.map +1 -1
  133. package/lib/browser/menu/browser-menu-plugin.js +23 -34
  134. package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
  135. package/lib/browser/menu/context-menu-context.js +3 -11
  136. package/lib/browser/menu/context-menu-context.js.map +1 -1
  137. package/lib/browser/messaging/frontend-id-provider.js +2 -7
  138. package/lib/browser/messaging/frontend-id-provider.js.map +1 -1
  139. package/lib/browser/messaging/index.js +2 -11
  140. package/lib/browser/messaging/index.js.map +1 -1
  141. package/lib/browser/messaging/service-connection-provider.js +8 -16
  142. package/lib/browser/messaging/service-connection-provider.js.map +1 -1
  143. package/lib/browser/messaging/ws-connection-provider.js +4 -12
  144. package/lib/browser/messaging/ws-connection-provider.js.map +1 -1
  145. package/lib/browser/messaging/ws-connection-source.js +9 -17
  146. package/lib/browser/messaging/ws-connection-source.js.map +1 -1
  147. package/lib/browser/mime-service.js +2 -7
  148. package/lib/browser/mime-service.js.map +1 -1
  149. package/lib/browser/navigatable.js +2 -11
  150. package/lib/browser/navigatable.js.map +1 -1
  151. package/lib/browser/opener-service.js +5 -16
  152. package/lib/browser/opener-service.js.map +1 -1
  153. package/lib/browser/performance/frontend-stopwatch.js +3 -11
  154. package/lib/browser/performance/frontend-stopwatch.js.map +1 -1
  155. package/lib/browser/performance/index.js +3 -12
  156. package/lib/browser/performance/index.js.map +1 -1
  157. package/lib/browser/preferences/index.js +8 -17
  158. package/lib/browser/preferences/index.js.map +1 -1
  159. package/lib/browser/preferences/injectable-preference-proxy.js +14 -22
  160. package/lib/browser/preferences/injectable-preference-proxy.js.map +1 -1
  161. package/lib/browser/preferences/preference-configurations.js +4 -12
  162. package/lib/browser/preferences/preference-configurations.js.map +1 -1
  163. package/lib/browser/preferences/preference-contribution.js +10 -18
  164. package/lib/browser/preferences/preference-contribution.js.map +1 -1
  165. package/lib/browser/preferences/preference-language-override-service.js +2 -7
  166. package/lib/browser/preferences/preference-language-override-service.js.map +1 -1
  167. package/lib/browser/preferences/preference-provider.js +5 -13
  168. package/lib/browser/preferences/preference-provider.js.map +1 -1
  169. package/lib/browser/preferences/preference-service.js +14 -22
  170. package/lib/browser/preferences/preference-service.js.map +1 -1
  171. package/lib/browser/preferences/preference-validation-service.js +6 -14
  172. package/lib/browser/preferences/preference-validation-service.js.map +1 -1
  173. package/lib/browser/preferences/test/index.js +4 -13
  174. package/lib/browser/preferences/test/index.js.map +1 -1
  175. package/lib/browser/preferences/test/mock-preference-service.js +3 -11
  176. package/lib/browser/preferences/test/mock-preference-service.js.map +1 -1
  177. package/lib/browser/preload/i18n-preload-contribution.js +4 -12
  178. package/lib/browser/preload/i18n-preload-contribution.js.map +1 -1
  179. package/lib/browser/preload/os-preload-contribution.js +4 -12
  180. package/lib/browser/preload/os-preload-contribution.js.map +1 -1
  181. package/lib/browser/preload/preloader.js +4 -12
  182. package/lib/browser/preload/preloader.js.map +1 -1
  183. package/lib/browser/preload/theme-preload-contribution.js +2 -7
  184. package/lib/browser/preload/theme-preload-contribution.js.map +1 -1
  185. package/lib/browser/progress-bar.js +11 -19
  186. package/lib/browser/progress-bar.js.map +1 -1
  187. package/lib/browser/progress-client.js +6 -14
  188. package/lib/browser/progress-client.js.map +1 -1
  189. package/lib/browser/progress-location-service.js +2 -7
  190. package/lib/browser/progress-location-service.js.map +1 -1
  191. package/lib/browser/progress-status-bar-item.js +4 -12
  192. package/lib/browser/progress-status-bar-item.js.map +1 -1
  193. package/lib/browser/quick-input/index.js +9 -18
  194. package/lib/browser/quick-input/index.js.map +1 -1
  195. package/lib/browser/quick-input/quick-command-frontend-contribution.js +6 -14
  196. package/lib/browser/quick-input/quick-command-frontend-contribution.js.map +1 -1
  197. package/lib/browser/quick-input/quick-command-service.js +12 -20
  198. package/lib/browser/quick-input/quick-command-service.js.map +1 -1
  199. package/lib/browser/quick-input/quick-help-service.js +6 -14
  200. package/lib/browser/quick-input/quick-help-service.js.map +1 -1
  201. package/lib/browser/quick-input/quick-input-frontend-contribution.js +4 -12
  202. package/lib/browser/quick-input/quick-input-frontend-contribution.js.map +1 -1
  203. package/lib/browser/quick-input/quick-input-service.js +2 -11
  204. package/lib/browser/quick-input/quick-input-service.js.map +1 -1
  205. package/lib/browser/quick-input/quick-pick-service-impl.js +4 -12
  206. package/lib/browser/quick-input/quick-pick-service-impl.js.map +1 -1
  207. package/lib/browser/quick-input/quick-view-service.js +6 -14
  208. package/lib/browser/quick-input/quick-view-service.js.map +1 -1
  209. package/lib/browser/request/browser-request-service.js +12 -20
  210. package/lib/browser/request/browser-request-service.js.map +1 -1
  211. package/lib/browser/resource-context-key.js +10 -18
  212. package/lib/browser/resource-context-key.js.map +1 -1
  213. package/lib/browser/save-resource-service.d.ts +3 -3
  214. package/lib/browser/save-resource-service.d.ts.map +1 -1
  215. package/lib/browser/save-resource-service.js +6 -13
  216. package/lib/browser/save-resource-service.js.map +1 -1
  217. package/lib/browser/secondary-window-handler.js +12 -20
  218. package/lib/browser/secondary-window-handler.js.map +1 -1
  219. package/lib/browser/shell/additional-views-menu-widget.js +6 -14
  220. package/lib/browser/shell/additional-views-menu-widget.js.map +1 -1
  221. package/lib/browser/shell/application-shell-mouse-tracker.js +4 -12
  222. package/lib/browser/shell/application-shell-mouse-tracker.js.map +1 -1
  223. package/lib/browser/shell/application-shell.d.ts.map +1 -1
  224. package/lib/browser/shell/application-shell.js +40 -46
  225. package/lib/browser/shell/application-shell.js.map +1 -1
  226. package/lib/browser/shell/index.js +8 -17
  227. package/lib/browser/shell/index.js.map +1 -1
  228. package/lib/browser/shell/shell-layout-restorer.js +12 -23
  229. package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
  230. package/lib/browser/shell/side-panel-handler.js +22 -30
  231. package/lib/browser/shell/side-panel-handler.js.map +1 -1
  232. package/lib/browser/shell/sidebar-bottom-menu-widget.js +2 -7
  233. package/lib/browser/shell/sidebar-bottom-menu-widget.js.map +1 -1
  234. package/lib/browser/shell/sidebar-menu-widget.js +7 -15
  235. package/lib/browser/shell/sidebar-menu-widget.js.map +1 -1
  236. package/lib/browser/shell/sidebar-top-menu-widget.js +2 -7
  237. package/lib/browser/shell/sidebar-top-menu-widget.js.map +1 -1
  238. package/lib/browser/shell/split-panels.js +2 -7
  239. package/lib/browser/shell/split-panels.js.map +1 -1
  240. package/lib/browser/shell/tab-bar-decorator.d.ts +7 -2
  241. package/lib/browser/shell/tab-bar-decorator.d.ts.map +1 -1
  242. package/lib/browser/shell/tab-bar-decorator.js +39 -16
  243. package/lib/browser/shell/tab-bar-decorator.js.map +1 -1
  244. package/lib/browser/shell/tab-bar-toolbar/index.js +4 -13
  245. package/lib/browser/shell/tab-bar-toolbar/index.js.map +1 -1
  246. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +10 -18
  247. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js.map +1 -1
  248. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +23 -31
  249. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
  250. package/lib/browser/shell/tab-bars.d.ts +4 -1
  251. package/lib/browser/shell/tab-bars.d.ts.map +1 -1
  252. package/lib/browser/shell/tab-bars.js +39 -4
  253. package/lib/browser/shell/tab-bars.js.map +1 -1
  254. package/lib/browser/shell/view-contribution.js +9 -17
  255. package/lib/browser/shell/view-contribution.js.map +1 -1
  256. package/lib/browser/source-tree/index.js +4 -13
  257. package/lib/browser/source-tree/index.js.map +1 -1
  258. package/lib/browser/source-tree/source-tree-widget.js +6 -14
  259. package/lib/browser/source-tree/source-tree-widget.js.map +1 -1
  260. package/lib/browser/source-tree/source-tree.js +2 -7
  261. package/lib/browser/source-tree/source-tree.js.map +1 -1
  262. package/lib/browser/source-tree/tree-source.js +4 -15
  263. package/lib/browser/source-tree/tree-source.js.map +1 -1
  264. package/lib/browser/status-bar/index.js +4 -13
  265. package/lib/browser/status-bar/index.js.map +1 -1
  266. package/lib/browser/status-bar/status-bar-view-model.js +2 -7
  267. package/lib/browser/status-bar/status-bar-view-model.js.map +1 -1
  268. package/lib/browser/status-bar/status-bar.js +9 -20
  269. package/lib/browser/status-bar/status-bar.js.map +1 -1
  270. package/lib/browser/storage-service.js +12 -20
  271. package/lib/browser/storage-service.js.map +1 -1
  272. package/lib/browser/styling-service.js +8 -16
  273. package/lib/browser/styling-service.js.map +1 -1
  274. package/lib/browser/test/mock-opener-service.js +2 -7
  275. package/lib/browser/test/mock-opener-service.js.map +1 -1
  276. package/lib/browser/test/mock-storage-service.js +2 -7
  277. package/lib/browser/test/mock-storage-service.js.map +1 -1
  278. package/lib/browser/theming.js +10 -18
  279. package/lib/browser/theming.js.map +1 -1
  280. package/lib/browser/tooltip-service.js +13 -24
  281. package/lib/browser/tooltip-service.js.map +1 -1
  282. package/lib/browser/tree/fuzzy-search.js +2 -7
  283. package/lib/browser/tree/fuzzy-search.js.map +1 -1
  284. package/lib/browser/tree/index.d.ts +1 -0
  285. package/lib/browser/tree/index.d.ts.map +1 -1
  286. package/lib/browser/tree/index.js +14 -22
  287. package/lib/browser/tree/index.js.map +1 -1
  288. package/lib/browser/tree/test/mock-selectable-tree-model.d.ts +15 -0
  289. package/lib/browser/tree/test/mock-selectable-tree-model.d.ts.map +1 -0
  290. package/lib/browser/tree/test/mock-selectable-tree-model.js +103 -0
  291. package/lib/browser/tree/test/mock-selectable-tree-model.js.map +1 -0
  292. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.js +6 -14
  293. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.js.map +1 -1
  294. package/lib/browser/tree/tree-compression/compressed-tree-model.js +6 -14
  295. package/lib/browser/tree/tree-compression/compressed-tree-model.js.map +1 -1
  296. package/lib/browser/tree/tree-compression/compressed-tree-widget.js +10 -21
  297. package/lib/browser/tree/tree-compression/compressed-tree-widget.js.map +1 -1
  298. package/lib/browser/tree/tree-compression/index.js +5 -14
  299. package/lib/browser/tree/tree-compression/index.js.map +1 -1
  300. package/lib/browser/tree/tree-compression/tree-compression-service.js +2 -7
  301. package/lib/browser/tree/tree-compression/tree-compression-service.js.map +1 -1
  302. package/lib/browser/tree/tree-consistency.spec.js +2 -7
  303. package/lib/browser/tree/tree-consistency.spec.js.map +1 -1
  304. package/lib/browser/tree/tree-decorator.js +4 -12
  305. package/lib/browser/tree/tree-decorator.js.map +1 -1
  306. package/lib/browser/tree/tree-expansion.js +8 -16
  307. package/lib/browser/tree/tree-expansion.js.map +1 -1
  308. package/lib/browser/tree/tree-focus-service.js +4 -12
  309. package/lib/browser/tree/tree-focus-service.js.map +1 -1
  310. package/lib/browser/tree/tree-label-provider.js +2 -7
  311. package/lib/browser/tree/tree-label-provider.js.map +1 -1
  312. package/lib/browser/tree/tree-model.d.ts +24 -0
  313. package/lib/browser/tree/tree-model.d.ts.map +1 -1
  314. package/lib/browser/tree/tree-model.js +66 -28
  315. package/lib/browser/tree/tree-model.js.map +1 -1
  316. package/lib/browser/tree/tree-navigation.js +2 -7
  317. package/lib/browser/tree/tree-navigation.js.map +1 -1
  318. package/lib/browser/tree/tree-preference.d.ts +11 -0
  319. package/lib/browser/tree/tree-preference.d.ts.map +1 -0
  320. package/lib/browser/tree/tree-preference.js +47 -0
  321. package/lib/browser/tree/tree-preference.js.map +1 -0
  322. package/lib/browser/tree/tree-search.js +12 -20
  323. package/lib/browser/tree/tree-search.js.map +1 -1
  324. package/lib/browser/tree/tree-selectable.spec.d.ts +2 -0
  325. package/lib/browser/tree/tree-selectable.spec.d.ts.map +1 -0
  326. package/lib/browser/tree/tree-selectable.spec.js +147 -0
  327. package/lib/browser/tree/tree-selectable.spec.js.map +1 -0
  328. package/lib/browser/tree/tree-selection-impl.js +10 -18
  329. package/lib/browser/tree/tree-selection-impl.js.map +1 -1
  330. package/lib/browser/tree/tree-view-welcome-widget.js +8 -16
  331. package/lib/browser/tree/tree-view-welcome-widget.js.map +1 -1
  332. package/lib/browser/tree/tree-widget.d.ts +6 -3
  333. package/lib/browser/tree/tree-widget.d.ts.map +1 -1
  334. package/lib/browser/tree/tree-widget.js +48 -38
  335. package/lib/browser/tree/tree-widget.js.map +1 -1
  336. package/lib/browser/tree/tree.d.ts.map +1 -1
  337. package/lib/browser/tree/tree.js +7 -12
  338. package/lib/browser/tree/tree.js.map +1 -1
  339. package/lib/browser/user-working-directory-provider.js +6 -14
  340. package/lib/browser/user-working-directory-provider.js.map +1 -1
  341. package/lib/browser/view-container.js +31 -39
  342. package/lib/browser/view-container.js.map +1 -1
  343. package/lib/browser/widget-manager.d.ts +9 -0
  344. package/lib/browser/widget-manager.d.ts.map +1 -1
  345. package/lib/browser/widget-manager.js +29 -14
  346. package/lib/browser/widget-manager.js.map +1 -1
  347. package/lib/browser/widget-open-handler.js +10 -18
  348. package/lib/browser/widget-open-handler.js.map +1 -1
  349. package/lib/browser/widgets/index.js +5 -14
  350. package/lib/browser/widgets/index.js.map +1 -1
  351. package/lib/browser/widgets/react-renderer.js +5 -16
  352. package/lib/browser/widgets/react-renderer.js.map +1 -1
  353. package/lib/browser/widgets/react-widget.js +4 -15
  354. package/lib/browser/widgets/react-widget.js.map +1 -1
  355. package/lib/browser/widgets/select-component.d.ts.map +1 -1
  356. package/lib/browser/widgets/select-component.js +1 -0
  357. package/lib/browser/widgets/select-component.js.map +1 -1
  358. package/lib/browser/widgets/widget.d.ts +2 -0
  359. package/lib/browser/widgets/widget.d.ts.map +1 -1
  360. package/lib/browser/widgets/widget.js +14 -24
  361. package/lib/browser/widgets/widget.js.map +1 -1
  362. package/lib/browser/window/default-secondary-window-service.js +10 -18
  363. package/lib/browser/window/default-secondary-window-service.js.map +1 -1
  364. package/lib/browser/window/default-window-service.js +6 -14
  365. package/lib/browser/window/default-window-service.js.map +1 -1
  366. package/lib/browser/window/test/mock-window-service.js +2 -7
  367. package/lib/browser/window/test/mock-window-service.js.map +1 -1
  368. package/lib/browser/window/window-service.d.ts +6 -2
  369. package/lib/browser/window/window-service.d.ts.map +1 -1
  370. package/lib/browser/window/window-service.js.map +1 -1
  371. package/lib/browser/window/window-title-service.js +8 -16
  372. package/lib/browser/window/window-title-service.js.map +1 -1
  373. package/lib/browser/window/window-title-updater.js +6 -14
  374. package/lib/browser/window/window-title-updater.js.map +1 -1
  375. package/lib/browser/window-contribution.js +4 -12
  376. package/lib/browser/window-contribution.js.map +1 -1
  377. package/lib/browser-only/frontend-only-application-module.d.ts +5 -0
  378. package/lib/browser-only/frontend-only-application-module.d.ts.map +1 -0
  379. package/lib/browser-only/frontend-only-application-module.js +115 -0
  380. package/lib/browser-only/frontend-only-application-module.js.map +1 -0
  381. package/lib/browser-only/i18n/i18n-frontend-only-module.d.ts +4 -0
  382. package/lib/browser-only/i18n/i18n-frontend-only-module.d.ts.map +1 -0
  383. package/lib/browser-only/i18n/i18n-frontend-only-module.js +35 -0
  384. package/lib/browser-only/i18n/i18n-frontend-only-module.js.map +1 -0
  385. package/lib/browser-only/logger-frontend-only-module.d.ts +3 -0
  386. package/lib/browser-only/logger-frontend-only-module.d.ts.map +1 -0
  387. package/lib/browser-only/logger-frontend-only-module.js +61 -0
  388. package/lib/browser-only/logger-frontend-only-module.js.map +1 -0
  389. package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts +14 -0
  390. package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts.map +1 -0
  391. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js +52 -0
  392. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js.map +1 -0
  393. package/lib/browser-only/messaging/messaging-frontend-only-module.d.ts +3 -0
  394. package/lib/browser-only/messaging/messaging-frontend-only-module.d.ts.map +1 -0
  395. package/lib/browser-only/messaging/messaging-frontend-only-module.js +48 -0
  396. package/lib/browser-only/messaging/messaging-frontend-only-module.js.map +1 -0
  397. package/lib/browser-only/preload/frontend-only-preload-module.d.ts +4 -0
  398. package/lib/browser-only/preload/frontend-only-preload-module.d.ts.map +1 -0
  399. package/lib/browser-only/preload/frontend-only-preload-module.js +52 -0
  400. package/lib/browser-only/preload/frontend-only-preload-module.js.map +1 -0
  401. package/lib/common/application-protocol.d.ts +1 -0
  402. package/lib/common/application-protocol.d.ts.map +1 -1
  403. package/lib/common/command.js +5 -16
  404. package/lib/common/command.js.map +1 -1
  405. package/lib/common/contribution-filter/contribution-filter-registry.js +5 -16
  406. package/lib/common/contribution-filter/contribution-filter-registry.js.map +1 -1
  407. package/lib/common/contribution-filter/index.js +4 -13
  408. package/lib/common/contribution-filter/index.js.map +1 -1
  409. package/lib/common/disposable.d.ts +37 -0
  410. package/lib/common/disposable.d.ts.map +1 -1
  411. package/lib/common/disposable.js +54 -1
  412. package/lib/common/disposable.js.map +1 -1
  413. package/lib/common/disposable.spec.js +51 -0
  414. package/lib/common/disposable.spec.js.map +1 -1
  415. package/lib/common/encoding-service.js +2 -7
  416. package/lib/common/encoding-service.js.map +1 -1
  417. package/lib/common/env-variables/index.js +2 -11
  418. package/lib/common/env-variables/index.js.map +1 -1
  419. package/lib/{node → common}/file-uri.d.ts +1 -1
  420. package/lib/common/file-uri.d.ts.map +1 -0
  421. package/lib/{node → common}/file-uri.js +2 -2
  422. package/lib/common/file-uri.js.map +1 -0
  423. package/lib/common/index.d.ts +1 -0
  424. package/lib/common/index.d.ts.map +1 -1
  425. package/lib/common/index.js +34 -42
  426. package/lib/common/index.js.map +1 -1
  427. package/lib/common/logger-protocol.js +2 -7
  428. package/lib/common/logger-protocol.js.map +1 -1
  429. package/lib/common/logger-watcher.js +2 -7
  430. package/lib/common/logger-watcher.js.map +1 -1
  431. package/lib/common/logger.js +14 -22
  432. package/lib/common/logger.js.map +1 -1
  433. package/lib/common/markdown-rendering/index.js +3 -12
  434. package/lib/common/markdown-rendering/index.js.map +1 -1
  435. package/lib/common/markdown-rendering/markdown-string.d.ts +5 -2
  436. package/lib/common/markdown-rendering/markdown-string.d.ts.map +1 -1
  437. package/lib/common/markdown-rendering/markdown-string.js.map +1 -1
  438. package/lib/common/menu/composite-menu-node.js +5 -5
  439. package/lib/common/menu/composite-menu-node.js.map +1 -1
  440. package/lib/common/menu/composite-menu-node.spec.d.ts +2 -0
  441. package/lib/common/menu/composite-menu-node.spec.d.ts.map +1 -0
  442. package/lib/common/menu/composite-menu-node.spec.js +68 -0
  443. package/lib/common/menu/composite-menu-node.spec.js.map +1 -0
  444. package/lib/common/menu/index.js +6 -15
  445. package/lib/common/menu/index.js.map +1 -1
  446. package/lib/common/menu/menu-adapter.js +7 -15
  447. package/lib/common/menu/menu-adapter.js.map +1 -1
  448. package/lib/common/menu/menu-model-registry.d.ts +2 -2
  449. package/lib/common/menu/menu-model-registry.d.ts.map +1 -1
  450. package/lib/common/menu/menu-model-registry.js +22 -19
  451. package/lib/common/menu/menu-model-registry.js.map +1 -1
  452. package/lib/common/menu/menu.spec.js +28 -1
  453. package/lib/common/menu/menu.spec.js.map +1 -1
  454. package/lib/common/message-rpc/msg-pack-extension-manager.d.ts +1 -1
  455. package/lib/common/message-rpc/msg-pack-extension-manager.js +1 -1
  456. package/lib/common/message-rpc/rpc-protocol.d.ts +3 -1
  457. package/lib/common/message-rpc/rpc-protocol.d.ts.map +1 -1
  458. package/lib/common/message-rpc/rpc-protocol.js +19 -1
  459. package/lib/common/message-rpc/rpc-protocol.js.map +1 -1
  460. package/lib/common/message-service-protocol.js +2 -7
  461. package/lib/common/message-service-protocol.js.map +1 -1
  462. package/lib/common/message-service.js +4 -15
  463. package/lib/common/message-service.js.map +1 -1
  464. package/lib/common/messaging/index.js +4 -13
  465. package/lib/common/messaging/index.js.map +1 -1
  466. package/lib/common/messaging/proxy-factory.d.ts.map +1 -1
  467. package/lib/common/messaging/proxy-factory.js +1 -8
  468. package/lib/common/messaging/proxy-factory.js.map +1 -1
  469. package/lib/common/nls.js +3 -1
  470. package/lib/common/nls.js.map +1 -1
  471. package/lib/common/performance/index.js +4 -13
  472. package/lib/common/performance/index.js.map +1 -1
  473. package/lib/common/performance/measurement-protocol.js +5 -13
  474. package/lib/common/performance/measurement-protocol.js.map +1 -1
  475. package/lib/common/performance/stopwatch.js +5 -13
  476. package/lib/common/performance/stopwatch.js.map +1 -1
  477. package/lib/common/progress-service.js +6 -14
  478. package/lib/common/progress-service.js.map +1 -1
  479. package/lib/common/promise-util.spec.js +31 -6
  480. package/lib/common/promise-util.spec.js.map +1 -1
  481. package/lib/common/quick-pick-service.d.ts +16 -26
  482. package/lib/common/quick-pick-service.d.ts.map +1 -1
  483. package/lib/common/quick-pick-service.js +1 -26
  484. package/lib/common/quick-pick-service.js.map +1 -1
  485. package/lib/common/reference.d.ts +55 -0
  486. package/lib/common/reference.d.ts.map +1 -1
  487. package/lib/common/reference.js +55 -0
  488. package/lib/common/reference.js.map +1 -1
  489. package/lib/common/resource.d.ts +3 -1
  490. package/lib/common/resource.d.ts.map +1 -1
  491. package/lib/common/resource.js +8 -19
  492. package/lib/common/resource.js.map +1 -1
  493. package/lib/common/selection-service.js +2 -7
  494. package/lib/common/selection-service.js.map +1 -1
  495. package/lib/common/test/mock-logger.js +2 -7
  496. package/lib/common/test/mock-logger.js.map +1 -1
  497. package/lib/common/test/mock-resource-provider.js +3 -11
  498. package/lib/common/test/mock-resource-provider.js.map +1 -1
  499. package/lib/common/theme.d.ts +25 -0
  500. package/lib/common/theme.d.ts.map +1 -1
  501. package/lib/common/theme.js.map +1 -1
  502. package/lib/common/uri.d.ts +1 -0
  503. package/lib/common/uri.d.ts.map +1 -1
  504. package/lib/common/uri.js +1 -1
  505. package/lib/common/uri.js.map +1 -1
  506. package/lib/common/uuid.d.ts +7 -1
  507. package/lib/common/uuid.d.ts.map +1 -1
  508. package/lib/common/uuid.js +17 -58
  509. package/lib/common/uuid.js.map +1 -1
  510. package/lib/electron-browser/electron-clipboard-service.js +2 -7
  511. package/lib/electron-browser/electron-clipboard-service.js.map +1 -1
  512. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js +6 -14
  513. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js.map +1 -1
  514. package/lib/electron-browser/menu/electron-context-menu-renderer.js +15 -26
  515. package/lib/electron-browser/menu/electron-context-menu-renderer.js.map +1 -1
  516. package/lib/electron-browser/menu/electron-main-menu-factory.js +8 -16
  517. package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
  518. package/lib/electron-browser/menu/electron-menu-contribution.d.ts +2 -1
  519. package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
  520. package/lib/electron-browser/menu/electron-menu-contribution.js +33 -35
  521. package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
  522. package/lib/electron-browser/messaging/electron-frontend-id-provider.js +2 -7
  523. package/lib/electron-browser/messaging/electron-frontend-id-provider.js.map +1 -1
  524. package/lib/electron-browser/messaging/electron-ipc-connection-source.js +2 -7
  525. package/lib/electron-browser/messaging/electron-ipc-connection-source.js.map +1 -1
  526. package/lib/electron-browser/messaging/electron-local-ws-connection-source.js +2 -7
  527. package/lib/electron-browser/messaging/electron-local-ws-connection-source.js.map +1 -1
  528. package/lib/electron-browser/messaging/electron-messaging-frontend-module.js +3 -3
  529. package/lib/electron-browser/messaging/electron-messaging-frontend-module.js.map +1 -1
  530. package/lib/electron-browser/messaging/electron-ws-connection-source.js +3 -11
  531. package/lib/electron-browser/messaging/electron-ws-connection-source.js.map +1 -1
  532. package/lib/electron-browser/window/electron-frontend-application-state.js +2 -7
  533. package/lib/electron-browser/window/electron-frontend-application-state.js.map +1 -1
  534. package/lib/electron-browser/window/electron-secondary-window-service.js +2 -7
  535. package/lib/electron-browser/window/electron-secondary-window-service.js.map +1 -1
  536. package/lib/electron-browser/window/electron-window-service.d.ts +2 -1
  537. package/lib/electron-browser/window/electron-window-service.d.ts.map +1 -1
  538. package/lib/electron-browser/window/electron-window-service.js +23 -24
  539. package/lib/electron-browser/window/electron-window-service.js.map +1 -1
  540. package/lib/electron-main/electron-api-main.js +4 -12
  541. package/lib/electron-main/electron-api-main.js.map +1 -1
  542. package/lib/electron-main/electron-main-application-module.js +2 -2
  543. package/lib/electron-main/electron-main-application-module.js.map +1 -1
  544. package/lib/electron-main/electron-main-application.js +16 -24
  545. package/lib/electron-main/electron-main-application.js.map +1 -1
  546. package/lib/electron-main/electron-main-window-service-impl.js +4 -12
  547. package/lib/electron-main/electron-main-window-service-impl.js.map +1 -1
  548. package/lib/electron-main/electron-security-token-service.js +4 -12
  549. package/lib/electron-main/electron-security-token-service.js.map +1 -1
  550. package/lib/electron-main/messaging/electron-messaging-contribution.js +10 -18
  551. package/lib/electron-main/messaging/electron-messaging-contribution.js.map +1 -1
  552. package/lib/electron-main/theia-electron-window.js +13 -21
  553. package/lib/electron-main/theia-electron-window.js.map +1 -1
  554. package/lib/electron-node/hosting/electron-ws-origin-validator.js +4 -12
  555. package/lib/electron-node/hosting/electron-ws-origin-validator.js.map +1 -1
  556. package/lib/electron-node/keyboard/electron-keyboard-layout-provider.js +2 -7
  557. package/lib/electron-node/keyboard/electron-keyboard-layout-provider.js.map +1 -1
  558. package/lib/electron-node/request/electron-backend-request-service.js +2 -7
  559. package/lib/electron-node/request/electron-backend-request-service.js.map +1 -1
  560. package/lib/electron-node/token/electron-token-backend-contribution.js +4 -12
  561. package/lib/electron-node/token/electron-token-backend-contribution.js.map +1 -1
  562. package/lib/electron-node/token/electron-token-validator.js +6 -14
  563. package/lib/electron-node/token/electron-token-validator.js.map +1 -1
  564. package/lib/node/application-server.d.ts +1 -0
  565. package/lib/node/application-server.d.ts.map +1 -1
  566. package/lib/node/application-server.js +11 -13
  567. package/lib/node/application-server.js.map +1 -1
  568. package/lib/node/backend-application.js +17 -28
  569. package/lib/node/backend-application.js.map +1 -1
  570. package/lib/node/backend-remote-service.js +2 -7
  571. package/lib/node/backend-remote-service.js.map +1 -1
  572. package/lib/node/cli.js +5 -16
  573. package/lib/node/cli.js.map +1 -1
  574. package/lib/node/console-logger-server.js +10 -18
  575. package/lib/node/console-logger-server.js.map +1 -1
  576. package/lib/node/console-logger-server.spec.js +6 -14
  577. package/lib/node/console-logger-server.spec.js.map +1 -1
  578. package/lib/node/env-variables/env-variables-server.js +4 -12
  579. package/lib/node/env-variables/env-variables-server.js.map +1 -1
  580. package/lib/node/env-variables/index.js +2 -11
  581. package/lib/node/env-variables/index.js.map +1 -1
  582. package/lib/node/environment-utils.js +2 -7
  583. package/lib/node/environment-utils.js.map +1 -1
  584. package/lib/node/file-uri.spec.js +1 -1
  585. package/lib/node/file-uri.spec.js.map +1 -1
  586. package/lib/node/filesystem-locking.js +2 -7
  587. package/lib/node/filesystem-locking.js.map +1 -1
  588. package/lib/node/hosting/backend-application-hosts.js +6 -14
  589. package/lib/node/hosting/backend-application-hosts.js.map +1 -1
  590. package/lib/node/hosting/ws-origin-validator.js +4 -12
  591. package/lib/node/hosting/ws-origin-validator.js.map +1 -1
  592. package/lib/node/i18n/localization-contribution.js +6 -14
  593. package/lib/node/i18n/localization-contribution.js.map +1 -1
  594. package/lib/node/i18n/localization-provider.js +2 -7
  595. package/lib/node/i18n/localization-provider.js.map +1 -1
  596. package/lib/node/i18n/localization-server.js +6 -14
  597. package/lib/node/i18n/localization-server.js.map +1 -1
  598. package/lib/node/i18n/theia-localization-contribution.js +2 -7
  599. package/lib/node/i18n/theia-localization-contribution.js.map +1 -1
  600. package/lib/node/index.d.ts +1 -1
  601. package/lib/node/index.d.ts.map +1 -1
  602. package/lib/node/index.js +6 -15
  603. package/lib/node/index.js.map +1 -1
  604. package/lib/node/key-store-server.js +2 -7
  605. package/lib/node/key-store-server.js.map +1 -1
  606. package/lib/node/logger-cli-contribution.js +2 -7
  607. package/lib/node/logger-cli-contribution.js.map +1 -1
  608. package/lib/node/messaging/default-messaging-service.js +10 -18
  609. package/lib/node/messaging/default-messaging-service.js.map +1 -1
  610. package/lib/node/messaging/index.js +4 -13
  611. package/lib/node/messaging/index.js.map +1 -1
  612. package/lib/node/messaging/ipc-connection-provider.js +4 -12
  613. package/lib/node/messaging/ipc-connection-provider.js.map +1 -1
  614. package/lib/node/messaging/messaging-listeners.js +4 -12
  615. package/lib/node/messaging/messaging-listeners.js.map +1 -1
  616. package/lib/node/messaging/test/test-web-socket-channel.js +3 -11
  617. package/lib/node/messaging/test/test-web-socket-channel.js.map +1 -1
  618. package/lib/node/messaging/websocket-endpoint.js +6 -14
  619. package/lib/node/messaging/websocket-endpoint.js.map +1 -1
  620. package/lib/node/messaging/websocket-frontend-connection-service.js +4 -12
  621. package/lib/node/messaging/websocket-frontend-connection-service.js.map +1 -1
  622. package/lib/node/os-backend-provider.js +2 -7
  623. package/lib/node/os-backend-provider.js.map +1 -1
  624. package/lib/node/performance/index.js +3 -12
  625. package/lib/node/performance/index.js.map +1 -1
  626. package/lib/node/performance/node-stopwatch.js +3 -11
  627. package/lib/node/performance/node-stopwatch.js.map +1 -1
  628. package/lib/node/process-utils.js +2 -7
  629. package/lib/node/process-utils.js.map +1 -1
  630. package/lib/node/request/backend-request-facade.js +4 -12
  631. package/lib/node/request/backend-request-facade.js.map +1 -1
  632. package/lib/node/request/proxy-cli-contribution.js +4 -12
  633. package/lib/node/request/proxy-cli-contribution.js.map +1 -1
  634. package/lib/node/ws-request-validators.js +4 -12
  635. package/lib/node/ws-request-validators.js.map +1 -1
  636. package/package.json +14 -8
  637. package/src/browser/browser.ts +6 -1
  638. package/src/browser/common-frontend-contribution.ts +3 -3
  639. package/src/browser/context-key-service.ts +1 -2
  640. package/src/browser/context-menu-renderer.ts +0 -4
  641. package/src/browser/core-preferences.ts +6 -0
  642. package/src/browser/decorations-service.ts +4 -4
  643. package/src/browser/frontend-application-module.ts +5 -2
  644. package/src/browser/icon-registry.ts +1 -10
  645. package/src/browser/keybinding.ts +3 -0
  646. package/src/browser/markdown-rendering/markdown-renderer.ts +1 -1
  647. package/src/browser/save-resource-service.ts +5 -4
  648. package/src/browser/shell/application-shell.ts +8 -3
  649. package/src/browser/shell/tab-bar-decorator.ts +36 -6
  650. package/src/browser/shell/tab-bars.ts +41 -5
  651. package/src/browser/style/index.css +153 -148
  652. package/src/browser/style/select-component.css +12 -13
  653. package/src/browser/style/tabs.css +6 -0
  654. package/src/browser/tooltip-service.tsx +2 -2
  655. package/src/browser/tree/index.ts +1 -0
  656. package/src/browser/tree/test/mock-selectable-tree-model.ts +109 -0
  657. package/src/browser/tree/tree-model.ts +74 -0
  658. package/src/browser/tree/tree-preference.ts +50 -0
  659. package/src/browser/tree/tree-selectable.spec.ts +152 -0
  660. package/src/browser/tree/tree-widget.tsx +24 -5
  661. package/src/browser/tree/tree.ts +2 -1
  662. package/src/browser/widget-manager.ts +25 -0
  663. package/src/browser/widgets/select-component.tsx +1 -0
  664. package/src/browser/widgets/widget.ts +8 -0
  665. package/src/browser/window/window-service.ts +7 -2
  666. package/src/browser-only/frontend-only-application-module.ts +115 -0
  667. package/src/browser-only/i18n/i18n-frontend-only-module.ts +37 -0
  668. package/src/browser-only/logger-frontend-only-module.ts +63 -0
  669. package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +39 -0
  670. package/src/browser-only/messaging/messaging-frontend-only-module.ts +42 -0
  671. package/src/browser-only/preload/frontend-only-preload-module.ts +49 -0
  672. package/src/common/application-protocol.ts +1 -0
  673. package/src/common/disposable.spec.ts +66 -1
  674. package/src/common/disposable.ts +53 -0
  675. package/src/{node → common}/file-uri.ts +2 -2
  676. package/src/common/index.ts +1 -0
  677. package/src/common/markdown-rendering/markdown-string.ts +6 -3
  678. package/src/common/menu/composite-menu-node.spec.ts +67 -0
  679. package/src/common/menu/composite-menu-node.ts +5 -5
  680. package/src/common/menu/menu-model-registry.ts +22 -5
  681. package/src/common/menu/menu.spec.ts +30 -2
  682. package/src/common/message-rpc/msg-pack-extension-manager.ts +1 -1
  683. package/src/common/message-rpc/rpc-protocol.ts +22 -2
  684. package/src/common/messaging/proxy-factory.ts +1 -8
  685. package/src/common/nls.ts +3 -1
  686. package/src/common/promise-util.spec.ts +48 -18
  687. package/src/common/quick-pick-service.ts +13 -34
  688. package/src/common/reference.ts +55 -0
  689. package/src/common/resource.ts +5 -1
  690. package/src/common/theme.ts +32 -0
  691. package/src/common/uri.ts +4 -2
  692. package/src/common/uuid.ts +15 -69
  693. package/src/electron-browser/menu/electron-menu-contribution.ts +9 -1
  694. package/src/electron-browser/messaging/electron-messaging-frontend-module.ts +1 -1
  695. package/src/electron-browser/window/electron-window-service.ts +12 -3
  696. package/src/electron-main/electron-main-application-module.ts +2 -2
  697. package/src/electron-main/electron-main-application.ts +1 -1
  698. package/src/electron-main/theia-electron-window.ts +1 -1
  699. package/src/node/application-server.ts +8 -1
  700. package/src/node/env-variables/env-variables-server.ts +1 -1
  701. package/src/node/file-uri.spec.ts +1 -1
  702. package/src/node/index.ts +1 -1
  703. package/lib/node/file-uri.d.ts.map +0 -1
  704. package/lib/node/file-uri.js.map +0 -1
@@ -16,7 +16,7 @@
16
16
  /* eslint-disable @typescript-eslint/no-explicit-any */
17
17
 
18
18
  import { CancellationToken, CancellationTokenSource } from '../cancellation';
19
- import { Disposable, DisposableCollection } from '../disposable';
19
+ import { DisposableWrapper, Disposable, DisposableCollection } from '../disposable';
20
20
  import { Emitter, Event } from '../event';
21
21
  import { Deferred } from '../promise-util';
22
22
  import { Channel } from './channel';
@@ -57,6 +57,7 @@ export class RpcProtocol {
57
57
  static readonly CANCELLATION_TOKEN_KEY = 'add.cancellation.token';
58
58
 
59
59
  protected readonly pendingRequests: Map<number, Deferred<any>> = new Map();
60
+ protected readonly pendingRequestCancellationEventListeners: Map<number, DisposableWrapper> = new Map();
60
61
 
61
62
  protected nextMessageId: number = 0;
62
63
 
@@ -80,6 +81,8 @@ export class RpcProtocol {
80
81
  channel.onClose(event => {
81
82
  this.pendingRequests.forEach(pending => pending.reject(new Error(event.reason)));
82
83
  this.pendingRequests.clear();
84
+ this.pendingRequestCancellationEventListeners.forEach(disposable => disposable.dispose());
85
+ this.pendingRequestCancellationEventListeners.clear();
83
86
  this.toDispose.dispose();
84
87
  });
85
88
  this.toDispose.push(channel.onMessage(readBuffer => this.handleMessage(this.decoder.parse(readBuffer()))));
@@ -131,6 +134,7 @@ export class RpcProtocol {
131
134
  } else {
132
135
  throw new Error(`No reply handler for reply with id: ${id}`);
133
136
  }
137
+ this.disposeCancellationEventListener(id);
134
138
  }
135
139
 
136
140
  protected handleReplyErr(id: number, error: any): void {
@@ -141,6 +145,15 @@ export class RpcProtocol {
141
145
  } else {
142
146
  throw new Error(`No reply handler for error reply with id: ${id}`);
143
147
  }
148
+ this.disposeCancellationEventListener(id);
149
+ }
150
+
151
+ protected disposeCancellationEventListener(id: number): void {
152
+ const toDispose = this.pendingRequestCancellationEventListeners.get(id);
153
+ if (toDispose) {
154
+ this.pendingRequestCancellationEventListeners.delete(id);
155
+ toDispose.dispose();
156
+ }
144
157
  }
145
158
 
146
159
  sendRequest<T>(method: string, args: any[]): Promise<T> {
@@ -157,6 +170,10 @@ export class RpcProtocol {
157
170
 
158
171
  this.pendingRequests.set(id, reply);
159
172
 
173
+ // register disposable before output.commit() even when not available yet
174
+ const disposableWrapper = new DisposableWrapper();
175
+ this.pendingRequestCancellationEventListeners.set(id, disposableWrapper);
176
+
160
177
  const output = this.channel.getWriteBuffer();
161
178
  this.encoder.request(output, id, method, args);
162
179
  output.commit();
@@ -164,7 +181,10 @@ export class RpcProtocol {
164
181
  if (cancellationToken?.isCancellationRequested) {
165
182
  this.sendCancel(id);
166
183
  } else {
167
- cancellationToken?.onCancellationRequested(() => this.sendCancel(id));
184
+ const disposable = cancellationToken?.onCancellationRequested(() => this.sendCancel(id));
185
+ if (disposable) {
186
+ disposableWrapper.set(disposable);
187
+ }
168
188
  }
169
189
 
170
190
  return reply.promise;
@@ -168,14 +168,7 @@ export class RpcProxyFactory<T extends object> implements ProxyHandler<T> {
168
168
  throw new Error(`no target was set to handle ${method}`);
169
169
  }
170
170
  } catch (error) {
171
- const e = this.serializeError(error);
172
- if (e instanceof ResponseError) {
173
- throw e;
174
- }
175
- const reason = e.message || '';
176
- const stack = e.stack || '';
177
- console.error(`Request ${method} failed with error: ${reason}`, stack);
178
- throw e;
171
+ throw this.serializeError(error);
179
172
  }
180
173
  }
181
174
 
package/src/common/nls.ts CHANGED
@@ -83,7 +83,9 @@ class LocalizationKeyProvider {
83
83
 
84
84
  private preferredKeys = new Set([
85
85
  // We only want the `File` translation used in the menu
86
- 'vscode/fileActions.contribution/filesCategory'
86
+ 'vscode/fileActions.contribution/filesCategory',
87
+ // Needed for `Close Editor` translation
88
+ 'vscode/editor.contribution/closeEditor'
87
89
  ]);
88
90
  private data = this.buildData();
89
91
 
@@ -14,7 +14,7 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
  import * as assert from 'assert/strict';
17
- import { firstTrue, waitForEvent } from './promise-util';
17
+ import { Deferred, firstTrue, waitForEvent } from './promise-util';
18
18
  import { Emitter } from './event';
19
19
  import { CancellationError } from './cancellation';
20
20
 
@@ -35,7 +35,30 @@ describe('promise-util', () => {
35
35
  });
36
36
  });
37
37
 
38
+ type ExecutionHandler<T> = (resolve: (value: T) => void, reject: (error: unknown) => void) => void;
39
+
38
40
  describe('firstTrue', () => {
41
+ function createSequentialPromises<T>(...executionHandlers: ExecutionHandler<T>[]): Promise<T>[] {
42
+ const deferreds: Deferred<T>[] = [];
43
+ let i = 0;
44
+ for (let k = 0; k < executionHandlers.length; k++) {
45
+ deferreds.push(new Deferred<T>());
46
+ }
47
+
48
+ const resolveNext = () => {
49
+ if (i < executionHandlers.length) {
50
+ executionHandlers[i](value => deferreds[i].resolve(value), error => deferreds[i].reject(error));
51
+ i++;
52
+ }
53
+ if (i < executionHandlers.length) {
54
+ setTimeout(resolveNext, 1);
55
+ }
56
+ };
57
+
58
+ setTimeout(resolveNext, 1);
59
+ return deferreds.map(deferred => deferred.promise);
60
+ }
61
+
39
62
  it('should resolve to false when the promises arg is empty', async () => {
40
63
  const actual = await firstTrue();
41
64
  assert.strictEqual(actual, false);
@@ -43,29 +66,36 @@ describe('promise-util', () => {
43
66
 
44
67
  it('should resolve to true when the first promise resolves to true', async () => {
45
68
  const signals: string[] = [];
46
- const createPromise = (signal: string, timeout: number, result: boolean) =>
47
- new Promise<boolean>(resolve => setTimeout(() => {
69
+
70
+ function createHandler(signal: string, result?: boolean): ExecutionHandler<boolean> {
71
+ return (resolve: (value: boolean) => void, reject: (error: unknown) => void) => {
48
72
  signals.push(signal);
49
- resolve(result);
50
- }, timeout));
51
- const actual = await firstTrue(
52
- createPromise('a', 10, false),
53
- createPromise('b', 20, false),
54
- createPromise('c', 30, true),
55
- createPromise('d', 40, false),
56
- createPromise('e', 50, true)
57
- );
73
+ if (typeof result !== 'undefined') {
74
+ resolve(result);
75
+ } else {
76
+ reject(undefined);
77
+ }
78
+ };
79
+ }
80
+
81
+ const actual = await firstTrue(...createSequentialPromises(
82
+ createHandler('a', false),
83
+ createHandler('b', false),
84
+ createHandler('c', true),
85
+ createHandler('d', false),
86
+ createHandler('e', true)
87
+ ));
58
88
  assert.strictEqual(actual, true);
59
89
  assert.deepStrictEqual(signals, ['a', 'b', 'c']);
60
90
  });
61
91
 
62
92
  it('should reject when one of the promises rejects', async () => {
63
- await assert.rejects(firstTrue(
64
- new Promise<boolean>(resolve => setTimeout(() => resolve(false), 10)),
65
- new Promise<boolean>(resolve => setTimeout(() => resolve(false), 20)),
66
- new Promise<boolean>((_, reject) => setTimeout(() => reject(new Error('my test error')), 30)),
67
- new Promise<boolean>(resolve => setTimeout(() => resolve(true), 40)),
68
- ), /Error: my test error/);
93
+ await assert.rejects(firstTrue(...createSequentialPromises<boolean>(
94
+ (resolve, _) => resolve(false),
95
+ resolve => resolve(false),
96
+ (_, reject) => reject(new Error('my test error')),
97
+ resolve => resolve(true),
98
+ )), /Error: my test error/);
69
99
  });
70
100
  });
71
101
 
@@ -14,7 +14,6 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import URI from './uri';
18
17
  import * as fuzzy from 'fuzzy';
19
18
  import { Event } from './event';
20
19
  import { KeySequence } from './keys';
@@ -54,11 +53,11 @@ export interface QuickPickItem {
54
53
  description?: string;
55
54
  detail?: string;
56
55
  keySequence?: KeySequence;
57
- iconPath?: URI | Uri | { light?: URI | Uri; dark: URI | Uri } | { id: string };
56
+ iconPath?: { light?: Uri; dark: Uri };
58
57
  iconClasses?: string[];
59
58
  alwaysShow?: boolean;
60
59
  highlights?: QuickPickItemHighlights;
61
- buttons?: readonly QuickInputButton[];
60
+ buttons?: QuickInputButton[];
62
61
  execute?: () => void;
63
62
  }
64
63
 
@@ -95,7 +94,7 @@ export interface QuickPickValue<V> extends QuickPickItem {
95
94
  }
96
95
 
97
96
  export interface QuickInputButton {
98
- iconPath?: URI | Uri | { light?: URI | Uri; dark: URI | Uri } | { id: string };
97
+ iconPath?: { light?: Uri; dark: Uri };
99
98
  iconClass?: string;
100
99
  tooltip?: string;
101
100
  /**
@@ -104,34 +103,8 @@ export interface QuickInputButton {
104
103
  alwaysVisible?: boolean;
105
104
  }
106
105
 
107
- export interface NormalizedQuickInputButton extends QuickInputButton {
108
- iconPath?: { light?: Uri, dark: Uri };
109
- }
110
-
111
- export namespace QuickInputButton {
112
- export function normalize(button: undefined): undefined;
113
- export function normalize(button: QuickInputButton): NormalizedQuickInputButton;
114
- export function normalize(button?: QuickInputButton): NormalizedQuickInputButton | undefined {
115
- if (!button) {
116
- return button;
117
- }
118
- let iconPath: NormalizedQuickInputButton['iconPath'] = undefined;
119
- if (button.iconPath instanceof URI) {
120
- iconPath = { dark: button.iconPath['codeUri'] };
121
- } else if (button.iconPath && 'dark' in button.iconPath) {
122
- const dark = Uri.isUri(button.iconPath.dark) ? button.iconPath.dark : button.iconPath.dark['codeUri'];
123
- const light = Uri.isUri(button.iconPath.light) ? button.iconPath.light : button.iconPath.light?.['codeUri'];
124
- iconPath = { dark, light };
125
- }
126
- return {
127
- ...button,
128
- iconPath,
129
- };
130
- }
131
- }
132
-
133
106
  export interface QuickInputButtonHandle extends QuickInputButton {
134
- index: number; // index of where they are in buttons array if QuickInputButton or -1 if QuickInputButtons.Back
107
+ handle: number; // index of where the button is in buttons array if QuickInputButton or -1 if QuickInputButtons.Back
135
108
  }
136
109
 
137
110
  export enum QuickInputHideReason {
@@ -188,10 +161,11 @@ export interface QuickPick<T extends QuickPickItemOrSeparator> extends QuickInpu
188
161
  matchOnDescription: boolean;
189
162
  matchOnDetail: boolean;
190
163
  keepScrollPosition: boolean;
164
+ buttons: ReadonlyArray<QuickInputButton>;
191
165
  readonly onDidAccept: Event<{ inBackground: boolean } | undefined>;
192
166
  readonly onDidChangeValue: Event<string>;
193
167
  readonly onDidTriggerButton: Event<QuickInputButton>;
194
- readonly onDidTriggerItemButton: Event<QuickPickItemButtonEvent<T>>;
168
+ readonly onDidTriggerItemButton: Event<QuickPickItemButtonEvent<QuickPickItem>>;
195
169
  readonly onDidChangeActive: Event<T[]>;
196
170
  readonly onDidChangeSelection: Event<T[]>;
197
171
  }
@@ -281,8 +255,13 @@ export interface QuickInputService {
281
255
  open(filter: string): void;
282
256
  createInputBox(): InputBox;
283
257
  input(options?: InputOptions, token?: CancellationToken): Promise<string | undefined>;
284
- pick<T extends QuickPickItem, O extends PickOptions<T>>(picks: Promise<QuickPickInput<T>[]> | QuickPickInput<T>[], options?: O, token?: CancellationToken):
285
- Promise<(O extends { canPickMany: true } ? T[] : T) | undefined>;
258
+ pick<T extends QuickPickItem>(picks: Promise<QuickPickInput<T>[]> | QuickPickInput<T>[],
259
+ options?: PickOptions<T> & { canPickMany: true }, token?: CancellationToken): Promise<T[] | undefined>;
260
+ pick<T extends QuickPickItem>(picks: Promise<QuickPickInput<T>[]> | QuickPickInput<T>[],
261
+ options?: PickOptions<T> & { canPickMany: false }, token?: CancellationToken): Promise<T | undefined>;
262
+ pick<T extends QuickPickItem>(picks: Promise<QuickPickInput<T>[]> | QuickPickInput<T>[],
263
+ options?: Omit<PickOptions<T>, 'canPickMany'>, token?: CancellationToken): Promise<T | undefined>;
264
+
286
265
  showQuickPick<T extends QuickPickItem>(items: Array<T | QuickPickSeparator>, options?: QuickPickOptions<T>): Promise<T | undefined>;
287
266
  hide(): void;
288
267
  /**
@@ -22,6 +22,50 @@ export interface Reference<T> extends Disposable {
22
22
  readonly object: T
23
23
  }
24
24
 
25
+ /**
26
+ * Abstract class for a map of reference-counted disposable objects, with the
27
+ * following features:
28
+ *
29
+ * - values are not inserted explicitly; instead, acquire() is used to
30
+ * create the value for a given key, or return the previously created
31
+ * value for it. How the value is created for a given key is
32
+ * implementation specific.
33
+ *
34
+ * - any subsquent acquire() with the same key will bump the reference
35
+ * count on that value. acquire() returns not the value directly but
36
+ * a reference object that holds the value. Calling dispose() on the
37
+ * reference decreases the value's effective reference count.
38
+ *
39
+ * - a contained value will have its dispose() function called when its
40
+ * reference count reaches zero. The key/value pair will be purged
41
+ * from the collection.
42
+ *
43
+ * - calling dispose() on the value directly, instead of calling it on
44
+ * the reference returned by acquire(), will automatically dispose
45
+ * all outstanding references to that value and the key/value pair
46
+ * will be purged from the collection.
47
+ *
48
+ * - supports synchronous and asynchronous implementations. acquire() will
49
+ * return a Promise if the value cannot be created immediately
50
+ *
51
+ * - functions has|keys|values|get are always synchronous and the result
52
+ * excludes asynchronous additions in flight.
53
+ *
54
+ * - functions values|get return the value directly and not a reference
55
+ * to the value. Use these functions to obtain a value without bumping
56
+ * its reference count.
57
+ *
58
+ * - clients can register to be notified when values are added and removed;
59
+ * notification for asynchronous additions happen when the creation
60
+ * completes, not when it's requested.
61
+ *
62
+ * - keys can be any value/object that can be successfully stringified using
63
+ * JSON.stringify(), sans arguments
64
+ *
65
+ * - calling dispose() on the collection will dispose all outstanding
66
+ * references to all contained values, which results in the disposal of
67
+ * the values themselves.
68
+ */
25
69
  export abstract class AbstractReferenceCollection<K, V extends Disposable> implements Disposable {
26
70
 
27
71
  protected readonly _keys = new Map<string, K>();
@@ -108,6 +152,12 @@ export abstract class AbstractReferenceCollection<K, V extends Disposable> imple
108
152
 
109
153
  }
110
154
 
155
+ /**
156
+ * Asynchronous implementation of AbstractReferenceCollection that requires
157
+ * the client to provide a value factory, used to service the acquire()
158
+ * function. That factory may return a Promise if the value cannot be
159
+ * created immediately.
160
+ */
111
161
  export class ReferenceCollection<K, V extends Disposable> extends AbstractReferenceCollection<K, V> {
112
162
 
113
163
  constructor(protected readonly factory: (key: K) => MaybePromise<V>) {
@@ -148,6 +198,11 @@ export class ReferenceCollection<K, V extends Disposable> extends AbstractRefere
148
198
 
149
199
  }
150
200
 
201
+ /**
202
+ * Synchronous implementation of AbstractReferenceCollection that requires
203
+ * the client to provide a value factory, used to service the acquire()
204
+ * function.
205
+ */
151
206
  export class SyncReferenceCollection<K, V extends Disposable> extends AbstractReferenceCollection<K, V> {
152
207
 
153
208
  constructor(protected readonly factory: (key: K) => V) {
@@ -25,6 +25,7 @@ import { CancellationToken } from './cancellation';
25
25
  import { ApplicationError } from './application-error';
26
26
  import { ReadableStream, Readable } from './stream';
27
27
  import { SyncReferenceCollection, Reference } from './reference';
28
+ import { MarkdownString } from './markdown-rendering';
28
29
 
29
30
  export interface ResourceVersion {
30
31
  }
@@ -55,7 +56,10 @@ export interface Resource extends Disposable {
55
56
  * Undefined if a resource did not read content yet.
56
57
  */
57
58
  readonly encoding?: string | undefined;
58
- readonly isReadonly?: boolean;
59
+
60
+ readonly onDidChangeReadOnly?: Event<boolean | MarkdownString>;
61
+
62
+ readonly readOnly?: boolean | MarkdownString;
59
63
  /**
60
64
  * Reads latest content of this resource.
61
65
  *
@@ -14,6 +14,8 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
+ import { URI } from 'vscode-uri';
18
+
17
19
  export type ThemeType = 'light' | 'dark' | 'hc' | 'hcLight';
18
20
 
19
21
  export interface Theme {
@@ -34,3 +36,33 @@ export interface ThemeChangeEvent {
34
36
  readonly newTheme: Theme;
35
37
  readonly oldTheme?: Theme;
36
38
  }
39
+
40
+ export interface ThemeColor {
41
+ id: string;
42
+ }
43
+
44
+ export interface ThemeIcon {
45
+ readonly id: string;
46
+ readonly color?: ThemeColor;
47
+ }
48
+
49
+ export interface IconDefinition {
50
+ font?: IconFontContribution; // undefined for the default font (codicon)
51
+ fontCharacter: string;
52
+ }
53
+
54
+ export interface IconFontContribution {
55
+ readonly id: string;
56
+ readonly definition: IconFontDefinition;
57
+ }
58
+
59
+ export interface IconFontDefinition {
60
+ readonly weight?: string;
61
+ readonly style?: string;
62
+ readonly src: IconFontSource[];
63
+ }
64
+
65
+ export interface IconFontSource {
66
+ readonly location: URI;
67
+ readonly format: string;
68
+ }
package/src/common/uri.ts CHANGED
@@ -19,8 +19,10 @@ import { Path } from './path';
19
19
 
20
20
  export class URI {
21
21
 
22
- public static fromComponents(components: UriComponents): URI {
23
- return new URI(Uri.revive(components));
22
+ public static fromComponents(components: UriComponents): URI;
23
+ public static fromComponents(components: undefined): undefined;
24
+ public static fromComponents(components: UriComponents | undefined): URI | undefined {
25
+ return components ? new URI(Uri.revive(components)) : undefined;
24
26
  }
25
27
 
26
28
  public static fromFilePath(path: string): URI {
@@ -21,79 +21,25 @@
21
21
 
22
22
  // based on https://github.com/microsoft/vscode/blob/1.72.2/src/vs/base/common/uuid.ts
23
23
 
24
+ import { v4, v5 } from 'uuid';
25
+
24
26
  const _UUIDPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
25
27
 
26
28
  export function isUUID(value: string): boolean {
27
29
  return _UUIDPattern.test(value);
28
30
  }
29
31
 
30
- declare const crypto: undefined | {
31
- // https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues#browser_compatibility
32
- getRandomValues?(data: Uint8Array): Uint8Array;
33
- // https://developer.mozilla.org/en-US/docs/Web/API/Crypto/randomUUID#browser_compatibility
34
- randomUUID?(): string;
35
- };
36
-
37
- export const generateUuid = (function (): () => string {
38
-
39
- // use `randomUUID` if possible
40
- if (typeof crypto === 'object' && typeof crypto.randomUUID === 'function') {
41
- return crypto.randomUUID.bind(crypto);
42
- }
43
-
44
- // use `randomValues` if possible
45
- let getRandomValues: (bucket: Uint8Array) => Uint8Array;
46
- if (typeof crypto === 'object' && typeof crypto.getRandomValues === 'function') {
47
- getRandomValues = crypto.getRandomValues.bind(crypto);
48
-
49
- } else {
50
- getRandomValues = function (bucket: Uint8Array): Uint8Array {
51
- for (let i = 0; i < bucket.length; i++) {
52
- bucket[i] = Math.floor(Math.random() * 256);
53
- }
54
- return bucket;
55
- };
56
- }
57
-
58
- // prep-work
59
- const _data = new Uint8Array(16);
60
- const _hex: string[] = [];
61
- for (let i = 0; i < 256; i++) {
62
- _hex.push(i.toString(16).padStart(2, '0'));
63
- }
64
-
65
- // eslint-disable-next-line @typescript-eslint/no-shadow
66
- return function generateUuid(): string {
67
- // get data
68
- getRandomValues(_data);
69
-
70
- // set version bits
71
- _data[6] = (_data[6] & 0x0f) | 0x40;
72
- _data[8] = (_data[8] & 0x3f) | 0x80;
32
+ export function generateUuid(): string {
33
+ return v4();
34
+ }
73
35
 
74
- // print as string
75
- let i = 0;
76
- let result = '';
77
- result += _hex[_data[i++]];
78
- result += _hex[_data[i++]];
79
- result += _hex[_data[i++]];
80
- result += _hex[_data[i++]];
81
- result += '-';
82
- result += _hex[_data[i++]];
83
- result += _hex[_data[i++]];
84
- result += '-';
85
- result += _hex[_data[i++]];
86
- result += _hex[_data[i++]];
87
- result += '-';
88
- result += _hex[_data[i++]];
89
- result += _hex[_data[i++]];
90
- result += '-';
91
- result += _hex[_data[i++]];
92
- result += _hex[_data[i++]];
93
- result += _hex[_data[i++]];
94
- result += _hex[_data[i++]];
95
- result += _hex[_data[i++]];
96
- result += _hex[_data[i++]];
97
- return result;
98
- };
99
- })();
36
+ const NAMESPACE = '4c90ee4f-d952-44b1-83ca-f04121ab8e05';
37
+ /**
38
+ * This function will hash the given value using SHA1. The result will be a uuid.
39
+ * @param value the string to hash
40
+ * @returns a uuid
41
+ */
42
+ export function hashValue(value: string): string {
43
+ // as opposed to v4, v5 is deterministic and uses SHA1 hashing
44
+ return v5(value, NAMESPACE);
45
+ }
@@ -18,7 +18,7 @@ import { inject, injectable, postConstruct } from 'inversify';
18
18
  import { Command, CommandContribution, CommandRegistry, isOSX, isWindows, MenuModelRegistry, MenuContribution, Disposable, nls } from '../../common';
19
19
  import {
20
20
  codicon, ConfirmDialog, KeybindingContribution, KeybindingRegistry, PreferenceScope, Widget,
21
- FrontendApplication, FrontendApplicationContribution, CommonMenus, CommonCommands, Dialog, Message, ApplicationShell,
21
+ FrontendApplication, FrontendApplicationContribution, CommonMenus, CommonCommands, Dialog, Message, ApplicationShell, PreferenceService, animationFrame,
22
22
  } from '../../browser';
23
23
  import { ElectronMainMenuFactory } from './electron-main-menu-factory';
24
24
  import { FrontendApplicationStateService, FrontendApplicationState } from '../../browser/frontend-application-state';
@@ -441,6 +441,9 @@ export class CustomTitleWidget extends Widget {
441
441
  @inject(ApplicationShell)
442
442
  protected readonly applicationShell: ApplicationShell;
443
443
 
444
+ @inject(PreferenceService)
445
+ protected readonly preferenceService: PreferenceService;
446
+
444
447
  constructor() {
445
448
  super();
446
449
  this.id = 'theia-custom-title';
@@ -452,6 +455,11 @@ export class CustomTitleWidget extends Widget {
452
455
  this.windowTitleService.onDidChangeTitle(title => {
453
456
  this.updateTitle(title);
454
457
  });
458
+ this.preferenceService.onPreferenceChanged(e => {
459
+ if (e.preferenceName === 'window.menuBarVisibility') {
460
+ animationFrame().then(() => this.adjustTitleToCenter());
461
+ }
462
+ });
455
463
  }
456
464
 
457
465
  protected override onResize(msg: Widget.ResizeMessage): void {
@@ -23,7 +23,7 @@ import { ElectronFrontendIdProvider } from './electron-frontend-id-provider';
23
23
  import { FrontendIdProvider } from '../../browser/messaging/frontend-id-provider';
24
24
  import { ConnectionSource } from '../../browser/messaging/connection-source';
25
25
  import { LocalConnectionProvider, RemoteConnectionProvider, ServiceConnectionProvider } from '../../browser/messaging/service-connection-provider';
26
- import { WebSocketConnectionProvider } from '../../browser';
26
+ import { WebSocketConnectionProvider } from '../../browser/messaging/ws-connection-provider';
27
27
  import { ConnectionCloseService, connectionCloseServicePath } from '../../common/messaging/connection-management';
28
28
  import { WebSocketConnectionSource } from '../../browser/messaging/ws-connection-source';
29
29
 
@@ -21,6 +21,7 @@ import { ElectronMainWindowService } from '../../electron-common/electron-main-w
21
21
  import { ElectronWindowPreferences } from './electron-window-preferences';
22
22
  import { ConnectionCloseService } from '../../common/messaging/connection-management';
23
23
  import { FrontendIdProvider } from '../../browser/messaging/frontend-id-provider';
24
+ import { WindowReloadOptions } from '../../browser/window/window-service';
24
25
 
25
26
  @injectable()
26
27
  export class ElectronWindowService extends DefaultWindowService {
@@ -86,12 +87,20 @@ export class ElectronWindowService extends DefaultWindowService {
86
87
  }
87
88
  }
88
89
 
89
- override reload(params?: WindowSearchParams): void {
90
+ override reload(params?: WindowReloadOptions): void {
90
91
  if (params) {
91
- const query = Object.entries(params).map(([name, value]) => `${name}=${value}`).join('&');
92
- location.search = query;
92
+ const newLocation = new URL(location.href);
93
+ if (params.search) {
94
+ const query = Object.entries(params.search).map(([name, value]) => `${name}=${value}`).join('&');
95
+ newLocation.search = query;
96
+ }
97
+ if (params.hash) {
98
+ newLocation.hash = '#' + params.hash;
99
+ }
100
+ location.assign(newLocation);
93
101
  } else {
94
102
  window.electronTheiaCore.requestReload();
95
103
  }
96
104
  }
97
105
  }
106
+
@@ -15,7 +15,7 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { ContainerModule } from 'inversify';
18
- import { v4 } from 'uuid';
18
+ import { generateUuid } from '../common/uuid';
19
19
  import { bindContributionProvider } from '../common/contribution-provider';
20
20
  import { RpcConnectionHandler } from '../common/messaging/proxy-factory';
21
21
  import { ElectronSecurityToken } from '../electron-common/electron-token';
@@ -29,7 +29,7 @@ import { ElectronSecurityTokenService } from './electron-security-token-service'
29
29
  import { ElectronMessagingService } from './messaging/electron-messaging-service';
30
30
  import { ElectronConnectionHandler } from './messaging/electron-connection-handler';
31
31
 
32
- const electronSecurityToken: ElectronSecurityToken = { value: v4() };
32
+ const electronSecurityToken: ElectronSecurityToken = { value: generateUuid() };
33
33
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
34
34
  (global as any)[ElectronSecurityToken] = electronSecurityToken;
35
35
 
@@ -24,7 +24,7 @@ import { existsSync, mkdirSync } from 'fs-extra';
24
24
  import { fork, ForkOptions } from 'child_process';
25
25
  import { DefaultTheme, FrontendApplicationConfig } from '@theia/application-package/lib/application-props';
26
26
  import URI from '../common/uri';
27
- import { FileUri } from '../node/file-uri';
27
+ import { FileUri } from '../common/file-uri';
28
28
  import { Deferred } from '../common/promise-util';
29
29
  import { MaybePromise } from '../common/types';
30
30
  import { ContributionProvider } from '../common/contribution-provider';
@@ -22,7 +22,7 @@ import { ElectronMainApplicationGlobals } from './electron-main-constants';
22
22
  import { DisposableCollection, Emitter, Event } from '../common';
23
23
  import { createDisposableListener } from './event-utils';
24
24
  import { URI } from '../common/uri';
25
- import { FileUri } from '../node/file-uri';
25
+ import { FileUri } from '../common/file-uri';
26
26
  import { TheiaRendererAPI } from './electron-api-main';
27
27
 
28
28
  /**