@theia/core 1.48.1 → 1.48.3

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 (1497) hide show
  1. package/README.md +6 -6
  2. package/i18n/nls.cs.json +541 -541
  3. package/i18n/nls.de.json +541 -541
  4. package/i18n/nls.es.json +541 -541
  5. package/i18n/nls.fr.json +541 -541
  6. package/i18n/nls.hu.json +541 -541
  7. package/i18n/nls.it.json +541 -541
  8. package/i18n/nls.ja.json +541 -541
  9. package/i18n/nls.json +541 -541
  10. package/i18n/nls.pl.json +541 -541
  11. package/i18n/nls.pt-br.json +541 -541
  12. package/i18n/nls.pt-pt.json +541 -541
  13. package/i18n/nls.ru.json +541 -541
  14. package/i18n/nls.zh-cn.json +541 -541
  15. package/lib/browser/about-dialog.d.ts +33 -33
  16. package/lib/browser/about-dialog.js +125 -125
  17. package/lib/browser/authentication-service.d.ts +144 -144
  18. package/lib/browser/authentication-service.js +324 -324
  19. package/lib/browser/breadcrumbs/breadcrumb-popup-container.d.ts +34 -34
  20. package/lib/browser/breadcrumbs/breadcrumb-popup-container.js +106 -106
  21. package/lib/browser/breadcrumbs/breadcrumb-renderer.d.ts +12 -12
  22. package/lib/browser/breadcrumbs/breadcrumb-renderer.js +37 -37
  23. package/lib/browser/breadcrumbs/breadcrumbs-constants.d.ts +49 -49
  24. package/lib/browser/breadcrumbs/breadcrumbs-constants.js +27 -27
  25. package/lib/browser/breadcrumbs/breadcrumbs-renderer.d.ts +43 -43
  26. package/lib/browser/breadcrumbs/breadcrumbs-renderer.js +179 -179
  27. package/lib/browser/breadcrumbs/breadcrumbs-service.d.ts +32 -32
  28. package/lib/browser/breadcrumbs/breadcrumbs-service.js +111 -111
  29. package/lib/browser/breadcrumbs/index.d.ts +5 -5
  30. package/lib/browser/breadcrumbs/index.js +23 -23
  31. package/lib/browser/browser-clipboard-service.d.ts +23 -23
  32. package/lib/browser/browser-clipboard-service.js +107 -107
  33. package/lib/browser/browser.d.ts +37 -37
  34. package/lib/browser/browser.js +196 -196
  35. package/lib/browser/clipboard-service.d.ts +6 -6
  36. package/lib/browser/clipboard-service.js +19 -19
  37. package/lib/browser/color-application-contribution.d.ts +26 -26
  38. package/lib/browser/color-application-contribution.js +110 -110
  39. package/lib/browser/color-registry.d.ts +14 -14
  40. package/lib/browser/color-registry.js +58 -58
  41. package/lib/browser/command-open-handler.d.ts +9 -9
  42. package/lib/browser/command-open-handler.js +58 -58
  43. package/lib/browser/common-frontend-contribution.d.ts +212 -212
  44. package/lib/browser/common-frontend-contribution.js +2338 -2338
  45. package/lib/browser/common-styling-participants.d.ts +27 -27
  46. package/lib/browser/common-styling-participants.js +365 -365
  47. package/lib/browser/connection-status-service.d.ts +77 -77
  48. package/lib/browser/connection-status-service.js +198 -198
  49. package/lib/browser/connection-status-service.spec.d.ts +1 -1
  50. package/lib/browser/connection-status-service.spec.js +161 -161
  51. package/lib/browser/context-key-service.d.ts +82 -82
  52. package/lib/browser/context-key-service.js +83 -83
  53. package/lib/browser/context-menu-renderer.d.ts +54 -54
  54. package/lib/browser/context-menu-renderer.js +87 -87
  55. package/lib/browser/core-preferences.d.ts +37 -37
  56. package/lib/browser/core-preferences.js +300 -300
  57. package/lib/browser/credentials-service.d.ts +35 -35
  58. package/lib/browser/credentials-service.js +80 -80
  59. package/lib/browser/decoration-style.d.ts +6 -6
  60. package/lib/browser/decoration-style.js +64 -64
  61. package/lib/browser/decorations-service.d.ts +30 -30
  62. package/lib/browser/decorations-service.js +157 -157
  63. package/lib/browser/dialogs/react-dialog.d.ts +17 -17
  64. package/lib/browser/dialogs/react-dialog.js +49 -49
  65. package/lib/browser/dialogs.d.ts +135 -135
  66. package/lib/browser/dialogs.js +446 -446
  67. package/lib/browser/diff-uris.d.ts +17 -17
  68. package/lib/browser/diff-uris.js +115 -115
  69. package/lib/browser/encoding-registry.d.ts +18 -18
  70. package/lib/browser/encoding-registry.js +88 -88
  71. package/lib/browser/endpoint.d.ts +42 -42
  72. package/lib/browser/endpoint.js +120 -120
  73. package/lib/browser/endpoint.spec.d.ts +1 -1
  74. package/lib/browser/endpoint.spec.js +122 -122
  75. package/lib/browser/external-uri-service.d.ts +24 -24
  76. package/lib/browser/external-uri-service.js +72 -72
  77. package/lib/browser/frontend-application-bindings.d.ts +5 -5
  78. package/lib/browser/frontend-application-bindings.js +56 -56
  79. package/lib/browser/frontend-application-config-provider.d.ts +8 -8
  80. package/lib/browser/frontend-application-config-provider.js +46 -46
  81. package/lib/browser/frontend-application-config-provider.spec.d.ts +1 -1
  82. package/lib/browser/frontend-application-config-provider.spec.js +40 -40
  83. package/lib/browser/frontend-application-contribution.d.ts +75 -75
  84. package/lib/browser/frontend-application-contribution.js +45 -45
  85. package/lib/browser/frontend-application-module.d.ts +8 -8
  86. package/lib/browser/frontend-application-module.js +355 -355
  87. package/lib/browser/frontend-application-state.d.ts +19 -19
  88. package/lib/browser/frontend-application-state.js +71 -71
  89. package/lib/browser/frontend-application.d.ts +86 -86
  90. package/lib/browser/frontend-application.js +308 -308
  91. package/lib/browser/hover-service.d.ts +50 -50
  92. package/lib/browser/hover-service.js +199 -199
  93. package/lib/browser/http-open-handler.d.ts +14 -14
  94. package/lib/browser/http-open-handler.js +46 -46
  95. package/lib/browser/i18n/i18n-frontend-module.d.ts +3 -3
  96. package/lib/browser/i18n/i18n-frontend-module.js +25 -25
  97. package/lib/browser/i18n/language-quick-pick-service.d.ts +15 -15
  98. package/lib/browser/i18n/language-quick-pick-service.js +136 -136
  99. package/lib/browser/icon-registry.d.ts +56 -56
  100. package/lib/browser/icon-registry.js +24 -24
  101. package/lib/browser/icon-theme-contribution.d.ts +23 -23
  102. package/lib/browser/icon-theme-contribution.js +64 -64
  103. package/lib/browser/icon-theme-service.d.ts +63 -63
  104. package/lib/browser/icon-theme-service.js +198 -198
  105. package/lib/browser/index.d.ts +31 -31
  106. package/lib/browser/index.js +49 -49
  107. package/lib/browser/json-schema-store.d.ts +37 -37
  108. package/lib/browser/json-schema-store.js +111 -111
  109. package/lib/browser/keybinding.d.ts +288 -288
  110. package/lib/browser/keybinding.js +677 -677
  111. package/lib/browser/keybinding.js.map +1 -1
  112. package/lib/browser/keybinding.spec.d.ts +1 -1
  113. package/lib/browser/keybinding.spec.js +451 -451
  114. package/lib/browser/keyboard/browser-keyboard-frontend-contribution.d.ts +13 -13
  115. package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js +110 -110
  116. package/lib/browser/keyboard/browser-keyboard-layout-provider.d.ts +91 -91
  117. package/lib/browser/keyboard/browser-keyboard-layout-provider.js +418 -418
  118. package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.d.ts +1 -1
  119. package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js +152 -152
  120. package/lib/browser/keyboard/browser-keyboard-module.d.ts +3 -3
  121. package/lib/browser/keyboard/browser-keyboard-module.js +30 -30
  122. package/lib/browser/keyboard/index.d.ts +4 -4
  123. package/lib/browser/keyboard/index.js +22 -22
  124. package/lib/browser/keyboard/keyboard-layout-service.d.ts +49 -49
  125. package/lib/browser/keyboard/keyboard-layout-service.js +427 -427
  126. package/lib/browser/keyboard/keyboard-layout-service.spec.d.ts +1 -1
  127. package/lib/browser/keyboard/keyboard-layout-service.spec.js +110 -110
  128. package/lib/browser/keyboard/keys.d.ts +4 -4
  129. package/lib/browser/keyboard/keys.js +22 -22
  130. package/lib/browser/keyboard/keys.spec.d.ts +1 -1
  131. package/lib/browser/keyboard/keys.spec.js +205 -205
  132. package/lib/browser/keys.d.ts +2 -2
  133. package/lib/browser/keys.js +28 -28
  134. package/lib/browser/label-parser.d.ts +34 -34
  135. package/lib/browser/label-parser.js +107 -107
  136. package/lib/browser/label-parser.spec.d.ts +1 -1
  137. package/lib/browser/label-parser.spec.js +146 -146
  138. package/lib/browser/label-provider.d.ts +140 -140
  139. package/lib/browser/label-provider.js +310 -310
  140. package/lib/browser/label-provider.spec.d.ts +1 -1
  141. package/lib/browser/label-provider.spec.js +53 -53
  142. package/lib/browser/language-icon-provider.d.ts +14 -14
  143. package/lib/browser/language-icon-provider.js +65 -65
  144. package/lib/browser/language-service.d.ts +38 -38
  145. package/lib/browser/language-service.js +66 -66
  146. package/lib/browser/logger-frontend-module.d.ts +2 -2
  147. package/lib/browser/logger-frontend-module.js +63 -63
  148. package/lib/browser/markdown-rendering/markdown-renderer.d.ts +39 -39
  149. package/lib/browser/markdown-rendering/markdown-renderer.js +72 -72
  150. package/lib/browser/menu/browser-context-menu-renderer.d.ts +12 -12
  151. package/lib/browser/menu/browser-context-menu-renderer.js +51 -51
  152. package/lib/browser/menu/browser-menu-module.d.ts +3 -3
  153. package/lib/browser/menu/browser-menu-module.js +28 -28
  154. package/lib/browser/menu/browser-menu-plugin.d.ts +103 -103
  155. package/lib/browser/menu/browser-menu-plugin.js +439 -439
  156. package/lib/browser/menu/context-menu-context.d.ts +7 -7
  157. package/lib/browser/menu/context-menu-context.js +42 -42
  158. package/lib/browser/messaging/connection-source.d.ts +8 -8
  159. package/lib/browser/messaging/connection-source.js +19 -19
  160. package/lib/browser/messaging/frontend-id-provider.d.ts +12 -12
  161. package/lib/browser/messaging/frontend-id-provider.js +34 -34
  162. package/lib/browser/messaging/index.d.ts +1 -1
  163. package/lib/browser/messaging/index.js +19 -19
  164. package/lib/browser/messaging/messaging-frontend-module.d.ts +2 -2
  165. package/lib/browser/messaging/messaging-frontend-module.js +41 -41
  166. package/lib/browser/messaging/service-connection-provider.d.ts +47 -47
  167. package/lib/browser/messaging/service-connection-provider.js +106 -106
  168. package/lib/browser/messaging/ws-connection-provider.d.ts +12 -12
  169. package/lib/browser/messaging/ws-connection-provider.js +49 -49
  170. package/lib/browser/messaging/ws-connection-source.d.ts +42 -42
  171. package/lib/browser/messaging/ws-connection-source.js +217 -217
  172. package/lib/browser/mime-service.d.ts +7 -7
  173. package/lib/browser/mime-service.js +30 -30
  174. package/lib/browser/navigatable-types.d.ts +33 -33
  175. package/lib/browser/navigatable-types.js +63 -63
  176. package/lib/browser/navigatable.d.ts +8 -8
  177. package/lib/browser/navigatable.js +38 -38
  178. package/lib/browser/opener-service.d.ts +79 -79
  179. package/lib/browser/opener-service.js +79 -79
  180. package/lib/browser/opener-service.spec.d.ts +1 -1
  181. package/lib/browser/opener-service.spec.js +46 -46
  182. package/lib/browser/performance/frontend-stopwatch.d.ts +20 -20
  183. package/lib/browser/performance/frontend-stopwatch.js +66 -66
  184. package/lib/browser/performance/index.d.ts +2 -2
  185. package/lib/browser/performance/index.js +20 -20
  186. package/lib/browser/performance/measurement-frontend-bindings.d.ts +19 -19
  187. package/lib/browser/performance/measurement-frontend-bindings.js +32 -32
  188. package/lib/browser/preferences/index.d.ts +7 -7
  189. package/lib/browser/preferences/index.js +25 -25
  190. package/lib/browser/preferences/injectable-preference-proxy.d.ts +51 -51
  191. package/lib/browser/preferences/injectable-preference-proxy.js +276 -276
  192. package/lib/browser/preferences/preference-configurations.d.ts +22 -22
  193. package/lib/browser/preferences/preference-configurations.js +72 -72
  194. package/lib/browser/preferences/preference-contribution.d.ts +111 -111
  195. package/lib/browser/preferences/preference-contribution.js +386 -386
  196. package/lib/browser/preferences/preference-language-override-service.d.ts +39 -39
  197. package/lib/browser/preferences/preference-language-override-service.js +107 -107
  198. package/lib/browser/preferences/preference-provider.d.ts +132 -132
  199. package/lib/browser/preferences/preference-provider.js +219 -219
  200. package/lib/browser/preferences/preference-provider.spec.d.ts +1 -1
  201. package/lib/browser/preferences/preference-provider.spec.js +33 -33
  202. package/lib/browser/preferences/preference-proxy.d.ts +150 -150
  203. package/lib/browser/preferences/preference-proxy.js +229 -229
  204. package/lib/browser/preferences/preference-proxy.spec.d.ts +1 -1
  205. package/lib/browser/preferences/preference-proxy.spec.js +337 -337
  206. package/lib/browser/preferences/preference-schema-provider.spec.d.ts +1 -1
  207. package/lib/browser/preferences/preference-schema-provider.spec.js +115 -115
  208. package/lib/browser/preferences/preference-scope.d.ts +2 -2
  209. package/lib/browser/preferences/preference-scope.js +20 -20
  210. package/lib/browser/preferences/preference-service.d.ts +278 -278
  211. package/lib/browser/preferences/preference-service.js +350 -350
  212. package/lib/browser/preferences/preference-service.spec.d.ts +1 -1
  213. package/lib/browser/preferences/preference-service.spec.js +505 -505
  214. package/lib/browser/preferences/preference-validation-service.d.ts +57 -57
  215. package/lib/browser/preferences/preference-validation-service.js +346 -346
  216. package/lib/browser/preferences/preference-validation-service.spec.d.ts +1 -1
  217. package/lib/browser/preferences/preference-validation-service.spec.js +330 -330
  218. package/lib/browser/preferences/test/index.d.ts +3 -3
  219. package/lib/browser/preferences/test/index.js +21 -21
  220. package/lib/browser/preferences/test/mock-preference-provider.d.ts +16 -16
  221. package/lib/browser/preferences/test/mock-preference-provider.js +46 -46
  222. package/lib/browser/preferences/test/mock-preference-proxy.d.ts +3 -3
  223. package/lib/browser/preferences/test/mock-preference-proxy.js +49 -49
  224. package/lib/browser/preferences/test/mock-preference-service.d.ts +28 -28
  225. package/lib/browser/preferences/test/mock-preference-service.js +59 -59
  226. package/lib/browser/preload/i18n-preload-contribution.d.ts +6 -6
  227. package/lib/browser/preload/i18n-preload-contribution.js +54 -54
  228. package/lib/browser/preload/os-preload-contribution.d.ts +6 -6
  229. package/lib/browser/preload/os-preload-contribution.js +40 -40
  230. package/lib/browser/preload/preload-module.d.ts +3 -3
  231. package/lib/browser/preload/preload-module.js +38 -38
  232. package/lib/browser/preload/preloader.d.ts +11 -11
  233. package/lib/browser/preload/preloader.js +36 -36
  234. package/lib/browser/preload/theme-preload-contribution.d.ts +4 -4
  235. package/lib/browser/preload/theme-preload-contribution.js +34 -34
  236. package/lib/browser/progress-bar-factory.d.ts +11 -11
  237. package/lib/browser/progress-bar-factory.js +20 -20
  238. package/lib/browser/progress-bar.d.ts +15 -15
  239. package/lib/browser/progress-bar.js +81 -81
  240. package/lib/browser/progress-client.d.ts +12 -12
  241. package/lib/browser/progress-client.js +53 -53
  242. package/lib/browser/progress-location-service.d.ts +21 -21
  243. package/lib/browser/progress-location-service.js +91 -91
  244. package/lib/browser/progress-location-service.spec.d.ts +1 -1
  245. package/lib/browser/progress-location-service.spec.js +44 -44
  246. package/lib/browser/progress-status-bar-item.d.ts +16 -16
  247. package/lib/browser/progress-status-bar-item.js +81 -81
  248. package/lib/browser/quick-input/index.d.ts +8 -8
  249. package/lib/browser/quick-input/index.js +26 -26
  250. package/lib/browser/quick-input/quick-access.d.ts +53 -53
  251. package/lib/browser/quick-input/quick-access.js +20 -20
  252. package/lib/browser/quick-input/quick-command-frontend-contribution.d.ts +11 -11
  253. package/lib/browser/quick-input/quick-command-frontend-contribution.js +96 -96
  254. package/lib/browser/quick-input/quick-command-service.d.ts +59 -59
  255. package/lib/browser/quick-input/quick-command-service.js +225 -225
  256. package/lib/browser/quick-input/quick-help-service.d.ts +11 -11
  257. package/lib/browser/quick-input/quick-help-service.js +83 -83
  258. package/lib/browser/quick-input/quick-input-frontend-contribution.d.ts +7 -7
  259. package/lib/browser/quick-input/quick-input-frontend-contribution.js +38 -38
  260. package/lib/browser/quick-input/quick-input-service.d.ts +1 -1
  261. package/lib/browser/quick-input/quick-input-service.js +19 -19
  262. package/lib/browser/quick-input/quick-input-service.spec.d.ts +1 -1
  263. package/lib/browser/quick-input/quick-input-service.spec.js +159 -159
  264. package/lib/browser/quick-input/quick-pick-service-impl.d.ts +30 -30
  265. package/lib/browser/quick-input/quick-pick-service-impl.js +69 -69
  266. package/lib/browser/quick-input/quick-view-service.d.ts +23 -23
  267. package/lib/browser/quick-input/quick-view-service.js +78 -78
  268. package/lib/browser/request/browser-request-module.d.ts +18 -18
  269. package/lib/browser/request/browser-request-module.js +23 -23
  270. package/lib/browser/request/browser-request-service.d.ts +41 -41
  271. package/lib/browser/request/browser-request-service.js +172 -172
  272. package/lib/browser/resource-context-key.d.ts +19 -19
  273. package/lib/browser/resource-context-key.js +75 -75
  274. package/lib/browser/save-resource-service.d.ts +35 -35
  275. package/lib/browser/save-resource-service.js +64 -64
  276. package/lib/browser/saveable.d.ts +124 -124
  277. package/lib/browser/saveable.js +274 -274
  278. package/lib/browser/secondary-window-handler.d.ts +65 -65
  279. package/lib/browser/secondary-window-handler.js +193 -193
  280. package/lib/browser/shell/additional-views-menu-widget.d.ts +19 -19
  281. package/lib/browser/shell/additional-views-menu-widget.js +73 -73
  282. package/lib/browser/shell/application-shell-mouse-tracker.d.ts +30 -30
  283. package/lib/browser/shell/application-shell-mouse-tracker.js +99 -99
  284. package/lib/browser/shell/application-shell.d.ts +574 -574
  285. package/lib/browser/shell/application-shell.js +1992 -1992
  286. package/lib/browser/shell/current-widget-command-adapter.d.ts +23 -23
  287. package/lib/browser/shell/current-widget-command-adapter.js +41 -41
  288. package/lib/browser/shell/index.d.ts +7 -7
  289. package/lib/browser/shell/index.js +25 -25
  290. package/lib/browser/shell/shell-layout-restorer.d.ts +123 -123
  291. package/lib/browser/shell/shell-layout-restorer.js +336 -336
  292. package/lib/browser/shell/side-panel-handler.d.ts +286 -286
  293. package/lib/browser/shell/side-panel-handler.js +659 -659
  294. package/lib/browser/shell/side-panel-toolbar.d.ts +25 -25
  295. package/lib/browser/shell/side-panel-toolbar.js +96 -96
  296. package/lib/browser/shell/sidebar-bottom-menu-widget.d.ts +9 -9
  297. package/lib/browser/shell/sidebar-bottom-menu-widget.js +41 -41
  298. package/lib/browser/shell/sidebar-menu-widget.d.ts +38 -38
  299. package/lib/browser/shell/sidebar-menu-widget.js +113 -113
  300. package/lib/browser/shell/sidebar-top-menu-widget.d.ts +6 -6
  301. package/lib/browser/shell/sidebar-top-menu-widget.js +30 -30
  302. package/lib/browser/shell/split-panels.d.ts +42 -42
  303. package/lib/browser/shell/split-panels.js +172 -172
  304. package/lib/browser/shell/tab-bar-decorator.d.ts +40 -40
  305. package/lib/browser/shell/tab-bar-decorator.js +87 -87
  306. package/lib/browser/shell/tab-bar-toolbar/index.d.ts +3 -3
  307. package/lib/browser/shell/tab-bar-toolbar/index.js +21 -21
  308. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts +15 -15
  309. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js +35 -35
  310. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts +95 -95
  311. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +245 -245
  312. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts +136 -136
  313. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js +88 -88
  314. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +89 -89
  315. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +414 -414
  316. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.d.ts +1 -1
  317. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.js +51 -51
  318. package/lib/browser/shell/tab-bars.d.ts +341 -341
  319. package/lib/browser/shell/tab-bars.js +1312 -1312
  320. package/lib/browser/shell/tab-bars.spec.d.ts +1 -1
  321. package/lib/browser/shell/tab-bars.spec.js +56 -56
  322. package/lib/browser/shell/theia-dock-panel.d.ts +59 -59
  323. package/lib/browser/shell/theia-dock-panel.js +226 -226
  324. package/lib/browser/shell/view-contribution.d.ts +43 -43
  325. package/lib/browser/shell/view-contribution.js +159 -159
  326. package/lib/browser/source-tree/index.d.ts +3 -3
  327. package/lib/browser/source-tree/index.js +21 -21
  328. package/lib/browser/source-tree/source-tree-widget.d.ts +21 -21
  329. package/lib/browser/source-tree/source-tree-widget.js +110 -110
  330. package/lib/browser/source-tree/source-tree.d.ts +36 -36
  331. package/lib/browser/source-tree/source-tree.js +129 -129
  332. package/lib/browser/source-tree/tree-source.d.ts +35 -35
  333. package/lib/browser/source-tree/tree-source.js +53 -53
  334. package/lib/browser/status-bar/index.d.ts +5 -5
  335. package/lib/browser/status-bar/index.js +31 -31
  336. package/lib/browser/status-bar/status-bar-types.d.ts +72 -72
  337. package/lib/browser/status-bar/status-bar-types.js +25 -25
  338. package/lib/browser/status-bar/status-bar-view-model.d.ts +35 -35
  339. package/lib/browser/status-bar/status-bar-view-model.js +207 -207
  340. package/lib/browser/status-bar/status-bar.d.ts +34 -34
  341. package/lib/browser/status-bar/status-bar.js +181 -181
  342. package/lib/browser/storage-service.d.ts +35 -35
  343. package/lib/browser/storage-service.js +122 -122
  344. package/lib/browser/storage-service.spec.d.ts +1 -1
  345. package/lib/browser/storage-service.spec.js +68 -68
  346. package/lib/browser/styling-service.d.ts +29 -29
  347. package/lib/browser/styling-service.js +86 -86
  348. package/lib/browser/supported-encodings.d.ts +9 -9
  349. package/lib/browser/supported-encodings.js +263 -263
  350. package/lib/browser/test/jsdom.d.ts +8 -8
  351. package/lib/browser/test/jsdom.js +69 -69
  352. package/lib/browser/test/mock-connection-status-service.d.ts +5 -5
  353. package/lib/browser/test/mock-connection-status-service.js +32 -32
  354. package/lib/browser/test/mock-env-variables-server.d.ts +12 -12
  355. package/lib/browser/test/mock-env-variables-server.js +42 -42
  356. package/lib/browser/test/mock-opener-service.d.ts +8 -8
  357. package/lib/browser/test/mock-opener-service.js +35 -35
  358. package/lib/browser/test/mock-storage-service.d.ts +11 -11
  359. package/lib/browser/test/mock-storage-service.js +49 -49
  360. package/lib/browser/theming.d.ts +50 -50
  361. package/lib/browser/theming.js +203 -203
  362. package/lib/browser/tooltip-service.d.ts +34 -34
  363. package/lib/browser/tooltip-service.js +76 -76
  364. package/lib/browser/tree/fuzzy-search.d.ts +60 -60
  365. package/lib/browser/tree/fuzzy-search.js +75 -75
  366. package/lib/browser/tree/fuzzy-search.spec.d.ts +1 -1
  367. package/lib/browser/tree/fuzzy-search.spec.js +89 -89
  368. package/lib/browser/tree/index.d.ts +13 -13
  369. package/lib/browser/tree/index.js +31 -31
  370. package/lib/browser/tree/search-box-debounce.d.ts +33 -33
  371. package/lib/browser/tree/search-box-debounce.js +75 -75
  372. package/lib/browser/tree/search-box.d.ts +105 -105
  373. package/lib/browser/tree/search-box.js +265 -265
  374. package/lib/browser/tree/test/mock-selectable-tree-model.d.ts +14 -14
  375. package/lib/browser/tree/test/mock-selectable-tree-model.js +102 -102
  376. package/lib/browser/tree/test/mock-tree-model.d.ts +12 -12
  377. package/lib/browser/tree/test/mock-tree-model.js +129 -129
  378. package/lib/browser/tree/test/tree-test-container.d.ts +2 -2
  379. package/lib/browser/tree/test/tree-test-container.js +52 -52
  380. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.d.ts +8 -8
  381. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.js +59 -59
  382. package/lib/browser/tree/tree-compression/compressed-tree-model.d.ts +23 -23
  383. package/lib/browser/tree/tree-compression/compressed-tree-model.js +89 -89
  384. package/lib/browser/tree/tree-compression/compressed-tree-widget.d.ts +38 -38
  385. package/lib/browser/tree/tree-compression/compressed-tree-widget.js +187 -187
  386. package/lib/browser/tree/tree-compression/index.d.ts +4 -4
  387. package/lib/browser/tree/tree-compression/index.js +22 -22
  388. package/lib/browser/tree/tree-compression/tree-compression-service.d.ts +58 -58
  389. package/lib/browser/tree/tree-compression/tree-compression-service.js +98 -98
  390. package/lib/browser/tree/tree-consistency.spec.d.ts +1 -1
  391. package/lib/browser/tree/tree-consistency.spec.js +99 -99
  392. package/lib/browser/tree/tree-container.d.ts +51 -51
  393. package/lib/browser/tree/tree-container.js +115 -115
  394. package/lib/browser/tree/tree-container.spec.d.ts +1 -1
  395. package/lib/browser/tree/tree-container.spec.js +45 -45
  396. package/lib/browser/tree/tree-decorator.d.ts +143 -143
  397. package/lib/browser/tree/tree-decorator.js +115 -115
  398. package/lib/browser/tree/tree-decorator.spec.d.ts +1 -1
  399. package/lib/browser/tree/tree-decorator.spec.js +145 -145
  400. package/lib/browser/tree/tree-expansion.d.ts +65 -65
  401. package/lib/browser/tree/tree-expansion.js +124 -124
  402. package/lib/browser/tree/tree-expansion.spec.d.ts +1 -1
  403. package/lib/browser/tree/tree-expansion.spec.js +155 -155
  404. package/lib/browser/tree/tree-focus-service.d.ts +19 -19
  405. package/lib/browser/tree/tree-focus-service.js +53 -53
  406. package/lib/browser/tree/tree-iterator.d.ts +94 -94
  407. package/lib/browser/tree/tree-iterator.js +223 -223
  408. package/lib/browser/tree/tree-iterator.spec.d.ts +1 -1
  409. package/lib/browser/tree/tree-iterator.spec.js +150 -150
  410. package/lib/browser/tree/tree-label-provider.d.ts +8 -8
  411. package/lib/browser/tree/tree-label-provider.js +39 -39
  412. package/lib/browser/tree/tree-model.d.ts +202 -202
  413. package/lib/browser/tree/tree-model.js +395 -395
  414. package/lib/browser/tree/tree-navigation.d.ts +10 -10
  415. package/lib/browser/tree/tree-navigation.js +57 -57
  416. package/lib/browser/tree/tree-preference.d.ts +10 -10
  417. package/lib/browser/tree/tree-preference.js +46 -46
  418. package/lib/browser/tree/tree-search.d.ts +36 -36
  419. package/lib/browser/tree/tree-search.js +130 -130
  420. package/lib/browser/tree/tree-selectable.spec.d.ts +1 -1
  421. package/lib/browser/tree/tree-selectable.spec.js +146 -146
  422. package/lib/browser/tree/tree-selection-impl.d.ts +44 -44
  423. package/lib/browser/tree/tree-selection-impl.js +158 -158
  424. package/lib/browser/tree/tree-selection-state.d.ts +48 -48
  425. package/lib/browser/tree/tree-selection-state.js +227 -227
  426. package/lib/browser/tree/tree-selection-state.spec.d.ts +1 -1
  427. package/lib/browser/tree/tree-selection-state.spec.js +420 -420
  428. package/lib/browser/tree/tree-selection.d.ts +86 -86
  429. package/lib/browser/tree/tree-selection.js +86 -86
  430. package/lib/browser/tree/tree-view-welcome-widget.d.ts +45 -45
  431. package/lib/browser/tree/tree-view-welcome-widget.js +192 -192
  432. package/lib/browser/tree/tree-widget-selection.d.ts +11 -11
  433. package/lib/browser/tree/tree-widget-selection.js +46 -46
  434. package/lib/browser/tree/tree-widget.d.ts +559 -559
  435. package/lib/browser/tree/tree-widget.js +1352 -1352
  436. package/lib/browser/tree/tree.d.ts +180 -180
  437. package/lib/browser/tree/tree.js +288 -288
  438. package/lib/browser/tree/tree.spec.d.ts +1 -1
  439. package/lib/browser/tree/tree.spec.js +226 -226
  440. package/lib/browser/user-working-directory-provider.d.ts +23 -23
  441. package/lib/browser/user-working-directory-provider.js +76 -76
  442. package/lib/browser/view-container.d.ts +312 -312
  443. package/lib/browser/view-container.js +1458 -1458
  444. package/lib/browser/widget-decoration.d.ts +299 -299
  445. package/lib/browser/widget-decoration.js +140 -140
  446. package/lib/browser/widget-manager.d.ts +172 -172
  447. package/lib/browser/widget-manager.js +222 -222
  448. package/lib/browser/widget-manager.spec.d.ts +1 -1
  449. package/lib/browser/widget-manager.spec.js +91 -91
  450. package/lib/browser/widget-open-handler.d.ts +88 -88
  451. package/lib/browser/widget-open-handler.js +137 -137
  452. package/lib/browser/widgets/alert-message.d.ts +23 -23
  453. package/lib/browser/widgets/alert-message.js +38 -38
  454. package/lib/browser/widgets/enhanced-preview-widget.d.ts +6 -6
  455. package/lib/browser/widgets/enhanced-preview-widget.js +26 -26
  456. package/lib/browser/widgets/extractable-widget.d.ts +13 -13
  457. package/lib/browser/widgets/extractable-widget.js +26 -26
  458. package/lib/browser/widgets/index.d.ts +4 -4
  459. package/lib/browser/widgets/index.js +22 -22
  460. package/lib/browser/widgets/previewable-widget.d.ts +8 -8
  461. package/lib/browser/widgets/previewable-widget.js +30 -30
  462. package/lib/browser/widgets/react-renderer.d.ts +14 -14
  463. package/lib/browser/widgets/react-renderer.js +48 -48
  464. package/lib/browser/widgets/react-widget.d.ts +16 -16
  465. package/lib/browser/widgets/react-widget.js +46 -46
  466. package/lib/browser/widgets/select-component.d.ts +53 -53
  467. package/lib/browser/widgets/select-component.js +307 -307
  468. package/lib/browser/widgets/widget.d.ts +108 -108
  469. package/lib/browser/widgets/widget.js +367 -367
  470. package/lib/browser/window/browser-window-module.d.ts +3 -3
  471. package/lib/browser/window/browser-window-module.js +32 -32
  472. package/lib/browser/window/default-secondary-window-service.d.ts +25 -25
  473. package/lib/browser/window/default-secondary-window-service.js +187 -187
  474. package/lib/browser/window/default-window-service.d.ts +50 -50
  475. package/lib/browser/window/default-window-service.js +167 -167
  476. package/lib/browser/window/default-window-service.spec.d.ts +1 -1
  477. package/lib/browser/window/default-window-service.spec.js +80 -80
  478. package/lib/browser/window/secondary-window-service.d.ts +20 -20
  479. package/lib/browser/window/secondary-window-service.js +19 -19
  480. package/lib/browser/window/test/mock-window-service.d.ts +11 -11
  481. package/lib/browser/window/test/mock-window-service.js +34 -34
  482. package/lib/browser/window/window-service.d.ts +53 -53
  483. package/lib/browser/window/window-service.js +22 -22
  484. package/lib/browser/window/window-title-service.d.ts +31 -31
  485. package/lib/browser/window/window-title-service.js +112 -112
  486. package/lib/browser/window/window-title-updater.d.ts +19 -19
  487. package/lib/browser/window/window-title-updater.js +99 -99
  488. package/lib/browser/window-contribution.d.ts +14 -14
  489. package/lib/browser/window-contribution.js +62 -62
  490. package/lib/browser-only/frontend-only-application-module.d.ts +4 -4
  491. package/lib/browser-only/frontend-only-application-module.js +114 -114
  492. package/lib/browser-only/i18n/i18n-frontend-only-module.d.ts +3 -3
  493. package/lib/browser-only/i18n/i18n-frontend-only-module.js +34 -34
  494. package/lib/browser-only/logger-frontend-only-module.d.ts +2 -2
  495. package/lib/browser-only/logger-frontend-only-module.js +60 -60
  496. package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts +13 -13
  497. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js +51 -51
  498. package/lib/browser-only/messaging/messaging-frontend-only-module.d.ts +2 -2
  499. package/lib/browser-only/messaging/messaging-frontend-only-module.js +47 -47
  500. package/lib/browser-only/preload/frontend-only-preload-module.d.ts +3 -3
  501. package/lib/browser-only/preload/frontend-only-preload-module.js +51 -51
  502. package/lib/common/accessibility.d.ts +16 -16
  503. package/lib/common/accessibility.js +17 -17
  504. package/lib/common/application-error.d.ts +20 -20
  505. package/lib/common/application-error.js +62 -62
  506. package/lib/common/application-error.spec.d.ts +1 -1
  507. package/lib/common/application-error.spec.js +26 -26
  508. package/lib/common/application-protocol.d.ts +20 -20
  509. package/lib/common/application-protocol.js +20 -20
  510. package/lib/common/array-utils.d.ts +55 -55
  511. package/lib/common/array-utils.js +118 -118
  512. package/lib/common/buffer.d.ts +43 -43
  513. package/lib/common/buffer.js +205 -205
  514. package/lib/common/cancellation.d.ts +24 -24
  515. package/lib/common/cancellation.js +142 -142
  516. package/lib/common/char-code.d.ts +401 -401
  517. package/lib/common/char-code.js +22 -22
  518. package/lib/common/collections.d.ts +29 -29
  519. package/lib/common/collections.js +121 -121
  520. package/lib/common/color.d.ts +71 -71
  521. package/lib/common/color.js +43 -43
  522. package/lib/common/command.d.ts +232 -232
  523. package/lib/common/command.js +353 -353
  524. package/lib/common/command.spec.d.ts +1 -1
  525. package/lib/common/command.spec.js +173 -173
  526. package/lib/common/contribution-filter/contribution-filter-registry.d.ts +17 -17
  527. package/lib/common/contribution-filter/contribution-filter-registry.js +77 -77
  528. package/lib/common/contribution-filter/contribution-filter.d.ts +41 -41
  529. package/lib/common/contribution-filter/contribution-filter.js +20 -20
  530. package/lib/common/contribution-filter/filter.d.ts +6 -6
  531. package/lib/common/contribution-filter/filter.js +19 -19
  532. package/lib/common/contribution-filter/index.d.ts +3 -3
  533. package/lib/common/contribution-filter/index.js +21 -21
  534. package/lib/common/contribution-provider.d.ts +20 -20
  535. package/lib/common/contribution-provider.js +82 -82
  536. package/lib/common/disposable.d.ts +80 -80
  537. package/lib/common/disposable.js +173 -173
  538. package/lib/common/disposable.spec.d.ts +1 -1
  539. package/lib/common/disposable.spec.js +80 -80
  540. package/lib/common/encoding-service.d.ts +38 -38
  541. package/lib/common/encoding-service.js +302 -302
  542. package/lib/common/encodings.d.ts +7 -7
  543. package/lib/common/encodings.js +25 -25
  544. package/lib/common/env-variables/env-variables-protocol.d.ts +20 -20
  545. package/lib/common/env-variables/env-variables-protocol.js +20 -20
  546. package/lib/common/env-variables/index.d.ts +1 -1
  547. package/lib/common/env-variables/index.js +19 -19
  548. package/lib/common/event.d.ts +115 -115
  549. package/lib/common/event.js +385 -385
  550. package/lib/common/event.spec.d.ts +1 -1
  551. package/lib/common/event.spec.js +29 -29
  552. package/lib/common/file-uri.d.ts +14 -14
  553. package/lib/common/file-uri.js +62 -62
  554. package/lib/common/frontend-application-state.d.ts +15 -15
  555. package/lib/common/frontend-application-state.js +33 -33
  556. package/lib/common/glob.d.ts +50 -50
  557. package/lib/common/glob.js +591 -591
  558. package/lib/common/hash.d.ts +7 -7
  559. package/lib/common/hash.js +84 -84
  560. package/lib/common/i18n/localization-server.d.ts +6 -6
  561. package/lib/common/i18n/localization-server.js +20 -20
  562. package/lib/common/i18n/localization.d.ts +34 -34
  563. package/lib/common/i18n/localization.js +59 -59
  564. package/lib/common/index.d.ts +35 -35
  565. package/lib/common/index.js +56 -56
  566. package/lib/common/json-schema.d.ts +72 -72
  567. package/lib/common/json-schema.js +17 -17
  568. package/lib/common/key-store.d.ts +12 -12
  569. package/lib/common/key-store.js +20 -20
  570. package/lib/common/keybinding.d.ts +75 -75
  571. package/lib/common/keybinding.js +113 -113
  572. package/lib/common/keyboard/keyboard-layout-provider.d.ts +26 -26
  573. package/lib/common/keyboard/keyboard-layout-provider.js +22 -22
  574. package/lib/common/keys.d.ts +253 -253
  575. package/lib/common/keys.js +634 -634
  576. package/lib/common/label-protocol.d.ts +13 -13
  577. package/lib/common/label-protocol.js +17 -17
  578. package/lib/common/logger-protocol.d.ts +41 -41
  579. package/lib/common/logger-protocol.js +100 -100
  580. package/lib/common/logger-watcher.d.ts +9 -9
  581. package/lib/common/logger-watcher.js +49 -49
  582. package/lib/common/logger.d.ts +207 -207
  583. package/lib/common/logger.js +204 -204
  584. package/lib/common/logger.spec.d.ts +1 -1
  585. package/lib/common/logger.spec.js +41 -41
  586. package/lib/common/lsp-types.d.ts +9 -9
  587. package/lib/common/lsp-types.js +30 -30
  588. package/lib/common/markdown-rendering/icon-utilities.d.ts +7 -7
  589. package/lib/common/markdown-rendering/icon-utilities.js +32 -32
  590. package/lib/common/markdown-rendering/index.d.ts +2 -2
  591. package/lib/common/markdown-rendering/index.js +20 -20
  592. package/lib/common/markdown-rendering/markdown-string.d.ts +46 -46
  593. package/lib/common/markdown-rendering/markdown-string.js +126 -126
  594. package/lib/common/menu/action-menu-node.d.ts +19 -19
  595. package/lib/common/menu/action-menu-node.js +56 -56
  596. package/lib/common/menu/composite-menu-node.d.ts +46 -46
  597. package/lib/common/menu/composite-menu-node.js +93 -93
  598. package/lib/common/menu/composite-menu-node.spec.d.ts +1 -1
  599. package/lib/common/menu/composite-menu-node.spec.js +67 -67
  600. package/lib/common/menu/index.d.ts +5 -5
  601. package/lib/common/menu/index.js +23 -23
  602. package/lib/common/menu/menu-adapter.d.ts +35 -35
  603. package/lib/common/menu/menu-adapter.js +92 -92
  604. package/lib/common/menu/menu-model-registry.d.ts +145 -145
  605. package/lib/common/menu/menu-model-registry.js +275 -275
  606. package/lib/common/menu/menu-types.d.ts +148 -148
  607. package/lib/common/menu/menu-types.js +93 -93
  608. package/lib/common/menu/menu.spec.d.ts +1 -1
  609. package/lib/common/menu/menu.spec.js +96 -96
  610. package/lib/common/message-rpc/channel.d.ts +123 -123
  611. package/lib/common/message-rpc/channel.js +230 -230
  612. package/lib/common/message-rpc/channel.spec.d.ts +8 -8
  613. package/lib/common/message-rpc/channel.spec.js +79 -79
  614. package/lib/common/message-rpc/index.d.ts +3 -3
  615. package/lib/common/message-rpc/index.js +24 -24
  616. package/lib/common/message-rpc/message-buffer.d.ts +51 -51
  617. package/lib/common/message-rpc/message-buffer.js +59 -59
  618. package/lib/common/message-rpc/msg-pack-extension-manager.d.ts +22 -22
  619. package/lib/common/message-rpc/msg-pack-extension-manager.js +57 -57
  620. package/lib/common/message-rpc/rpc-message-encoder.d.ts +103 -103
  621. package/lib/common/message-rpc/rpc-message-encoder.js +113 -113
  622. package/lib/common/message-rpc/rpc-message-encoder.spec.d.ts +1 -1
  623. package/lib/common/message-rpc/rpc-message-encoder.spec.js +58 -58
  624. package/lib/common/message-rpc/rpc-protocol.d.ts +67 -67
  625. package/lib/common/message-rpc/rpc-protocol.js +209 -209
  626. package/lib/common/message-rpc/uint8-array-message-buffer.d.ts +52 -52
  627. package/lib/common/message-rpc/uint8-array-message-buffer.js +174 -174
  628. package/lib/common/message-rpc/uint8-array-message-buffer.spec.d.ts +1 -1
  629. package/lib/common/message-rpc/uint8-array-message-buffer.spec.js +38 -38
  630. package/lib/common/message-service-protocol.d.ts +110 -110
  631. package/lib/common/message-service-protocol.js +73 -73
  632. package/lib/common/message-service.d.ts +134 -134
  633. package/lib/common/message-service.js +151 -151
  634. package/lib/common/messaging/connection-error-handler.d.ts +28 -28
  635. package/lib/common/messaging/connection-error-handler.js +47 -47
  636. package/lib/common/messaging/connection-management.d.ts +24 -24
  637. package/lib/common/messaging/connection-management.js +37 -37
  638. package/lib/common/messaging/handler.d.ts +7 -7
  639. package/lib/common/messaging/handler.js +20 -20
  640. package/lib/common/messaging/index.d.ts +3 -3
  641. package/lib/common/messaging/index.js +21 -21
  642. package/lib/common/messaging/proxy-factory.d.ts +180 -180
  643. package/lib/common/messaging/proxy-factory.js +280 -280
  644. package/lib/common/messaging/proxy-factory.spec.d.ts +1 -1
  645. package/lib/common/messaging/proxy-factory.spec.js +99 -99
  646. package/lib/common/messaging/socket-write-buffer.d.ts +10 -10
  647. package/lib/common/messaging/socket-write-buffer.js +49 -49
  648. package/lib/common/messaging/web-socket-channel.d.ts +19 -19
  649. package/lib/common/messaging/web-socket-channel.js +64 -64
  650. package/lib/common/nls.d.ts +15 -15
  651. package/lib/common/nls.js +135 -135
  652. package/lib/common/numbers.d.ts +5 -5
  653. package/lib/common/numbers.js +23 -23
  654. package/lib/common/objects.d.ts +8 -8
  655. package/lib/common/objects.js +118 -118
  656. package/lib/common/objects.spec.d.ts +1 -1
  657. package/lib/common/objects.spec.js +101 -101
  658. package/lib/common/os.d.ts +31 -31
  659. package/lib/common/os.js +73 -73
  660. package/lib/common/path.d.ts +93 -93
  661. package/lib/common/path.js +307 -307
  662. package/lib/common/path.spec.d.ts +1 -1
  663. package/lib/common/path.spec.js +350 -350
  664. package/lib/common/paths.d.ts +24 -24
  665. package/lib/common/paths.js +226 -226
  666. package/lib/common/performance/index.d.ts +3 -3
  667. package/lib/common/performance/index.js +21 -21
  668. package/lib/common/performance/measurement-protocol.d.ts +64 -64
  669. package/lib/common/performance/measurement-protocol.js +70 -70
  670. package/lib/common/performance/measurement.d.ts +111 -111
  671. package/lib/common/performance/measurement.js +17 -17
  672. package/lib/common/performance/stopwatch.d.ts +75 -75
  673. package/lib/common/performance/stopwatch.js +148 -148
  674. package/lib/common/preferences/preference-schema.d.ts +52 -52
  675. package/lib/common/preferences/preference-schema.js +58 -58
  676. package/lib/common/preferences/preference-scope.d.ts +19 -19
  677. package/lib/common/preferences/preference-scope.js +71 -71
  678. package/lib/common/preferences/preference-scope.spec.d.ts +1 -1
  679. package/lib/common/preferences/preference-scope.spec.js +44 -44
  680. package/lib/common/prioritizeable.d.ts +16 -16
  681. package/lib/common/prioritizeable.js +55 -55
  682. package/lib/common/progress-service-protocol.d.ts +13 -13
  683. package/lib/common/progress-service-protocol.js +19 -19
  684. package/lib/common/progress-service.d.ts +13 -13
  685. package/lib/common/progress-service.js +88 -88
  686. package/lib/common/promise-util.d.ts +51 -51
  687. package/lib/common/promise-util.js +132 -132
  688. package/lib/common/promise-util.spec.d.ts +1 -1
  689. package/lib/common/promise-util.spec.js +80 -80
  690. package/lib/common/quick-pick-service.d.ts +270 -270
  691. package/lib/common/quick-pick-service.js +133 -133
  692. package/lib/common/reference.d.ts +95 -95
  693. package/lib/common/reference.js +207 -207
  694. package/lib/common/reference.spec.d.ts +1 -1
  695. package/lib/common/reference.spec.js +125 -125
  696. package/lib/common/resource.d.ts +207 -207
  697. package/lib/common/resource.js +322 -322
  698. package/lib/common/selection-command-handler.d.ts +24 -24
  699. package/lib/common/selection-command-handler.js +83 -83
  700. package/lib/common/selection-service.d.ts +18 -18
  701. package/lib/common/selection-service.js +43 -43
  702. package/lib/common/selection-service.spec.d.ts +1 -1
  703. package/lib/common/selection-service.spec.js +38 -38
  704. package/lib/common/selection.d.ts +9 -9
  705. package/lib/common/selection.js +47 -47
  706. package/lib/common/severity.d.ts +15 -15
  707. package/lib/common/severity.js +113 -113
  708. package/lib/common/stream.d.ts +176 -176
  709. package/lib/common/stream.js +474 -474
  710. package/lib/common/strings.d.ts +24 -24
  711. package/lib/common/strings.js +215 -215
  712. package/lib/common/telemetry.d.ts +19 -19
  713. package/lib/common/telemetry.js +24 -24
  714. package/lib/common/ternary-search-tree.d.ts +50 -50
  715. package/lib/common/ternary-search-tree.js +381 -381
  716. package/lib/common/test/expect.d.ts +2 -2
  717. package/lib/common/test/expect.js +34 -34
  718. package/lib/common/test/mock-logger.d.ts +27 -27
  719. package/lib/common/test/mock-logger.js +99 -99
  720. package/lib/common/test/mock-menu.d.ts +7 -7
  721. package/lib/common/test/mock-menu.js +34 -34
  722. package/lib/common/test/mock-resource-provider.d.ts +6 -6
  723. package/lib/common/test/mock-resource-provider.js +36 -36
  724. package/lib/common/theme.d.ts +40 -40
  725. package/lib/common/theme.js +22 -22
  726. package/lib/common/types.d.ts +58 -58
  727. package/lib/common/types.js +126 -126
  728. package/lib/common/types.spec.d.ts +1 -1
  729. package/lib/common/types.spec.js +73 -73
  730. package/lib/common/uri-command-handler.d.ts +53 -53
  731. package/lib/common/uri-command-handler.js +99 -99
  732. package/lib/common/uri-command-handler.spec.d.ts +1 -1
  733. package/lib/common/uri-command-handler.spec.js +80 -80
  734. package/lib/common/uri.d.ts +87 -87
  735. package/lib/common/uri.js +236 -236
  736. package/lib/common/uri.spec.d.ts +1 -1
  737. package/lib/common/uri.spec.js +230 -230
  738. package/lib/common/uuid.d.ts +8 -8
  739. package/lib/common/uuid.js +44 -44
  740. package/lib/common/version.d.ts +1 -1
  741. package/lib/common/version.js +19 -19
  742. package/lib/common/view-column.d.ts +17 -17
  743. package/lib/common/view-column.js +36 -36
  744. package/lib/common/window.d.ts +16 -16
  745. package/lib/common/window.js +22 -22
  746. package/lib/electron-browser/electron-clipboard-service.d.ts +5 -5
  747. package/lib/electron-browser/electron-clipboard-service.js +33 -33
  748. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.d.ts +11 -11
  749. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js +46 -46
  750. package/lib/electron-browser/keyboard/electron-keyboard-module.d.ts +3 -3
  751. package/lib/electron-browser/keyboard/electron-keyboard-module.js +26 -26
  752. package/lib/electron-browser/menu/electron-context-menu-renderer.d.ts +30 -30
  753. package/lib/electron-browser/menu/electron-context-menu-renderer.js +128 -128
  754. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts +59 -59
  755. package/lib/electron-browser/menu/electron-main-menu-factory.js +274 -274
  756. package/lib/electron-browser/menu/electron-menu-contribution.d.ts +78 -78
  757. package/lib/electron-browser/menu/electron-menu-contribution.js +471 -471
  758. package/lib/electron-browser/menu/electron-menu-module.d.ts +3 -3
  759. package/lib/electron-browser/menu/electron-menu-module.js +39 -39
  760. package/lib/electron-browser/messaging/electron-frontend-id-provider.d.ts +4 -4
  761. package/lib/electron-browser/messaging/electron-frontend-id-provider.js +29 -29
  762. package/lib/electron-browser/messaging/electron-ipc-connection-source.d.ts +23 -23
  763. package/lib/electron-browser/messaging/electron-ipc-connection-source.js +59 -59
  764. package/lib/electron-browser/messaging/electron-local-ws-connection-source.d.ts +6 -6
  765. package/lib/electron-browser/messaging/electron-local-ws-connection-source.js +49 -49
  766. package/lib/electron-browser/messaging/electron-messaging-frontend-module.d.ts +2 -2
  767. package/lib/electron-browser/messaging/electron-messaging-frontend-module.js +75 -75
  768. package/lib/electron-browser/messaging/electron-ws-connection-source.d.ts +11 -11
  769. package/lib/electron-browser/messaging/electron-ws-connection-source.js +42 -42
  770. package/lib/electron-browser/preload.d.ts +1 -1
  771. package/lib/electron-browser/preload.js +201 -201
  772. package/lib/electron-browser/preload.js.map +1 -1
  773. package/lib/electron-browser/request/electron-browser-request-module.d.ts +18 -18
  774. package/lib/electron-browser/request/electron-browser-request-module.js +26 -26
  775. package/lib/electron-browser/token/electron-token-frontend-module.d.ts +3 -3
  776. package/lib/electron-browser/token/electron-token-frontend-module.js +22 -22
  777. package/lib/electron-browser/window/electron-frontend-application-state.d.ts +4 -4
  778. package/lib/electron-browser/window/electron-frontend-application-state.js +31 -31
  779. package/lib/electron-browser/window/electron-secondary-window-service.d.ts +7 -7
  780. package/lib/electron-browser/window/electron-secondary-window-service.js +38 -38
  781. package/lib/electron-browser/window/electron-window-module.d.ts +3 -3
  782. package/lib/electron-browser/window/electron-window-module.js +39 -39
  783. package/lib/electron-browser/window/electron-window-preferences.d.ts +18 -18
  784. package/lib/electron-browser/window/electron-window-preferences.js +72 -72
  785. package/lib/electron-browser/window/electron-window-service.d.ts +31 -31
  786. package/lib/electron-browser/window/electron-window-service.js +116 -116
  787. package/lib/electron-browser/window/electron-window-service.js.map +1 -1
  788. package/lib/electron-common/electron-api.d.ts +104 -104
  789. package/lib/electron-common/electron-api.d.ts.map +1 -1
  790. package/lib/electron-common/electron-api.js +56 -56
  791. package/lib/electron-common/electron-main-window-service.d.ts +7 -7
  792. package/lib/electron-common/electron-main-window-service.js +20 -20
  793. package/lib/electron-common/electron-token.d.ts +10 -10
  794. package/lib/electron-common/electron-token.js +27 -27
  795. package/lib/electron-main/electron-api-main.d.ts +22 -22
  796. package/lib/electron-main/electron-api-main.d.ts.map +1 -1
  797. package/lib/electron-main/electron-api-main.js +296 -294
  798. package/lib/electron-main/electron-api-main.js.map +1 -1
  799. package/lib/electron-main/electron-main-application-module.d.ts +3 -3
  800. package/lib/electron-main/electron-main-application-module.js +56 -56
  801. package/lib/electron-main/electron-main-application.d.ts +159 -159
  802. package/lib/electron-main/electron-main-application.js +603 -603
  803. package/lib/electron-main/electron-main-constants.d.ts +6 -6
  804. package/lib/electron-main/electron-main-constants.js +19 -19
  805. package/lib/electron-main/electron-main-window-service-impl.d.ts +8 -8
  806. package/lib/electron-main/electron-main-window-service-impl.js +46 -46
  807. package/lib/electron-main/electron-security-token-service.d.ts +5 -5
  808. package/lib/electron-main/electron-security-token-service.js +41 -41
  809. package/lib/electron-main/event-utils.d.ts +8 -8
  810. package/lib/electron-main/event-utils.js +33 -33
  811. package/lib/electron-main/messaging/electron-connection-handler.d.ts +5 -5
  812. package/lib/electron-main/messaging/electron-connection-handler.js +23 -23
  813. package/lib/electron-main/messaging/electron-messaging-contribution.d.ts +41 -41
  814. package/lib/electron-main/messaging/electron-messaging-contribution.js +142 -142
  815. package/lib/electron-main/messaging/electron-messaging-service.d.ts +17 -17
  816. package/lib/electron-main/messaging/electron-messaging-service.js +22 -22
  817. package/lib/electron-main/theia-electron-window.d.ts +53 -53
  818. package/lib/electron-main/theia-electron-window.js +186 -186
  819. package/lib/electron-node/hosting/electron-backend-hosting-module.d.ts +3 -3
  820. package/lib/electron-node/hosting/electron-backend-hosting-module.js +24 -24
  821. package/lib/electron-node/hosting/electron-ws-origin-validator.d.ts +8 -8
  822. package/lib/electron-node/hosting/electron-ws-origin-validator.js +40 -40
  823. package/lib/electron-node/keyboard/electron-backend-keyboard-module.d.ts +3 -3
  824. package/lib/electron-node/keyboard/electron-backend-keyboard-module.js +26 -26
  825. package/lib/electron-node/keyboard/electron-keyboard-layout-provider.d.ts +5 -5
  826. package/lib/electron-node/keyboard/electron-keyboard-layout-provider.js +36 -36
  827. package/lib/electron-node/request/electron-backend-request-module.d.ts +18 -18
  828. package/lib/electron-node/request/electron-backend-request-module.js +23 -23
  829. package/lib/electron-node/request/electron-backend-request-service.d.ts +22 -22
  830. package/lib/electron-node/request/electron-backend-request-service.js +81 -81
  831. package/lib/electron-node/token/electron-token-backend-contribution.d.ts +15 -15
  832. package/lib/electron-node/token/electron-token-backend-contribution.js +50 -50
  833. package/lib/electron-node/token/electron-token-backend-module.d.ts +3 -3
  834. package/lib/electron-node/token/electron-token-backend-module.js +28 -28
  835. package/lib/electron-node/token/electron-token-validator.d.ts +29 -29
  836. package/lib/electron-node/token/electron-token-validator.js +95 -95
  837. package/lib/node/application-server.d.ts +10 -10
  838. package/lib/node/application-server.js +55 -55
  839. package/lib/node/backend-application-config-provider.d.ts +7 -7
  840. package/lib/node/backend-application-config-provider.js +45 -45
  841. package/lib/node/backend-application-config-provider.spec.d.ts +1 -1
  842. package/lib/node/backend-application-config-provider.spec.js +28 -28
  843. package/lib/node/backend-application-module.d.ts +2 -2
  844. package/lib/node/backend-application-module.js +108 -108
  845. package/lib/node/backend-application.d.ts +108 -108
  846. package/lib/node/backend-application.js +290 -290
  847. package/lib/node/backend-remote-service.d.ts +3 -3
  848. package/lib/node/backend-remote-service.js +29 -29
  849. package/lib/node/cli.d.ts +17 -17
  850. package/lib/node/cli.js +59 -59
  851. package/lib/node/cli.spec.d.ts +1 -1
  852. package/lib/node/cli.spec.js +89 -89
  853. package/lib/node/console-logger-server.d.ts +15 -15
  854. package/lib/node/console-logger-server.js +82 -82
  855. package/lib/node/console-logger-server.spec.d.ts +1 -1
  856. package/lib/node/console-logger-server.spec.js +61 -61
  857. package/lib/node/debug.d.ts +1 -1
  858. package/lib/node/debug.js +28 -28
  859. package/lib/node/dynamic-require.d.ts +7 -7
  860. package/lib/node/dynamic-require.js +56 -56
  861. package/lib/node/env-variables/env-variables-server.d.ts +23 -23
  862. package/lib/node/env-variables/env-variables-server.js +117 -117
  863. package/lib/node/env-variables/index.d.ts +1 -1
  864. package/lib/node/env-variables/index.js +19 -19
  865. package/lib/node/environment-utils.d.ts +21 -21
  866. package/lib/node/environment-utils.js +72 -72
  867. package/lib/node/environment-utils.spec.d.ts +1 -1
  868. package/lib/node/environment-utils.spec.js +77 -77
  869. package/lib/node/file-uri.spec.d.ts +1 -1
  870. package/lib/node/file-uri.spec.js +66 -66
  871. package/lib/node/filesystem-locking.d.ts +23 -23
  872. package/lib/node/filesystem-locking.js +65 -65
  873. package/lib/node/hosting/backend-application-hosts.d.ts +23 -23
  874. package/lib/node/hosting/backend-application-hosts.js +69 -69
  875. package/lib/node/hosting/backend-hosting-module.d.ts +3 -3
  876. package/lib/node/hosting/backend-hosting-module.js +26 -26
  877. package/lib/node/hosting/ws-origin-validator.d.ts +8 -8
  878. package/lib/node/hosting/ws-origin-validator.js +39 -39
  879. package/lib/node/i18n/i18n-backend-module.d.ts +3 -3
  880. package/lib/node/i18n/i18n-backend-module.js +38 -38
  881. package/lib/node/i18n/localization-contribution.d.ts +18 -18
  882. package/lib/node/i18n/localization-contribution.js +108 -108
  883. package/lib/node/i18n/localization-provider.d.ts +23 -23
  884. package/lib/node/i18n/localization-provider.js +109 -109
  885. package/lib/node/i18n/localization-server.d.ts +14 -14
  886. package/lib/node/i18n/localization-server.js +54 -54
  887. package/lib/node/i18n/theia-localization-contribution.d.ts +4 -4
  888. package/lib/node/i18n/theia-localization-contribution.js +40 -40
  889. package/lib/node/index.d.ts +6 -6
  890. package/lib/node/index.js +26 -26
  891. package/lib/node/key-store-server.d.ts +27 -27
  892. package/lib/node/key-store-server.js +145 -145
  893. package/lib/node/logger-backend-module.d.ts +9 -9
  894. package/lib/node/logger-backend-module.js +78 -78
  895. package/lib/node/logger-cli-contribution.d.ts +33 -33
  896. package/lib/node/logger-cli-contribution.js +147 -147
  897. package/lib/node/logger-cli-contribution.spec.d.ts +1 -1
  898. package/lib/node/logger-cli-contribution.spec.js +207 -207
  899. package/lib/node/main.d.ts +7 -7
  900. package/lib/node/main.js +29 -29
  901. package/lib/node/messaging/binary-message-pipe.d.ts +44 -44
  902. package/lib/node/messaging/binary-message-pipe.js +151 -151
  903. package/lib/node/messaging/connection-container-module.d.ts +53 -53
  904. package/lib/node/messaging/connection-container-module.js +81 -81
  905. package/lib/node/messaging/default-messaging-service.d.ts +28 -28
  906. package/lib/node/messaging/default-messaging-service.js +131 -131
  907. package/lib/node/messaging/frontend-connection-service.d.ts +6 -6
  908. package/lib/node/messaging/frontend-connection-service.js +18 -18
  909. package/lib/node/messaging/index.d.ts +3 -3
  910. package/lib/node/messaging/index.js +21 -21
  911. package/lib/node/messaging/ipc-bootstrap.d.ts +1 -1
  912. package/lib/node/messaging/ipc-bootstrap.js +24 -24
  913. package/lib/node/messaging/ipc-channel.d.ts +17 -17
  914. package/lib/node/messaging/ipc-channel.js +69 -69
  915. package/lib/node/messaging/ipc-connection-provider.d.ts +21 -21
  916. package/lib/node/messaging/ipc-connection-provider.js +92 -92
  917. package/lib/node/messaging/ipc-protocol.d.ts +19 -19
  918. package/lib/node/messaging/ipc-protocol.js +68 -68
  919. package/lib/node/messaging/messaging-backend-module.d.ts +2 -2
  920. package/lib/node/messaging/messaging-backend-module.js +52 -52
  921. package/lib/node/messaging/messaging-listeners.d.ts +27 -27
  922. package/lib/node/messaging/messaging-listeners.js +45 -45
  923. package/lib/node/messaging/messaging-service.d.ts +28 -28
  924. package/lib/node/messaging/messaging-service.js +24 -24
  925. package/lib/node/messaging/test/test-web-socket-channel.d.ts +12 -12
  926. package/lib/node/messaging/test/test-web-socket-channel.js +54 -54
  927. package/lib/node/messaging/websocket-endpoint.d.ts +20 -20
  928. package/lib/node/messaging/websocket-endpoint.js +80 -80
  929. package/lib/node/messaging/websocket-frontend-connection-service.d.ts +30 -30
  930. package/lib/node/messaging/websocket-frontend-connection-service.js +169 -169
  931. package/lib/node/os-backend-provider.d.ts +4 -4
  932. package/lib/node/os-backend-provider.js +30 -30
  933. package/lib/node/performance/index.d.ts +2 -2
  934. package/lib/node/performance/index.js +20 -20
  935. package/lib/node/performance/measurement-backend-bindings.d.ts +19 -19
  936. package/lib/node/performance/measurement-backend-bindings.js +30 -30
  937. package/lib/node/performance/node-stopwatch.d.ts +20 -20
  938. package/lib/node/performance/node-stopwatch.js +43 -43
  939. package/lib/node/process-utils.d.ts +13 -13
  940. package/lib/node/process-utils.js +105 -105
  941. package/lib/node/process-utils.spec.d.ts +1 -1
  942. package/lib/node/process-utils.spec.js +44 -44
  943. package/lib/node/request/backend-request-facade.d.ts +22 -22
  944. package/lib/node/request/backend-request-facade.js +41 -41
  945. package/lib/node/request/backend-request-module.d.ts +18 -18
  946. package/lib/node/request/backend-request-module.js +24 -24
  947. package/lib/node/request/proxy-cli-contribution.d.ts +27 -27
  948. package/lib/node/request/proxy-cli-contribution.js +64 -64
  949. package/lib/node/ws-request-validators.d.ts +25 -25
  950. package/lib/node/ws-request-validators.js +52 -52
  951. package/package.json +6 -6
  952. package/shared/ajv/index.d.ts +2 -2
  953. package/shared/markdown-it.d.ts +2 -2
  954. package/shared/markdown-it.js +1 -1
  955. package/shared/reflect-metadata/index.d.ts +1 -1
  956. package/shared/reflect-metadata/index.js +1 -1
  957. package/shared/vscode-languageserver-types/index.d.ts +1 -1
  958. package/src/browser/about-dialog.tsx +137 -137
  959. package/src/browser/authentication-service.ts +456 -456
  960. package/src/browser/breadcrumbs/breadcrumb-popup-container.ts +101 -101
  961. package/src/browser/breadcrumbs/breadcrumb-renderer.tsx +41 -41
  962. package/src/browser/breadcrumbs/breadcrumbs-constants.ts +79 -79
  963. package/src/browser/breadcrumbs/breadcrumbs-renderer.tsx +185 -185
  964. package/src/browser/breadcrumbs/breadcrumbs-service.ts +108 -108
  965. package/src/browser/breadcrumbs/index.ts +21 -21
  966. package/src/browser/browser-clipboard-service.ts +122 -122
  967. package/src/browser/browser.ts +225 -225
  968. package/src/browser/clipboard-service.ts +23 -23
  969. package/src/browser/color-application-contribution.ts +110 -110
  970. package/src/browser/color-registry.ts +60 -60
  971. package/src/browser/command-open-handler.ts +54 -54
  972. package/src/browser/common-frontend-contribution.ts +2569 -2569
  973. package/src/browser/common-styling-participants.ts +361 -361
  974. package/src/browser/connection-status-service.spec.ts +200 -200
  975. package/src/browser/connection-status-service.ts +216 -216
  976. package/src/browser/context-key-service.ts +142 -142
  977. package/src/browser/context-menu-renderer.ts +124 -124
  978. package/src/browser/core-preferences.ts +334 -334
  979. package/src/browser/credentials-service.ts +106 -106
  980. package/src/browser/decoration-style.ts +65 -65
  981. package/src/browser/decorations-service.ts +209 -209
  982. package/src/browser/dialogs/react-dialog.tsx +56 -56
  983. package/src/browser/dialogs.ts +534 -534
  984. package/src/browser/diff-uris.ts +117 -117
  985. package/src/browser/encoding-registry.ts +97 -97
  986. package/src/browser/endpoint.spec.ts +148 -148
  987. package/src/browser/endpoint.ts +136 -136
  988. package/src/browser/external-uri-service.ts +79 -79
  989. package/src/browser/file-icons-js.d.ts +20 -20
  990. package/src/browser/frontend-application-bindings.ts +62 -62
  991. package/src/browser/frontend-application-config-provider.spec.ts +45 -45
  992. package/src/browser/frontend-application-config-provider.ts +50 -50
  993. package/src/browser/frontend-application-contribution.ts +110 -110
  994. package/src/browser/frontend-application-module.ts +460 -460
  995. package/src/browser/frontend-application-state.ts +74 -74
  996. package/src/browser/frontend-application.ts +326 -326
  997. package/src/browser/hover-service.ts +218 -218
  998. package/src/browser/http-open-handler.ts +47 -47
  999. package/src/browser/i18n/i18n-frontend-module.ts +27 -27
  1000. package/src/browser/i18n/language-quick-pick-service.ts +130 -130
  1001. package/src/browser/icon-registry.ts +87 -87
  1002. package/src/browser/icon-theme-contribution.ts +64 -64
  1003. package/src/browser/icon-theme-service.ts +217 -217
  1004. package/src/browser/icons/CollapseAll.svg +7 -7
  1005. package/src/browser/icons/CollapseAll_inverse.svg +7 -7
  1006. package/src/browser/icons/Refresh.svg +7 -7
  1007. package/src/browser/icons/Refresh_inverse.svg +7 -7
  1008. package/src/browser/icons/add-inverse.svg +4 -4
  1009. package/src/browser/icons/add.svg +4 -4
  1010. package/src/browser/icons/arrow-down-bright.svg +6 -6
  1011. package/src/browser/icons/arrow-down-dark.svg +6 -6
  1012. package/src/browser/icons/arrow-up-bright.svg +6 -6
  1013. package/src/browser/icons/arrow-up-dark.svg +6 -6
  1014. package/src/browser/icons/case-sensitive-dark.svg +16 -16
  1015. package/src/browser/icons/case-sensitive.svg +16 -16
  1016. package/src/browser/icons/chevron-right-dark.svg +5 -5
  1017. package/src/browser/icons/chevron-right-light.svg +6 -6
  1018. package/src/browser/icons/circle-bright.svg +7 -7
  1019. package/src/browser/icons/circle-dark.svg +7 -7
  1020. package/src/browser/icons/clear-search-results-dark.svg +7 -7
  1021. package/src/browser/icons/clear-search-results.svg +7 -7
  1022. package/src/browser/icons/close-all-bright.svg +7 -7
  1023. package/src/browser/icons/close-all-dark.svg +7 -7
  1024. package/src/browser/icons/close-bright.svg +7 -7
  1025. package/src/browser/icons/close-dark.svg +7 -7
  1026. package/src/browser/icons/collapse.svg +4 -4
  1027. package/src/browser/icons/edit-json-dark.svg +6 -6
  1028. package/src/browser/icons/edit-json.svg +6 -6
  1029. package/src/browser/icons/expand.svg +4 -4
  1030. package/src/browser/icons/loading-dark.svg +6 -6
  1031. package/src/browser/icons/loading-light.svg +6 -6
  1032. package/src/browser/icons/open-change-bright.svg +3 -3
  1033. package/src/browser/icons/open-change-dark.svg +4 -4
  1034. package/src/browser/icons/open-file-bright.svg +4 -4
  1035. package/src/browser/icons/open-file-dark.svg +4 -4
  1036. package/src/browser/icons/preview-bright.svg +3 -3
  1037. package/src/browser/icons/preview-dark.svg +3 -3
  1038. package/src/browser/icons/regex-dark.svg +10 -10
  1039. package/src/browser/icons/regex.svg +10 -10
  1040. package/src/browser/icons/remove-all-inverse.svg +4 -4
  1041. package/src/browser/icons/remove-all.svg +4 -4
  1042. package/src/browser/icons/replace-all-inverse.svg +13 -13
  1043. package/src/browser/icons/replace-all.svg +13 -13
  1044. package/src/browser/icons/replace-inverse.svg +15 -15
  1045. package/src/browser/icons/replace.svg +15 -15
  1046. package/src/browser/icons/whole-word-dark.svg +19 -19
  1047. package/src/browser/icons/whole-word.svg +19 -19
  1048. package/src/browser/index.ts +47 -47
  1049. package/src/browser/json-schema-store.ts +127 -127
  1050. package/src/browser/keybinding.spec.ts +553 -553
  1051. package/src/browser/keybinding.ts +759 -759
  1052. package/src/browser/keyboard/browser-keyboard-frontend-contribution.ts +108 -108
  1053. package/src/browser/keyboard/browser-keyboard-layout-provider.spec.ts +171 -171
  1054. package/src/browser/keyboard/browser-keyboard-layout-provider.ts +469 -469
  1055. package/src/browser/keyboard/browser-keyboard-module.ts +30 -30
  1056. package/src/browser/keyboard/index.ts +20 -20
  1057. package/src/browser/keyboard/keyboard-layout-service.spec.ts +121 -121
  1058. package/src/browser/keyboard/keyboard-layout-service.ts +455 -455
  1059. package/src/browser/keyboard/keys.spec.ts +258 -258
  1060. package/src/browser/keyboard/keys.ts +20 -20
  1061. package/src/browser/keys.ts +21 -21
  1062. package/src/browser/label-parser.spec.ts +165 -165
  1063. package/src/browser/label-parser.ts +108 -108
  1064. package/src/browser/label-provider.spec.ts +62 -62
  1065. package/src/browser/label-provider.ts +385 -385
  1066. package/src/browser/language-icon-provider.ts +55 -55
  1067. package/src/browser/language-service.ts +77 -77
  1068. package/src/browser/logger-frontend-module.ts +65 -65
  1069. package/src/browser/markdown-rendering/markdown-renderer.ts +98 -98
  1070. package/src/browser/menu/browser-context-menu-renderer.ts +48 -48
  1071. package/src/browser/menu/browser-menu-module.ts +28 -28
  1072. package/src/browser/menu/browser-menu-plugin.ts +484 -484
  1073. package/src/browser/menu/context-menu-context.ts +41 -41
  1074. package/src/browser/messaging/connection-source.ts +26 -26
  1075. package/src/browser/messaging/frontend-id-provider.ts +37 -37
  1076. package/src/browser/messaging/index.ts +17 -17
  1077. package/src/browser/messaging/messaging-frontend-module.ts +41 -41
  1078. package/src/browser/messaging/service-connection-provider.ts +126 -126
  1079. package/src/browser/messaging/ws-connection-provider.ts +48 -48
  1080. package/src/browser/messaging/ws-connection-source.ts +230 -230
  1081. package/src/browser/mime-service.ts +30 -30
  1082. package/src/browser/navigatable-types.ts +81 -81
  1083. package/src/browser/navigatable.ts +39 -39
  1084. package/src/browser/opener-service.spec.ts +49 -49
  1085. package/src/browser/opener-service.ts +146 -146
  1086. package/src/browser/performance/frontend-stopwatch.ts +65 -65
  1087. package/src/browser/performance/index.ts +18 -18
  1088. package/src/browser/performance/measurement-frontend-bindings.ts +31 -31
  1089. package/src/browser/preferences/index.ts +23 -23
  1090. package/src/browser/preferences/injectable-preference-proxy.ts +283 -283
  1091. package/src/browser/preferences/preference-configurations.ts +82 -82
  1092. package/src/browser/preferences/preference-contribution.ts +436 -436
  1093. package/src/browser/preferences/preference-language-override-service.ts +111 -111
  1094. package/src/browser/preferences/preference-provider.spec.ts +36 -36
  1095. package/src/browser/preferences/preference-provider.ts +277 -277
  1096. package/src/browser/preferences/preference-proxy.spec.ts +367 -367
  1097. package/src/browser/preferences/preference-proxy.ts +367 -367
  1098. package/src/browser/preferences/preference-schema-provider.spec.ts +130 -130
  1099. package/src/browser/preferences/preference-scope.ts +18 -18
  1100. package/src/browser/preferences/preference-service.spec.ts +613 -613
  1101. package/src/browser/preferences/preference-service.ts +594 -594
  1102. package/src/browser/preferences/preference-validation-service.spec.ts +334 -334
  1103. package/src/browser/preferences/preference-validation-service.ts +358 -358
  1104. package/src/browser/preferences/test/index.ts +19 -19
  1105. package/src/browser/preferences/test/mock-preference-provider.ts +50 -50
  1106. package/src/browser/preferences/test/mock-preference-proxy.ts +48 -48
  1107. package/src/browser/preferences/test/mock-preference-service.ts +63 -63
  1108. package/src/browser/preload/i18n-preload-contribution.ts +50 -50
  1109. package/src/browser/preload/os-preload-contribution.ts +37 -37
  1110. package/src/browser/preload/preload-module.ts +45 -45
  1111. package/src/browser/preload/preloader.ts +37 -37
  1112. package/src/browser/preload/theme-preload-contribution.ts +31 -31
  1113. package/src/browser/progress-bar-factory.ts +29 -29
  1114. package/src/browser/progress-bar.ts +76 -76
  1115. package/src/browser/progress-client.ts +53 -53
  1116. package/src/browser/progress-location-service.spec.ts +50 -50
  1117. package/src/browser/progress-location-service.ts +96 -96
  1118. package/src/browser/progress-status-bar-item.ts +83 -83
  1119. package/src/browser/quick-input/index.ts +23 -23
  1120. package/src/browser/quick-input/quick-access.ts +75 -75
  1121. package/src/browser/quick-input/quick-command-frontend-contribution.ts +89 -89
  1122. package/src/browser/quick-input/quick-command-service.ts +246 -246
  1123. package/src/browser/quick-input/quick-help-service.ts +87 -87
  1124. package/src/browser/quick-input/quick-input-frontend-contribution.ts +33 -33
  1125. package/src/browser/quick-input/quick-input-service.spec.ts +176 -176
  1126. package/src/browser/quick-input/quick-input-service.ts +17 -17
  1127. package/src/browser/quick-input/quick-pick-service-impl.ts +69 -69
  1128. package/src/browser/quick-input/quick-view-service.ts +83 -83
  1129. package/src/browser/request/browser-request-module.ts +23 -23
  1130. package/src/browser/request/browser-request-service.ts +172 -172
  1131. package/src/browser/resource-context-key.ts +77 -77
  1132. package/src/browser/save-resource-service.ts +60 -60
  1133. package/src/browser/saveable.ts +365 -365
  1134. package/src/browser/secondary-window-handler.ts +211 -211
  1135. package/src/browser/shell/additional-views-menu-widget.tsx +71 -71
  1136. package/src/browser/shell/application-shell-mouse-tracker.ts +103 -103
  1137. package/src/browser/shell/application-shell.ts +2261 -2261
  1138. package/src/browser/shell/current-widget-command-adapter.ts +57 -57
  1139. package/src/browser/shell/index.ts +23 -23
  1140. package/src/browser/shell/shell-layout-restorer.ts +399 -399
  1141. package/src/browser/shell/side-panel-handler.ts +793 -793
  1142. package/src/browser/shell/side-panel-toolbar.ts +111 -111
  1143. package/src/browser/shell/sidebar-bottom-menu-widget.tsx +39 -39
  1144. package/src/browser/shell/sidebar-menu-widget.tsx +140 -140
  1145. package/src/browser/shell/sidebar-top-menu-widget.tsx +26 -26
  1146. package/src/browser/shell/split-panels.ts +190 -190
  1147. package/src/browser/shell/tab-bar-decorator.ts +106 -106
  1148. package/src/browser/shell/tab-bar-toolbar/index.ts +19 -19
  1149. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.ts +31 -31
  1150. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts +256 -256
  1151. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts +207 -207
  1152. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.ts +62 -62
  1153. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +428 -428
  1154. package/src/browser/shell/tab-bars.spec.ts +63 -63
  1155. package/src/browser/shell/tab-bars.ts +1485 -1485
  1156. package/src/browser/shell/theia-dock-panel.ts +255 -255
  1157. package/src/browser/shell/view-contribution.ts +177 -177
  1158. package/src/browser/source-tree/index.ts +19 -19
  1159. package/src/browser/source-tree/source-tree-widget.tsx +107 -107
  1160. package/src/browser/source-tree/source-tree.ts +146 -146
  1161. package/src/browser/source-tree/tree-source.ts +73 -73
  1162. package/src/browser/status-bar/index.ts +29 -29
  1163. package/src/browser/status-bar/status-bar-types.ts +97 -97
  1164. package/src/browser/status-bar/status-bar-view-model.ts +209 -209
  1165. package/src/browser/status-bar/status-bar.tsx +189 -189
  1166. package/src/browser/storage-service.spec.ts +76 -76
  1167. package/src/browser/storage-service.ts +129 -129
  1168. package/src/browser/style/about.css +36 -36
  1169. package/src/browser/style/alert-messages.css +62 -62
  1170. package/src/browser/style/ansi.css +88 -88
  1171. package/src/browser/style/breadcrumbs.css +130 -130
  1172. package/src/browser/style/dialog.css +126 -126
  1173. package/src/browser/style/dockpanel.css +76 -76
  1174. package/src/browser/style/hover-service.css +101 -101
  1175. package/src/browser/style/icons.css +61 -61
  1176. package/src/browser/style/index.css +351 -351
  1177. package/src/browser/style/materialcolors.css +278 -278
  1178. package/src/browser/style/menus.css +230 -230
  1179. package/src/browser/style/notification.css +39 -39
  1180. package/src/browser/style/os.css +87 -87
  1181. package/src/browser/style/progress-bar.css +43 -43
  1182. package/src/browser/style/quick-title-bar.css +45 -45
  1183. package/src/browser/style/scrollbars.css +172 -172
  1184. package/src/browser/style/search-box.css +123 -123
  1185. package/src/browser/style/select-component.css +107 -107
  1186. package/src/browser/style/sidepanel.css +364 -364
  1187. package/src/browser/style/status-bar.css +127 -127
  1188. package/src/browser/style/tabs.css +647 -647
  1189. package/src/browser/style/tooltip.css +28 -28
  1190. package/src/browser/style/tree-decorators.css +81 -81
  1191. package/src/browser/style/tree.css +232 -232
  1192. package/src/browser/style/view-container.css +194 -194
  1193. package/src/browser/style/widget.css +19 -19
  1194. package/src/browser/styling-service.ts +96 -96
  1195. package/src/browser/supported-encodings.ts +262 -262
  1196. package/src/browser/test/jsdom.ts +69 -69
  1197. package/src/browser/test/mock-connection-status-service.ts +33 -33
  1198. package/src/browser/test/mock-env-variables-server.ts +47 -47
  1199. package/src/browser/test/mock-opener-service.ts +34 -34
  1200. package/src/browser/test/mock-storage-service.ts +49 -49
  1201. package/src/browser/theming.ts +206 -206
  1202. package/src/browser/tooltip-service.tsx +96 -96
  1203. package/src/browser/tree/fuzzy-search.spec.ts +99 -99
  1204. package/src/browser/tree/fuzzy-search.ts +136 -136
  1205. package/src/browser/tree/index.ts +29 -29
  1206. package/src/browser/tree/search-box-debounce.ts +96 -96
  1207. package/src/browser/tree/search-box.ts +355 -355
  1208. package/src/browser/tree/test/mock-selectable-tree-model.ts +109 -109
  1209. package/src/browser/tree/test/mock-tree-model.ts +136 -136
  1210. package/src/browser/tree/test/tree-test-container.ts +50 -50
  1211. package/src/browser/tree/tree-compression/compressed-tree-expansion-service.ts +46 -46
  1212. package/src/browser/tree/tree-compression/compressed-tree-model.ts +88 -88
  1213. package/src/browser/tree/tree-compression/compressed-tree-widget.tsx +203 -203
  1214. package/src/browser/tree/tree-compression/index.ts +20 -20
  1215. package/src/browser/tree/tree-compression/tree-compression-service.ts +125 -125
  1216. package/src/browser/tree/tree-compression/tree-compression.css +28 -28
  1217. package/src/browser/tree/tree-consistency.spec.ts +105 -105
  1218. package/src/browser/tree/tree-container.spec.ts +45 -45
  1219. package/src/browser/tree/tree-container.ts +155 -155
  1220. package/src/browser/tree/tree-decorator.spec.ts +162 -162
  1221. package/src/browser/tree/tree-decorator.ts +238 -238
  1222. package/src/browser/tree/tree-expansion.spec.ts +173 -173
  1223. package/src/browser/tree/tree-expansion.ts +165 -165
  1224. package/src/browser/tree/tree-focus-service.ts +55 -55
  1225. package/src/browser/tree/tree-iterator.spec.ts +170 -170
  1226. package/src/browser/tree/tree-iterator.ts +256 -256
  1227. package/src/browser/tree/tree-label-provider.ts +40 -40
  1228. package/src/browser/tree/tree-model.ts +562 -562
  1229. package/src/browser/tree/tree-navigation.ts +58 -58
  1230. package/src/browser/tree/tree-preference.ts +50 -50
  1231. package/src/browser/tree/tree-search.ts +128 -128
  1232. package/src/browser/tree/tree-selectable.spec.ts +152 -152
  1233. package/src/browser/tree/tree-selection-impl.ts +176 -176
  1234. package/src/browser/tree/tree-selection-state.spec.ts +462 -462
  1235. package/src/browser/tree/tree-selection-state.ts +245 -245
  1236. package/src/browser/tree/tree-selection.ts +159 -159
  1237. package/src/browser/tree/tree-view-welcome-widget.tsx +263 -263
  1238. package/src/browser/tree/tree-widget-selection.ts +45 -45
  1239. package/src/browser/tree/tree-widget.tsx +1585 -1585
  1240. package/src/browser/tree/tree.spec.ts +241 -241
  1241. package/src/browser/tree/tree.ts +425 -425
  1242. package/src/browser/user-working-directory-provider.ts +77 -77
  1243. package/src/browser/view-container.ts +1640 -1640
  1244. package/src/browser/widget-decoration.ts +358 -358
  1245. package/src/browser/widget-manager.spec.ts +102 -102
  1246. package/src/browser/widget-manager.ts +310 -310
  1247. package/src/browser/widget-open-handler.ts +165 -165
  1248. package/src/browser/widgets/alert-message.tsx +56 -56
  1249. package/src/browser/widgets/enhanced-preview-widget.ts +27 -27
  1250. package/src/browser/widgets/extractable-widget.ts +33 -33
  1251. package/src/browser/widgets/index.ts +20 -20
  1252. package/src/browser/widgets/previewable-widget.ts +31 -31
  1253. package/src/browser/widgets/react-renderer.tsx +50 -50
  1254. package/src/browser/widgets/react-widget.tsx +51 -51
  1255. package/src/browser/widgets/select-component.tsx +367 -367
  1256. package/src/browser/widgets/widget.ts +406 -406
  1257. package/src/browser/window/browser-window-module.ts +32 -32
  1258. package/src/browser/window/default-secondary-window-service.ts +185 -185
  1259. package/src/browser/window/default-window-service.spec.ts +78 -78
  1260. package/src/browser/window/default-window-service.ts +171 -171
  1261. package/src/browser/window/secondary-window-service.ts +39 -39
  1262. package/src/browser/window/test/mock-window-service.ts +29 -29
  1263. package/src/browser/window/window-service.ts +78 -78
  1264. package/src/browser/window/window-title-service.ts +107 -107
  1265. package/src/browser/window/window-title-updater.ts +95 -95
  1266. package/src/browser/window-contribution.ts +64 -64
  1267. package/src/browser-only/frontend-only-application-module.ts +115 -115
  1268. package/src/browser-only/i18n/i18n-frontend-only-module.ts +37 -37
  1269. package/src/browser-only/logger-frontend-only-module.ts +63 -63
  1270. package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +39 -39
  1271. package/src/browser-only/messaging/messaging-frontend-only-module.ts +42 -42
  1272. package/src/browser-only/preload/frontend-only-preload-module.ts +49 -49
  1273. package/src/common/accessibility.ts +33 -33
  1274. package/src/common/application-error.spec.ts +27 -27
  1275. package/src/common/application-error.ts +76 -76
  1276. package/src/common/application-protocol.ts +41 -41
  1277. package/src/common/array-utils.ts +129 -129
  1278. package/src/common/buffer.ts +228 -228
  1279. package/src/common/cancellation.ts +163 -163
  1280. package/src/common/char-code.ts +438 -438
  1281. package/src/common/collections.ts +125 -125
  1282. package/src/common/color.ts +103 -103
  1283. package/src/common/command.spec.ts +208 -208
  1284. package/src/common/command.ts +485 -485
  1285. package/src/common/contribution-filter/contribution-filter-registry.ts +79 -79
  1286. package/src/common/contribution-filter/contribution-filter.ts +64 -64
  1287. package/src/common/contribution-filter/filter.ts +23 -23
  1288. package/src/common/contribution-filter/index.ts +19 -19
  1289. package/src/common/contribution-provider.ts +96 -96
  1290. package/src/common/disposable.spec.ts +94 -94
  1291. package/src/common/disposable.ts +188 -188
  1292. package/src/common/encoding-service.ts +380 -380
  1293. package/src/common/encodings.ts +24 -24
  1294. package/src/common/env-variables/env-variables-protocol.ts +38 -38
  1295. package/src/common/env-variables/index.ts +17 -17
  1296. package/src/common/event.spec.ts +32 -32
  1297. package/src/common/event.ts +469 -469
  1298. package/src/common/file-uri.ts +61 -61
  1299. package/src/common/frontend-application-state.ts +38 -38
  1300. package/src/common/glob.ts +741 -741
  1301. package/src/common/hash.ts +85 -85
  1302. package/src/common/i18n/localization-server.ts +25 -25
  1303. package/src/common/i18n/localization.ts +80 -80
  1304. package/src/common/i18n/nls.metadata.json +31314 -31314
  1305. package/src/common/index.ts +51 -51
  1306. package/src/common/json-schema.ts +106 -106
  1307. package/src/common/key-store.ts +26 -26
  1308. package/src/common/keybinding.ts +152 -152
  1309. package/src/common/keyboard/keyboard-layout-provider.ts +51 -51
  1310. package/src/common/keys.ts +694 -694
  1311. package/src/common/label-protocol.ts +35 -35
  1312. package/src/common/logger-protocol.ts +119 -119
  1313. package/src/common/logger-watcher.ts +48 -48
  1314. package/src/common/logger.spec.ts +46 -46
  1315. package/src/common/logger.ts +389 -389
  1316. package/src/common/lsp-types.ts +34 -34
  1317. package/src/common/markdown-rendering/icon-utilities.ts +30 -30
  1318. package/src/common/markdown-rendering/index.ts +18 -18
  1319. package/src/common/markdown-rendering/markdown-string.ts +152 -152
  1320. package/src/common/menu/action-menu-node.ts +65 -65
  1321. package/src/common/menu/composite-menu-node.spec.ts +67 -67
  1322. package/src/common/menu/composite-menu-node.ts +114 -114
  1323. package/src/common/menu/index.ts +21 -21
  1324. package/src/common/menu/menu-adapter.ts +103 -103
  1325. package/src/common/menu/menu-model-registry.ts +343 -343
  1326. package/src/common/menu/menu-types.ts +219 -219
  1327. package/src/common/menu/menu.spec.ts +101 -101
  1328. package/src/common/message-rpc/channel.spec.ts +88 -88
  1329. package/src/common/message-rpc/channel.ts +300 -300
  1330. package/src/common/message-rpc/index.ts +22 -22
  1331. package/src/common/message-rpc/message-buffer.ts +105 -105
  1332. package/src/common/message-rpc/msg-pack-extension-manager.ts +70 -70
  1333. package/src/common/message-rpc/rpc-message-encoder.spec.ts +65 -65
  1334. package/src/common/message-rpc/rpc-message-encoder.ts +190 -190
  1335. package/src/common/message-rpc/rpc-protocol.ts +255 -255
  1336. package/src/common/message-rpc/uint8-array-message-buffer.spec.ts +41 -41
  1337. package/src/common/message-rpc/uint8-array-message-buffer.ts +213 -213
  1338. package/src/common/message-service-protocol.ts +148 -148
  1339. package/src/common/message-service.ts +226 -226
  1340. package/src/common/messaging/connection-error-handler.ts +73 -73
  1341. package/src/common/messaging/connection-management.ts +43 -43
  1342. package/src/common/messaging/handler.ts +26 -26
  1343. package/src/common/messaging/index.ts +19 -19
  1344. package/src/common/messaging/proxy-factory.spec.ts +108 -108
  1345. package/src/common/messaging/proxy-factory.ts +336 -336
  1346. package/src/common/messaging/socket-write-buffer.ts +52 -52
  1347. package/src/common/messaging/web-socket-channel.ts +76 -76
  1348. package/src/common/nls.ts +151 -151
  1349. package/src/common/numbers.ts +21 -21
  1350. package/src/common/objects.spec.ts +112 -112
  1351. package/src/common/objects.ts +123 -123
  1352. package/src/common/os.ts +82 -82
  1353. package/src/common/path.spec.ts +415 -415
  1354. package/src/common/path.ts +334 -334
  1355. package/src/common/paths.ts +250 -250
  1356. package/src/common/performance/index.ts +19 -19
  1357. package/src/common/performance/measurement-protocol.ts +104 -104
  1358. package/src/common/performance/measurement.ts +130 -130
  1359. package/src/common/performance/stopwatch.ts +183 -183
  1360. package/src/common/preferences/preference-schema.ts +95 -95
  1361. package/src/common/preferences/preference-scope.spec.ts +48 -48
  1362. package/src/common/preferences/preference-scope.ts +68 -68
  1363. package/src/common/prioritizeable.ts +58 -58
  1364. package/src/common/progress-service-protocol.ts +35 -35
  1365. package/src/common/progress-service.ts +82 -82
  1366. package/src/common/promise-util.spec.ts +102 -102
  1367. package/src/common/promise-util.ts +143 -143
  1368. package/src/common/quick-pick-service.ts +356 -356
  1369. package/src/common/reference.spec.ts +145 -145
  1370. package/src/common/reference.ts +230 -230
  1371. package/src/common/resource.ts +430 -430
  1372. package/src/common/selection-command-handler.ts +101 -101
  1373. package/src/common/selection-service.spec.ts +43 -43
  1374. package/src/common/selection-service.ts +49 -49
  1375. package/src/common/selection.ts +50 -50
  1376. package/src/common/severity.ts +111 -111
  1377. package/src/common/stream.ts +718 -718
  1378. package/src/common/strings.ts +231 -231
  1379. package/src/common/telemetry.ts +45 -45
  1380. package/src/common/ternary-search-tree.ts +417 -417
  1381. package/src/common/test/expect.ts +34 -34
  1382. package/src/common/test/mock-logger.ts +118 -118
  1383. package/src/common/test/mock-menu.ts +35 -35
  1384. package/src/common/test/mock-resource-provider.ts +33 -33
  1385. package/src/common/theme.ts +68 -68
  1386. package/src/common/types.spec.ts +86 -86
  1387. package/src/common/types.ts +140 -140
  1388. package/src/common/uri-command-handler.spec.ts +90 -90
  1389. package/src/common/uri-command-handler.ts +148 -148
  1390. package/src/common/uri.spec.ts +278 -278
  1391. package/src/common/uri.ts +279 -279
  1392. package/src/common/uuid.ts +45 -45
  1393. package/src/common/version.ts +17 -17
  1394. package/src/common/view-column.ts +33 -33
  1395. package/src/common/window.ts +34 -34
  1396. package/src/electron-browser/electron-clipboard-service.ts +32 -32
  1397. package/src/electron-browser/keyboard/electron-keyboard-layout-change-notifier.ts +39 -39
  1398. package/src/electron-browser/keyboard/electron-keyboard-module.ts +28 -28
  1399. package/src/electron-browser/menu/electron-context-menu-renderer.ts +122 -122
  1400. package/src/electron-browser/menu/electron-main-menu-factory.ts +335 -335
  1401. package/src/electron-browser/menu/electron-menu-contribution.ts +506 -506
  1402. package/src/electron-browser/menu/electron-menu-module.ts +40 -40
  1403. package/src/electron-browser/menu/electron-menu-style.css +110 -110
  1404. package/src/electron-browser/messaging/electron-frontend-id-provider.ts +25 -25
  1405. package/src/electron-browser/messaging/electron-ipc-connection-source.ts +65 -65
  1406. package/src/electron-browser/messaging/electron-local-ws-connection-source.ts +45 -45
  1407. package/src/electron-browser/messaging/electron-messaging-frontend-module.ts +78 -78
  1408. package/src/electron-browser/messaging/electron-ws-connection-source.ts +38 -38
  1409. package/src/electron-browser/preload.ts +246 -246
  1410. package/src/electron-browser/request/electron-browser-request-module.ts +26 -26
  1411. package/src/electron-browser/token/electron-token-frontend-module.ts +22 -22
  1412. package/src/electron-browser/window/electron-frontend-application-state.ts +26 -26
  1413. package/src/electron-browser/window/electron-secondary-window-service.ts +35 -35
  1414. package/src/electron-browser/window/electron-window-module.ts +41 -41
  1415. package/src/electron-browser/window/electron-window-preferences.ts +76 -76
  1416. package/src/electron-browser/window/electron-window-service.ts +109 -109
  1417. package/src/electron-common/electron-api.ts +148 -148
  1418. package/src/electron-common/electron-main-window-service.ts +24 -24
  1419. package/src/electron-common/electron-token.ts +27 -27
  1420. package/src/electron-main/electron-api-main.ts +342 -340
  1421. package/src/electron-main/electron-main-application-module.ts +65 -65
  1422. package/src/electron-main/electron-main-application.ts +685 -685
  1423. package/src/electron-main/electron-main-constants.ts +22 -22
  1424. package/src/electron-main/electron-main-window-service-impl.ts +44 -44
  1425. package/src/electron-main/electron-security-token-service.ts +36 -36
  1426. package/src/electron-main/event-utils.ts +36 -36
  1427. package/src/electron-main/messaging/electron-connection-handler.ts +21 -21
  1428. package/src/electron-main/messaging/electron-messaging-contribution.ts +143 -143
  1429. package/src/electron-main/messaging/electron-messaging-service.ts +35 -35
  1430. package/src/electron-main/theia-electron-window.ts +202 -202
  1431. package/src/electron-node/hosting/electron-backend-hosting-module.ts +24 -24
  1432. package/src/electron-node/hosting/electron-ws-origin-validator.ts +37 -37
  1433. package/src/electron-node/keyboard/electron-backend-keyboard-module.ts +30 -30
  1434. package/src/electron-node/keyboard/electron-keyboard-layout-provider.ts +35 -35
  1435. package/src/electron-node/request/electron-backend-request-module.ts +23 -23
  1436. package/src/electron-node/request/electron-backend-request-service.ts +78 -78
  1437. package/src/electron-node/token/electron-token-backend-contribution.ts +48 -48
  1438. package/src/electron-node/token/electron-token-backend-module.ts +28 -28
  1439. package/src/electron-node/token/electron-token-validator.ts +93 -93
  1440. package/src/node/application-server.ts +55 -55
  1441. package/src/node/backend-application-config-provider.spec.ts +29 -29
  1442. package/src/node/backend-application-config-provider.ts +48 -48
  1443. package/src/node/backend-application-module.ts +140 -140
  1444. package/src/node/backend-application.ts +382 -382
  1445. package/src/node/backend-remote-service.ts +25 -25
  1446. package/src/node/cli.spec.ts +94 -94
  1447. package/src/node/cli.ts +63 -63
  1448. package/src/node/console-logger-server.spec.ts +59 -59
  1449. package/src/node/console-logger-server.ts +76 -76
  1450. package/src/node/debug.ts +30 -30
  1451. package/src/node/dynamic-require.ts +56 -56
  1452. package/src/node/env-variables/env-variables-server.ts +120 -120
  1453. package/src/node/env-variables/index.ts +17 -17
  1454. package/src/node/environment-utils.spec.ts +92 -92
  1455. package/src/node/environment-utils.ts +66 -66
  1456. package/src/node/file-uri.spec.ts +76 -76
  1457. package/src/node/filesystem-locking.ts +77 -77
  1458. package/src/node/hosting/backend-application-hosts.ts +60 -60
  1459. package/src/node/hosting/backend-hosting-module.ts +26 -26
  1460. package/src/node/hosting/ws-origin-validator.ts +36 -36
  1461. package/src/node/i18n/i18n-backend-module.ts +42 -42
  1462. package/src/node/i18n/localization-contribution.ts +112 -112
  1463. package/src/node/i18n/localization-provider.ts +125 -125
  1464. package/src/node/i18n/localization-server.ts +52 -52
  1465. package/src/node/i18n/theia-localization-contribution.ts +36 -36
  1466. package/src/node/index.ts +22 -22
  1467. package/src/node/key-store-server.ts +162 -162
  1468. package/src/node/logger-backend-module.ts +88 -88
  1469. package/src/node/logger-cli-contribution.spec.ts +245 -245
  1470. package/src/node/logger-cli-contribution.ts +168 -168
  1471. package/src/node/main.ts +33 -33
  1472. package/src/node/messaging/binary-message-pipe.ts +168 -168
  1473. package/src/node/messaging/connection-container-module.ts +96 -96
  1474. package/src/node/messaging/default-messaging-service.ts +129 -129
  1475. package/src/node/messaging/frontend-connection-service.ts +24 -24
  1476. package/src/node/messaging/index.ts +19 -19
  1477. package/src/node/messaging/ipc-bootstrap.ts +27 -27
  1478. package/src/node/messaging/ipc-channel.ts +77 -77
  1479. package/src/node/messaging/ipc-connection-provider.ts +107 -107
  1480. package/src/node/messaging/ipc-protocol.ts +76 -76
  1481. package/src/node/messaging/messaging-backend-module.ts +52 -52
  1482. package/src/node/messaging/messaging-listeners.ts +52 -52
  1483. package/src/node/messaging/messaging-service.ts +46 -46
  1484. package/src/node/messaging/test/test-web-socket-channel.ts +61 -61
  1485. package/src/node/messaging/websocket-endpoint.ts +79 -79
  1486. package/src/node/messaging/websocket-frontend-connection-service.ts +176 -176
  1487. package/src/node/os-backend-provider.ts +25 -25
  1488. package/src/node/performance/index.ts +18 -18
  1489. package/src/node/performance/measurement-backend-bindings.ts +35 -35
  1490. package/src/node/performance/node-stopwatch.ts +40 -40
  1491. package/src/node/process-utils.spec.ts +48 -48
  1492. package/src/node/process-utils.ts +102 -102
  1493. package/src/node/request/backend-request-facade.ts +39 -39
  1494. package/src/node/request/backend-request-module.ts +25 -25
  1495. package/src/node/request/proxy-cli-contribution.ts +65 -65
  1496. package/src/node/ws-request-validators.ts +56 -56
  1497. package/src/typings/native-keymap.d.ts +108 -108
