@theia/core 1.46.1 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (595) hide show
  1. package/README.md +6 -6
  2. package/i18n/nls.cs.json +16 -3
  3. package/i18n/nls.de.json +16 -3
  4. package/i18n/nls.es.json +16 -3
  5. package/i18n/nls.fr.json +16 -3
  6. package/i18n/nls.hu.json +16 -3
  7. package/i18n/nls.it.json +16 -3
  8. package/i18n/nls.ja.json +16 -3
  9. package/i18n/nls.json +16 -3
  10. package/i18n/nls.pl.json +16 -3
  11. package/i18n/nls.pt-br.json +16 -3
  12. package/i18n/nls.pt-pt.json +16 -3
  13. package/i18n/nls.ru.json +16 -3
  14. package/i18n/nls.zh-cn.json +16 -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/color-application-contribution.js +8 -16
  32. package/lib/browser/color-application-contribution.js.map +1 -1
  33. package/lib/browser/color-registry.js +2 -7
  34. package/lib/browser/color-registry.js.map +1 -1
  35. package/lib/browser/command-open-handler.js +4 -12
  36. package/lib/browser/command-open-handler.js.map +1 -1
  37. package/lib/browser/common-frontend-contribution.js +46 -57
  38. package/lib/browser/common-frontend-contribution.js.map +1 -1
  39. package/lib/browser/common-styling-participants.js +9 -14
  40. package/lib/browser/common-styling-participants.js.map +1 -1
  41. package/lib/browser/connection-status-service.js +22 -33
  42. package/lib/browser/connection-status-service.js.map +1 -1
  43. package/lib/browser/context-key-service.d.ts +1 -2
  44. package/lib/browser/context-key-service.d.ts.map +1 -1
  45. package/lib/browser/context-key-service.js +2 -7
  46. package/lib/browser/context-key-service.js.map +1 -1
  47. package/lib/browser/context-menu-renderer.d.ts +0 -1
  48. package/lib/browser/context-menu-renderer.d.ts.map +1 -1
  49. package/lib/browser/context-menu-renderer.js +3 -12
  50. package/lib/browser/context-menu-renderer.js.map +1 -1
  51. package/lib/browser/core-preferences.d.ts +1 -0
  52. package/lib/browser/core-preferences.d.ts.map +1 -1
  53. package/lib/browser/core-preferences.js +5 -0
  54. package/lib/browser/core-preferences.js.map +1 -1
  55. package/lib/browser/credentials-service.js +4 -15
  56. package/lib/browser/credentials-service.js.map +1 -1
  57. package/lib/browser/decorations-service.js +2 -7
  58. package/lib/browser/decorations-service.js.map +1 -1
  59. package/lib/browser/dialogs/react-dialog.js +4 -15
  60. package/lib/browser/dialogs/react-dialog.js.map +1 -1
  61. package/lib/browser/dialogs.js +18 -29
  62. package/lib/browser/dialogs.js.map +1 -1
  63. package/lib/browser/diff-uris.js +4 -15
  64. package/lib/browser/diff-uris.js.map +1 -1
  65. package/lib/browser/encoding-registry.js +6 -14
  66. package/lib/browser/encoding-registry.js.map +1 -1
  67. package/lib/browser/external-uri-service.js +2 -7
  68. package/lib/browser/external-uri-service.js.map +1 -1
  69. package/lib/browser/frontend-application-contribution.js +2 -7
  70. package/lib/browser/frontend-application-contribution.js.map +1 -1
  71. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  72. package/lib/browser/frontend-application-module.js +2 -1
  73. package/lib/browser/frontend-application-module.js.map +1 -1
  74. package/lib/browser/frontend-application-state.js +4 -12
  75. package/lib/browser/frontend-application-state.js.map +1 -1
  76. package/lib/browser/frontend-application.js +21 -32
  77. package/lib/browser/frontend-application.js.map +1 -1
  78. package/lib/browser/hover-service.js +6 -14
  79. package/lib/browser/hover-service.js.map +1 -1
  80. package/lib/browser/http-open-handler.js +6 -14
  81. package/lib/browser/http-open-handler.js.map +1 -1
  82. package/lib/browser/i18n/language-quick-pick-service.js +8 -16
  83. package/lib/browser/i18n/language-quick-pick-service.js.map +1 -1
  84. package/lib/browser/icon-registry.d.ts +1 -7
  85. package/lib/browser/icon-registry.d.ts.map +1 -1
  86. package/lib/browser/icon-registry.js.map +1 -1
  87. package/lib/browser/icon-theme-contribution.js +7 -15
  88. package/lib/browser/icon-theme-contribution.js.map +1 -1
  89. package/lib/browser/icon-theme-service.js +13 -21
  90. package/lib/browser/icon-theme-service.js.map +1 -1
  91. package/lib/browser/index.js +32 -41
  92. package/lib/browser/index.js.map +1 -1
  93. package/lib/browser/json-schema-store.js +7 -15
  94. package/lib/browser/json-schema-store.js.map +1 -1
  95. package/lib/browser/keybinding.js +18 -26
  96. package/lib/browser/keybinding.js.map +1 -1
  97. package/lib/browser/keybinding.spec.js +4 -9
  98. package/lib/browser/keybinding.spec.js.map +1 -1
  99. package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js +6 -14
  100. package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js.map +1 -1
  101. package/lib/browser/keyboard/browser-keyboard-layout-provider.js +10 -18
  102. package/lib/browser/keyboard/browser-keyboard-layout-provider.js.map +1 -1
  103. package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js +2 -7
  104. package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js.map +1 -1
  105. package/lib/browser/keyboard/index.js +5 -14
  106. package/lib/browser/keyboard/index.js.map +1 -1
  107. package/lib/browser/keyboard/keyboard-layout-service.js +8 -16
  108. package/lib/browser/keyboard/keyboard-layout-service.js.map +1 -1
  109. package/lib/browser/keyboard/keyboard-layout-service.spec.js +2 -7
  110. package/lib/browser/keyboard/keyboard-layout-service.spec.js.map +1 -1
  111. package/lib/browser/keyboard/keys.js +2 -11
  112. package/lib/browser/keyboard/keys.js.map +1 -1
  113. package/lib/browser/label-parser.js +2 -7
  114. package/lib/browser/label-parser.js.map +1 -1
  115. package/lib/browser/label-provider.js +11 -19
  116. package/lib/browser/label-provider.js.map +1 -1
  117. package/lib/browser/language-icon-provider.js +10 -18
  118. package/lib/browser/language-icon-provider.js.map +1 -1
  119. package/lib/browser/language-service.js +2 -7
  120. package/lib/browser/language-service.js.map +1 -1
  121. package/lib/browser/markdown-rendering/markdown-renderer.d.ts +1 -1
  122. package/lib/browser/markdown-rendering/markdown-renderer.d.ts.map +1 -1
  123. package/lib/browser/markdown-rendering/markdown-renderer.js +8 -16
  124. package/lib/browser/markdown-rendering/markdown-renderer.js.map +1 -1
  125. package/lib/browser/menu/browser-context-menu-renderer.js +4 -15
  126. package/lib/browser/menu/browser-context-menu-renderer.js.map +1 -1
  127. package/lib/browser/menu/browser-menu-plugin.js +23 -34
  128. package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
  129. package/lib/browser/menu/context-menu-context.js +3 -11
  130. package/lib/browser/menu/context-menu-context.js.map +1 -1
  131. package/lib/browser/messaging/frontend-id-provider.js +2 -7
  132. package/lib/browser/messaging/frontend-id-provider.js.map +1 -1
  133. package/lib/browser/messaging/index.js +2 -11
  134. package/lib/browser/messaging/index.js.map +1 -1
  135. package/lib/browser/messaging/service-connection-provider.js +8 -16
  136. package/lib/browser/messaging/service-connection-provider.js.map +1 -1
  137. package/lib/browser/messaging/ws-connection-provider.js +4 -12
  138. package/lib/browser/messaging/ws-connection-provider.js.map +1 -1
  139. package/lib/browser/messaging/ws-connection-source.js +9 -17
  140. package/lib/browser/messaging/ws-connection-source.js.map +1 -1
  141. package/lib/browser/mime-service.js +2 -7
  142. package/lib/browser/mime-service.js.map +1 -1
  143. package/lib/browser/navigatable.js +2 -11
  144. package/lib/browser/navigatable.js.map +1 -1
  145. package/lib/browser/opener-service.js +5 -16
  146. package/lib/browser/opener-service.js.map +1 -1
  147. package/lib/browser/performance/frontend-stopwatch.js +3 -11
  148. package/lib/browser/performance/frontend-stopwatch.js.map +1 -1
  149. package/lib/browser/performance/index.js +3 -12
  150. package/lib/browser/performance/index.js.map +1 -1
  151. package/lib/browser/preferences/index.js +8 -17
  152. package/lib/browser/preferences/index.js.map +1 -1
  153. package/lib/browser/preferences/injectable-preference-proxy.js +14 -22
  154. package/lib/browser/preferences/injectable-preference-proxy.js.map +1 -1
  155. package/lib/browser/preferences/preference-configurations.js +4 -12
  156. package/lib/browser/preferences/preference-configurations.js.map +1 -1
  157. package/lib/browser/preferences/preference-contribution.js +10 -18
  158. package/lib/browser/preferences/preference-contribution.js.map +1 -1
  159. package/lib/browser/preferences/preference-language-override-service.js +2 -7
  160. package/lib/browser/preferences/preference-language-override-service.js.map +1 -1
  161. package/lib/browser/preferences/preference-provider.js +5 -13
  162. package/lib/browser/preferences/preference-provider.js.map +1 -1
  163. package/lib/browser/preferences/preference-service.js +14 -22
  164. package/lib/browser/preferences/preference-service.js.map +1 -1
  165. package/lib/browser/preferences/preference-validation-service.js +6 -14
  166. package/lib/browser/preferences/preference-validation-service.js.map +1 -1
  167. package/lib/browser/preferences/test/index.js +4 -13
  168. package/lib/browser/preferences/test/index.js.map +1 -1
  169. package/lib/browser/preferences/test/mock-preference-service.js +3 -11
  170. package/lib/browser/preferences/test/mock-preference-service.js.map +1 -1
  171. package/lib/browser/preload/i18n-preload-contribution.js +4 -12
  172. package/lib/browser/preload/i18n-preload-contribution.js.map +1 -1
  173. package/lib/browser/preload/os-preload-contribution.js +4 -12
  174. package/lib/browser/preload/os-preload-contribution.js.map +1 -1
  175. package/lib/browser/preload/preloader.js +4 -12
  176. package/lib/browser/preload/preloader.js.map +1 -1
  177. package/lib/browser/preload/theme-preload-contribution.js +2 -7
  178. package/lib/browser/preload/theme-preload-contribution.js.map +1 -1
  179. package/lib/browser/progress-bar.js +11 -19
  180. package/lib/browser/progress-bar.js.map +1 -1
  181. package/lib/browser/progress-client.js +6 -14
  182. package/lib/browser/progress-client.js.map +1 -1
  183. package/lib/browser/progress-location-service.js +2 -7
  184. package/lib/browser/progress-location-service.js.map +1 -1
  185. package/lib/browser/progress-status-bar-item.js +4 -12
  186. package/lib/browser/progress-status-bar-item.js.map +1 -1
  187. package/lib/browser/quick-input/index.js +9 -18
  188. package/lib/browser/quick-input/index.js.map +1 -1
  189. package/lib/browser/quick-input/quick-command-frontend-contribution.js +6 -14
  190. package/lib/browser/quick-input/quick-command-frontend-contribution.js.map +1 -1
  191. package/lib/browser/quick-input/quick-command-service.js +12 -20
  192. package/lib/browser/quick-input/quick-command-service.js.map +1 -1
  193. package/lib/browser/quick-input/quick-help-service.js +6 -14
  194. package/lib/browser/quick-input/quick-help-service.js.map +1 -1
  195. package/lib/browser/quick-input/quick-input-frontend-contribution.js +4 -12
  196. package/lib/browser/quick-input/quick-input-frontend-contribution.js.map +1 -1
  197. package/lib/browser/quick-input/quick-input-service.js +2 -11
  198. package/lib/browser/quick-input/quick-input-service.js.map +1 -1
  199. package/lib/browser/quick-input/quick-pick-service-impl.js +4 -12
  200. package/lib/browser/quick-input/quick-pick-service-impl.js.map +1 -1
  201. package/lib/browser/quick-input/quick-view-service.js +6 -14
  202. package/lib/browser/quick-input/quick-view-service.js.map +1 -1
  203. package/lib/browser/request/browser-request-service.js +12 -20
  204. package/lib/browser/request/browser-request-service.js.map +1 -1
  205. package/lib/browser/resource-context-key.js +10 -18
  206. package/lib/browser/resource-context-key.js.map +1 -1
  207. package/lib/browser/save-resource-service.d.ts +3 -3
  208. package/lib/browser/save-resource-service.d.ts.map +1 -1
  209. package/lib/browser/save-resource-service.js +6 -13
  210. package/lib/browser/save-resource-service.js.map +1 -1
  211. package/lib/browser/secondary-window-handler.js +12 -20
  212. package/lib/browser/secondary-window-handler.js.map +1 -1
  213. package/lib/browser/shell/additional-views-menu-widget.js +6 -14
  214. package/lib/browser/shell/additional-views-menu-widget.js.map +1 -1
  215. package/lib/browser/shell/application-shell-mouse-tracker.js +4 -12
  216. package/lib/browser/shell/application-shell-mouse-tracker.js.map +1 -1
  217. package/lib/browser/shell/application-shell.d.ts.map +1 -1
  218. package/lib/browser/shell/application-shell.js +40 -46
  219. package/lib/browser/shell/application-shell.js.map +1 -1
  220. package/lib/browser/shell/index.js +8 -17
  221. package/lib/browser/shell/index.js.map +1 -1
  222. package/lib/browser/shell/shell-layout-restorer.js +12 -23
  223. package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
  224. package/lib/browser/shell/side-panel-handler.js +22 -30
  225. package/lib/browser/shell/side-panel-handler.js.map +1 -1
  226. package/lib/browser/shell/sidebar-bottom-menu-widget.js +2 -7
  227. package/lib/browser/shell/sidebar-bottom-menu-widget.js.map +1 -1
  228. package/lib/browser/shell/sidebar-menu-widget.js +7 -15
  229. package/lib/browser/shell/sidebar-menu-widget.js.map +1 -1
  230. package/lib/browser/shell/sidebar-top-menu-widget.js +2 -7
  231. package/lib/browser/shell/sidebar-top-menu-widget.js.map +1 -1
  232. package/lib/browser/shell/split-panels.js +2 -7
  233. package/lib/browser/shell/split-panels.js.map +1 -1
  234. package/lib/browser/shell/tab-bar-decorator.d.ts +7 -2
  235. package/lib/browser/shell/tab-bar-decorator.d.ts.map +1 -1
  236. package/lib/browser/shell/tab-bar-decorator.js +39 -16
  237. package/lib/browser/shell/tab-bar-decorator.js.map +1 -1
  238. package/lib/browser/shell/tab-bar-toolbar/index.js +4 -13
  239. package/lib/browser/shell/tab-bar-toolbar/index.js.map +1 -1
  240. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +10 -18
  241. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js.map +1 -1
  242. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +23 -31
  243. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
  244. package/lib/browser/shell/tab-bars.d.ts +4 -1
  245. package/lib/browser/shell/tab-bars.d.ts.map +1 -1
  246. package/lib/browser/shell/tab-bars.js +39 -4
  247. package/lib/browser/shell/tab-bars.js.map +1 -1
  248. package/lib/browser/shell/view-contribution.js +9 -17
  249. package/lib/browser/shell/view-contribution.js.map +1 -1
  250. package/lib/browser/source-tree/index.js +4 -13
  251. package/lib/browser/source-tree/index.js.map +1 -1
  252. package/lib/browser/source-tree/source-tree-widget.js +6 -14
  253. package/lib/browser/source-tree/source-tree-widget.js.map +1 -1
  254. package/lib/browser/source-tree/source-tree.js +2 -7
  255. package/lib/browser/source-tree/source-tree.js.map +1 -1
  256. package/lib/browser/source-tree/tree-source.js +4 -15
  257. package/lib/browser/source-tree/tree-source.js.map +1 -1
  258. package/lib/browser/status-bar/index.js +4 -13
  259. package/lib/browser/status-bar/index.js.map +1 -1
  260. package/lib/browser/status-bar/status-bar-view-model.js +2 -7
  261. package/lib/browser/status-bar/status-bar-view-model.js.map +1 -1
  262. package/lib/browser/status-bar/status-bar.js +9 -20
  263. package/lib/browser/status-bar/status-bar.js.map +1 -1
  264. package/lib/browser/storage-service.js +12 -20
  265. package/lib/browser/storage-service.js.map +1 -1
  266. package/lib/browser/styling-service.js +8 -16
  267. package/lib/browser/styling-service.js.map +1 -1
  268. package/lib/browser/test/mock-opener-service.js +2 -7
  269. package/lib/browser/test/mock-opener-service.js.map +1 -1
  270. package/lib/browser/test/mock-storage-service.js +2 -7
  271. package/lib/browser/test/mock-storage-service.js.map +1 -1
  272. package/lib/browser/theming.js +10 -18
  273. package/lib/browser/theming.js.map +1 -1
  274. package/lib/browser/tooltip-service.js +13 -24
  275. package/lib/browser/tooltip-service.js.map +1 -1
  276. package/lib/browser/tree/fuzzy-search.js +2 -7
  277. package/lib/browser/tree/fuzzy-search.js.map +1 -1
  278. package/lib/browser/tree/index.js +14 -23
  279. package/lib/browser/tree/index.js.map +1 -1
  280. package/lib/browser/tree/test/mock-selectable-tree-model.d.ts +15 -0
  281. package/lib/browser/tree/test/mock-selectable-tree-model.d.ts.map +1 -0
  282. package/lib/browser/tree/test/mock-selectable-tree-model.js +103 -0
  283. package/lib/browser/tree/test/mock-selectable-tree-model.js.map +1 -0
  284. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.js +6 -14
  285. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.js.map +1 -1
  286. package/lib/browser/tree/tree-compression/compressed-tree-model.js +6 -14
  287. package/lib/browser/tree/tree-compression/compressed-tree-model.js.map +1 -1
  288. package/lib/browser/tree/tree-compression/compressed-tree-widget.js +10 -21
  289. package/lib/browser/tree/tree-compression/compressed-tree-widget.js.map +1 -1
  290. package/lib/browser/tree/tree-compression/index.js +5 -14
  291. package/lib/browser/tree/tree-compression/index.js.map +1 -1
  292. package/lib/browser/tree/tree-compression/tree-compression-service.js +2 -7
  293. package/lib/browser/tree/tree-compression/tree-compression-service.js.map +1 -1
  294. package/lib/browser/tree/tree-consistency.spec.js +2 -7
  295. package/lib/browser/tree/tree-consistency.spec.js.map +1 -1
  296. package/lib/browser/tree/tree-decorator.js +4 -12
  297. package/lib/browser/tree/tree-decorator.js.map +1 -1
  298. package/lib/browser/tree/tree-expansion.js +8 -16
  299. package/lib/browser/tree/tree-expansion.js.map +1 -1
  300. package/lib/browser/tree/tree-focus-service.js +4 -12
  301. package/lib/browser/tree/tree-focus-service.js.map +1 -1
  302. package/lib/browser/tree/tree-label-provider.js +2 -7
  303. package/lib/browser/tree/tree-label-provider.js.map +1 -1
  304. package/lib/browser/tree/tree-model.d.ts +24 -0
  305. package/lib/browser/tree/tree-model.d.ts.map +1 -1
  306. package/lib/browser/tree/tree-model.js +66 -28
  307. package/lib/browser/tree/tree-model.js.map +1 -1
  308. package/lib/browser/tree/tree-navigation.js +2 -7
  309. package/lib/browser/tree/tree-navigation.js.map +1 -1
  310. package/lib/browser/tree/tree-search.js +12 -20
  311. package/lib/browser/tree/tree-search.js.map +1 -1
  312. package/lib/browser/tree/tree-selectable.spec.d.ts +2 -0
  313. package/lib/browser/tree/tree-selectable.spec.d.ts.map +1 -0
  314. package/lib/browser/tree/tree-selectable.spec.js +147 -0
  315. package/lib/browser/tree/tree-selectable.spec.js.map +1 -0
  316. package/lib/browser/tree/tree-selection-impl.js +10 -18
  317. package/lib/browser/tree/tree-selection-impl.js.map +1 -1
  318. package/lib/browser/tree/tree-view-welcome-widget.js +8 -16
  319. package/lib/browser/tree/tree-view-welcome-widget.js.map +1 -1
  320. package/lib/browser/tree/tree-widget.js +26 -37
  321. package/lib/browser/tree/tree-widget.js.map +1 -1
  322. package/lib/browser/tree/tree.js +3 -11
  323. package/lib/browser/tree/tree.js.map +1 -1
  324. package/lib/browser/user-working-directory-provider.js +6 -14
  325. package/lib/browser/user-working-directory-provider.js.map +1 -1
  326. package/lib/browser/view-container.js +31 -39
  327. package/lib/browser/view-container.js.map +1 -1
  328. package/lib/browser/widget-manager.js +6 -14
  329. package/lib/browser/widget-manager.js.map +1 -1
  330. package/lib/browser/widget-open-handler.js +10 -18
  331. package/lib/browser/widget-open-handler.js.map +1 -1
  332. package/lib/browser/widgets/index.js +5 -14
  333. package/lib/browser/widgets/index.js.map +1 -1
  334. package/lib/browser/widgets/react-renderer.js +5 -16
  335. package/lib/browser/widgets/react-renderer.js.map +1 -1
  336. package/lib/browser/widgets/react-widget.js +4 -15
  337. package/lib/browser/widgets/react-widget.js.map +1 -1
  338. package/lib/browser/widgets/widget.d.ts +2 -0
  339. package/lib/browser/widgets/widget.d.ts.map +1 -1
  340. package/lib/browser/widgets/widget.js +14 -24
  341. package/lib/browser/widgets/widget.js.map +1 -1
  342. package/lib/browser/window/default-secondary-window-service.js +10 -18
  343. package/lib/browser/window/default-secondary-window-service.js.map +1 -1
  344. package/lib/browser/window/default-window-service.js +6 -14
  345. package/lib/browser/window/default-window-service.js.map +1 -1
  346. package/lib/browser/window/test/mock-window-service.js +2 -7
  347. package/lib/browser/window/test/mock-window-service.js.map +1 -1
  348. package/lib/browser/window/window-title-service.js +8 -16
  349. package/lib/browser/window/window-title-service.js.map +1 -1
  350. package/lib/browser/window/window-title-updater.js +6 -14
  351. package/lib/browser/window/window-title-updater.js.map +1 -1
  352. package/lib/browser/window-contribution.js +4 -12
  353. package/lib/browser/window-contribution.js.map +1 -1
  354. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js +3 -8
  355. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js.map +1 -1
  356. package/lib/common/command.js +5 -16
  357. package/lib/common/command.js.map +1 -1
  358. package/lib/common/contribution-filter/contribution-filter-registry.js +5 -16
  359. package/lib/common/contribution-filter/contribution-filter-registry.js.map +1 -1
  360. package/lib/common/contribution-filter/index.js +4 -13
  361. package/lib/common/contribution-filter/index.js.map +1 -1
  362. package/lib/common/disposable.d.ts +28 -0
  363. package/lib/common/disposable.d.ts.map +1 -1
  364. package/lib/common/disposable.js +28 -0
  365. package/lib/common/disposable.js.map +1 -1
  366. package/lib/common/disposable.spec.js +51 -0
  367. package/lib/common/disposable.spec.js.map +1 -1
  368. package/lib/common/encoding-service.js +2 -7
  369. package/lib/common/encoding-service.js.map +1 -1
  370. package/lib/common/env-variables/index.js +2 -11
  371. package/lib/common/env-variables/index.js.map +1 -1
  372. package/lib/common/index.d.ts +1 -0
  373. package/lib/common/index.d.ts.map +1 -1
  374. package/lib/common/index.js +34 -42
  375. package/lib/common/index.js.map +1 -1
  376. package/lib/common/logger-protocol.js +2 -7
  377. package/lib/common/logger-protocol.js.map +1 -1
  378. package/lib/common/logger-watcher.js +2 -7
  379. package/lib/common/logger-watcher.js.map +1 -1
  380. package/lib/common/logger.js +14 -22
  381. package/lib/common/logger.js.map +1 -1
  382. package/lib/common/markdown-rendering/index.js +3 -12
  383. package/lib/common/markdown-rendering/index.js.map +1 -1
  384. package/lib/common/markdown-rendering/markdown-string.d.ts +5 -2
  385. package/lib/common/markdown-rendering/markdown-string.d.ts.map +1 -1
  386. package/lib/common/markdown-rendering/markdown-string.js.map +1 -1
  387. package/lib/common/menu/composite-menu-node.js +5 -5
  388. package/lib/common/menu/composite-menu-node.js.map +1 -1
  389. package/lib/common/menu/composite-menu-node.spec.d.ts +2 -0
  390. package/lib/common/menu/composite-menu-node.spec.d.ts.map +1 -0
  391. package/lib/common/menu/composite-menu-node.spec.js +68 -0
  392. package/lib/common/menu/composite-menu-node.spec.js.map +1 -0
  393. package/lib/common/menu/index.js +6 -15
  394. package/lib/common/menu/index.js.map +1 -1
  395. package/lib/common/menu/menu-adapter.js +7 -15
  396. package/lib/common/menu/menu-adapter.js.map +1 -1
  397. package/lib/common/menu/menu-model-registry.js +6 -17
  398. package/lib/common/menu/menu-model-registry.js.map +1 -1
  399. package/lib/common/message-service-protocol.js +2 -7
  400. package/lib/common/message-service-protocol.js.map +1 -1
  401. package/lib/common/message-service.js +4 -15
  402. package/lib/common/message-service.js.map +1 -1
  403. package/lib/common/messaging/index.js +4 -13
  404. package/lib/common/messaging/index.js.map +1 -1
  405. package/lib/common/performance/index.js +4 -13
  406. package/lib/common/performance/index.js.map +1 -1
  407. package/lib/common/performance/measurement-protocol.js +5 -13
  408. package/lib/common/performance/measurement-protocol.js.map +1 -1
  409. package/lib/common/performance/stopwatch.js +5 -13
  410. package/lib/common/performance/stopwatch.js.map +1 -1
  411. package/lib/common/progress-service.js +6 -14
  412. package/lib/common/progress-service.js.map +1 -1
  413. package/lib/common/promise-util.spec.js +31 -6
  414. package/lib/common/promise-util.spec.js.map +1 -1
  415. package/lib/common/quick-pick-service.d.ts +14 -25
  416. package/lib/common/quick-pick-service.d.ts.map +1 -1
  417. package/lib/common/quick-pick-service.js +1 -26
  418. package/lib/common/quick-pick-service.js.map +1 -1
  419. package/lib/common/reference.d.ts +55 -0
  420. package/lib/common/reference.d.ts.map +1 -1
  421. package/lib/common/reference.js +55 -0
  422. package/lib/common/reference.js.map +1 -1
  423. package/lib/common/resource.d.ts +3 -1
  424. package/lib/common/resource.d.ts.map +1 -1
  425. package/lib/common/resource.js +8 -19
  426. package/lib/common/resource.js.map +1 -1
  427. package/lib/common/selection-service.js +2 -7
  428. package/lib/common/selection-service.js.map +1 -1
  429. package/lib/common/test/mock-logger.js +2 -7
  430. package/lib/common/test/mock-logger.js.map +1 -1
  431. package/lib/common/test/mock-resource-provider.js +3 -11
  432. package/lib/common/test/mock-resource-provider.js.map +1 -1
  433. package/lib/common/theme.d.ts +25 -0
  434. package/lib/common/theme.d.ts.map +1 -1
  435. package/lib/common/theme.js.map +1 -1
  436. package/lib/common/uri.d.ts +1 -0
  437. package/lib/common/uri.d.ts.map +1 -1
  438. package/lib/common/uri.js +1 -1
  439. package/lib/common/uri.js.map +1 -1
  440. package/lib/common/uuid.d.ts +1 -1
  441. package/lib/common/uuid.d.ts.map +1 -1
  442. package/lib/common/uuid.js +4 -57
  443. package/lib/common/uuid.js.map +1 -1
  444. package/lib/electron-browser/electron-clipboard-service.js +2 -7
  445. package/lib/electron-browser/electron-clipboard-service.js.map +1 -1
  446. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js +6 -14
  447. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js.map +1 -1
  448. package/lib/electron-browser/menu/electron-context-menu-renderer.js +15 -26
  449. package/lib/electron-browser/menu/electron-context-menu-renderer.js.map +1 -1
  450. package/lib/electron-browser/menu/electron-main-menu-factory.js +8 -16
  451. package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
  452. package/lib/electron-browser/menu/electron-menu-contribution.d.ts +2 -1
  453. package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
  454. package/lib/electron-browser/menu/electron-menu-contribution.js +33 -35
  455. package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
  456. package/lib/electron-browser/messaging/electron-frontend-id-provider.js +2 -7
  457. package/lib/electron-browser/messaging/electron-frontend-id-provider.js.map +1 -1
  458. package/lib/electron-browser/messaging/electron-ipc-connection-source.js +2 -7
  459. package/lib/electron-browser/messaging/electron-ipc-connection-source.js.map +1 -1
  460. package/lib/electron-browser/messaging/electron-local-ws-connection-source.js +2 -7
  461. package/lib/electron-browser/messaging/electron-local-ws-connection-source.js.map +1 -1
  462. package/lib/electron-browser/messaging/electron-messaging-frontend-module.js +3 -3
  463. package/lib/electron-browser/messaging/electron-messaging-frontend-module.js.map +1 -1
  464. package/lib/electron-browser/messaging/electron-ws-connection-source.js +3 -11
  465. package/lib/electron-browser/messaging/electron-ws-connection-source.js.map +1 -1
  466. package/lib/electron-browser/window/electron-frontend-application-state.js +2 -7
  467. package/lib/electron-browser/window/electron-frontend-application-state.js.map +1 -1
  468. package/lib/electron-browser/window/electron-secondary-window-service.js +2 -7
  469. package/lib/electron-browser/window/electron-secondary-window-service.js.map +1 -1
  470. package/lib/electron-browser/window/electron-window-service.js +14 -22
  471. package/lib/electron-browser/window/electron-window-service.js.map +1 -1
  472. package/lib/electron-main/electron-api-main.js +4 -12
  473. package/lib/electron-main/electron-api-main.js.map +1 -1
  474. package/lib/electron-main/electron-main-application-module.js +2 -2
  475. package/lib/electron-main/electron-main-application-module.js.map +1 -1
  476. package/lib/electron-main/electron-main-application.js +15 -23
  477. package/lib/electron-main/electron-main-application.js.map +1 -1
  478. package/lib/electron-main/electron-main-window-service-impl.js +4 -12
  479. package/lib/electron-main/electron-main-window-service-impl.js.map +1 -1
  480. package/lib/electron-main/electron-security-token-service.js +4 -12
  481. package/lib/electron-main/electron-security-token-service.js.map +1 -1
  482. package/lib/electron-main/messaging/electron-messaging-contribution.js +10 -18
  483. package/lib/electron-main/messaging/electron-messaging-contribution.js.map +1 -1
  484. package/lib/electron-main/theia-electron-window.js +12 -20
  485. package/lib/electron-main/theia-electron-window.js.map +1 -1
  486. package/lib/electron-node/hosting/electron-ws-origin-validator.js +4 -12
  487. package/lib/electron-node/hosting/electron-ws-origin-validator.js.map +1 -1
  488. package/lib/electron-node/keyboard/electron-keyboard-layout-provider.js +2 -7
  489. package/lib/electron-node/keyboard/electron-keyboard-layout-provider.js.map +1 -1
  490. package/lib/electron-node/request/electron-backend-request-service.js +2 -7
  491. package/lib/electron-node/request/electron-backend-request-service.js.map +1 -1
  492. package/lib/electron-node/token/electron-token-backend-contribution.js +4 -12
  493. package/lib/electron-node/token/electron-token-backend-contribution.js.map +1 -1
  494. package/lib/electron-node/token/electron-token-validator.js +6 -14
  495. package/lib/electron-node/token/electron-token-validator.js.map +1 -1
  496. package/lib/node/application-server.js +4 -12
  497. package/lib/node/application-server.js.map +1 -1
  498. package/lib/node/backend-application.js +17 -28
  499. package/lib/node/backend-application.js.map +1 -1
  500. package/lib/node/backend-remote-service.js +2 -7
  501. package/lib/node/backend-remote-service.js.map +1 -1
  502. package/lib/node/cli.js +5 -16
  503. package/lib/node/cli.js.map +1 -1
  504. package/lib/node/console-logger-server.js +10 -18
  505. package/lib/node/console-logger-server.js.map +1 -1
  506. package/lib/node/console-logger-server.spec.js +6 -14
  507. package/lib/node/console-logger-server.spec.js.map +1 -1
  508. package/lib/node/env-variables/env-variables-server.js +3 -11
  509. package/lib/node/env-variables/env-variables-server.js.map +1 -1
  510. package/lib/node/env-variables/index.js +2 -11
  511. package/lib/node/env-variables/index.js.map +1 -1
  512. package/lib/node/environment-utils.js +2 -7
  513. package/lib/node/environment-utils.js.map +1 -1
  514. package/lib/node/filesystem-locking.js +2 -7
  515. package/lib/node/filesystem-locking.js.map +1 -1
  516. package/lib/node/hosting/backend-application-hosts.js +6 -14
  517. package/lib/node/hosting/backend-application-hosts.js.map +1 -1
  518. package/lib/node/hosting/ws-origin-validator.js +4 -12
  519. package/lib/node/hosting/ws-origin-validator.js.map +1 -1
  520. package/lib/node/i18n/localization-contribution.js +6 -14
  521. package/lib/node/i18n/localization-contribution.js.map +1 -1
  522. package/lib/node/i18n/localization-provider.js +2 -7
  523. package/lib/node/i18n/localization-provider.js.map +1 -1
  524. package/lib/node/i18n/localization-server.js +6 -14
  525. package/lib/node/i18n/localization-server.js.map +1 -1
  526. package/lib/node/i18n/theia-localization-contribution.js +2 -7
  527. package/lib/node/i18n/theia-localization-contribution.js.map +1 -1
  528. package/lib/node/index.js +6 -15
  529. package/lib/node/index.js.map +1 -1
  530. package/lib/node/key-store-server.js +2 -7
  531. package/lib/node/key-store-server.js.map +1 -1
  532. package/lib/node/logger-cli-contribution.js +2 -7
  533. package/lib/node/logger-cli-contribution.js.map +1 -1
  534. package/lib/node/messaging/default-messaging-service.js +10 -18
  535. package/lib/node/messaging/default-messaging-service.js.map +1 -1
  536. package/lib/node/messaging/index.js +4 -13
  537. package/lib/node/messaging/index.js.map +1 -1
  538. package/lib/node/messaging/ipc-connection-provider.js +4 -12
  539. package/lib/node/messaging/ipc-connection-provider.js.map +1 -1
  540. package/lib/node/messaging/messaging-listeners.js +4 -12
  541. package/lib/node/messaging/messaging-listeners.js.map +1 -1
  542. package/lib/node/messaging/test/test-web-socket-channel.js +3 -11
  543. package/lib/node/messaging/test/test-web-socket-channel.js.map +1 -1
  544. package/lib/node/messaging/websocket-endpoint.js +6 -14
  545. package/lib/node/messaging/websocket-endpoint.js.map +1 -1
  546. package/lib/node/messaging/websocket-frontend-connection-service.js +4 -12
  547. package/lib/node/messaging/websocket-frontend-connection-service.js.map +1 -1
  548. package/lib/node/os-backend-provider.js +2 -7
  549. package/lib/node/os-backend-provider.js.map +1 -1
  550. package/lib/node/performance/index.js +3 -12
  551. package/lib/node/performance/index.js.map +1 -1
  552. package/lib/node/performance/node-stopwatch.js +3 -11
  553. package/lib/node/performance/node-stopwatch.js.map +1 -1
  554. package/lib/node/process-utils.js +2 -7
  555. package/lib/node/process-utils.js.map +1 -1
  556. package/lib/node/request/backend-request-facade.js +4 -12
  557. package/lib/node/request/backend-request-facade.js.map +1 -1
  558. package/lib/node/request/proxy-cli-contribution.js +4 -12
  559. package/lib/node/request/proxy-cli-contribution.js.map +1 -1
  560. package/lib/node/ws-request-validators.js +4 -12
  561. package/lib/node/ws-request-validators.js.map +1 -1
  562. package/package.json +10 -8
  563. package/src/browser/context-key-service.ts +1 -2
  564. package/src/browser/context-menu-renderer.ts +0 -4
  565. package/src/browser/core-preferences.ts +6 -0
  566. package/src/browser/frontend-application-module.ts +3 -1
  567. package/src/browser/icon-registry.ts +1 -10
  568. package/src/browser/markdown-rendering/markdown-renderer.ts +1 -1
  569. package/src/browser/save-resource-service.ts +5 -4
  570. package/src/browser/shell/application-shell.ts +8 -3
  571. package/src/browser/shell/tab-bar-decorator.ts +36 -6
  572. package/src/browser/shell/tab-bars.ts +41 -5
  573. package/src/browser/style/index.css +153 -148
  574. package/src/browser/style/tabs.css +6 -0
  575. package/src/browser/tooltip-service.tsx +2 -2
  576. package/src/browser/tree/test/mock-selectable-tree-model.ts +109 -0
  577. package/src/browser/tree/tree-model.ts +74 -0
  578. package/src/browser/tree/tree-selectable.spec.ts +152 -0
  579. package/src/browser/widgets/widget.ts +8 -0
  580. package/src/common/disposable.spec.ts +66 -1
  581. package/src/common/disposable.ts +28 -0
  582. package/src/common/index.ts +1 -0
  583. package/src/common/markdown-rendering/markdown-string.ts +6 -3
  584. package/src/common/menu/composite-menu-node.spec.ts +67 -0
  585. package/src/common/menu/composite-menu-node.ts +5 -5
  586. package/src/common/promise-util.spec.ts +48 -18
  587. package/src/common/quick-pick-service.ts +11 -33
  588. package/src/common/reference.ts +55 -0
  589. package/src/common/resource.ts +5 -1
  590. package/src/common/theme.ts +32 -0
  591. package/src/common/uri.ts +4 -2
  592. package/src/common/uuid.ts +4 -71
  593. package/src/electron-browser/menu/electron-menu-contribution.ts +9 -1
  594. package/src/electron-browser/messaging/electron-messaging-frontend-module.ts +1 -1
  595. package/src/electron-main/electron-main-application-module.ts +2 -2
