@theia/core 1.53.0-next.4 → 1.53.0-next.55

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 (689) hide show
  1. package/README.md +7 -7
  2. package/i18n/nls.cs.json +582 -552
  3. package/i18n/nls.de.json +582 -552
  4. package/i18n/nls.es.json +582 -552
  5. package/i18n/nls.fr.json +582 -552
  6. package/i18n/nls.hu.json +582 -552
  7. package/i18n/nls.it.json +582 -552
  8. package/i18n/nls.ja.json +582 -552
  9. package/i18n/nls.json +582 -552
  10. package/i18n/nls.ko.json +582 -0
  11. package/i18n/nls.pl.json +582 -552
  12. package/i18n/nls.pt-br.json +582 -552
  13. package/i18n/nls.ru.json +582 -552
  14. package/i18n/nls.tr.json +582 -0
  15. package/i18n/nls.zh-cn.json +582 -552
  16. package/i18n/nls.zh-tw.json +582 -0
  17. package/lib/browser/authentication-service.d.ts +15 -14
  18. package/lib/browser/authentication-service.d.ts.map +1 -1
  19. package/lib/browser/authentication-service.js +5 -5
  20. package/lib/browser/authentication-service.js.map +1 -1
  21. package/lib/browser/catalog.json +6889 -0
  22. package/lib/browser/common-frontend-contribution.js +3 -3
  23. package/lib/browser/common-styling-participants.js +166 -166
  24. package/lib/browser/context-key-service.d.ts +3 -2
  25. package/lib/browser/context-key-service.d.ts.map +1 -1
  26. package/lib/browser/context-key-service.js.map +1 -1
  27. package/lib/browser/core-preferences.d.ts.map +1 -1
  28. package/lib/browser/core-preferences.js +9 -0
  29. package/lib/browser/core-preferences.js.map +1 -1
  30. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  31. package/lib/browser/frontend-application-module.js.map +1 -1
  32. package/lib/browser/json-schema-store.d.ts +0 -3
  33. package/lib/browser/json-schema-store.d.ts.map +1 -1
  34. package/lib/browser/json-schema-store.js +2 -12
  35. package/lib/browser/json-schema-store.js.map +1 -1
  36. package/lib/browser/open-with-service.d.ts +13 -1
  37. package/lib/browser/open-with-service.d.ts.map +1 -1
  38. package/lib/browser/open-with-service.js +48 -9
  39. package/lib/browser/open-with-service.js.map +1 -1
  40. package/lib/browser/opener-service.d.ts +8 -0
  41. package/lib/browser/opener-service.d.ts.map +1 -1
  42. package/lib/browser/opener-service.js +18 -3
  43. package/lib/browser/opener-service.js.map +1 -1
  44. package/lib/browser/progress-location-service.spec.js +7 -7
  45. package/lib/browser/saveable-service.d.ts.map +1 -1
  46. package/lib/browser/saveable-service.js +6 -2
  47. package/lib/browser/saveable-service.js.map +1 -1
  48. package/lib/browser/saveable.d.ts +17 -1
  49. package/lib/browser/saveable.d.ts.map +1 -1
  50. package/lib/browser/saveable.js +62 -1
  51. package/lib/browser/saveable.js.map +1 -1
  52. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts +5 -4
  53. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts.map +1 -1
  54. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js +2 -1
  55. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js.map +1 -1
  56. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts +6 -16
  57. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts.map +1 -1
  58. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +12 -29
  59. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js.map +1 -1
  60. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts +43 -78
  61. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts.map +1 -1
  62. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js +8 -39
  63. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js.map +1 -1
  64. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +10 -10
  65. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts.map +1 -1
  66. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +43 -32
  67. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
  68. package/lib/browser/storage-service.js +3 -3
  69. package/lib/browser/tree/tree.spec.js +75 -75
  70. package/lib/browser/view-container.d.ts +2 -2
  71. package/lib/browser/view-container.d.ts.map +1 -1
  72. package/lib/browser/view-container.js.map +1 -1
  73. package/lib/browser/widget-open-handler.d.ts +4 -1
  74. package/lib/browser/widget-open-handler.d.ts.map +1 -1
  75. package/lib/browser/widget-open-handler.js.map +1 -1
  76. package/lib/browser/widgets/extractable-widget.js +1 -1
  77. package/lib/browser/widgets/extractable-widget.js.map +1 -1
  78. package/lib/browser/widgets/index.d.ts +1 -0
  79. package/lib/browser/widgets/index.d.ts.map +1 -1
  80. package/lib/browser/widgets/index.js +1 -0
  81. package/lib/browser/widgets/index.js.map +1 -1
  82. package/lib/browser/widgets/split-widget.d.ts +45 -0
  83. package/lib/browser/widgets/split-widget.d.ts.map +1 -0
  84. package/lib/browser/widgets/split-widget.js +126 -0
  85. package/lib/browser/widgets/split-widget.js.map +1 -0
  86. package/lib/common/event.d.ts +2 -0
  87. package/lib/common/event.d.ts.map +1 -1
  88. package/lib/common/event.js +4 -0
  89. package/lib/common/event.js.map +1 -1
  90. package/lib/common/glob.d.ts +4 -4
  91. package/lib/common/json-schema.d.ts +2 -0
  92. package/lib/common/json-schema.d.ts.map +1 -1
  93. package/lib/common/menu/menu-types.d.ts.map +1 -1
  94. package/lib/common/menu/menu-types.js.map +1 -1
  95. package/lib/electron-browser/electron-uri-handler.d.ts +6 -0
  96. package/lib/electron-browser/electron-uri-handler.d.ts.map +1 -0
  97. package/lib/electron-browser/electron-uri-handler.js +49 -0
  98. package/lib/electron-browser/electron-uri-handler.js.map +1 -0
  99. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts +1 -1
  100. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
  101. package/lib/electron-browser/menu/electron-main-menu-factory.js +6 -6
  102. package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
  103. package/lib/electron-browser/preload.d.ts.map +1 -1
  104. package/lib/electron-browser/preload.js +12 -0
  105. package/lib/electron-browser/preload.js.map +1 -1
  106. package/lib/electron-browser/window/electron-window-module.d.ts.map +1 -1
  107. package/lib/electron-browser/window/electron-window-module.js +3 -0
  108. package/lib/electron-browser/window/electron-window-module.js.map +1 -1
  109. package/lib/electron-browser/window/external-app-open-handler.js +1 -1
  110. package/lib/electron-browser/window/external-app-open-handler.js.map +1 -1
  111. package/lib/electron-common/electron-api.d.ts +2 -0
  112. package/lib/electron-common/electron-api.d.ts.map +1 -1
  113. package/lib/electron-common/electron-api.js +2 -1
  114. package/lib/electron-common/electron-api.js.map +1 -1
  115. package/lib/electron-main/electron-api-main.d.ts +2 -0
  116. package/lib/electron-main/electron-api-main.d.ts.map +1 -1
  117. package/lib/electron-main/electron-api-main.js +27 -3
  118. package/lib/electron-main/electron-api-main.js.map +1 -1
  119. package/lib/electron-main/electron-main-application.d.ts +5 -3
  120. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  121. package/lib/electron-main/electron-main-application.js +57 -14
  122. package/lib/electron-main/electron-main-application.js.map +1 -1
  123. package/lib/electron-main/theia-electron-window.d.ts +1 -0
  124. package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
  125. package/lib/electron-main/theia-electron-window.js +3 -0
  126. package/lib/electron-main/theia-electron-window.js.map +1 -1
  127. package/lib/node/i18n/theia-localization-contribution.d.ts.map +1 -1
  128. package/lib/node/i18n/theia-localization-contribution.js +12 -8
  129. package/lib/node/i18n/theia-localization-contribution.js.map +1 -1
  130. package/lib/node/process-utils.spec.js +8 -8
  131. package/package.json +10 -8
  132. package/shared/ajv/index.d.ts +2 -2
  133. package/shared/markdown-it.d.ts +2 -2
  134. package/shared/markdown-it.js +1 -1
  135. package/shared/reflect-metadata/index.d.ts +1 -1
  136. package/shared/reflect-metadata/index.js +1 -1
  137. package/shared/vscode-languageserver-types/index.d.ts +1 -1
  138. package/src/browser/about-dialog.tsx +137 -137
  139. package/src/browser/authentication-service.ts +467 -468
  140. package/src/browser/breadcrumbs/breadcrumb-popup-container.ts +101 -101
  141. package/src/browser/breadcrumbs/breadcrumb-renderer.tsx +41 -41
  142. package/src/browser/breadcrumbs/breadcrumbs-constants.ts +79 -79
  143. package/src/browser/breadcrumbs/breadcrumbs-renderer.tsx +185 -185
  144. package/src/browser/breadcrumbs/breadcrumbs-service.ts +108 -108
  145. package/src/browser/breadcrumbs/index.ts +21 -21
  146. package/src/browser/browser-clipboard-service.ts +122 -122
  147. package/src/browser/browser.ts +239 -239
  148. package/src/browser/clipboard-service.ts +23 -23
  149. package/src/browser/color-application-contribution.ts +110 -110
  150. package/src/browser/color-registry.ts +60 -60
  151. package/src/browser/command-open-handler.ts +54 -54
  152. package/src/browser/common-frontend-contribution.ts +2680 -2680
  153. package/src/browser/common-styling-participants.ts +361 -361
  154. package/src/browser/connection-status-service.spec.ts +200 -200
  155. package/src/browser/connection-status-service.ts +216 -216
  156. package/src/browser/context-key-service.ts +142 -142
  157. package/src/browser/context-menu-renderer.ts +124 -124
  158. package/src/browser/core-preferences.ts +343 -334
  159. package/src/browser/credentials-service.ts +106 -106
  160. package/src/browser/decoration-style.ts +65 -65
  161. package/src/browser/decorations-service.ts +209 -209
  162. package/src/browser/dialogs/react-dialog.tsx +56 -56
  163. package/src/browser/dialogs.ts +534 -534
  164. package/src/browser/diff-uris.ts +117 -117
  165. package/src/browser/encoding-registry.ts +97 -97
  166. package/src/browser/endpoint.spec.ts +148 -148
  167. package/src/browser/endpoint.ts +136 -136
  168. package/src/browser/external-uri-service.ts +79 -79
  169. package/src/browser/file-icons-js.d.ts +20 -20
  170. package/src/browser/frontend-application-bindings.ts +62 -62
  171. package/src/browser/frontend-application-config-provider.spec.ts +45 -45
  172. package/src/browser/frontend-application-config-provider.ts +50 -50
  173. package/src/browser/frontend-application-contribution.ts +110 -110
  174. package/src/browser/frontend-application-module.ts +474 -475
  175. package/src/browser/frontend-application-state.ts +74 -74
  176. package/src/browser/frontend-application.ts +326 -326
  177. package/src/browser/hover-service.ts +218 -218
  178. package/src/browser/http-open-handler.ts +49 -49
  179. package/src/browser/i18n/i18n-frontend-module.ts +27 -27
  180. package/src/browser/i18n/language-quick-pick-service.ts +130 -130
  181. package/src/browser/icon-registry.ts +87 -87
  182. package/src/browser/icon-theme-contribution.ts +64 -64
  183. package/src/browser/icon-theme-service.ts +217 -217
  184. package/src/browser/icons/CollapseAll.svg +7 -7
  185. package/src/browser/icons/CollapseAll_inverse.svg +7 -7
  186. package/src/browser/icons/Refresh.svg +7 -7
  187. package/src/browser/icons/Refresh_inverse.svg +7 -7
  188. package/src/browser/icons/add-inverse.svg +4 -4
  189. package/src/browser/icons/add.svg +4 -4
  190. package/src/browser/icons/arrow-down-bright.svg +6 -6
  191. package/src/browser/icons/arrow-down-dark.svg +6 -6
  192. package/src/browser/icons/arrow-up-bright.svg +6 -6
  193. package/src/browser/icons/arrow-up-dark.svg +6 -6
  194. package/src/browser/icons/case-sensitive-dark.svg +16 -16
  195. package/src/browser/icons/case-sensitive.svg +16 -16
  196. package/src/browser/icons/chevron-right-dark.svg +5 -5
  197. package/src/browser/icons/chevron-right-light.svg +6 -6
  198. package/src/browser/icons/circle-bright.svg +7 -7
  199. package/src/browser/icons/circle-dark.svg +7 -7
  200. package/src/browser/icons/clear-search-results-dark.svg +7 -7
  201. package/src/browser/icons/clear-search-results.svg +7 -7
  202. package/src/browser/icons/close-all-bright.svg +7 -7
  203. package/src/browser/icons/close-all-dark.svg +7 -7
  204. package/src/browser/icons/close-bright.svg +7 -7
  205. package/src/browser/icons/close-dark.svg +7 -7
  206. package/src/browser/icons/collapse.svg +4 -4
  207. package/src/browser/icons/edit-json-dark.svg +6 -6
  208. package/src/browser/icons/edit-json.svg +6 -6
  209. package/src/browser/icons/expand.svg +4 -4
  210. package/src/browser/icons/loading-dark.svg +6 -6
  211. package/src/browser/icons/loading-light.svg +6 -6
  212. package/src/browser/icons/open-change-bright.svg +3 -3
  213. package/src/browser/icons/open-change-dark.svg +4 -4
  214. package/src/browser/icons/open-file-bright.svg +4 -4
  215. package/src/browser/icons/open-file-dark.svg +4 -4
  216. package/src/browser/icons/preview-bright.svg +3 -3
  217. package/src/browser/icons/preview-dark.svg +3 -3
  218. package/src/browser/icons/regex-dark.svg +10 -10
  219. package/src/browser/icons/regex.svg +10 -10
  220. package/src/browser/icons/remove-all-inverse.svg +4 -4
  221. package/src/browser/icons/remove-all.svg +4 -4
  222. package/src/browser/icons/replace-all-inverse.svg +13 -13
  223. package/src/browser/icons/replace-all.svg +13 -13
  224. package/src/browser/icons/replace-inverse.svg +15 -15
  225. package/src/browser/icons/replace.svg +15 -15
  226. package/src/browser/icons/whole-word-dark.svg +19 -19
  227. package/src/browser/icons/whole-word.svg +19 -19
  228. package/src/browser/index.ts +50 -50
  229. package/src/browser/json-schema-store.ts +118 -127
  230. package/src/browser/keybinding.spec.ts +554 -554
  231. package/src/browser/keybinding.ts +759 -759
  232. package/src/browser/keyboard/browser-keyboard-frontend-contribution.ts +108 -108
  233. package/src/browser/keyboard/browser-keyboard-layout-provider.spec.ts +171 -171
  234. package/src/browser/keyboard/browser-keyboard-layout-provider.ts +469 -469
  235. package/src/browser/keyboard/browser-keyboard-module.ts +30 -30
  236. package/src/browser/keyboard/index.ts +20 -20
  237. package/src/browser/keyboard/keyboard-layout-service.spec.ts +121 -121
  238. package/src/browser/keyboard/keyboard-layout-service.ts +455 -455
  239. package/src/browser/keyboard/keys.spec.ts +258 -258
  240. package/src/browser/keyboard/keys.ts +20 -20
  241. package/src/browser/keys.ts +21 -21
  242. package/src/browser/label-parser.spec.ts +165 -165
  243. package/src/browser/label-parser.ts +108 -108
  244. package/src/browser/label-provider.spec.ts +62 -62
  245. package/src/browser/label-provider.ts +385 -385
  246. package/src/browser/language-icon-provider.ts +55 -55
  247. package/src/browser/language-service.ts +77 -77
  248. package/src/browser/logger-frontend-module.ts +65 -65
  249. package/src/browser/markdown-rendering/markdown-renderer.ts +98 -98
  250. package/src/browser/menu/browser-context-menu-renderer.ts +48 -48
  251. package/src/browser/menu/browser-menu-module.ts +28 -28
  252. package/src/browser/menu/browser-menu-plugin.ts +491 -491
  253. package/src/browser/menu/context-menu-context.ts +41 -41
  254. package/src/browser/messaging/connection-source.ts +26 -26
  255. package/src/browser/messaging/frontend-id-provider.ts +37 -37
  256. package/src/browser/messaging/index.ts +18 -18
  257. package/src/browser/messaging/messaging-frontend-module.ts +41 -41
  258. package/src/browser/messaging/service-connection-provider.ts +140 -140
  259. package/src/browser/messaging/ws-connection-provider.ts +49 -49
  260. package/src/browser/messaging/ws-connection-source.ts +230 -230
  261. package/src/browser/mime-service.ts +30 -30
  262. package/src/browser/navigatable-types.ts +81 -81
  263. package/src/browser/navigatable.ts +39 -39
  264. package/src/browser/open-with-service.ts +140 -93
  265. package/src/browser/opener-service.spec.ts +49 -49
  266. package/src/browser/opener-service.ts +169 -146
  267. package/src/browser/performance/frontend-stopwatch.ts +65 -65
  268. package/src/browser/performance/index.ts +18 -18
  269. package/src/browser/performance/measurement-frontend-bindings.ts +31 -31
  270. package/src/browser/preferences/index.ts +23 -23
  271. package/src/browser/preferences/injectable-preference-proxy.ts +283 -283
  272. package/src/browser/preferences/preference-configurations.ts +82 -82
  273. package/src/browser/preferences/preference-contribution.ts +436 -436
  274. package/src/browser/preferences/preference-language-override-service.ts +111 -111
  275. package/src/browser/preferences/preference-provider.spec.ts +36 -36
  276. package/src/browser/preferences/preference-provider.ts +277 -277
  277. package/src/browser/preferences/preference-proxy.spec.ts +367 -367
  278. package/src/browser/preferences/preference-proxy.ts +367 -367
  279. package/src/browser/preferences/preference-schema-provider.spec.ts +130 -130
  280. package/src/browser/preferences/preference-scope.ts +18 -18
  281. package/src/browser/preferences/preference-service.spec.ts +613 -613
  282. package/src/browser/preferences/preference-service.ts +594 -594
  283. package/src/browser/preferences/preference-validation-service.spec.ts +334 -334
  284. package/src/browser/preferences/preference-validation-service.ts +358 -358
  285. package/src/browser/preferences/test/index.ts +19 -19
  286. package/src/browser/preferences/test/mock-preference-provider.ts +50 -50
  287. package/src/browser/preferences/test/mock-preference-proxy.ts +48 -48
  288. package/src/browser/preferences/test/mock-preference-service.ts +63 -63
  289. package/src/browser/preload/i18n-preload-contribution.ts +50 -50
  290. package/src/browser/preload/os-preload-contribution.ts +37 -37
  291. package/src/browser/preload/preload-module.ts +45 -45
  292. package/src/browser/preload/preloader.ts +37 -37
  293. package/src/browser/preload/theme-preload-contribution.ts +31 -31
  294. package/src/browser/progress-bar-factory.ts +29 -29
  295. package/src/browser/progress-bar.ts +76 -76
  296. package/src/browser/progress-client.ts +53 -53
  297. package/src/browser/progress-location-service.spec.ts +50 -50
  298. package/src/browser/progress-location-service.ts +96 -96
  299. package/src/browser/progress-status-bar-item.ts +83 -83
  300. package/src/browser/quick-input/index.ts +23 -23
  301. package/src/browser/quick-input/quick-access.ts +75 -75
  302. package/src/browser/quick-input/quick-command-frontend-contribution.ts +89 -89
  303. package/src/browser/quick-input/quick-command-service.ts +246 -246
  304. package/src/browser/quick-input/quick-help-service.ts +87 -87
  305. package/src/browser/quick-input/quick-input-frontend-contribution.ts +33 -33
  306. package/src/browser/quick-input/quick-input-service.spec.ts +176 -176
  307. package/src/browser/quick-input/quick-input-service.ts +17 -17
  308. package/src/browser/quick-input/quick-pick-service-impl.ts +69 -69
  309. package/src/browser/quick-input/quick-view-service.ts +83 -83
  310. package/src/browser/request/browser-request-module.ts +23 -23
  311. package/src/browser/request/browser-request-service.ts +172 -172
  312. package/src/browser/resource-context-key.ts +77 -77
  313. package/src/browser/saveable-service.ts +332 -328
  314. package/src/browser/saveable.ts +395 -327
  315. package/src/browser/secondary-window-handler.ts +211 -211
  316. package/src/browser/shell/additional-views-menu-widget.tsx +71 -71
  317. package/src/browser/shell/application-shell-mouse-tracker.ts +103 -103
  318. package/src/browser/shell/application-shell.ts +2271 -2271
  319. package/src/browser/shell/current-widget-command-adapter.ts +57 -57
  320. package/src/browser/shell/index.ts +23 -23
  321. package/src/browser/shell/shell-layout-restorer.ts +399 -399
  322. package/src/browser/shell/side-panel-handler.ts +794 -794
  323. package/src/browser/shell/side-panel-toolbar.ts +111 -111
  324. package/src/browser/shell/sidebar-bottom-menu-widget.tsx +39 -39
  325. package/src/browser/shell/sidebar-menu-widget.tsx +183 -183
  326. package/src/browser/shell/sidebar-top-menu-widget.tsx +26 -26
  327. package/src/browser/shell/split-panels.ts +191 -191
  328. package/src/browser/shell/tab-bar-decorator.ts +106 -106
  329. package/src/browser/shell/tab-bar-toolbar/index.ts +19 -19
  330. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.ts +31 -31
  331. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts +242 -256
  332. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts +149 -207
  333. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.ts +62 -62
  334. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +443 -428
  335. package/src/browser/shell/tab-bars.spec.ts +63 -63
  336. package/src/browser/shell/tab-bars.ts +1468 -1468
  337. package/src/browser/shell/theia-dock-panel.ts +265 -265
  338. package/src/browser/shell/view-column-service.ts +125 -125
  339. package/src/browser/shell/view-contribution.ts +178 -178
  340. package/src/browser/source-tree/index.ts +19 -19
  341. package/src/browser/source-tree/source-tree-widget.tsx +107 -107
  342. package/src/browser/source-tree/source-tree.ts +146 -146
  343. package/src/browser/source-tree/tree-source.ts +73 -73
  344. package/src/browser/status-bar/index.ts +29 -29
  345. package/src/browser/status-bar/status-bar-types.ts +97 -97
  346. package/src/browser/status-bar/status-bar-view-model.ts +209 -209
  347. package/src/browser/status-bar/status-bar.tsx +189 -189
  348. package/src/browser/storage-service.spec.ts +76 -76
  349. package/src/browser/storage-service.ts +129 -129
  350. package/src/browser/style/about.css +36 -36
  351. package/src/browser/style/alert-messages.css +62 -62
  352. package/src/browser/style/ansi.css +88 -88
  353. package/src/browser/style/breadcrumbs.css +130 -130
  354. package/src/browser/style/dialog.css +126 -126
  355. package/src/browser/style/dockpanel.css +76 -76
  356. package/src/browser/style/hover-service.css +101 -101
  357. package/src/browser/style/icons.css +61 -61
  358. package/src/browser/style/index.css +353 -351
  359. package/src/browser/style/materialcolors.css +278 -278
  360. package/src/browser/style/menus.css +230 -230
  361. package/src/browser/style/notification.css +39 -39
  362. package/src/browser/style/os.css +87 -87
  363. package/src/browser/style/progress-bar.css +43 -43
  364. package/src/browser/style/quick-title-bar.css +45 -45
  365. package/src/browser/style/scrollbars.css +172 -172
  366. package/src/browser/style/search-box.css +123 -123
  367. package/src/browser/style/select-component.css +107 -107
  368. package/src/browser/style/sidepanel.css +367 -367
  369. package/src/browser/style/split-widget.css +38 -0
  370. package/src/browser/style/status-bar.css +127 -127
  371. package/src/browser/style/tabs.css +647 -658
  372. package/src/browser/style/tooltip.css +28 -28
  373. package/src/browser/style/tree-decorators.css +81 -81
  374. package/src/browser/style/tree.css +232 -232
  375. package/src/browser/style/view-container.css +187 -194
  376. package/src/browser/style/widget.css +19 -19
  377. package/src/browser/styling-service.ts +96 -96
  378. package/src/browser/supported-encodings.ts +262 -262
  379. package/src/browser/test/jsdom.ts +69 -69
  380. package/src/browser/test/mock-connection-status-service.ts +33 -33
  381. package/src/browser/test/mock-env-variables-server.ts +47 -47
  382. package/src/browser/test/mock-opener-service.ts +34 -34
  383. package/src/browser/test/mock-storage-service.ts +49 -49
  384. package/src/browser/theming.ts +206 -206
  385. package/src/browser/tooltip-service.tsx +96 -96
  386. package/src/browser/tree/fuzzy-search.spec.ts +99 -99
  387. package/src/browser/tree/fuzzy-search.ts +136 -136
  388. package/src/browser/tree/index.ts +29 -29
  389. package/src/browser/tree/search-box-debounce.ts +96 -96
  390. package/src/browser/tree/search-box.ts +355 -355
  391. package/src/browser/tree/test/mock-selectable-tree-model.ts +109 -109
  392. package/src/browser/tree/test/mock-tree-model.ts +136 -136
  393. package/src/browser/tree/test/tree-test-container.ts +50 -50
  394. package/src/browser/tree/tree-compression/compressed-tree-expansion-service.ts +46 -46
  395. package/src/browser/tree/tree-compression/compressed-tree-model.ts +88 -88
  396. package/src/browser/tree/tree-compression/compressed-tree-widget.tsx +203 -203
  397. package/src/browser/tree/tree-compression/index.ts +20 -20
  398. package/src/browser/tree/tree-compression/tree-compression-service.ts +125 -125
  399. package/src/browser/tree/tree-compression/tree-compression.css +28 -28
  400. package/src/browser/tree/tree-consistency.spec.ts +105 -105
  401. package/src/browser/tree/tree-container.spec.ts +45 -45
  402. package/src/browser/tree/tree-container.ts +155 -155
  403. package/src/browser/tree/tree-decorator.spec.ts +162 -162
  404. package/src/browser/tree/tree-decorator.ts +238 -238
  405. package/src/browser/tree/tree-expansion.spec.ts +173 -173
  406. package/src/browser/tree/tree-expansion.ts +165 -165
  407. package/src/browser/tree/tree-focus-service.ts +55 -55
  408. package/src/browser/tree/tree-iterator.spec.ts +170 -170
  409. package/src/browser/tree/tree-iterator.ts +256 -256
  410. package/src/browser/tree/tree-label-provider.ts +40 -40
  411. package/src/browser/tree/tree-model.ts +562 -562
  412. package/src/browser/tree/tree-navigation.ts +58 -58
  413. package/src/browser/tree/tree-preference.ts +50 -50
  414. package/src/browser/tree/tree-search.ts +128 -128
  415. package/src/browser/tree/tree-selectable.spec.ts +152 -152
  416. package/src/browser/tree/tree-selection-impl.ts +176 -176
  417. package/src/browser/tree/tree-selection-state.spec.ts +462 -462
  418. package/src/browser/tree/tree-selection-state.ts +245 -245
  419. package/src/browser/tree/tree-selection.ts +159 -159
  420. package/src/browser/tree/tree-view-welcome-widget.tsx +263 -263
  421. package/src/browser/tree/tree-widget-selection.ts +45 -45
  422. package/src/browser/tree/tree-widget.tsx +1591 -1591
  423. package/src/browser/tree/tree.spec.ts +241 -241
  424. package/src/browser/tree/tree.ts +425 -425
  425. package/src/browser/undo-redo-handler.ts +85 -85
  426. package/src/browser/user-working-directory-provider.ts +77 -77
  427. package/src/browser/view-container.ts +1640 -1640
  428. package/src/browser/widget-decoration.ts +358 -358
  429. package/src/browser/widget-manager.spec.ts +102 -102
  430. package/src/browser/widget-manager.ts +318 -318
  431. package/src/browser/widget-open-handler.ts +168 -165
  432. package/src/browser/widgets/alert-message.tsx +56 -56
  433. package/src/browser/widgets/enhanced-preview-widget.ts +27 -27
  434. package/src/browser/widgets/extractable-widget.ts +33 -33
  435. package/src/browser/widgets/index.ts +21 -20
  436. package/src/browser/widgets/previewable-widget.ts +31 -31
  437. package/src/browser/widgets/react-renderer.tsx +53 -53
  438. package/src/browser/widgets/react-widget.tsx +51 -51
  439. package/src/browser/widgets/select-component.tsx +367 -367
  440. package/src/browser/widgets/split-widget.ts +163 -0
  441. package/src/browser/widgets/widget.ts +406 -406
  442. package/src/browser/window/browser-window-module.ts +32 -32
  443. package/src/browser/window/default-secondary-window-service.ts +189 -189
  444. package/src/browser/window/default-window-service.spec.ts +78 -78
  445. package/src/browser/window/default-window-service.ts +171 -171
  446. package/src/browser/window/secondary-window-service.ts +39 -39
  447. package/src/browser/window/test/mock-window-service.ts +29 -29
  448. package/src/browser/window/window-service.ts +78 -78
  449. package/src/browser/window/window-title-service.ts +107 -107
  450. package/src/browser/window/window-title-updater.ts +95 -95
  451. package/src/browser/window-contribution.ts +64 -64
  452. package/src/browser-only/frontend-only-application-module.ts +116 -116
  453. package/src/browser-only/i18n/i18n-frontend-only-module.ts +37 -37
  454. package/src/browser-only/logger-frontend-only-module.ts +63 -63
  455. package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +39 -39
  456. package/src/browser-only/messaging/messaging-frontend-only-module.ts +42 -42
  457. package/src/browser-only/preload/frontend-only-preload-module.ts +49 -49
  458. package/src/common/accessibility.ts +33 -33
  459. package/src/common/application-error.spec.ts +27 -27
  460. package/src/common/application-error.ts +76 -76
  461. package/src/common/application-protocol.ts +42 -42
  462. package/src/common/array-utils.ts +129 -129
  463. package/src/common/buffer.ts +228 -228
  464. package/src/common/cancellation.ts +163 -163
  465. package/src/common/char-code.ts +438 -438
  466. package/src/common/collections.ts +125 -125
  467. package/src/common/color.ts +103 -103
  468. package/src/common/command.spec.ts +208 -208
  469. package/src/common/command.ts +489 -489
  470. package/src/common/contribution-filter/contribution-filter-registry.ts +79 -79
  471. package/src/common/contribution-filter/contribution-filter.ts +64 -64
  472. package/src/common/contribution-filter/filter.ts +23 -23
  473. package/src/common/contribution-filter/index.ts +19 -19
  474. package/src/common/contribution-provider.ts +96 -96
  475. package/src/common/disposable.spec.ts +94 -94
  476. package/src/common/disposable.ts +188 -188
  477. package/src/common/encoding-service.ts +380 -380
  478. package/src/common/encodings.ts +24 -24
  479. package/src/common/env-variables/env-variables-protocol.ts +38 -38
  480. package/src/common/env-variables/index.ts +17 -17
  481. package/src/common/event.spec.ts +32 -32
  482. package/src/common/event.ts +493 -487
  483. package/src/common/file-uri.ts +61 -61
  484. package/src/common/frontend-application-state.ts +38 -38
  485. package/src/common/glob.ts +741 -741
  486. package/src/common/hash.ts +85 -85
  487. package/src/common/i18n/localization-server.ts +25 -25
  488. package/src/common/i18n/localization.ts +80 -80
  489. package/src/common/i18n/nls.metadata.json +34112 -34112
  490. package/src/common/index.ts +51 -51
  491. package/src/common/json-schema.ts +108 -106
  492. package/src/common/key-store.ts +26 -26
  493. package/src/common/keybinding.ts +152 -152
  494. package/src/common/keyboard/keyboard-layout-provider.ts +51 -51
  495. package/src/common/keys.ts +694 -694
  496. package/src/common/label-protocol.ts +35 -35
  497. package/src/common/logger-protocol.ts +119 -119
  498. package/src/common/logger-watcher.ts +48 -48
  499. package/src/common/logger.spec.ts +46 -46
  500. package/src/common/logger.ts +389 -389
  501. package/src/common/lsp-types.ts +34 -34
  502. package/src/common/markdown-rendering/icon-utilities.ts +30 -30
  503. package/src/common/markdown-rendering/index.ts +18 -18
  504. package/src/common/markdown-rendering/markdown-string.ts +152 -152
  505. package/src/common/menu/action-menu-node.ts +65 -65
  506. package/src/common/menu/composite-menu-node.spec.ts +67 -67
  507. package/src/common/menu/composite-menu-node.ts +114 -114
  508. package/src/common/menu/index.ts +21 -21
  509. package/src/common/menu/menu-adapter.ts +103 -103
  510. package/src/common/menu/menu-model-registry.ts +374 -374
  511. package/src/common/menu/menu-types.ts +220 -219
  512. package/src/common/menu/menu.spec.ts +101 -101
  513. package/src/common/message-rpc/channel.spec.ts +88 -88
  514. package/src/common/message-rpc/channel.ts +300 -300
  515. package/src/common/message-rpc/index.ts +22 -22
  516. package/src/common/message-rpc/message-buffer.ts +105 -105
  517. package/src/common/message-rpc/msg-pack-extension-manager.ts +70 -70
  518. package/src/common/message-rpc/rpc-message-encoder.spec.ts +65 -65
  519. package/src/common/message-rpc/rpc-message-encoder.ts +190 -190
  520. package/src/common/message-rpc/rpc-protocol.ts +255 -255
  521. package/src/common/message-rpc/uint8-array-message-buffer.spec.ts +41 -41
  522. package/src/common/message-rpc/uint8-array-message-buffer.ts +213 -213
  523. package/src/common/message-service-protocol.ts +148 -148
  524. package/src/common/message-service.ts +226 -226
  525. package/src/common/messaging/connection-error-handler.ts +73 -73
  526. package/src/common/messaging/connection-management.ts +43 -43
  527. package/src/common/messaging/handler.ts +26 -26
  528. package/src/common/messaging/index.ts +19 -19
  529. package/src/common/messaging/proxy-factory.spec.ts +108 -108
  530. package/src/common/messaging/proxy-factory.ts +336 -336
  531. package/src/common/messaging/socket-write-buffer.ts +52 -52
  532. package/src/common/messaging/web-socket-channel.ts +76 -76
  533. package/src/common/nls.ts +151 -151
  534. package/src/common/numbers.ts +21 -21
  535. package/src/common/objects.spec.ts +112 -112
  536. package/src/common/objects.ts +123 -123
  537. package/src/common/os.ts +82 -82
  538. package/src/common/path.spec.ts +415 -415
  539. package/src/common/path.ts +334 -334
  540. package/src/common/paths.ts +250 -250
  541. package/src/common/performance/index.ts +19 -19
  542. package/src/common/performance/measurement-protocol.ts +104 -104
  543. package/src/common/performance/measurement.ts +130 -130
  544. package/src/common/performance/stopwatch.ts +183 -183
  545. package/src/common/preferences/preference-schema.ts +101 -101
  546. package/src/common/preferences/preference-scope.spec.ts +48 -48
  547. package/src/common/preferences/preference-scope.ts +68 -68
  548. package/src/common/prioritizeable.ts +58 -58
  549. package/src/common/progress-service-protocol.ts +35 -35
  550. package/src/common/progress-service.ts +82 -82
  551. package/src/common/promise-util.spec.ts +102 -102
  552. package/src/common/promise-util.ts +143 -143
  553. package/src/common/quick-pick-service.ts +353 -353
  554. package/src/common/reference.spec.ts +145 -145
  555. package/src/common/reference.ts +230 -230
  556. package/src/common/resource.ts +430 -430
  557. package/src/common/selection-command-handler.ts +101 -101
  558. package/src/common/selection-service.spec.ts +43 -43
  559. package/src/common/selection-service.ts +49 -49
  560. package/src/common/selection.ts +50 -50
  561. package/src/common/severity.ts +111 -111
  562. package/src/common/stream.ts +718 -718
  563. package/src/common/strings.ts +231 -231
  564. package/src/common/telemetry.ts +45 -45
  565. package/src/common/ternary-search-tree.ts +417 -417
  566. package/src/common/test/expect.ts +34 -34
  567. package/src/common/test/mock-logger.ts +118 -118
  568. package/src/common/test/mock-menu.ts +35 -35
  569. package/src/common/test/mock-resource-provider.ts +33 -33
  570. package/src/common/theme.ts +68 -68
  571. package/src/common/types.spec.ts +86 -86
  572. package/src/common/types.ts +140 -140
  573. package/src/common/uri-command-handler.spec.ts +90 -90
  574. package/src/common/uri-command-handler.ts +148 -148
  575. package/src/common/uri.spec.ts +278 -278
  576. package/src/common/uri.ts +279 -279
  577. package/src/common/uuid.ts +45 -45
  578. package/src/common/version.ts +17 -17
  579. package/src/common/view-column.ts +33 -33
  580. package/src/common/window.ts +34 -34
  581. package/src/electron-browser/electron-clipboard-service.ts +32 -32
  582. package/src/electron-browser/electron-uri-handler.ts +42 -0
  583. package/src/electron-browser/keyboard/electron-keyboard-layout-change-notifier.ts +39 -39
  584. package/src/electron-browser/keyboard/electron-keyboard-module.ts +28 -28
  585. package/src/electron-browser/menu/electron-context-menu-renderer.ts +122 -122
  586. package/src/electron-browser/menu/electron-main-menu-factory.ts +339 -338
  587. package/src/electron-browser/menu/electron-menu-contribution.ts +506 -506
  588. package/src/electron-browser/menu/electron-menu-module.ts +40 -40
  589. package/src/electron-browser/menu/electron-menu-style.css +110 -110
  590. package/src/electron-browser/messaging/electron-frontend-id-provider.ts +25 -25
  591. package/src/electron-browser/messaging/electron-ipc-connection-source.ts +65 -65
  592. package/src/electron-browser/messaging/electron-local-ws-connection-source.ts +45 -45
  593. package/src/electron-browser/messaging/electron-messaging-frontend-module.ts +78 -78
  594. package/src/electron-browser/messaging/electron-ws-connection-source.ts +38 -38
  595. package/src/electron-browser/preload.ts +264 -249
  596. package/src/electron-browser/request/electron-browser-request-module.ts +26 -26
  597. package/src/electron-browser/token/electron-token-frontend-module.ts +22 -22
  598. package/src/electron-browser/window/electron-frontend-application-state.ts +26 -26
  599. package/src/electron-browser/window/electron-secondary-window-service.ts +35 -35
  600. package/src/electron-browser/window/electron-window-module.ts +48 -45
  601. package/src/electron-browser/window/electron-window-preferences.ts +76 -76
  602. package/src/electron-browser/window/electron-window-service.ts +109 -109
  603. package/src/electron-browser/window/external-app-open-handler.ts +42 -42
  604. package/src/electron-common/electron-api.ts +157 -154
  605. package/src/electron-common/electron-main-window-service.ts +24 -24
  606. package/src/electron-common/electron-token.ts +27 -27
  607. package/src/electron-main/electron-api-main.ts +373 -347
  608. package/src/electron-main/electron-main-application-module.ts +65 -65
  609. package/src/electron-main/electron-main-application.ts +860 -818
  610. package/src/electron-main/electron-main-constants.ts +23 -23
  611. package/src/electron-main/electron-main-window-service-impl.ts +44 -44
  612. package/src/electron-main/electron-security-token-service.ts +36 -36
  613. package/src/electron-main/event-utils.ts +36 -36
  614. package/src/electron-main/messaging/electron-connection-handler.ts +21 -21
  615. package/src/electron-main/messaging/electron-messaging-contribution.ts +143 -143
  616. package/src/electron-main/messaging/electron-messaging-service.ts +35 -35
  617. package/src/electron-main/theia-electron-window.ts +219 -214
  618. package/src/electron-node/cli/electron-backend-cli-module.ts +24 -24
  619. package/src/electron-node/cli/electron-cli-contribution.ts +35 -35
  620. package/src/electron-node/hosting/electron-backend-hosting-module.ts +24 -24
  621. package/src/electron-node/hosting/electron-ws-origin-validator.ts +37 -37
  622. package/src/electron-node/keyboard/electron-backend-keyboard-module.ts +30 -30
  623. package/src/electron-node/keyboard/electron-keyboard-layout-provider.ts +35 -35
  624. package/src/electron-node/request/electron-backend-request-module.ts +23 -23
  625. package/src/electron-node/request/electron-backend-request-service.ts +78 -78
  626. package/src/electron-node/token/electron-token-backend-contribution.ts +48 -48
  627. package/src/electron-node/token/electron-token-backend-module.ts +28 -28
  628. package/src/electron-node/token/electron-token-validator.ts +93 -93
  629. package/src/node/application-server.ts +59 -59
  630. package/src/node/backend-application-config-provider.spec.ts +29 -29
  631. package/src/node/backend-application-config-provider.ts +48 -48
  632. package/src/node/backend-application-module.ts +139 -139
  633. package/src/node/backend-application.ts +374 -374
  634. package/src/node/cli.spec.ts +94 -94
  635. package/src/node/cli.ts +63 -63
  636. package/src/node/console-logger-server.spec.ts +59 -59
  637. package/src/node/console-logger-server.ts +76 -76
  638. package/src/node/debug.ts +30 -30
  639. package/src/node/dynamic-require.ts +56 -56
  640. package/src/node/env-variables/env-variables-server.ts +123 -123
  641. package/src/node/env-variables/index.ts +17 -17
  642. package/src/node/environment-utils.spec.ts +92 -92
  643. package/src/node/environment-utils.ts +66 -66
  644. package/src/node/file-uri.spec.ts +76 -76
  645. package/src/node/filesystem-locking.ts +77 -77
  646. package/src/node/hosting/backend-application-hosts.ts +60 -60
  647. package/src/node/hosting/backend-hosting-module.ts +26 -26
  648. package/src/node/hosting/ws-origin-validator.ts +36 -36
  649. package/src/node/i18n/i18n-backend-module.ts +42 -42
  650. package/src/node/i18n/localization-contribution.ts +112 -112
  651. package/src/node/i18n/localization-provider.ts +125 -125
  652. package/src/node/i18n/localization-server.ts +52 -52
  653. package/src/node/i18n/theia-localization-contribution.ts +40 -36
  654. package/src/node/index.ts +22 -22
  655. package/src/node/key-store-server.ts +162 -162
  656. package/src/node/logger-backend-module.ts +88 -88
  657. package/src/node/logger-cli-contribution.spec.ts +245 -245
  658. package/src/node/logger-cli-contribution.ts +168 -168
  659. package/src/node/main.ts +33 -33
  660. package/src/node/messaging/binary-message-pipe.ts +168 -168
  661. package/src/node/messaging/connection-container-module.ts +96 -96
  662. package/src/node/messaging/default-messaging-service.ts +129 -129
  663. package/src/node/messaging/frontend-connection-service.ts +24 -24
  664. package/src/node/messaging/index.ts +19 -19
  665. package/src/node/messaging/ipc-bootstrap.ts +27 -27
  666. package/src/node/messaging/ipc-channel.ts +77 -77
  667. package/src/node/messaging/ipc-connection-provider.ts +107 -107
  668. package/src/node/messaging/ipc-protocol.ts +76 -76
  669. package/src/node/messaging/messaging-backend-module.ts +52 -52
  670. package/src/node/messaging/messaging-listeners.ts +52 -52
  671. package/src/node/messaging/messaging-service.ts +46 -46
  672. package/src/node/messaging/test/test-web-socket-channel.ts +61 -61
  673. package/src/node/messaging/websocket-endpoint.ts +79 -79
  674. package/src/node/messaging/websocket-frontend-connection-service.ts +186 -186
  675. package/src/node/os-backend-provider.ts +25 -25
  676. package/src/node/performance/index.ts +18 -18
  677. package/src/node/performance/measurement-backend-bindings.ts +35 -35
  678. package/src/node/performance/node-stopwatch.ts +40 -40
  679. package/src/node/process-utils.spec.ts +48 -48
  680. package/src/node/process-utils.ts +102 -102
  681. package/src/node/remote/backend-remote-service.ts +25 -25
  682. package/src/node/remote/remote-cli-contribution.ts +34 -34
  683. package/src/node/remote/remote-copy-contribution.ts +45 -45
  684. package/src/node/request/backend-request-facade.ts +39 -39
  685. package/src/node/request/backend-request-module.ts +25 -25
  686. package/src/node/request/proxy-cli-contribution.ts +65 -65
  687. package/src/node/ws-request-validators.ts +56 -56
  688. package/src/typings/native-keymap.d.ts +108 -108
  689. package/i18n/nls.pt-pt.json +0 -552
