@theia/core 1.47.0-next.0 → 1.47.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) 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/tree-compression/compressed-tree-expansion-service.js +6 -14
  281. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.js.map +1 -1
  282. package/lib/browser/tree/tree-compression/compressed-tree-model.js +6 -14
  283. package/lib/browser/tree/tree-compression/compressed-tree-model.js.map +1 -1
  284. package/lib/browser/tree/tree-compression/compressed-tree-widget.js +10 -21
  285. package/lib/browser/tree/tree-compression/compressed-tree-widget.js.map +1 -1
  286. package/lib/browser/tree/tree-compression/index.js +5 -14
  287. package/lib/browser/tree/tree-compression/index.js.map +1 -1
  288. package/lib/browser/tree/tree-compression/tree-compression-service.js +2 -7
  289. package/lib/browser/tree/tree-compression/tree-compression-service.js.map +1 -1
  290. package/lib/browser/tree/tree-consistency.spec.js +2 -7
  291. package/lib/browser/tree/tree-consistency.spec.js.map +1 -1
  292. package/lib/browser/tree/tree-decorator.js +4 -12
  293. package/lib/browser/tree/tree-decorator.js.map +1 -1
  294. package/lib/browser/tree/tree-expansion.js +8 -16
  295. package/lib/browser/tree/tree-expansion.js.map +1 -1
  296. package/lib/browser/tree/tree-focus-service.js +4 -12
  297. package/lib/browser/tree/tree-focus-service.js.map +1 -1
  298. package/lib/browser/tree/tree-label-provider.js +2 -7
  299. package/lib/browser/tree/tree-label-provider.js.map +1 -1
  300. package/lib/browser/tree/tree-model.js +20 -28
  301. package/lib/browser/tree/tree-model.js.map +1 -1
  302. package/lib/browser/tree/tree-navigation.js +2 -7
  303. package/lib/browser/tree/tree-navigation.js.map +1 -1
  304. package/lib/browser/tree/tree-search.js +12 -20
  305. package/lib/browser/tree/tree-search.js.map +1 -1
  306. package/lib/browser/tree/tree-selection-impl.js +10 -18
  307. package/lib/browser/tree/tree-selection-impl.js.map +1 -1
  308. package/lib/browser/tree/tree-view-welcome-widget.js +8 -16
  309. package/lib/browser/tree/tree-view-welcome-widget.js.map +1 -1
  310. package/lib/browser/tree/tree-widget.js +26 -37
  311. package/lib/browser/tree/tree-widget.js.map +1 -1
  312. package/lib/browser/tree/tree.js +3 -11
  313. package/lib/browser/tree/tree.js.map +1 -1
  314. package/lib/browser/user-working-directory-provider.js +6 -14
  315. package/lib/browser/user-working-directory-provider.js.map +1 -1
  316. package/lib/browser/view-container.js +31 -39
  317. package/lib/browser/view-container.js.map +1 -1
  318. package/lib/browser/widget-manager.js +6 -14
  319. package/lib/browser/widget-manager.js.map +1 -1
  320. package/lib/browser/widget-open-handler.js +10 -18
  321. package/lib/browser/widget-open-handler.js.map +1 -1
  322. package/lib/browser/widgets/index.js +5 -14
  323. package/lib/browser/widgets/index.js.map +1 -1
  324. package/lib/browser/widgets/react-renderer.js +5 -16
  325. package/lib/browser/widgets/react-renderer.js.map +1 -1
  326. package/lib/browser/widgets/react-widget.js +4 -15
  327. package/lib/browser/widgets/react-widget.js.map +1 -1
  328. package/lib/browser/widgets/widget.d.ts +2 -0
  329. package/lib/browser/widgets/widget.d.ts.map +1 -1
  330. package/lib/browser/widgets/widget.js +14 -24
  331. package/lib/browser/widgets/widget.js.map +1 -1
  332. package/lib/browser/window/default-secondary-window-service.js +10 -18
  333. package/lib/browser/window/default-secondary-window-service.js.map +1 -1
  334. package/lib/browser/window/default-window-service.js +6 -14
  335. package/lib/browser/window/default-window-service.js.map +1 -1
  336. package/lib/browser/window/test/mock-window-service.js +2 -7
  337. package/lib/browser/window/test/mock-window-service.js.map +1 -1
  338. package/lib/browser/window/window-title-service.js +8 -16
  339. package/lib/browser/window/window-title-service.js.map +1 -1
  340. package/lib/browser/window/window-title-updater.js +6 -14
  341. package/lib/browser/window/window-title-updater.js.map +1 -1
  342. package/lib/browser/window-contribution.js +4 -12
  343. package/lib/browser/window-contribution.js.map +1 -1
  344. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js +3 -8
  345. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js.map +1 -1
  346. package/lib/common/command.js +5 -16
  347. package/lib/common/command.js.map +1 -1
  348. package/lib/common/contribution-filter/contribution-filter-registry.js +5 -16
  349. package/lib/common/contribution-filter/contribution-filter-registry.js.map +1 -1
  350. package/lib/common/contribution-filter/index.js +4 -13
  351. package/lib/common/contribution-filter/index.js.map +1 -1
  352. package/lib/common/encoding-service.js +2 -7
  353. package/lib/common/encoding-service.js.map +1 -1
  354. package/lib/common/env-variables/index.js +2 -11
  355. package/lib/common/env-variables/index.js.map +1 -1
  356. package/lib/common/index.d.ts +1 -0
  357. package/lib/common/index.d.ts.map +1 -1
  358. package/lib/common/index.js +34 -42
  359. package/lib/common/index.js.map +1 -1
  360. package/lib/common/logger-protocol.js +2 -7
  361. package/lib/common/logger-protocol.js.map +1 -1
  362. package/lib/common/logger-watcher.js +2 -7
  363. package/lib/common/logger-watcher.js.map +1 -1
  364. package/lib/common/logger.js +14 -22
  365. package/lib/common/logger.js.map +1 -1
  366. package/lib/common/markdown-rendering/index.js +3 -12
  367. package/lib/common/markdown-rendering/index.js.map +1 -1
  368. package/lib/common/markdown-rendering/markdown-string.d.ts +5 -2
  369. package/lib/common/markdown-rendering/markdown-string.d.ts.map +1 -1
  370. package/lib/common/markdown-rendering/markdown-string.js.map +1 -1
  371. package/lib/common/menu/composite-menu-node.js +5 -5
  372. package/lib/common/menu/composite-menu-node.js.map +1 -1
  373. package/lib/common/menu/composite-menu-node.spec.d.ts +2 -0
  374. package/lib/common/menu/composite-menu-node.spec.d.ts.map +1 -0
  375. package/lib/common/menu/composite-menu-node.spec.js +68 -0
  376. package/lib/common/menu/composite-menu-node.spec.js.map +1 -0
  377. package/lib/common/menu/index.js +6 -15
  378. package/lib/common/menu/index.js.map +1 -1
  379. package/lib/common/menu/menu-adapter.js +7 -15
  380. package/lib/common/menu/menu-adapter.js.map +1 -1
  381. package/lib/common/menu/menu-model-registry.js +6 -17
  382. package/lib/common/menu/menu-model-registry.js.map +1 -1
  383. package/lib/common/message-service-protocol.js +2 -7
  384. package/lib/common/message-service-protocol.js.map +1 -1
  385. package/lib/common/message-service.js +4 -15
  386. package/lib/common/message-service.js.map +1 -1
  387. package/lib/common/messaging/index.js +4 -13
  388. package/lib/common/messaging/index.js.map +1 -1
  389. package/lib/common/performance/index.js +4 -13
  390. package/lib/common/performance/index.js.map +1 -1
  391. package/lib/common/performance/measurement-protocol.js +5 -13
  392. package/lib/common/performance/measurement-protocol.js.map +1 -1
  393. package/lib/common/performance/stopwatch.js +5 -13
  394. package/lib/common/performance/stopwatch.js.map +1 -1
  395. package/lib/common/progress-service.js +6 -14
  396. package/lib/common/progress-service.js.map +1 -1
  397. package/lib/common/promise-util.spec.js +31 -6
  398. package/lib/common/promise-util.spec.js.map +1 -1
  399. package/lib/common/quick-pick-service.d.ts +13 -24
  400. package/lib/common/quick-pick-service.d.ts.map +1 -1
  401. package/lib/common/quick-pick-service.js +1 -26
  402. package/lib/common/quick-pick-service.js.map +1 -1
  403. package/lib/common/resource.d.ts +3 -1
  404. package/lib/common/resource.d.ts.map +1 -1
  405. package/lib/common/resource.js +8 -19
  406. package/lib/common/resource.js.map +1 -1
  407. package/lib/common/selection-service.js +2 -7
  408. package/lib/common/selection-service.js.map +1 -1
  409. package/lib/common/test/mock-logger.js +2 -7
  410. package/lib/common/test/mock-logger.js.map +1 -1
  411. package/lib/common/test/mock-resource-provider.js +3 -11
  412. package/lib/common/test/mock-resource-provider.js.map +1 -1
  413. package/lib/common/theme.d.ts +25 -0
  414. package/lib/common/theme.d.ts.map +1 -1
  415. package/lib/common/theme.js.map +1 -1
  416. package/lib/common/uri.d.ts +1 -0
  417. package/lib/common/uri.d.ts.map +1 -1
  418. package/lib/common/uri.js +1 -1
  419. package/lib/common/uri.js.map +1 -1
  420. package/lib/common/uuid.d.ts +1 -1
  421. package/lib/common/uuid.d.ts.map +1 -1
  422. package/lib/common/uuid.js +4 -57
  423. package/lib/common/uuid.js.map +1 -1
  424. package/lib/electron-browser/electron-clipboard-service.js +2 -7
  425. package/lib/electron-browser/electron-clipboard-service.js.map +1 -1
  426. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js +6 -14
  427. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js.map +1 -1
  428. package/lib/electron-browser/menu/electron-context-menu-renderer.js +15 -26
  429. package/lib/electron-browser/menu/electron-context-menu-renderer.js.map +1 -1
  430. package/lib/electron-browser/menu/electron-main-menu-factory.js +8 -16
  431. package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
  432. package/lib/electron-browser/menu/electron-menu-contribution.d.ts +2 -1
  433. package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
  434. package/lib/electron-browser/menu/electron-menu-contribution.js +33 -35
  435. package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
  436. package/lib/electron-browser/messaging/electron-frontend-id-provider.js +2 -7
  437. package/lib/electron-browser/messaging/electron-frontend-id-provider.js.map +1 -1
  438. package/lib/electron-browser/messaging/electron-ipc-connection-source.js +2 -7
  439. package/lib/electron-browser/messaging/electron-ipc-connection-source.js.map +1 -1
  440. package/lib/electron-browser/messaging/electron-local-ws-connection-source.js +2 -7
  441. package/lib/electron-browser/messaging/electron-local-ws-connection-source.js.map +1 -1
  442. package/lib/electron-browser/messaging/electron-ws-connection-source.js +3 -11
  443. package/lib/electron-browser/messaging/electron-ws-connection-source.js.map +1 -1
  444. package/lib/electron-browser/window/electron-frontend-application-state.js +2 -7
  445. package/lib/electron-browser/window/electron-frontend-application-state.js.map +1 -1
  446. package/lib/electron-browser/window/electron-secondary-window-service.js +2 -7
  447. package/lib/electron-browser/window/electron-secondary-window-service.js.map +1 -1
  448. package/lib/electron-browser/window/electron-window-service.js +14 -22
  449. package/lib/electron-browser/window/electron-window-service.js.map +1 -1
  450. package/lib/electron-main/electron-api-main.js +4 -12
  451. package/lib/electron-main/electron-api-main.js.map +1 -1
  452. package/lib/electron-main/electron-main-application-module.js +2 -2
  453. package/lib/electron-main/electron-main-application-module.js.map +1 -1
  454. package/lib/electron-main/electron-main-application.js +15 -23
  455. package/lib/electron-main/electron-main-application.js.map +1 -1
  456. package/lib/electron-main/electron-main-window-service-impl.js +4 -12
  457. package/lib/electron-main/electron-main-window-service-impl.js.map +1 -1
  458. package/lib/electron-main/electron-security-token-service.js +4 -12
  459. package/lib/electron-main/electron-security-token-service.js.map +1 -1
  460. package/lib/electron-main/messaging/electron-messaging-contribution.js +10 -18
  461. package/lib/electron-main/messaging/electron-messaging-contribution.js.map +1 -1
  462. package/lib/electron-main/theia-electron-window.js +12 -20
  463. package/lib/electron-main/theia-electron-window.js.map +1 -1
  464. package/lib/electron-node/hosting/electron-ws-origin-validator.js +4 -12
  465. package/lib/electron-node/hosting/electron-ws-origin-validator.js.map +1 -1
  466. package/lib/electron-node/keyboard/electron-keyboard-layout-provider.js +2 -7
  467. package/lib/electron-node/keyboard/electron-keyboard-layout-provider.js.map +1 -1
  468. package/lib/electron-node/request/electron-backend-request-service.js +2 -7
  469. package/lib/electron-node/request/electron-backend-request-service.js.map +1 -1
  470. package/lib/electron-node/token/electron-token-backend-contribution.js +4 -12
  471. package/lib/electron-node/token/electron-token-backend-contribution.js.map +1 -1
  472. package/lib/electron-node/token/electron-token-validator.js +6 -14
  473. package/lib/electron-node/token/electron-token-validator.js.map +1 -1
  474. package/lib/node/application-server.js +4 -12
  475. package/lib/node/application-server.js.map +1 -1
  476. package/lib/node/backend-application.js +17 -28
  477. package/lib/node/backend-application.js.map +1 -1
  478. package/lib/node/backend-remote-service.js +2 -7
  479. package/lib/node/backend-remote-service.js.map +1 -1
  480. package/lib/node/cli.js +5 -16
  481. package/lib/node/cli.js.map +1 -1
  482. package/lib/node/console-logger-server.js +10 -18
  483. package/lib/node/console-logger-server.js.map +1 -1
  484. package/lib/node/console-logger-server.spec.js +6 -14
  485. package/lib/node/console-logger-server.spec.js.map +1 -1
  486. package/lib/node/env-variables/env-variables-server.js +3 -11
  487. package/lib/node/env-variables/env-variables-server.js.map +1 -1
  488. package/lib/node/env-variables/index.js +2 -11
  489. package/lib/node/env-variables/index.js.map +1 -1
  490. package/lib/node/environment-utils.js +2 -7
  491. package/lib/node/environment-utils.js.map +1 -1
  492. package/lib/node/filesystem-locking.js +2 -7
  493. package/lib/node/filesystem-locking.js.map +1 -1
  494. package/lib/node/hosting/backend-application-hosts.js +6 -14
  495. package/lib/node/hosting/backend-application-hosts.js.map +1 -1
  496. package/lib/node/hosting/ws-origin-validator.js +4 -12
  497. package/lib/node/hosting/ws-origin-validator.js.map +1 -1
  498. package/lib/node/i18n/localization-contribution.js +6 -14
  499. package/lib/node/i18n/localization-contribution.js.map +1 -1
  500. package/lib/node/i18n/localization-provider.js +2 -7
  501. package/lib/node/i18n/localization-provider.js.map +1 -1
  502. package/lib/node/i18n/localization-server.js +6 -14
  503. package/lib/node/i18n/localization-server.js.map +1 -1
  504. package/lib/node/i18n/theia-localization-contribution.js +2 -7
  505. package/lib/node/i18n/theia-localization-contribution.js.map +1 -1
  506. package/lib/node/index.js +6 -15
  507. package/lib/node/index.js.map +1 -1
  508. package/lib/node/key-store-server.js +2 -7
  509. package/lib/node/key-store-server.js.map +1 -1
  510. package/lib/node/logger-cli-contribution.js +2 -7
  511. package/lib/node/logger-cli-contribution.js.map +1 -1
  512. package/lib/node/messaging/default-messaging-service.js +10 -18
  513. package/lib/node/messaging/default-messaging-service.js.map +1 -1
  514. package/lib/node/messaging/index.js +4 -13
  515. package/lib/node/messaging/index.js.map +1 -1
  516. package/lib/node/messaging/ipc-connection-provider.js +4 -12
  517. package/lib/node/messaging/ipc-connection-provider.js.map +1 -1
  518. package/lib/node/messaging/messaging-listeners.js +4 -12
  519. package/lib/node/messaging/messaging-listeners.js.map +1 -1
  520. package/lib/node/messaging/test/test-web-socket-channel.js +3 -11
  521. package/lib/node/messaging/test/test-web-socket-channel.js.map +1 -1
  522. package/lib/node/messaging/websocket-endpoint.js +6 -14
  523. package/lib/node/messaging/websocket-endpoint.js.map +1 -1
  524. package/lib/node/messaging/websocket-frontend-connection-service.js +4 -12
  525. package/lib/node/messaging/websocket-frontend-connection-service.js.map +1 -1
  526. package/lib/node/os-backend-provider.js +2 -7
  527. package/lib/node/os-backend-provider.js.map +1 -1
  528. package/lib/node/performance/index.js +3 -12
  529. package/lib/node/performance/index.js.map +1 -1
  530. package/lib/node/performance/node-stopwatch.js +3 -11
  531. package/lib/node/performance/node-stopwatch.js.map +1 -1
  532. package/lib/node/process-utils.js +2 -7
  533. package/lib/node/process-utils.js.map +1 -1
  534. package/lib/node/request/backend-request-facade.js +4 -12
  535. package/lib/node/request/backend-request-facade.js.map +1 -1
  536. package/lib/node/request/proxy-cli-contribution.js +4 -12
  537. package/lib/node/request/proxy-cli-contribution.js.map +1 -1
  538. package/lib/node/ws-request-validators.js +4 -12
  539. package/lib/node/ws-request-validators.js.map +1 -1
  540. package/package.json +10 -8
  541. package/src/browser/context-key-service.ts +1 -2
  542. package/src/browser/context-menu-renderer.ts +0 -4
  543. package/src/browser/core-preferences.ts +6 -0
  544. package/src/browser/frontend-application-module.ts +3 -1
  545. package/src/browser/icon-registry.ts +1 -10
  546. package/src/browser/markdown-rendering/markdown-renderer.ts +1 -1
  547. package/src/browser/save-resource-service.ts +5 -4
  548. package/src/browser/shell/application-shell.ts +8 -3
  549. package/src/browser/shell/tab-bar-decorator.ts +36 -6
  550. package/src/browser/shell/tab-bars.ts +41 -5
  551. package/src/browser/style/index.css +153 -148
  552. package/src/browser/style/tabs.css +6 -0
  553. package/src/browser/tooltip-service.tsx +2 -2
  554. package/src/browser/widgets/widget.ts +8 -0
  555. package/src/common/index.ts +1 -0
  556. package/src/common/markdown-rendering/markdown-string.ts +6 -3
  557. package/src/common/menu/composite-menu-node.spec.ts +67 -0
  558. package/src/common/menu/composite-menu-node.ts +5 -5
  559. package/src/common/promise-util.spec.ts +48 -18
  560. package/src/common/quick-pick-service.ts +10 -32
  561. package/src/common/resource.ts +5 -1
  562. package/src/common/theme.ts +32 -0
  563. package/src/common/uri.ts +4 -2
  564. package/src/common/uuid.ts +4 -71
  565. package/src/electron-browser/menu/electron-menu-contribution.ts +9 -1
  566. package/src/electron-main/electron-main-application-module.ts +2 -2
@@ -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,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
  }
@@ -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
  /**
@@ -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 {
@@ -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