@@ -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,32 +103,6 @@ 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
107
  handle: number; // index of where the button is in buttons array if QuickInputButton or -1 if QuickInputButtons.Back
135
108
  }
@@ -191,7 +164,7 @@ export interface QuickPick<T extends QuickPickItemOrSeparator> extends QuickInpu
191
164
  readonly onDidAccept: Event<{ inBackground: boolean } | undefined>;
192
165
  readonly onDidChangeValue: Event<string>;
193
166
  readonly onDidTriggerButton: Event<QuickInputButton>;
194
- readonly onDidTriggerItemButton: Event<QuickPickItemButtonEvent<T>>;
167
+ readonly onDidTriggerItemButton: Event<QuickPickItemButtonEvent<QuickPickItem>>;
195
168
  readonly onDidChangeActive: Event<T[]>;
196
169
  readonly onDidChangeSelection: Event<T[]>;
197
170
  }
@@ -281,8 +254,13 @@ export interface QuickInputService {
281
254
  open(filter: string): void;
282
255
  createInputBox(): InputBox;
283
256
  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>;
257
+ pick<T extends QuickPickItem>(picks: Promise<QuickPickInput<T>[]> | QuickPickInput<T>[],
258
+ options?: PickOptions<T> & { canPickMany: true }, token?: CancellationToken): Promise<T[] | undefined>;
259
+ pick<T extends QuickPickItem>(picks: Promise<QuickPickInput<T>[]> | QuickPickInput<T>[],
260
+ options?: PickOptions<T> & { canPickMany: false }, token?: CancellationToken): Promise<T | undefined>;
261
+ pick<T extends QuickPickItem>(picks: Promise<QuickPickInput<T>[]> | QuickPickInput<T>[],
262
+ options?: Omit<PickOptions<T>, 'canPickMany'>, token?: CancellationToken): Promise<T | undefined>;
263
+
286
264
  showQuickPick<T extends QuickPickItem>(items: Array<T | QuickPickSeparator>, options?: QuickPickOptions<T>): Promise<T | undefined>;
287
265
  hide(): void;
288
266
  /**
@@ -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,7 +21,7 @@
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 { v5 } from 'uuid';
24
+ import { v4, v5 } from 'uuid';
25
25
 
26
26
  const _UUIDPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
27
27
 
@@ -29,76 +29,9 @@ export function isUUID(value: string): boolean {
29
29
  return _UUIDPattern.test(value);
30
30
  }
31
31
 
32
- declare const crypto: undefined | {
33
- // https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues#browser_compatibility
34
- getRandomValues?(data: Uint8Array): Uint8Array;
35
- // https://developer.mozilla.org/en-US/docs/Web/API/Crypto/randomUUID#browser_compatibility
36
- randomUUID?(): string;
37
- };
38
-
39
- export const generateUuid = (function (): () => string {
40
-
41
- // use `randomUUID` if possible
42
- if (typeof crypto === 'object' && typeof crypto.randomUUID === 'function') {
43
- return crypto.randomUUID.bind(crypto);
44
- }
45
-
46
- // use `randomValues` if possible
47
- let getRandomValues: (bucket: Uint8Array) => Uint8Array;
48
- if (typeof crypto === 'object' && typeof crypto.getRandomValues === 'function') {
49
- getRandomValues = crypto.getRandomValues.bind(crypto);
50
-
51
- } else {
52
- getRandomValues = function (bucket: Uint8Array): Uint8Array {
53
- for (let i = 0; i < bucket.length; i++) {
54
- bucket[i] = Math.floor(Math.random() * 256);
55
- }
56
- return bucket;
57
- };
58
- }
59
-
60
- // prep-work
61
- const _data = new Uint8Array(16);
62
- const _hex: string[] = [];
63
- for (let i = 0; i < 256; i++) {
64
- _hex.push(i.toString(16).padStart(2, '0'));
65
- }
66
-
67
- // eslint-disable-next-line @typescript-eslint/no-shadow
68
- return function generateUuid(): string {
69
- // get data
70
- getRandomValues(_data);
71
-
72
- // set version bits
73
- _data[6] = (_data[6] & 0x0f) | 0x40;
74
- _data[8] = (_data[8] & 0x3f) | 0x80;
75
-
76
- // print as string
77
- let i = 0;
78
- let result = '';
79
- result += _hex[_data[i++]];
80
- result += _hex[_data[i++]];
81
- result += _hex[_data[i++]];
82
- result += _hex[_data[i++]];
83
- result += '-';
84
- result += _hex[_data[i++]];
85
- result += _hex[_data[i++]];
86
- result += '-';
87
- result += _hex[_data[i++]];
88
- result += _hex[_data[i++]];
89
- result += '-';
90
- result += _hex[_data[i++]];
91
- result += _hex[_data[i++]];
92
- result += '-';
93
- result += _hex[_data[i++]];
94
- result += _hex[_data[i++]];
95
- result += _hex[_data[i++]];
96
- result += _hex[_data[i++]];
97
- result += _hex[_data[i++]];
98
- result += _hex[_data[i++]];
99
- return result;
100
- };
101
- })();
32
+ export function generateUuid(): string {
33
+ return v4();
34
+ }
102
35
 
103
36
  const NAMESPACE = '4c90ee4f-d952-44b1-83ca-f04121ab8e05';
104
37
  /**
@@ -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
 
@@ -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