@@ -1,367 +1,367 @@
1
- // *****************************************************************************
2
- // Copyright (C) 2022 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 * as React from 'react';
18
- import * as ReactDOM from 'react-dom';
19
- import * as DOMPurify from 'dompurify';
20
- import { codicon } from './widget';
21
- import { measureTextHeight, measureTextWidth } from '../browser';
22
-
23
- import '../../../src/browser/style/select-component.css';
24
-
25
- export interface SelectOption {
26
- value?: string
27
- label?: string
28
- separator?: boolean
29
- disabled?: boolean
30
- detail?: string
31
- description?: string
32
- markdown?: boolean
33
- userData?: string
34
- }
35
-
36
- export interface SelectComponentProps {
37
- options: readonly SelectOption[]
38
- defaultValue?: string | number
39
- onChange?: (option: SelectOption, index: number) => void,
40
- onBlur?: () => void,
41
- onFocus?: () => void,
42
- alignment?: 'left' | 'right';
43
- }
44
-
45
- export interface SelectComponentState {
46
- dimensions?: DOMRect
47
- selected: number
48
- original: number
49
- hover: number
50
- }
51
-
52
- export const SELECT_COMPONENT_CONTAINER = 'select-component-container';
53
-
54
- export class SelectComponent extends React.Component<SelectComponentProps, SelectComponentState> {
55
- protected dropdownElement: HTMLElement;
56
- protected fieldRef = React.createRef<HTMLDivElement>();
57
- protected dropdownRef = React.createRef<HTMLDivElement>();
58
- protected mountedListeners: Map<string, EventListenerOrEventListenerObject> = new Map();
59
- protected optimalWidth = 0;
60
- protected optimalHeight = 0;
61
-
62
- constructor(props: SelectComponentProps) {
63
- super(props);
64
- let selected = 0;
65
- if (typeof props.defaultValue === 'number') {
66
- selected = props.defaultValue;
67
- } else if (typeof props.defaultValue === 'string') {
68
- selected = Math.max(props.options.findIndex(e => e.value === props.defaultValue), 0);
69
- }
70
- this.state = {
71
- selected,
72
- original: selected,
73
- hover: selected
74
- };
75
-
76
- let list = document.getElementById(SELECT_COMPONENT_CONTAINER);
77
- if (!list) {
78
- list = document.createElement('div');
79
- list.id = SELECT_COMPONENT_CONTAINER;
80
- list.className = 'theia-select-component-container';
81
- document.body.appendChild(list);
82
- }
83
- this.dropdownElement = list;
84
- }
85
-
86
- get options(): readonly SelectOption[] {
87
- return this.props.options;
88
- }
89
-
90
- get value(): string | number | undefined {
91
- return this.props.options[this.state.selected].value ?? this.state.selected;
92
- }
93
-
94
- set value(value: string | number | undefined) {
95
- let index = -1;
96
- if (typeof value === 'number') {
97
- index = value;
98
- } else if (typeof value === 'string') {
99
- index = this.props.options.findIndex(e => e.value === value);
100
- }
101
- if (index >= 0) {
102
- this.setState({
103
- selected: index,
104
- original: index,
105
- hover: index
106
- });
107
- }
108
- }
109
-
110
- protected get alignLeft(): boolean {
111
- return this.props.alignment !== 'right';
112
- }
113
-
114
- protected getOptimalWidth(): number {
115
- const textWidth = measureTextWidth(this.props.options.map(e => e.label || e.value || '' + (e.detail || '')));
116
- return Math.ceil(textWidth + 16);
117
- }
118
-
119
- protected getOptimalHeight(maxWidth?: number): number {
120
- const firstLine = this.props.options.find(e => e.label || e.value || e.detail);
121
- if (!firstLine) {
122
- return 0;
123
- }
124
- if (maxWidth) {
125
- maxWidth = Math.ceil(maxWidth) + 10; // Increase width by 10 due to side padding
126
- }
127
- const descriptionHeight = measureTextHeight(this.props.options.map(e => e.description || ''), { maxWidth: `${maxWidth}px` }) + 18;
128
- const singleLineHeight = measureTextHeight(firstLine.label || firstLine.value || firstLine.detail || '') + 6;
129
- const optimal = descriptionHeight + singleLineHeight * this.props.options.length;
130
- return optimal + 20; // Just to be safe, add another 20 pixels here
131
- }
132
-
133
- protected attachListeners(): void {
134
- const hide = (event: MouseEvent) => {
135
- if (!this.dropdownRef.current?.contains(event.target as Node)) {
136
- this.hide();
137
- }
138
- };
139
- this.mountedListeners.set('scroll', hide);
140
- this.mountedListeners.set('wheel', hide);
141
-
142
- let parent = this.fieldRef.current?.parentElement;
143
- while (parent) {
144
- // Workaround for perfect scrollbar, since using `overflow: hidden`
145
- // neither triggers the `scroll`, `wheel` nor `blur` event
146
- if (parent.classList.contains('ps')) {
147
- parent.addEventListener('ps-scroll-y', hide);
148
- }
149
- parent = parent.parentElement;
150
- }
151
-
152
- for (const [key, listener] of this.mountedListeners.entries()) {
153
- window.addEventListener(key, listener);
154
- }
155
- }
156
-
157
- override componentWillUnmount(): void {
158
- if (this.mountedListeners.size > 0) {
159
- const eventListener = this.mountedListeners.get('scroll')!;
160
- let parent = this.fieldRef.current?.parentElement;
161
- while (parent) {
162
- parent.removeEventListener('ps-scroll-y', eventListener);
163
- parent = parent.parentElement;
164
- }
165
- for (const [key, listener] of this.mountedListeners.entries()) {
166
- window.removeEventListener(key, listener);
167
- }
168
- }
169
- }
170
-
171
- override render(): React.ReactNode {
172
- const { options } = this.props;
173
- let { selected } = this.state;
174
- if (options[selected]?.separator) {
175
- selected = this.nextNotSeparator('forwards');
176
- }
177
- const selectedItemLabel = options[selected]?.label ?? options[selected]?.value;
178
- return <>
179
- <div
180
- key="select-component"
181
- ref={this.fieldRef}
182
- tabIndex={0}
183
- className="theia-select-component"
184
- onClick={e => this.handleClickEvent(e)}
185
- onBlur={
186
- () => {
187
- this.hide();
188
- this.props.onBlur?.();
189
- }
190
- }
191
- onFocus={() => this.props.onFocus?.()}
192
- onKeyDown={e => this.handleKeypress(e)}
193
- >
194
- <div key="label" className="theia-select-component-label">{selectedItemLabel}</div>
195
- <div key="icon" className={`theia-select-component-chevron ${codicon('chevron-down')}`} />
196
- </div>
197
- {ReactDOM.createPortal(this.renderDropdown(), this.dropdownElement)}
198
- </>;
199
- }
200
-
201
- protected nextNotSeparator(direction: 'forwards' | 'backwards'): number {
202
- const { options } = this.props;
203
- const step = direction === 'forwards' ? 1 : -1;
204
- const length = this.props.options.length;
205
- let selected = this.state.selected;
206
- let count = 0;
207
- do {
208
- selected = (selected + step) % length;
209
- if (selected < 0) {
210
- selected = length - 1;
211
- }
212
- count++;
213
- }
214
- while (options[selected]?.separator && count < length);
215
- return selected;
216
- }
217
-
218
- protected handleKeypress(ev: React.KeyboardEvent<HTMLDivElement>): void {
219
- if (!this.fieldRef.current) {
220
- return;
221
- }
222
- if (ev.key === 'ArrowUp') {
223
- const selected = this.nextNotSeparator('backwards');
224
- this.setState({
225
- selected,
226
- hover: selected
227
- });
228
- } else if (ev.key === 'ArrowDown') {
229
- if (this.state.dimensions) {
230
- const selected = this.nextNotSeparator('forwards');
231
- this.setState({
232
- selected,
233
- hover: selected
234
- });
235
- } else {
236
- this.toggleVisibility();
237
- this.setState({
238
- selected: 0,
239
- hover: 0,
240
- });
241
- }
242
- } else if (ev.key === 'Enter') {
243
- if (!this.state.dimensions) {
244
- this.toggleVisibility();
245
- } else {
246
- const selected = this.state.selected;
247
- this.selectOption(selected, this.props.options[selected]);
248
- }
249
- } else if (ev.key === 'Escape' || ev.key === 'Tab') {
250
- this.hide();
251
- }
252
- ev.stopPropagation();
253
- ev.nativeEvent.stopImmediatePropagation();
254
- }
255
-
256
- protected handleClickEvent(event: React.MouseEvent<HTMLElement>): void {
257
- this.toggleVisibility();
258
- event.stopPropagation();
259
- event.nativeEvent.stopImmediatePropagation();
260
- }
261
-
262
- protected toggleVisibility(): void {
263
- if (!this.fieldRef.current) {
264
- return;
265
- }
266
- if (!this.state.dimensions) {
267
- const rect = this.fieldRef.current.getBoundingClientRect();
268
- this.setState({ dimensions: rect });
269
- } else {
270
- this.hide();
271
- }
272
- }
273
-
274
- protected hide(index?: number): void {
275
- const selectedIndex = index === undefined ? this.state.original : index;
276
- this.setState({
277
- dimensions: undefined,
278
- selected: selectedIndex,
279
- original: selectedIndex,
280
- hover: selectedIndex
281
- });
282
- }
283
-
284
- protected renderDropdown(): React.ReactNode {
285
- if (!this.state.dimensions) {
286
- return;
287
- }
288
-
289
- const shellArea = document.getElementById('theia-app-shell')!.getBoundingClientRect();
290
- const maxWidth = this.alignLeft ? shellArea.width - this.state.dimensions.left : this.state.dimensions.right;
291
- if (this.mountedListeners.size === 0) {
292
- // Only attach our listeners once we render our dropdown menu
293
- this.attachListeners();
294
- // We can now also calculate the optimal width
295
- this.optimalWidth = this.getOptimalWidth();
296
- this.optimalHeight = this.getOptimalHeight(Math.max(this.state.dimensions.width, this.optimalWidth));
297
- }
298
- const availableTop = this.state.dimensions.top - shellArea.top;
299
- const availableBottom = shellArea.top + shellArea.height - this.state.dimensions.bottom;
300
- // prefer rendering to the bottom unless there is not enough space and more content can be shown to the top
301
- const invert = availableBottom < this.optimalHeight && (availableBottom - this.optimalHeight) < (availableTop - this.optimalHeight);
302
-
303
- const { options } = this.props;
304
- const { hover } = this.state;
305
- const description = options[hover].description;
306
- const markdown = options[hover].markdown;
307
- const items = options.map((item, i) => this.renderOption(i, item));
308
- if (description) {
309
- let descriptionNode: React.ReactNode | undefined;
310
- const className = 'theia-select-component-description';
311
- if (markdown) {
312
- descriptionNode = <div key="description" className={className}
313
- dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(description) }} />; // eslint-disable-line react/no-danger
314
- } else {
315
- descriptionNode = <div key="description" className={className}>
316
- {description}
317
- </div>;
318
- }
319
- if (invert) {
320
- items.unshift(descriptionNode);
321
- } else {
322
- items.push(descriptionNode);
323
- }
324
- }
325
-
326
- return <div key="dropdown" className="theia-select-component-dropdown" style={{
327
- top: invert ? 'none' : this.state.dimensions.bottom,
328
- bottom: invert ? shellArea.top + shellArea.height - this.state.dimensions.top : 'none',
329
- left: this.alignLeft ? this.state.dimensions.left : 'none',
330
- right: this.alignLeft ? 'none' : shellArea.width - this.state.dimensions.right,
331
- width: Math.min(Math.max(this.state.dimensions.width, this.optimalWidth), maxWidth),
332
- maxHeight: shellArea.height - (invert ? shellArea.height - this.state.dimensions.bottom : this.state.dimensions.top) - this.state.dimensions.height,
333
- position: 'absolute'
334
- }} ref={this.dropdownRef}>
335
- {items}
336
- </div>;
337
- }
338
-
339
- protected renderOption(index: number, option: SelectOption): React.ReactNode {
340
- if (option.separator) {
341
- return <div key={index} className="theia-select-component-separator" />;
342
- }
343
- const selected = this.state.hover;
344
- return (
345
- <div
346
- key={index}
347
- className={`theia-select-component-option${index === selected ? ' selected' : ''}`}
348
- onMouseOver={() => {
349
- this.setState({
350
- hover: index
351
- });
352
- }}
353
- onMouseDown={() => {
354
- this.selectOption(index, option);
355
- }}
356
- >
357
- <div key="value" className="theia-select-component-option-value">{option.label ?? option.value}</div>
358
- {option.detail && <div key="detail" className="theia-select-component-option-detail">{option.detail}</div>}
359
- </div>
360
- );
361
- }
362
-
363
- protected selectOption(index: number, option: SelectOption): void {
364
- this.props.onChange?.(option, index);
365
- this.hide(index);
366
- }
367
- }
1
+ // *****************************************************************************
2
+ // Copyright (C) 2022 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 * as React from 'react';
18
+ import * as ReactDOM from 'react-dom';
19
+ import * as DOMPurify from 'dompurify';
20
+ import { codicon } from './widget';
21
+ import { measureTextHeight, measureTextWidth } from '../browser';
22
+
23
+ import '../../../src/browser/style/select-component.css';
24
+
25
+ export interface SelectOption {
26
+ value?: string
27
+ label?: string
28
+ separator?: boolean
29
+ disabled?: boolean
30
+ detail?: string
31
+ description?: string
32
+ markdown?: boolean
33
+ userData?: string
34
+ }
35
+
36
+ export interface SelectComponentProps {
37
+ options: readonly SelectOption[]
38
+ defaultValue?: string | number
39
+ onChange?: (option: SelectOption, index: number) => void,
40
+ onBlur?: () => void,
41
+ onFocus?: () => void,
42
+ alignment?: 'left' | 'right';
43
+ }
44
+
45
+ export interface SelectComponentState {
46
+ dimensions?: DOMRect
47
+ selected: number
48
+ original: number
49
+ hover: number
50
+ }
51
+
52
+ export const SELECT_COMPONENT_CONTAINER = 'select-component-container';
53
+
54
+ export class SelectComponent extends React.Component<SelectComponentProps, SelectComponentState> {
55
+ protected dropdownElement: HTMLElement;
56
+ protected fieldRef = React.createRef<HTMLDivElement>();
57
+ protected dropdownRef = React.createRef<HTMLDivElement>();
58
+ protected mountedListeners: Map<string, EventListenerOrEventListenerObject> = new Map();
59
+ protected optimalWidth = 0;
60
+ protected optimalHeight = 0;
61
+
62
+ constructor(props: SelectComponentProps) {
63
+ super(props);
64
+ let selected = 0;
65
+ if (typeof props.defaultValue === 'number') {
66
+ selected = props.defaultValue;
67
+ } else if (typeof props.defaultValue === 'string') {
68
+ selected = Math.max(props.options.findIndex(e => e.value === props.defaultValue), 0);
69
+ }
70
+ this.state = {
71
+ selected,
72
+ original: selected,
73
+ hover: selected
74
+ };
75
+
76
+ let list = document.getElementById(SELECT_COMPONENT_CONTAINER);
77
+ if (!list) {
78
+ list = document.createElement('div');
79
+ list.id = SELECT_COMPONENT_CONTAINER;
80
+ list.className = 'theia-select-component-container';
81
+ document.body.appendChild(list);
82
+ }
83
+ this.dropdownElement = list;
84
+ }
85
+
86
+ get options(): readonly SelectOption[] {
87
+ return this.props.options;
88
+ }
89
+
90
+ get value(): string | number | undefined {
91
+ return this.props.options[this.state.selected].value ?? this.state.selected;
92
+ }
93
+
94
+ set value(value: string | number | undefined) {
95
+ let index = -1;
96
+ if (typeof value === 'number') {
97
+ index = value;
98
+ } else if (typeof value === 'string') {
99
+ index = this.props.options.findIndex(e => e.value === value);
100
+ }
101
+ if (index >= 0) {
102
+ this.setState({
103
+ selected: index,
104
+ original: index,
105
+ hover: index
106
+ });
107
+ }
108
+ }
109
+
110
+ protected get alignLeft(): boolean {
111
+ return this.props.alignment !== 'right';
112
+ }
113
+
114
+ protected getOptimalWidth(): number {
115
+ const textWidth = measureTextWidth(this.props.options.map(e => e.label || e.value || '' + (e.detail || '')));
116
+ return Math.ceil(textWidth + 16);
117
+ }
118
+
119
+ protected getOptimalHeight(maxWidth?: number): number {
120
+ const firstLine = this.props.options.find(e => e.label || e.value || e.detail);
121
+ if (!firstLine) {
122
+ return 0;
123
+ }
124
+ if (maxWidth) {
125
+ maxWidth = Math.ceil(maxWidth) + 10; // Increase width by 10 due to side padding
126
+ }
127
+ const descriptionHeight = measureTextHeight(this.props.options.map(e => e.description || ''), { maxWidth: `${maxWidth}px` }) + 18;
128
+ const singleLineHeight = measureTextHeight(firstLine.label || firstLine.value || firstLine.detail || '') + 6;
129
+ const optimal = descriptionHeight + singleLineHeight * this.props.options.length;
130
+ return optimal + 20; // Just to be safe, add another 20 pixels here
131
+ }
132
+
133
+ protected attachListeners(): void {
134
+ const hide = (event: MouseEvent) => {
135
+ if (!this.dropdownRef.current?.contains(event.target as Node)) {
136
+ this.hide();
137
+ }
138
+ };
139
+ this.mountedListeners.set('scroll', hide);
140
+ this.mountedListeners.set('wheel', hide);
141
+
142
+ let parent = this.fieldRef.current?.parentElement;
143
+ while (parent) {
144
+ // Workaround for perfect scrollbar, since using `overflow: hidden`
145
+ // neither triggers the `scroll`, `wheel` nor `blur` event
146
+ if (parent.classList.contains('ps')) {
147
+ parent.addEventListener('ps-scroll-y', hide);
148
+ }
149
+ parent = parent.parentElement;
150
+ }
151
+
152
+ for (const [key, listener] of this.mountedListeners.entries()) {
153
+ window.addEventListener(key, listener);
154
+ }
155
+ }
156
+
157
+ override componentWillUnmount(): void {
158
+ if (this.mountedListeners.size > 0) {
159
+ const eventListener = this.mountedListeners.get('scroll')!;
160
+ let parent = this.fieldRef.current?.parentElement;
161
+ while (parent) {
162
+ parent.removeEventListener('ps-scroll-y', eventListener);
163
+ parent = parent.parentElement;
164
+ }
165
+ for (const [key, listener] of this.mountedListeners.entries()) {
166
+ window.removeEventListener(key, listener);
167
+ }
168
+ }
169
+ }
170
+
171
+ override render(): React.ReactNode {
172
+ const { options } = this.props;
173
+ let { selected } = this.state;
174
+ if (options[selected]?.separator) {
175
+ selected = this.nextNotSeparator('forwards');
176
+ }
177
+ const selectedItemLabel = options[selected]?.label ?? options[selected]?.value;
178
+ return <>
179
+ <div
180
+ key="select-component"
181
+ ref={this.fieldRef}
182
+ tabIndex={0}
183
+ className="theia-select-component"
184
+ onClick={e => this.handleClickEvent(e)}
185
+ onBlur={
186
+ () => {
187
+ this.hide();
188
+ this.props.onBlur?.();
189
+ }
190
+ }
191
+ onFocus={() => this.props.onFocus?.()}
192
+ onKeyDown={e => this.handleKeypress(e)}
193
+ >
194
+ <div key="label" className="theia-select-component-label">{selectedItemLabel}</div>
195
+ <div key="icon" className={`theia-select-component-chevron ${codicon('chevron-down')}`} />
196
+ </div>
197
+ {ReactDOM.createPortal(this.renderDropdown(), this.dropdownElement)}
198
+ </>;
199
+ }
200
+
201
+ protected nextNotSeparator(direction: 'forwards' | 'backwards'): number {
202
+ const { options } = this.props;
203
+ const step = direction === 'forwards' ? 1 : -1;
204
+ const length = this.props.options.length;
205
+ let selected = this.state.selected;
206
+ let count = 0;
207
+ do {
208
+ selected = (selected + step) % length;
209
+ if (selected < 0) {
210
+ selected = length - 1;
211
+ }
212
+ count++;
213
+ }
214
+ while (options[selected]?.separator && count < length);
215
+ return selected;
216
+ }
217
+
218
+ protected handleKeypress(ev: React.KeyboardEvent<HTMLDivElement>): void {
219
+ if (!this.fieldRef.current) {
220
+ return;
221
+ }
222
+ if (ev.key === 'ArrowUp') {
223
+ const selected = this.nextNotSeparator('backwards');
224
+ this.setState({
225
+ selected,
226
+ hover: selected
227
+ });
228
+ } else if (ev.key === 'ArrowDown') {
229
+ if (this.state.dimensions) {
230
+ const selected = this.nextNotSeparator('forwards');
231
+ this.setState({
232
+ selected,
233
+ hover: selected
234
+ });
235
+ } else {
236
+ this.toggleVisibility();
237
+ this.setState({
238
+ selected: 0,
239
+ hover: 0,
240
+ });
241
+ }
242
+ } else if (ev.key === 'Enter') {
243
+ if (!this.state.dimensions) {
244
+ this.toggleVisibility();
245
+ } else {
246
+ const selected = this.state.selected;
247
+ this.selectOption(selected, this.props.options[selected]);
248
+ }
249
+ } else if (ev.key === 'Escape' || ev.key === 'Tab') {
250
+ this.hide();
251
+ }
252
+ ev.stopPropagation();
253
+ ev.nativeEvent.stopImmediatePropagation();
254
+ }
255
+
256
+ protected handleClickEvent(event: React.MouseEvent<HTMLElement>): void {
257
+ this.toggleVisibility();
258
+ event.stopPropagation();
259
+ event.nativeEvent.stopImmediatePropagation();
260
+ }
261
+
262
+ protected toggleVisibility(): void {
263
+ if (!this.fieldRef.current) {
264
+ return;
265
+ }
266
+ if (!this.state.dimensions) {
267
+ const rect = this.fieldRef.current.getBoundingClientRect();
268
+ this.setState({ dimensions: rect });
269
+ } else {
270
+ this.hide();
271
+ }
272
+ }
273
+
274
+ protected hide(index?: number): void {
275
+ const selectedIndex = index === undefined ? this.state.original : index;
276
+ this.setState({
277
+ dimensions: undefined,
278
+ selected: selectedIndex,
279
+ original: selectedIndex,
280
+ hover: selectedIndex
281
+ });
282
+ }
283
+
284
+ protected renderDropdown(): React.ReactNode {
285
+ if (!this.state.dimensions) {
286
+ return;
287
+ }
288
+
289
+ const shellArea = document.getElementById('theia-app-shell')!.getBoundingClientRect();
290
+ const maxWidth = this.alignLeft ? shellArea.width - this.state.dimensions.left : this.state.dimensions.right;
291
+ if (this.mountedListeners.size === 0) {
292
+ // Only attach our listeners once we render our dropdown menu
293
+ this.attachListeners();
294
+ // We can now also calculate the optimal width
295
+ this.optimalWidth = this.getOptimalWidth();
296
+ this.optimalHeight = this.getOptimalHeight(Math.max(this.state.dimensions.width, this.optimalWidth));
297
+ }
298
+ const availableTop = this.state.dimensions.top - shellArea.top;
299
+ const availableBottom = shellArea.top + shellArea.height - this.state.dimensions.bottom;
300
+ // prefer rendering to the bottom unless there is not enough space and more content can be shown to the top
301
+ const invert = availableBottom < this.optimalHeight && (availableBottom - this.optimalHeight) < (availableTop - this.optimalHeight);
302
+
303
+ const { options } = this.props;
304
+ const { hover } = this.state;
305
+ const description = options[hover].description;
306
+ const markdown = options[hover].markdown;
307
+ const items = options.map((item, i) => this.renderOption(i, item));
308
+ if (description) {
309
+ let descriptionNode: React.ReactNode | undefined;
310
+ const className = 'theia-select-component-description';
311
+ if (markdown) {
312
+ descriptionNode = <div key="description" className={className}
313
+ dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(description) }} />; // eslint-disable-line react/no-danger
314
+ } else {
315
+ descriptionNode = <div key="description" className={className}>
316
+ {description}
317
+ </div>;
318
+ }
319
+ if (invert) {
320
+ items.unshift(descriptionNode);
321
+ } else {
322
+ items.push(descriptionNode);
323
+ }
324
+ }
325
+
326
+ return <div key="dropdown" className="theia-select-component-dropdown" style={{
327
+ top: invert ? 'none' : this.state.dimensions.bottom,
328
+ bottom: invert ? shellArea.top + shellArea.height - this.state.dimensions.top : 'none',
329
+ left: this.alignLeft ? this.state.dimensions.left : 'none',
330
+ right: this.alignLeft ? 'none' : shellArea.width - this.state.dimensions.right,
331
+ width: Math.min(Math.max(this.state.dimensions.width, this.optimalWidth), maxWidth),
332
+ maxHeight: shellArea.height - (invert ? shellArea.height - this.state.dimensions.bottom : this.state.dimensions.top) - this.state.dimensions.height,
333
+ position: 'absolute'
334
+ }} ref={this.dropdownRef}>
335
+ {items}
336
+ </div>;
337
+ }
338
+
339
+ protected renderOption(index: number, option: SelectOption): React.ReactNode {
340
+ if (option.separator) {
341
+ return <div key={index} className="theia-select-component-separator" />;
342
+ }
343
+ const selected = this.state.hover;
344
+ return (
345
+ <div
346
+ key={index}
347
+ className={`theia-select-component-option${index === selected ? ' selected' : ''}`}
348
+ onMouseOver={() => {
349
+ this.setState({
350
+ hover: index
351
+ });
352
+ }}
353
+ onMouseDown={() => {
354
+ this.selectOption(index, option);
355
+ }}
356
+ >
357
+ <div key="value" className="theia-select-component-option-value">{option.label ?? option.value}</div>
358
+ {option.detail && <div key="detail" className="theia-select-component-option-detail">{option.detail}</div>}
359
+ </div>
360
+ );
361
+ }
362
+
363
+ protected selectOption(index: number, option: SelectOption): void {
364
+ this.props.onChange?.(option, index);
365
+ this.hide(index);
366
+ }
367
+ }