@@ -1,475 +1,474 @@
1
- // *****************************************************************************
2
- // Copyright (C) 2017 TypeFox and others.
3
- //
4
- // This program and the accompanying materials are made available under the
5
- // terms of the Eclipse Public License v. 2.0 which is available at
6
- // http://www.eclipse.org/legal/epl-2.0.
7
- //
8
- // This Source Code may also be made available under the following Secondary
9
- // Licenses when the conditions for such availability set forth in the Eclipse
10
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
- // with the GNU Classpath Exception which is available at
12
- // https://www.gnu.org/software/classpath/license.html.
13
- //
14
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
- // *****************************************************************************
16
-
17
- import '../../src/browser/style/index.css';
18
- require('../../src/browser/style/materialcolors.css').use();
19
- import 'font-awesome/css/font-awesome.min.css';
20
- import 'file-icons-js/css/style.css';
21
- import '@vscode/codicons/dist/codicon.css';
22
-
23
- import { ContainerModule } from 'inversify';
24
- import {
25
- bindContributionProvider,
26
- SelectionService,
27
- ResourceResolver,
28
- CommandContribution, CommandRegistry, CommandService, commandServicePath,
29
- MenuModelRegistry, MenuContribution,
30
- MessageClient,
31
- InMemoryResources,
32
- messageServicePath,
33
- InMemoryTextResourceResolver,
34
- UntitledResourceResolver,
35
- MenuCommandAdapterRegistry,
36
- MenuCommandExecutor,
37
- MenuCommandAdapterRegistryImpl,
38
- MenuCommandExecutorImpl,
39
- MenuPath
40
- } from '../common';
41
- import { KeybindingRegistry, KeybindingContext, KeybindingContribution } from './keybinding';
42
- import { FrontendApplication } from './frontend-application';
43
- import { FrontendApplicationContribution, DefaultFrontendApplicationContribution } from './frontend-application-contribution';
44
- import { DefaultOpenerService, OpenerService, OpenHandler } from './opener-service';
45
- import { HttpOpenHandler } from './http-open-handler';
46
- import { CommonFrontendContribution } from './common-frontend-contribution';
47
- import { LocalStorageService, StorageService } from './storage-service';
48
- import { WidgetFactory, WidgetManager } from './widget-manager';
49
- import {
50
- ApplicationShell, ApplicationShellOptions, DockPanelRenderer, TabBarRenderer,
51
- TabBarRendererFactory, ShellLayoutRestorer,
52
- SidePanelHandler, SidePanelHandlerFactory,
53
- SidebarMenuWidget, SidebarTopMenuWidgetFactory,
54
- SplitPositionHandler, DockPanelRendererFactory, ApplicationShellLayoutMigration, ApplicationShellLayoutMigrationError, SidebarBottomMenuWidgetFactory
55
- } from './shell';
56
- import { LabelParser } from './label-parser';
57
- import { LabelProvider, LabelProviderContribution, DefaultUriLabelProviderContribution } from './label-provider';
58
- import { PreferenceService } from './preferences';
59
- import { ContextMenuRenderer, Coordinate } from './context-menu-renderer';
60
- import { ThemeService } from './theming';
61
- import { ConnectionStatusService, FrontendConnectionStatusService, ApplicationConnectionStatusContribution, PingService } from './connection-status-service';
62
- import { DiffUriLabelProviderContribution } from './diff-uris';
63
- import { ApplicationServer, applicationPath } from '../common/application-protocol';
64
- import { WebSocketConnectionProvider } from './messaging';
65
- import { AboutDialog, AboutDialogProps } from './about-dialog';
66
- import { EnvVariablesServer, envVariablesPath, EnvVariable } from './../common/env-variables';
67
- import { FrontendApplicationStateService } from './frontend-application-state';
68
- import { JsonSchemaStore, JsonSchemaContribution, DefaultJsonSchemaContribution } from './json-schema-store';
69
- import { TabBarToolbarRegistry, TabBarToolbarContribution, TabBarToolbarFactory, TabBarToolbar } from './shell/tab-bar-toolbar';
70
- import { bindCorePreferences, CorePreferences } from './core-preferences';
71
- import { ContextKeyService, ContextKeyServiceDummyImpl } from './context-key-service';
72
- import { ResourceContextKey } from './resource-context-key';
73
- import { KeyboardLayoutService } from './keyboard/keyboard-layout-service';
74
- import { MimeService } from './mime-service';
75
- import { ApplicationShellMouseTracker } from './shell/application-shell-mouse-tracker';
76
- import { ViewContainer, ViewContainerIdentifier } from './view-container';
77
- import { QuickViewService } from './quick-input/quick-view-service';
78
- import { DialogOverlayService } from './dialogs';
79
- import { ProgressLocationService } from './progress-location-service';
80
- import { ProgressClient } from '../common/progress-service-protocol';
81
- import { ProgressService } from '../common/progress-service';
82
- import { DispatchingProgressClient } from './progress-client';
83
- import { ProgressStatusBarItem } from './progress-status-bar-item';
84
- import { TabBarDecoratorService, TabBarDecorator } from './shell/tab-bar-decorator';
85
- import { ContextMenuContext } from './menu/context-menu-context';
86
- import { bindResourceProvider, bindMessageService, bindPreferenceService } from './frontend-application-bindings';
87
- import { ColorRegistry } from './color-registry';
88
- import { ColorContribution, ColorApplicationContribution } from './color-application-contribution';
89
- import { ExternalUriService } from './external-uri-service';
90
- import { IconThemeService, NoneIconTheme } from './icon-theme-service';
91
- import { IconThemeApplicationContribution, IconThemeContribution, DefaultFileIconThemeContribution } from './icon-theme-contribution';
92
- import { TreeLabelProvider } from './tree/tree-label-provider';
93
- import { ProgressBar } from './progress-bar';
94
- import { ProgressBarFactory, ProgressBarOptions } from './progress-bar-factory';
95
- import { CommandOpenHandler } from './command-open-handler';
96
- import { LanguageService } from './language-service';
97
- import { EncodingRegistry } from './encoding-registry';
98
- import { EncodingService } from '../common/encoding-service';
99
- import { AuthenticationService, AuthenticationServiceImpl } from '../browser/authentication-service';
100
- import { DecorationsService, DecorationsServiceImpl } from './decorations-service';
101
- import { keyStoreServicePath, KeyStoreService } from '../common/key-store';
102
- import { CredentialsService, CredentialsServiceImpl } from './credentials-service';
103
- import { ContributionFilterRegistry, ContributionFilterRegistryImpl } from '../common/contribution-filter';
104
- import { QuickCommandFrontendContribution } from './quick-input/quick-command-frontend-contribution';
105
- import { QuickPickService, quickPickServicePath } from '../common/quick-pick-service';
106
- import {
107
- QuickPickServiceImpl,
108
- QuickInputFrontendContribution,
109
- QuickAccessContribution,
110
- QuickCommandService,
111
- QuickHelpService
112
- } from './quick-input';
113
- import { SidebarBottomMenuWidget } from './shell/sidebar-bottom-menu-widget';
114
- import { WindowContribution } from './window-contribution';
115
- import {
116
- BreadcrumbID,
117
- BreadcrumbPopupContainer,
118
- BreadcrumbPopupContainerFactory,
119
- BreadcrumbRenderer,
120
- BreadcrumbsContribution,
121
- BreadcrumbsRenderer,
122
- BreadcrumbsRendererFactory,
123
- BreadcrumbsService,
124
- DefaultBreadcrumbRenderer,
125
- } from './breadcrumbs';
126
- import { DockPanel, RendererHost } from './widgets';
127
- import { TooltipService, TooltipServiceImpl } from './tooltip-service';
128
- import { BackendRequestService, RequestService, REQUEST_SERVICE_PATH } from '@theia/request';
129
- import { bindFrontendStopwatch, bindBackendStopwatch } from './performance';
130
- import { SaveableService } from './saveable-service';
131
- import { SecondaryWindowHandler } from './secondary-window-handler';
132
- import { UserWorkingDirectoryProvider } from './user-working-directory-provider';
133
- import { WindowTitleService } from './window/window-title-service';
134
- import { WindowTitleUpdater } from './window/window-title-updater';
135
- import { TheiaDockPanel } from './shell/theia-dock-panel';
136
- import { bindStatusBar } from './status-bar';
137
- import { MarkdownRenderer, MarkdownRendererFactory, MarkdownRendererImpl } from './markdown-rendering/markdown-renderer';
138
- import { StylingParticipant, StylingService } from './styling-service';
139
- import { bindCommonStylingParticipants } from './common-styling-participants';
140
- import { HoverService } from './hover-service';
141
- import { AdditionalViewsMenuPath, AdditionalViewsMenuWidget, AdditionalViewsMenuWidgetFactory } from './shell/additional-views-menu-widget';
142
- import { LanguageIconLabelProvider } from './language-icon-provider';
143
- import { bindTreePreferences } from './tree';
144
- import { OpenWithService } from './open-with-service';
145
- import { ViewColumnService } from './shell/view-column-service';
146
- import { DomInputUndoRedoHandler, UndoRedoHandler, UndoRedoHandlerService } from './undo-redo-handler';
147
-
148
- export { bindResourceProvider, bindMessageService, bindPreferenceService };
149
-
150
- export const frontendApplicationModule = new ContainerModule((bind, _unbind, _isBound, _rebind) => {
151
- bind(NoneIconTheme).toSelf().inSingletonScope();
152
- bind(LabelProviderContribution).toService(NoneIconTheme);
153
- bind(IconThemeService).toSelf().inSingletonScope();
154
- bindContributionProvider(bind, IconThemeContribution);
155
- bind(DefaultFileIconThemeContribution).toSelf().inSingletonScope();
156
- bind(IconThemeContribution).toService(DefaultFileIconThemeContribution);
157
- bind(IconThemeApplicationContribution).toSelf().inSingletonScope();
158
- bind(FrontendApplicationContribution).toService(IconThemeApplicationContribution);
159
- bind(LanguageIconLabelProvider).toSelf().inSingletonScope();
160
- bind(LabelProviderContribution).toService(LanguageIconLabelProvider);
161
-
162
- bind(ColorRegistry).toSelf().inSingletonScope();
163
- bindContributionProvider(bind, ColorContribution);
164
- bind(ColorApplicationContribution).toSelf().inSingletonScope();
165
- bind(FrontendApplicationContribution).toService(ColorApplicationContribution);
166
-
167
- bind(FrontendApplication).toSelf().inSingletonScope();
168
- bind(FrontendApplicationStateService).toSelf().inSingletonScope();
169
- bind(DefaultFrontendApplicationContribution).toSelf();
170
- bindContributionProvider(bind, FrontendApplicationContribution);
171
-
172
- bind(ApplicationShellOptions).toConstantValue({});
173
- bind(ApplicationShell).toSelf().inSingletonScope();
174
- bind(SidePanelHandlerFactory).toAutoFactory(SidePanelHandler);
175
- bind(SidePanelHandler).toSelf();
176
- bind(SidebarTopMenuWidgetFactory).toAutoFactory(SidebarMenuWidget);
177
- bind(SidebarMenuWidget).toSelf();
178
- bind(SidebarBottomMenuWidget).toSelf();
179
- bind(SidebarBottomMenuWidgetFactory).toAutoFactory(SidebarBottomMenuWidget);
180
- bind(AdditionalViewsMenuWidget).toSelf();
181
- bind(AdditionalViewsMenuWidgetFactory).toFactory(ctx => (side: 'left' | 'right') => {
182
- const childContainer = ctx.container.createChild();
183
- childContainer.bind<MenuPath>(AdditionalViewsMenuPath).toConstantValue(['additional_views_menu', side]);
184
- return childContainer.resolve(AdditionalViewsMenuWidget);
185
- });
186
- bind(SplitPositionHandler).toSelf().inSingletonScope();
187
-
188
- bindContributionProvider(bind, TabBarToolbarContribution);
189
- bind(TabBarToolbarRegistry).toSelf().inSingletonScope();
190
- bind(FrontendApplicationContribution).toService(TabBarToolbarRegistry);
191
- bind(TabBarToolbarFactory).toFactory(context => () => {
192
- const container = context.container.createChild();
193
- container.bind(TabBarToolbar).toSelf().inSingletonScope();
194
- return container.get(TabBarToolbar);
195
- });
196
-
197
- bind(DockPanelRendererFactory).toFactory(context => () => context.container.get(DockPanelRenderer));
198
- bind(DockPanelRenderer).toSelf();
199
- bind(TabBarRendererFactory).toFactory(({ container }) => () => {
200
- const contextMenuRenderer = container.get(ContextMenuRenderer);
201
- const tabBarDecoratorService = container.get(TabBarDecoratorService);
202
- const iconThemeService = container.get(IconThemeService);
203
- const selectionService = container.get(SelectionService);
204
- const commandService = container.get<CommandService>(CommandService);
205
- const corePreferences = container.get<CorePreferences>(CorePreferences);
206
- const hoverService = container.get(HoverService);
207
- const contextKeyService: ContextKeyService = container.get(ContextKeyService);
208
- return new TabBarRenderer(contextMenuRenderer, tabBarDecoratorService, iconThemeService,
209
- selectionService, commandService, corePreferences, hoverService, contextKeyService);
210
- });
211
- bind(TheiaDockPanel.Factory).toFactory(({ container }) => (options?: DockPanel.IOptions) => {
212
- const corePreferences = container.get<CorePreferences>(CorePreferences);
213
- return new TheiaDockPanel(options, corePreferences);
214
- });
215
-
216
- bindContributionProvider(bind, TabBarDecorator);
217
- bind(TabBarDecoratorService).toSelf().inSingletonScope();
218
- bind(FrontendApplicationContribution).toService(TabBarDecoratorService);
219
-
220
- bindContributionProvider(bind, OpenHandler);
221
- bind(DefaultOpenerService).toSelf().inSingletonScope();
222
- bind(OpenerService).toService(DefaultOpenerService);
223
-
224
- bind(ExternalUriService).toSelf().inSingletonScope();
225
- bind(HttpOpenHandler).toSelf().inSingletonScope();
226
- bind(OpenHandler).toService(HttpOpenHandler);
227
-
228
- bind(CommandOpenHandler).toSelf().inSingletonScope();
229
- bind(OpenHandler).toService(CommandOpenHandler);
230
-
231
- bind(OpenWithService).toSelf().inSingletonScope();
232
-
233
- bind(TooltipServiceImpl).toSelf().inSingletonScope();
234
- bind(TooltipService).toService(TooltipServiceImpl);
235
-
236
- bindContributionProvider(bind, ApplicationShellLayoutMigration);
237
- bind<ApplicationShellLayoutMigration>(ApplicationShellLayoutMigration).toConstantValue({
238
- layoutVersion: 2.0,
239
- onWillInflateLayout({ layoutVersion }): void {
240
- throw ApplicationShellLayoutMigrationError.create(
241
- `It is not possible to migrate layout of version ${layoutVersion} to version ${this.layoutVersion}.`
242
- );
243
- }
244
- });
245
-
246
- bindContributionProvider(bind, WidgetFactory);
247
- bind(WidgetManager).toSelf().inSingletonScope();
248
- bind(ShellLayoutRestorer).toSelf().inSingletonScope();
249
- bind(CommandContribution).toService(ShellLayoutRestorer);
250
-
251
- bindResourceProvider(bind);
252
- bind(InMemoryResources).toSelf().inSingletonScope();
253
- bind(ResourceResolver).toService(InMemoryResources);
254
-
255
- bind(InMemoryTextResourceResolver).toSelf().inSingletonScope();
256
- bind(ResourceResolver).toService(InMemoryTextResourceResolver);
257
-
258
- bind(UntitledResourceResolver).toSelf().inSingletonScope();
259
- bind(ResourceResolver).toService(UntitledResourceResolver);
260
-
261
- bind(SelectionService).toSelf().inSingletonScope();
262
- bind(CommandRegistry).toSelf().inSingletonScope().onActivation(({ container }, registry) => {
263
- WebSocketConnectionProvider.createHandler(container, commandServicePath, registry);
264
- return registry;
265
- });
266
- bind(CommandService).toService(CommandRegistry);
267
- bindContributionProvider(bind, CommandContribution);
268
-
269
- bind(ContextKeyService).to(ContextKeyServiceDummyImpl).inSingletonScope();
270
-
271
- bind(MenuModelRegistry).toSelf().inSingletonScope();
272
- bindContributionProvider(bind, MenuContribution);
273
- bind(MenuCommandAdapterRegistry).to(MenuCommandAdapterRegistryImpl).inSingletonScope();
274
- bind(MenuCommandExecutor).to(MenuCommandExecutorImpl).inSingletonScope();
275
-
276
- bind(KeyboardLayoutService).toSelf().inSingletonScope();
277
- bind(KeybindingRegistry).toSelf().inSingletonScope();
278
- bindContributionProvider(bind, KeybindingContext);
279
- bindContributionProvider(bind, KeybindingContribution);
280
-
281
- bindMessageService(bind).onActivation(({ container }, messages) => {
282
- const client = container.get(MessageClient);
283
- WebSocketConnectionProvider.createHandler(container, messageServicePath, client);
284
- return messages;
285
- });
286
-
287
- bind(LanguageService).toSelf().inSingletonScope();
288
-
289
- bind(EncodingService).toSelf().inSingletonScope();
290
- bind(EncodingRegistry).toSelf().inSingletonScope();
291
-
292
- bind(ResourceContextKey).toSelf().inSingletonScope();
293
- bind(CommonFrontendContribution).toSelf().inSingletonScope();
294
- [FrontendApplicationContribution, CommandContribution, KeybindingContribution, MenuContribution, ColorContribution].forEach(serviceIdentifier =>
295
- bind(serviceIdentifier).toService(CommonFrontendContribution)
296
- );
297
-
298
- bindCommonStylingParticipants(bind);
299
-
300
- bind(QuickCommandFrontendContribution).toSelf().inSingletonScope();
301
- [CommandContribution, KeybindingContribution, MenuContribution].forEach(serviceIdentifier =>
302
- bind(serviceIdentifier).toService(QuickCommandFrontendContribution)
303
- );
304
- bind(QuickCommandService).toSelf().inSingletonScope();
305
- bind(QuickAccessContribution).toService(QuickCommandService);
306
-
307
- bind(QuickHelpService).toSelf().inSingletonScope();
308
- bind(QuickAccessContribution).toService(QuickHelpService);
309
-
310
- bind(QuickPickService).to(QuickPickServiceImpl).inSingletonScope().onActivation(({ container }, quickPickService: QuickPickService) => {
311
- WebSocketConnectionProvider.createHandler(container, quickPickServicePath, quickPickService);
312
- return quickPickService;
313
- });
314
-
315
- bind(MarkdownRenderer).to(MarkdownRendererImpl).inSingletonScope();
316
- bind(MarkdownRendererFactory).toFactory(({ container }) => () => container.get(MarkdownRenderer));
317
-
318
- bindContributionProvider(bind, QuickAccessContribution);
319
- bind(QuickInputFrontendContribution).toSelf().inSingletonScope();
320
- bind(FrontendApplicationContribution).toService(QuickInputFrontendContribution);
321
-
322
- bind(LocalStorageService).toSelf().inSingletonScope();
323
- bind(StorageService).toService(LocalStorageService);
324
-
325
- bindStatusBar(bind);
326
- bind(LabelParser).toSelf().inSingletonScope();
327
-
328
- bindContributionProvider(bind, LabelProviderContribution);
329
- bind(LabelProvider).toSelf().inSingletonScope();
330
- bind(FrontendApplicationContribution).toService(LabelProvider);
331
- bind(DefaultUriLabelProviderContribution).toSelf().inSingletonScope();
332
- bind(LabelProviderContribution).toService(DefaultUriLabelProviderContribution);
333
- bind(LabelProviderContribution).to(DiffUriLabelProviderContribution).inSingletonScope();
334
-
335
- bind(TreeLabelProvider).toSelf().inSingletonScope();
336
- bind(LabelProviderContribution).toService(TreeLabelProvider);
337
-
338
- bindPreferenceService(bind);
339
- bind(FrontendApplicationContribution).toService(PreferenceService);
340
-
341
- bindContributionProvider(bind, JsonSchemaContribution);
342
- bind(JsonSchemaStore).toSelf().inSingletonScope();
343
- bind(FrontendApplicationContribution).toService(JsonSchemaStore);
344
- bind(DefaultJsonSchemaContribution).toSelf().inSingletonScope();
345
- bind(JsonSchemaContribution).toService(DefaultJsonSchemaContribution);
346
-
347
- bind(PingService).toDynamicValue(ctx => {
348
- // let's reuse a simple and cheap service from this package
349
- const envServer: EnvVariablesServer = ctx.container.get(EnvVariablesServer);
350
- return {
351
- ping(): Promise<EnvVariable | undefined> {
352
- return envServer.getValue('does_not_matter');
353
- }
354
- };
355
- });
356
- bind(FrontendConnectionStatusService).toSelf().inSingletonScope();
357
- bind(ConnectionStatusService).toService(FrontendConnectionStatusService);
358
- bind(ApplicationConnectionStatusContribution).toSelf().inSingletonScope();
359
- bind(FrontendApplicationContribution).toService(ApplicationConnectionStatusContribution);
360
-
361
- bind(ApplicationServer).toDynamicValue(ctx => {
362
- const provider = ctx.container.get(WebSocketConnectionProvider);
363
- return provider.createProxy<ApplicationServer>(applicationPath);
364
- }).inSingletonScope();
365
-
366
- bind(AboutDialog).toSelf().inSingletonScope();
367
- bind(AboutDialogProps).toConstantValue({ title: 'Theia' });
368
-
369
- bind(EnvVariablesServer).toDynamicValue(ctx => {
370
- const connection = ctx.container.get(WebSocketConnectionProvider);
371
- return connection.createProxy<EnvVariablesServer>(envVariablesPath);
372
- }).inSingletonScope();
373
-
374
- bind(ThemeService).toSelf().inSingletonScope();
375
-
376
- bindCorePreferences(bind);
377
- bindTreePreferences(bind);
378
-
379
- bind(MimeService).toSelf().inSingletonScope();
380
-
381
- bind(ApplicationShellMouseTracker).toSelf().inSingletonScope();
382
- bind(FrontendApplicationContribution).toService(ApplicationShellMouseTracker);
383
-
384
- bind(ViewContainer.Factory).toFactory(context => (options: ViewContainerIdentifier) => {
385
- const container = context.container.createChild();
386
- container.bind(ViewContainerIdentifier).toConstantValue(options);
387
- container.bind(ViewContainer).toSelf().inSingletonScope();
388
- return container.get(ViewContainer);
389
- });
390
-
391
- bind(QuickViewService).toSelf().inSingletonScope();
392
- bind(QuickAccessContribution).toService(QuickViewService);
393
-
394
- bind(DialogOverlayService).toSelf().inSingletonScope();
395
- bind(FrontendApplicationContribution).toService(DialogOverlayService);
396
-
397
- bind(DispatchingProgressClient).toSelf().inSingletonScope();
398
- bind(ProgressLocationService).toSelf().inSingletonScope();
399
- bind(ProgressStatusBarItem).toSelf().inSingletonScope();
400
- bind(ProgressClient).toService(DispatchingProgressClient);
401
- bind(ProgressService).toSelf().inSingletonScope();
402
- bind(ProgressBarFactory).toFactory(context => (options: ProgressBarOptions) => {
403
- const childContainer = context.container.createChild();
404
- childContainer.bind(ProgressBarOptions).toConstantValue(options);
405
- childContainer.bind(ProgressBar).toSelf().inSingletonScope();
406
- return childContainer.get(ProgressBar);
407
- });
408
-
409
- bind(ContextMenuContext).toSelf().inSingletonScope();
410
-
411
- bind(AuthenticationService).to(AuthenticationServiceImpl).inSingletonScope();
412
- bind(DecorationsService).to(DecorationsServiceImpl).inSingletonScope();
413
-
414
- bind(KeyStoreService).toDynamicValue(ctx => {
415
- const connection = ctx.container.get(WebSocketConnectionProvider);
416
- return connection.createProxy<KeyStoreService>(keyStoreServicePath);
417
- }).inSingletonScope();
418
-
419
- bind(CredentialsService).to(CredentialsServiceImpl);
420
-
421
- bind(ContributionFilterRegistry).to(ContributionFilterRegistryImpl).inSingletonScope();
422
- bind(WindowContribution).toSelf().inSingletonScope();
423
- for (const contribution of [CommandContribution, KeybindingContribution, MenuContribution]) {
424
- bind(contribution).toService(WindowContribution);
425
- }
426
- bind(WindowTitleService).toSelf().inSingletonScope();
427
- bind(WindowTitleUpdater).toSelf().inSingletonScope();
428
- bind(FrontendApplicationContribution).toService(WindowTitleUpdater);
429
- bindContributionProvider(bind, BreadcrumbsContribution);
430
- bind(BreadcrumbsService).toSelf().inSingletonScope();
431
- bind(BreadcrumbsRenderer).toSelf();
432
- bind(BreadcrumbsRendererFactory).toFactory(ctx =>
433
- () => {
434
- const childContainer = ctx.container.createChild();
435
- childContainer.bind(BreadcrumbRenderer).to(DefaultBreadcrumbRenderer).inSingletonScope();
436
- return childContainer.get(BreadcrumbsRenderer);
437
- }
438
- );
439
- bind(BreadcrumbPopupContainer).toSelf();
440
- bind(BreadcrumbPopupContainerFactory).toFactory(({ container }) => (parent: HTMLElement, breadcrumbId: string, position: Coordinate): BreadcrumbPopupContainer => {
441
- const child = container.createChild();
442
- child.bind(RendererHost).toConstantValue(parent);
443
- child.bind(BreadcrumbID).toConstantValue(breadcrumbId);
444
- child.bind(Coordinate).toConstantValue(position);
445
- return child.get(BreadcrumbPopupContainer);
446
- });
447
-
448
- bind(BackendRequestService).toDynamicValue(ctx =>
449
- WebSocketConnectionProvider.createProxy<RequestService>(ctx.container, REQUEST_SERVICE_PATH)
450
- ).inSingletonScope();
451
-
452
- bindFrontendStopwatch(bind);
453
- bindBackendStopwatch(bind);
454
-
455
- bind(SaveableService).toSelf().inSingletonScope();
456
- bind(FrontendApplicationContribution).toService(SaveableService);
457
-
458
- bind(UserWorkingDirectoryProvider).toSelf().inSingletonScope();
459
- bind(FrontendApplicationContribution).toService(UserWorkingDirectoryProvider);
460
-
461
- bind(HoverService).toSelf().inSingletonScope();
462
-
463
- bind(StylingService).toSelf().inSingletonScope();
464
- bindContributionProvider(bind, StylingParticipant);
465
- bind(FrontendApplicationContribution).toService(StylingService);
466
-
467
- bind(SecondaryWindowHandler).toSelf().inSingletonScope();
468
-
469
- bind(ViewColumnService).toSelf().inSingletonScope();
470
-
471
- bind(UndoRedoHandlerService).toSelf().inSingletonScope();
472
- bindContributionProvider(bind, UndoRedoHandler);
473
- bind(DomInputUndoRedoHandler).toSelf().inSingletonScope();
474
- bind(UndoRedoHandler).toService(DomInputUndoRedoHandler);
475
- });
1
+ // *****************************************************************************
2
+ // Copyright (C) 2017 TypeFox and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import '../../src/browser/style/index.css';
18
+ require('../../src/browser/style/materialcolors.css').use();
19
+ import 'font-awesome/css/font-awesome.min.css';
20
+ import 'file-icons-js/css/style.css';
21
+ import '@vscode/codicons/dist/codicon.css';
22
+
23
+ import { ContainerModule } from 'inversify';
24
+ import {
25
+ bindContributionProvider,
26
+ SelectionService,
27
+ ResourceResolver,
28
+ CommandContribution, CommandRegistry, CommandService, commandServicePath,
29
+ MenuModelRegistry, MenuContribution,
30
+ MessageClient,
31
+ InMemoryResources,
32
+ messageServicePath,
33
+ InMemoryTextResourceResolver,
34
+ UntitledResourceResolver,
35
+ MenuCommandAdapterRegistry,
36
+ MenuCommandExecutor,
37
+ MenuCommandAdapterRegistryImpl,
38
+ MenuCommandExecutorImpl,
39
+ MenuPath
40
+ } from '../common';
41
+ import { KeybindingRegistry, KeybindingContext, KeybindingContribution } from './keybinding';
42
+ import { FrontendApplication } from './frontend-application';
43
+ import { FrontendApplicationContribution, DefaultFrontendApplicationContribution } from './frontend-application-contribution';
44
+ import { DefaultOpenerService, OpenerService, OpenHandler } from './opener-service';
45
+ import { HttpOpenHandler } from './http-open-handler';
46
+ import { CommonFrontendContribution } from './common-frontend-contribution';
47
+ import { LocalStorageService, StorageService } from './storage-service';
48
+ import { WidgetFactory, WidgetManager } from './widget-manager';
49
+ import {
50
+ ApplicationShell, ApplicationShellOptions, DockPanelRenderer, TabBarRenderer,
51
+ TabBarRendererFactory, ShellLayoutRestorer,
52
+ SidePanelHandler, SidePanelHandlerFactory,
53
+ SidebarMenuWidget, SidebarTopMenuWidgetFactory,
54
+ SplitPositionHandler, DockPanelRendererFactory, ApplicationShellLayoutMigration, ApplicationShellLayoutMigrationError, SidebarBottomMenuWidgetFactory
55
+ } from './shell';
56
+ import { LabelParser } from './label-parser';
57
+ import { LabelProvider, LabelProviderContribution, DefaultUriLabelProviderContribution } from './label-provider';
58
+ import { PreferenceService } from './preferences';
59
+ import { ContextMenuRenderer, Coordinate } from './context-menu-renderer';
60
+ import { ThemeService } from './theming';
61
+ import { ConnectionStatusService, FrontendConnectionStatusService, ApplicationConnectionStatusContribution, PingService } from './connection-status-service';
62
+ import { DiffUriLabelProviderContribution } from './diff-uris';
63
+ import { ApplicationServer, applicationPath } from '../common/application-protocol';
64
+ import { WebSocketConnectionProvider } from './messaging';
65
+ import { AboutDialog, AboutDialogProps } from './about-dialog';
66
+ import { EnvVariablesServer, envVariablesPath, EnvVariable } from './../common/env-variables';
67
+ import { FrontendApplicationStateService } from './frontend-application-state';
68
+ import { JsonSchemaStore, JsonSchemaContribution, DefaultJsonSchemaContribution } from './json-schema-store';
69
+ import { TabBarToolbarRegistry, TabBarToolbarContribution, TabBarToolbarFactory, TabBarToolbar } from './shell/tab-bar-toolbar';
70
+ import { bindCorePreferences, CorePreferences } from './core-preferences';
71
+ import { ContextKeyService, ContextKeyServiceDummyImpl } from './context-key-service';
72
+ import { ResourceContextKey } from './resource-context-key';
73
+ import { KeyboardLayoutService } from './keyboard/keyboard-layout-service';
74
+ import { MimeService } from './mime-service';
75
+ import { ApplicationShellMouseTracker } from './shell/application-shell-mouse-tracker';
76
+ import { ViewContainer, ViewContainerIdentifier } from './view-container';
77
+ import { QuickViewService } from './quick-input/quick-view-service';
78
+ import { DialogOverlayService } from './dialogs';
79
+ import { ProgressLocationService } from './progress-location-service';
80
+ import { ProgressClient } from '../common/progress-service-protocol';
81
+ import { ProgressService } from '../common/progress-service';
82
+ import { DispatchingProgressClient } from './progress-client';
83
+ import { ProgressStatusBarItem } from './progress-status-bar-item';
84
+ import { TabBarDecoratorService, TabBarDecorator } from './shell/tab-bar-decorator';
85
+ import { ContextMenuContext } from './menu/context-menu-context';
86
+ import { bindResourceProvider, bindMessageService, bindPreferenceService } from './frontend-application-bindings';
87
+ import { ColorRegistry } from './color-registry';
88
+ import { ColorContribution, ColorApplicationContribution } from './color-application-contribution';
89
+ import { ExternalUriService } from './external-uri-service';
90
+ import { IconThemeService, NoneIconTheme } from './icon-theme-service';
91
+ import { IconThemeApplicationContribution, IconThemeContribution, DefaultFileIconThemeContribution } from './icon-theme-contribution';
92
+ import { TreeLabelProvider } from './tree/tree-label-provider';
93
+ import { ProgressBar } from './progress-bar';
94
+ import { ProgressBarFactory, ProgressBarOptions } from './progress-bar-factory';
95
+ import { CommandOpenHandler } from './command-open-handler';
96
+ import { LanguageService } from './language-service';
97
+ import { EncodingRegistry } from './encoding-registry';
98
+ import { EncodingService } from '../common/encoding-service';
99
+ import { AuthenticationService, AuthenticationServiceImpl } from '../browser/authentication-service';
100
+ import { DecorationsService, DecorationsServiceImpl } from './decorations-service';
101
+ import { keyStoreServicePath, KeyStoreService } from '../common/key-store';
102
+ import { CredentialsService, CredentialsServiceImpl } from './credentials-service';
103
+ import { ContributionFilterRegistry, ContributionFilterRegistryImpl } from '../common/contribution-filter';
104
+ import { QuickCommandFrontendContribution } from './quick-input/quick-command-frontend-contribution';
105
+ import { QuickPickService, quickPickServicePath } from '../common/quick-pick-service';
106
+ import {
107
+ QuickPickServiceImpl,
108
+ QuickInputFrontendContribution,
109
+ QuickAccessContribution,
110
+ QuickCommandService,
111
+ QuickHelpService
112
+ } from './quick-input';
113
+ import { SidebarBottomMenuWidget } from './shell/sidebar-bottom-menu-widget';
114
+ import { WindowContribution } from './window-contribution';
115
+ import {
116
+ BreadcrumbID,
117
+ BreadcrumbPopupContainer,
118
+ BreadcrumbPopupContainerFactory,
119
+ BreadcrumbRenderer,
120
+ BreadcrumbsContribution,
121
+ BreadcrumbsRenderer,
122
+ BreadcrumbsRendererFactory,
123
+ BreadcrumbsService,
124
+ DefaultBreadcrumbRenderer,
125
+ } from './breadcrumbs';
126
+ import { DockPanel, RendererHost } from './widgets';
127
+ import { TooltipService, TooltipServiceImpl } from './tooltip-service';
128
+ import { BackendRequestService, RequestService, REQUEST_SERVICE_PATH } from '@theia/request';
129
+ import { bindFrontendStopwatch, bindBackendStopwatch } from './performance';
130
+ import { SaveableService } from './saveable-service';
131
+ import { SecondaryWindowHandler } from './secondary-window-handler';
132
+ import { UserWorkingDirectoryProvider } from './user-working-directory-provider';
133
+ import { WindowTitleService } from './window/window-title-service';
134
+ import { WindowTitleUpdater } from './window/window-title-updater';
135
+ import { TheiaDockPanel } from './shell/theia-dock-panel';
136
+ import { bindStatusBar } from './status-bar';
137
+ import { MarkdownRenderer, MarkdownRendererFactory, MarkdownRendererImpl } from './markdown-rendering/markdown-renderer';
138
+ import { StylingParticipant, StylingService } from './styling-service';
139
+ import { bindCommonStylingParticipants } from './common-styling-participants';
140
+ import { HoverService } from './hover-service';
141
+ import { AdditionalViewsMenuPath, AdditionalViewsMenuWidget, AdditionalViewsMenuWidgetFactory } from './shell/additional-views-menu-widget';
142
+ import { LanguageIconLabelProvider } from './language-icon-provider';
143
+ import { bindTreePreferences } from './tree';
144
+ import { OpenWithService } from './open-with-service';
145
+ import { ViewColumnService } from './shell/view-column-service';
146
+ import { DomInputUndoRedoHandler, UndoRedoHandler, UndoRedoHandlerService } from './undo-redo-handler';
147
+
148
+ export { bindResourceProvider, bindMessageService, bindPreferenceService };
149
+
150
+ export const frontendApplicationModule = new ContainerModule((bind, _unbind, _isBound, _rebind) => {
151
+ bind(NoneIconTheme).toSelf().inSingletonScope();
152
+ bind(LabelProviderContribution).toService(NoneIconTheme);
153
+ bind(IconThemeService).toSelf().inSingletonScope();
154
+ bindContributionProvider(bind, IconThemeContribution);
155
+ bind(DefaultFileIconThemeContribution).toSelf().inSingletonScope();
156
+ bind(IconThemeContribution).toService(DefaultFileIconThemeContribution);
157
+ bind(IconThemeApplicationContribution).toSelf().inSingletonScope();
158
+ bind(FrontendApplicationContribution).toService(IconThemeApplicationContribution);
159
+ bind(LanguageIconLabelProvider).toSelf().inSingletonScope();
160
+ bind(LabelProviderContribution).toService(LanguageIconLabelProvider);
161
+
162
+ bind(ColorRegistry).toSelf().inSingletonScope();
163
+ bindContributionProvider(bind, ColorContribution);
164
+ bind(ColorApplicationContribution).toSelf().inSingletonScope();
165
+ bind(FrontendApplicationContribution).toService(ColorApplicationContribution);
166
+
167
+ bind(FrontendApplication).toSelf().inSingletonScope();
168
+ bind(FrontendApplicationStateService).toSelf().inSingletonScope();
169
+ bind(DefaultFrontendApplicationContribution).toSelf();
170
+ bindContributionProvider(bind, FrontendApplicationContribution);
171
+
172
+ bind(ApplicationShellOptions).toConstantValue({});
173
+ bind(ApplicationShell).toSelf().inSingletonScope();
174
+ bind(SidePanelHandlerFactory).toAutoFactory(SidePanelHandler);
175
+ bind(SidePanelHandler).toSelf();
176
+ bind(SidebarTopMenuWidgetFactory).toAutoFactory(SidebarMenuWidget);
177
+ bind(SidebarMenuWidget).toSelf();
178
+ bind(SidebarBottomMenuWidget).toSelf();
179
+ bind(SidebarBottomMenuWidgetFactory).toAutoFactory(SidebarBottomMenuWidget);
180
+ bind(AdditionalViewsMenuWidget).toSelf();
181
+ bind(AdditionalViewsMenuWidgetFactory).toFactory(ctx => (side: 'left' | 'right') => {
182
+ const childContainer = ctx.container.createChild();
183
+ childContainer.bind<MenuPath>(AdditionalViewsMenuPath).toConstantValue(['additional_views_menu', side]);
184
+ return childContainer.resolve(AdditionalViewsMenuWidget);
185
+ });
186
+ bind(SplitPositionHandler).toSelf().inSingletonScope();
187
+
188
+ bindContributionProvider(bind, TabBarToolbarContribution);
189
+ bind(TabBarToolbarRegistry).toSelf().inSingletonScope();
190
+ bind(FrontendApplicationContribution).toService(TabBarToolbarRegistry);
191
+ bind(TabBarToolbarFactory).toFactory(context => () => {
192
+ const container = context.container.createChild();
193
+ container.bind(TabBarToolbar).toSelf().inSingletonScope();
194
+ return container.get(TabBarToolbar);
195
+ });
196
+
197
+ bind(DockPanelRendererFactory).toFactory(context => () => context.container.get(DockPanelRenderer));
198
+ bind(DockPanelRenderer).toSelf();
199
+ bind(TabBarRendererFactory).toFactory(({ container }) => () => {
200
+ const contextMenuRenderer = container.get(ContextMenuRenderer);
201
+ const tabBarDecoratorService = container.get(TabBarDecoratorService);
202
+ const iconThemeService = container.get(IconThemeService);
203
+ const selectionService = container.get(SelectionService);
204
+ const commandService = container.get<CommandService>(CommandService);
205
+ const corePreferences = container.get<CorePreferences>(CorePreferences);
206
+ const hoverService = container.get(HoverService);
207
+ const contextKeyService: ContextKeyService = container.get(ContextKeyService);
208
+ return new TabBarRenderer(contextMenuRenderer, tabBarDecoratorService, iconThemeService,
209
+ selectionService, commandService, corePreferences, hoverService, contextKeyService);
210
+ });
211
+ bind(TheiaDockPanel.Factory).toFactory(({ container }) => (options?: DockPanel.IOptions) => {
212
+ const corePreferences = container.get<CorePreferences>(CorePreferences);
213
+ return new TheiaDockPanel(options, corePreferences);
214
+ });
215
+
216
+ bindContributionProvider(bind, TabBarDecorator);
217
+ bind(TabBarDecoratorService).toSelf().inSingletonScope();
218
+ bind(FrontendApplicationContribution).toService(TabBarDecoratorService);
219
+
220
+ bindContributionProvider(bind, OpenHandler);
221
+ bind(DefaultOpenerService).toSelf().inSingletonScope();
222
+ bind(OpenerService).toService(DefaultOpenerService);
223
+
224
+ bind(ExternalUriService).toSelf().inSingletonScope();
225
+ bind(HttpOpenHandler).toSelf().inSingletonScope();
226
+ bind(OpenHandler).toService(HttpOpenHandler);
227
+
228
+ bind(CommandOpenHandler).toSelf().inSingletonScope();
229
+ bind(OpenHandler).toService(CommandOpenHandler);
230
+
231
+ bind(OpenWithService).toSelf().inSingletonScope();
232
+
233
+ bind(TooltipServiceImpl).toSelf().inSingletonScope();
234
+ bind(TooltipService).toService(TooltipServiceImpl);
235
+
236
+ bindContributionProvider(bind, ApplicationShellLayoutMigration);
237
+ bind<ApplicationShellLayoutMigration>(ApplicationShellLayoutMigration).toConstantValue({
238
+ layoutVersion: 2.0,
239
+ onWillInflateLayout({ layoutVersion }): void {
240
+ throw ApplicationShellLayoutMigrationError.create(
241
+ `It is not possible to migrate layout of version ${layoutVersion} to version ${this.layoutVersion}.`
242
+ );
243
+ }
244
+ });
245
+
246
+ bindContributionProvider(bind, WidgetFactory);
247
+ bind(WidgetManager).toSelf().inSingletonScope();
248
+ bind(ShellLayoutRestorer).toSelf().inSingletonScope();
249
+ bind(CommandContribution).toService(ShellLayoutRestorer);
250
+
251
+ bindResourceProvider(bind);
252
+ bind(InMemoryResources).toSelf().inSingletonScope();
253
+ bind(ResourceResolver).toService(InMemoryResources);
254
+
255
+ bind(InMemoryTextResourceResolver).toSelf().inSingletonScope();
256
+ bind(ResourceResolver).toService(InMemoryTextResourceResolver);
257
+
258
+ bind(UntitledResourceResolver).toSelf().inSingletonScope();
259
+ bind(ResourceResolver).toService(UntitledResourceResolver);
260
+
261
+ bind(SelectionService).toSelf().inSingletonScope();
262
+ bind(CommandRegistry).toSelf().inSingletonScope().onActivation(({ container }, registry) => {
263
+ WebSocketConnectionProvider.createHandler(container, commandServicePath, registry);
264
+ return registry;
265
+ });
266
+ bind(CommandService).toService(CommandRegistry);
267
+ bindContributionProvider(bind, CommandContribution);
268
+
269
+ bind(ContextKeyService).to(ContextKeyServiceDummyImpl).inSingletonScope();
270
+
271
+ bind(MenuModelRegistry).toSelf().inSingletonScope();
272
+ bindContributionProvider(bind, MenuContribution);
273
+ bind(MenuCommandAdapterRegistry).to(MenuCommandAdapterRegistryImpl).inSingletonScope();
274
+ bind(MenuCommandExecutor).to(MenuCommandExecutorImpl).inSingletonScope();
275
+
276
+ bind(KeyboardLayoutService).toSelf().inSingletonScope();
277
+ bind(KeybindingRegistry).toSelf().inSingletonScope();
278
+ bindContributionProvider(bind, KeybindingContext);
279
+ bindContributionProvider(bind, KeybindingContribution);
280
+
281
+ bindMessageService(bind).onActivation(({ container }, messages) => {
282
+ const client = container.get(MessageClient);
283
+ WebSocketConnectionProvider.createHandler(container, messageServicePath, client);
284
+ return messages;
285
+ });
286
+
287
+ bind(LanguageService).toSelf().inSingletonScope();
288
+
289
+ bind(EncodingService).toSelf().inSingletonScope();
290
+ bind(EncodingRegistry).toSelf().inSingletonScope();
291
+
292
+ bind(ResourceContextKey).toSelf().inSingletonScope();
293
+ bind(CommonFrontendContribution).toSelf().inSingletonScope();
294
+ [FrontendApplicationContribution, CommandContribution, KeybindingContribution, MenuContribution, ColorContribution].forEach(serviceIdentifier =>
295
+ bind(serviceIdentifier).toService(CommonFrontendContribution)
296
+ );
297
+
298
+ bindCommonStylingParticipants(bind);
299
+
300
+ bind(QuickCommandFrontendContribution).toSelf().inSingletonScope();
301
+ [CommandContribution, KeybindingContribution, MenuContribution].forEach(serviceIdentifier =>
302
+ bind(serviceIdentifier).toService(QuickCommandFrontendContribution)
303
+ );
304
+ bind(QuickCommandService).toSelf().inSingletonScope();
305
+ bind(QuickAccessContribution).toService(QuickCommandService);
306
+
307
+ bind(QuickHelpService).toSelf().inSingletonScope();
308
+ bind(QuickAccessContribution).toService(QuickHelpService);
309
+
310
+ bind(QuickPickService).to(QuickPickServiceImpl).inSingletonScope().onActivation(({ container }, quickPickService: QuickPickService) => {
311
+ WebSocketConnectionProvider.createHandler(container, quickPickServicePath, quickPickService);
312
+ return quickPickService;
313
+ });
314
+
315
+ bind(MarkdownRenderer).to(MarkdownRendererImpl).inSingletonScope();
316
+ bind(MarkdownRendererFactory).toFactory(({ container }) => () => container.get(MarkdownRenderer));
317
+
318
+ bindContributionProvider(bind, QuickAccessContribution);
319
+ bind(QuickInputFrontendContribution).toSelf().inSingletonScope();
320
+ bind(FrontendApplicationContribution).toService(QuickInputFrontendContribution);
321
+
322
+ bind(LocalStorageService).toSelf().inSingletonScope();
323
+ bind(StorageService).toService(LocalStorageService);
324
+
325
+ bindStatusBar(bind);
326
+ bind(LabelParser).toSelf().inSingletonScope();
327
+
328
+ bindContributionProvider(bind, LabelProviderContribution);
329
+ bind(LabelProvider).toSelf().inSingletonScope();
330
+ bind(FrontendApplicationContribution).toService(LabelProvider);
331
+ bind(DefaultUriLabelProviderContribution).toSelf().inSingletonScope();
332
+ bind(LabelProviderContribution).toService(DefaultUriLabelProviderContribution);
333
+ bind(LabelProviderContribution).to(DiffUriLabelProviderContribution).inSingletonScope();
334
+
335
+ bind(TreeLabelProvider).toSelf().inSingletonScope();
336
+ bind(LabelProviderContribution).toService(TreeLabelProvider);
337
+
338
+ bindPreferenceService(bind);
339
+ bind(FrontendApplicationContribution).toService(PreferenceService);
340
+
341
+ bindContributionProvider(bind, JsonSchemaContribution);
342
+ bind(JsonSchemaStore).toSelf().inSingletonScope();
343
+ bind(FrontendApplicationContribution).toService(JsonSchemaStore);
344
+ bind(DefaultJsonSchemaContribution).toSelf().inSingletonScope();
345
+ bind(JsonSchemaContribution).toService(DefaultJsonSchemaContribution);
346
+
347
+ bind(PingService).toDynamicValue(ctx => {
348
+ // let's reuse a simple and cheap service from this package
349
+ const envServer: EnvVariablesServer = ctx.container.get(EnvVariablesServer);
350
+ return {
351
+ ping(): Promise<EnvVariable | undefined> {
352
+ return envServer.getValue('does_not_matter');
353
+ }
354
+ };
355
+ });
356
+ bind(FrontendConnectionStatusService).toSelf().inSingletonScope();
357
+ bind(ConnectionStatusService).toService(FrontendConnectionStatusService);
358
+ bind(ApplicationConnectionStatusContribution).toSelf().inSingletonScope();
359
+ bind(FrontendApplicationContribution).toService(ApplicationConnectionStatusContribution);
360
+
361
+ bind(ApplicationServer).toDynamicValue(ctx => {
362
+ const provider = ctx.container.get(WebSocketConnectionProvider);
363
+ return provider.createProxy<ApplicationServer>(applicationPath);
364
+ }).inSingletonScope();
365
+
366
+ bind(AboutDialog).toSelf().inSingletonScope();
367
+ bind(AboutDialogProps).toConstantValue({ title: 'Theia' });
368
+
369
+ bind(EnvVariablesServer).toDynamicValue(ctx => {
370
+ const connection = ctx.container.get(WebSocketConnectionProvider);
371
+ return connection.createProxy<EnvVariablesServer>(envVariablesPath);
372
+ }).inSingletonScope();
373
+
374
+ bind(ThemeService).toSelf().inSingletonScope();
375
+
376
+ bindCorePreferences(bind);
377
+ bindTreePreferences(bind);
378
+
379
+ bind(MimeService).toSelf().inSingletonScope();
380
+
381
+ bind(ApplicationShellMouseTracker).toSelf().inSingletonScope();
382
+ bind(FrontendApplicationContribution).toService(ApplicationShellMouseTracker);
383
+
384
+ bind(ViewContainer.Factory).toFactory(context => (options: ViewContainerIdentifier) => {
385
+ const container = context.container.createChild();
386
+ container.bind(ViewContainerIdentifier).toConstantValue(options);
387
+ container.bind(ViewContainer).toSelf().inSingletonScope();
388
+ return container.get(ViewContainer);
389
+ });
390
+
391
+ bind(QuickViewService).toSelf().inSingletonScope();
392
+ bind(QuickAccessContribution).toService(QuickViewService);
393
+
394
+ bind(DialogOverlayService).toSelf().inSingletonScope();
395
+ bind(FrontendApplicationContribution).toService(DialogOverlayService);
396
+
397
+ bind(DispatchingProgressClient).toSelf().inSingletonScope();
398
+ bind(ProgressLocationService).toSelf().inSingletonScope();
399
+ bind(ProgressStatusBarItem).toSelf().inSingletonScope();
400
+ bind(ProgressClient).toService(DispatchingProgressClient);
401
+ bind(ProgressService).toSelf().inSingletonScope();
402
+ bind(ProgressBarFactory).toFactory(context => (options: ProgressBarOptions) => {
403
+ const childContainer = context.container.createChild();
404
+ childContainer.bind(ProgressBarOptions).toConstantValue(options);
405
+ childContainer.bind(ProgressBar).toSelf().inSingletonScope();
406
+ return childContainer.get(ProgressBar);
407
+ });
408
+
409
+ bind(ContextMenuContext).toSelf().inSingletonScope();
410
+
411
+ bind(AuthenticationService).to(AuthenticationServiceImpl).inSingletonScope();
412
+ bind(DecorationsService).to(DecorationsServiceImpl).inSingletonScope();
413
+
414
+ bind(KeyStoreService).toDynamicValue(ctx => {
415
+ const connection = ctx.container.get(WebSocketConnectionProvider);
416
+ return connection.createProxy<KeyStoreService>(keyStoreServicePath);
417
+ }).inSingletonScope();
418
+
419
+ bind(CredentialsService).to(CredentialsServiceImpl);
420
+
421
+ bind(ContributionFilterRegistry).to(ContributionFilterRegistryImpl).inSingletonScope();
422
+ bind(WindowContribution).toSelf().inSingletonScope();
423
+ for (const contribution of [CommandContribution, KeybindingContribution, MenuContribution]) {
424
+ bind(contribution).toService(WindowContribution);
425
+ }
426
+ bind(WindowTitleService).toSelf().inSingletonScope();
427
+ bind(WindowTitleUpdater).toSelf().inSingletonScope();
428
+ bind(FrontendApplicationContribution).toService(WindowTitleUpdater);
429
+ bindContributionProvider(bind, BreadcrumbsContribution);
430
+ bind(BreadcrumbsService).toSelf().inSingletonScope();
431
+ bind(BreadcrumbsRenderer).toSelf();
432
+ bind(BreadcrumbsRendererFactory).toFactory(ctx =>
433
+ () => {
434
+ const childContainer = ctx.container.createChild();
435
+ childContainer.bind(BreadcrumbRenderer).to(DefaultBreadcrumbRenderer).inSingletonScope();
436
+ return childContainer.get(BreadcrumbsRenderer);
437
+ }
438
+ );
439
+ bind(BreadcrumbPopupContainer).toSelf();
440
+ bind(BreadcrumbPopupContainerFactory).toFactory(({ container }) => (parent: HTMLElement, breadcrumbId: string, position: Coordinate): BreadcrumbPopupContainer => {
441
+ const child = container.createChild();
442
+ child.bind(RendererHost).toConstantValue(parent);
443
+ child.bind(BreadcrumbID).toConstantValue(breadcrumbId);
444
+ child.bind(Coordinate).toConstantValue(position);
445
+ return child.get(BreadcrumbPopupContainer);
446
+ });
447
+
448
+ bind(BackendRequestService).toDynamicValue(ctx =>
449
+ WebSocketConnectionProvider.createProxy<RequestService>(ctx.container, REQUEST_SERVICE_PATH)
450
+ ).inSingletonScope();
451
+
452
+ bindFrontendStopwatch(bind);
453
+ bindBackendStopwatch(bind);
454
+
455
+ bind(SaveableService).toSelf().inSingletonScope();
456
+ bind(FrontendApplicationContribution).toService(SaveableService);
457
+
458
+ bind(UserWorkingDirectoryProvider).toSelf().inSingletonScope();
459
+ bind(FrontendApplicationContribution).toService(UserWorkingDirectoryProvider);
460
+
461
+ bind(HoverService).toSelf().inSingletonScope();
462
+
463
+ bind(StylingService).toSelf().inSingletonScope();
464
+ bindContributionProvider(bind, StylingParticipant);
465
+ bind(FrontendApplicationContribution).toService(StylingService);
466
+
467
+ bind(SecondaryWindowHandler).toSelf().inSingletonScope();
468
+ bind(ViewColumnService).toSelf().inSingletonScope();
469
+
470
+ bind(UndoRedoHandlerService).toSelf().inSingletonScope();
471
+ bindContributionProvider(bind, UndoRedoHandler);
472
+ bind(DomInputUndoRedoHandler).toSelf().inSingletonScope();
473
+ bind(UndoRedoHandler).toService(DomInputUndoRedoHandler);
474
+ });