@theia/core 1.48.1 → 1.48.2

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 (1491) 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.spec.d.ts +1 -1
  112. package/lib/browser/keybinding.spec.js +451 -451
  113. package/lib/browser/keyboard/browser-keyboard-frontend-contribution.d.ts +13 -13
  114. package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js +110 -110
  115. package/lib/browser/keyboard/browser-keyboard-layout-provider.d.ts +91 -91
  116. package/lib/browser/keyboard/browser-keyboard-layout-provider.js +418 -418
  117. package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.d.ts +1 -1
  118. package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js +152 -152
  119. package/lib/browser/keyboard/browser-keyboard-module.d.ts +3 -3
  120. package/lib/browser/keyboard/browser-keyboard-module.js +30 -30
  121. package/lib/browser/keyboard/index.d.ts +4 -4
  122. package/lib/browser/keyboard/index.js +22 -22
  123. package/lib/browser/keyboard/keyboard-layout-service.d.ts +49 -49
  124. package/lib/browser/keyboard/keyboard-layout-service.js +427 -427
  125. package/lib/browser/keyboard/keyboard-layout-service.spec.d.ts +1 -1
  126. package/lib/browser/keyboard/keyboard-layout-service.spec.js +110 -110
  127. package/lib/browser/keyboard/keys.d.ts +4 -4
  128. package/lib/browser/keyboard/keys.js +22 -22
  129. package/lib/browser/keyboard/keys.spec.d.ts +1 -1
  130. package/lib/browser/keyboard/keys.spec.js +205 -205
  131. package/lib/browser/keys.d.ts +2 -2
  132. package/lib/browser/keys.js +28 -28
  133. package/lib/browser/label-parser.d.ts +34 -34
  134. package/lib/browser/label-parser.js +107 -107
  135. package/lib/browser/label-parser.spec.d.ts +1 -1
  136. package/lib/browser/label-parser.spec.js +146 -146
  137. package/lib/browser/label-provider.d.ts +140 -140
  138. package/lib/browser/label-provider.js +310 -310
  139. package/lib/browser/label-provider.spec.d.ts +1 -1
  140. package/lib/browser/label-provider.spec.js +53 -53
  141. package/lib/browser/language-icon-provider.d.ts +14 -14
  142. package/lib/browser/language-icon-provider.js +65 -65
  143. package/lib/browser/language-service.d.ts +38 -38
  144. package/lib/browser/language-service.js +66 -66
  145. package/lib/browser/logger-frontend-module.d.ts +2 -2
  146. package/lib/browser/logger-frontend-module.js +63 -63
  147. package/lib/browser/markdown-rendering/markdown-renderer.d.ts +39 -39
  148. package/lib/browser/markdown-rendering/markdown-renderer.js +72 -72
  149. package/lib/browser/menu/browser-context-menu-renderer.d.ts +12 -12
  150. package/lib/browser/menu/browser-context-menu-renderer.js +51 -51
  151. package/lib/browser/menu/browser-menu-module.d.ts +3 -3
  152. package/lib/browser/menu/browser-menu-module.js +28 -28
  153. package/lib/browser/menu/browser-menu-plugin.d.ts +103 -103
  154. package/lib/browser/menu/browser-menu-plugin.js +439 -439
  155. package/lib/browser/menu/context-menu-context.d.ts +7 -7
  156. package/lib/browser/menu/context-menu-context.js +42 -42
  157. package/lib/browser/messaging/connection-source.d.ts +8 -8
  158. package/lib/browser/messaging/connection-source.js +19 -19
  159. package/lib/browser/messaging/frontend-id-provider.d.ts +12 -12
  160. package/lib/browser/messaging/frontend-id-provider.js +34 -34
  161. package/lib/browser/messaging/index.d.ts +1 -1
  162. package/lib/browser/messaging/index.js +19 -19
  163. package/lib/browser/messaging/messaging-frontend-module.d.ts +2 -2
  164. package/lib/browser/messaging/messaging-frontend-module.js +41 -41
  165. package/lib/browser/messaging/service-connection-provider.d.ts +47 -47
  166. package/lib/browser/messaging/service-connection-provider.js +106 -106
  167. package/lib/browser/messaging/ws-connection-provider.d.ts +12 -12
  168. package/lib/browser/messaging/ws-connection-provider.js +49 -49
  169. package/lib/browser/messaging/ws-connection-source.d.ts +42 -42
  170. package/lib/browser/messaging/ws-connection-source.js +217 -217
  171. package/lib/browser/mime-service.d.ts +7 -7
  172. package/lib/browser/mime-service.js +30 -30
  173. package/lib/browser/navigatable-types.d.ts +33 -33
  174. package/lib/browser/navigatable-types.js +63 -63
  175. package/lib/browser/navigatable.d.ts +8 -8
  176. package/lib/browser/navigatable.js +38 -38
  177. package/lib/browser/opener-service.d.ts +79 -79
  178. package/lib/browser/opener-service.js +79 -79
  179. package/lib/browser/opener-service.spec.d.ts +1 -1
  180. package/lib/browser/opener-service.spec.js +46 -46
  181. package/lib/browser/performance/frontend-stopwatch.d.ts +20 -20
  182. package/lib/browser/performance/frontend-stopwatch.js +66 -66
  183. package/lib/browser/performance/index.d.ts +2 -2
  184. package/lib/browser/performance/index.js +20 -20
  185. package/lib/browser/performance/measurement-frontend-bindings.d.ts +19 -19
  186. package/lib/browser/performance/measurement-frontend-bindings.js +32 -32
  187. package/lib/browser/preferences/index.d.ts +7 -7
  188. package/lib/browser/preferences/index.js +25 -25
  189. package/lib/browser/preferences/injectable-preference-proxy.d.ts +51 -51
  190. package/lib/browser/preferences/injectable-preference-proxy.js +276 -276
  191. package/lib/browser/preferences/preference-configurations.d.ts +22 -22
  192. package/lib/browser/preferences/preference-configurations.js +72 -72
  193. package/lib/browser/preferences/preference-contribution.d.ts +111 -111
  194. package/lib/browser/preferences/preference-contribution.js +386 -386
  195. package/lib/browser/preferences/preference-language-override-service.d.ts +39 -39
  196. package/lib/browser/preferences/preference-language-override-service.js +107 -107
  197. package/lib/browser/preferences/preference-provider.d.ts +132 -132
  198. package/lib/browser/preferences/preference-provider.js +219 -219
  199. package/lib/browser/preferences/preference-provider.spec.d.ts +1 -1
  200. package/lib/browser/preferences/preference-provider.spec.js +33 -33
  201. package/lib/browser/preferences/preference-proxy.d.ts +150 -150
  202. package/lib/browser/preferences/preference-proxy.js +229 -229
  203. package/lib/browser/preferences/preference-proxy.spec.d.ts +1 -1
  204. package/lib/browser/preferences/preference-proxy.spec.js +337 -337
  205. package/lib/browser/preferences/preference-schema-provider.spec.d.ts +1 -1
  206. package/lib/browser/preferences/preference-schema-provider.spec.js +115 -115
  207. package/lib/browser/preferences/preference-scope.d.ts +2 -2
  208. package/lib/browser/preferences/preference-scope.js +20 -20
  209. package/lib/browser/preferences/preference-service.d.ts +278 -278
  210. package/lib/browser/preferences/preference-service.js +350 -350
  211. package/lib/browser/preferences/preference-service.spec.d.ts +1 -1
  212. package/lib/browser/preferences/preference-service.spec.js +505 -505
  213. package/lib/browser/preferences/preference-validation-service.d.ts +57 -57
  214. package/lib/browser/preferences/preference-validation-service.js +346 -346
  215. package/lib/browser/preferences/preference-validation-service.spec.d.ts +1 -1
  216. package/lib/browser/preferences/preference-validation-service.spec.js +330 -330
  217. package/lib/browser/preferences/test/index.d.ts +3 -3
  218. package/lib/browser/preferences/test/index.js +21 -21
  219. package/lib/browser/preferences/test/mock-preference-provider.d.ts +16 -16
  220. package/lib/browser/preferences/test/mock-preference-provider.js +46 -46
  221. package/lib/browser/preferences/test/mock-preference-proxy.d.ts +3 -3
  222. package/lib/browser/preferences/test/mock-preference-proxy.js +49 -49
  223. package/lib/browser/preferences/test/mock-preference-service.d.ts +28 -28
  224. package/lib/browser/preferences/test/mock-preference-service.js +59 -59
  225. package/lib/browser/preload/i18n-preload-contribution.d.ts +6 -6
  226. package/lib/browser/preload/i18n-preload-contribution.js +54 -54
  227. package/lib/browser/preload/os-preload-contribution.d.ts +6 -6
  228. package/lib/browser/preload/os-preload-contribution.js +40 -40
  229. package/lib/browser/preload/preload-module.d.ts +3 -3
  230. package/lib/browser/preload/preload-module.js +38 -38
  231. package/lib/browser/preload/preloader.d.ts +11 -11
  232. package/lib/browser/preload/preloader.js +36 -36
  233. package/lib/browser/preload/theme-preload-contribution.d.ts +4 -4
  234. package/lib/browser/preload/theme-preload-contribution.js +34 -34
  235. package/lib/browser/progress-bar-factory.d.ts +11 -11
  236. package/lib/browser/progress-bar-factory.js +20 -20
  237. package/lib/browser/progress-bar.d.ts +15 -15
  238. package/lib/browser/progress-bar.js +81 -81
  239. package/lib/browser/progress-client.d.ts +12 -12
  240. package/lib/browser/progress-client.js +53 -53
  241. package/lib/browser/progress-location-service.d.ts +21 -21
  242. package/lib/browser/progress-location-service.js +91 -91
  243. package/lib/browser/progress-location-service.spec.d.ts +1 -1
  244. package/lib/browser/progress-location-service.spec.js +44 -44
  245. package/lib/browser/progress-status-bar-item.d.ts +16 -16
  246. package/lib/browser/progress-status-bar-item.js +81 -81
  247. package/lib/browser/quick-input/index.d.ts +8 -8
  248. package/lib/browser/quick-input/index.js +26 -26
  249. package/lib/browser/quick-input/quick-access.d.ts +53 -53
  250. package/lib/browser/quick-input/quick-access.js +20 -20
  251. package/lib/browser/quick-input/quick-command-frontend-contribution.d.ts +11 -11
  252. package/lib/browser/quick-input/quick-command-frontend-contribution.js +96 -96
  253. package/lib/browser/quick-input/quick-command-service.d.ts +59 -59
  254. package/lib/browser/quick-input/quick-command-service.js +225 -225
  255. package/lib/browser/quick-input/quick-help-service.d.ts +11 -11
  256. package/lib/browser/quick-input/quick-help-service.js +83 -83
  257. package/lib/browser/quick-input/quick-input-frontend-contribution.d.ts +7 -7
  258. package/lib/browser/quick-input/quick-input-frontend-contribution.js +38 -38
  259. package/lib/browser/quick-input/quick-input-service.d.ts +1 -1
  260. package/lib/browser/quick-input/quick-input-service.js +19 -19
  261. package/lib/browser/quick-input/quick-input-service.spec.d.ts +1 -1
  262. package/lib/browser/quick-input/quick-input-service.spec.js +159 -159
  263. package/lib/browser/quick-input/quick-pick-service-impl.d.ts +30 -30
  264. package/lib/browser/quick-input/quick-pick-service-impl.js +69 -69
  265. package/lib/browser/quick-input/quick-view-service.d.ts +23 -23
  266. package/lib/browser/quick-input/quick-view-service.js +78 -78
  267. package/lib/browser/request/browser-request-module.d.ts +18 -18
  268. package/lib/browser/request/browser-request-module.js +23 -23
  269. package/lib/browser/request/browser-request-service.d.ts +41 -41
  270. package/lib/browser/request/browser-request-service.js +172 -172
  271. package/lib/browser/resource-context-key.d.ts +19 -19
  272. package/lib/browser/resource-context-key.js +75 -75
  273. package/lib/browser/save-resource-service.d.ts +35 -35
  274. package/lib/browser/save-resource-service.js +64 -64
  275. package/lib/browser/saveable.d.ts +124 -124
  276. package/lib/browser/saveable.js +274 -274
  277. package/lib/browser/secondary-window-handler.d.ts +65 -65
  278. package/lib/browser/secondary-window-handler.js +193 -193
  279. package/lib/browser/shell/additional-views-menu-widget.d.ts +19 -19
  280. package/lib/browser/shell/additional-views-menu-widget.js +73 -73
  281. package/lib/browser/shell/application-shell-mouse-tracker.d.ts +30 -30
  282. package/lib/browser/shell/application-shell-mouse-tracker.js +99 -99
  283. package/lib/browser/shell/application-shell.d.ts +574 -574
  284. package/lib/browser/shell/application-shell.js +1992 -1992
  285. package/lib/browser/shell/current-widget-command-adapter.d.ts +23 -23
  286. package/lib/browser/shell/current-widget-command-adapter.js +41 -41
  287. package/lib/browser/shell/index.d.ts +7 -7
  288. package/lib/browser/shell/index.js +25 -25
  289. package/lib/browser/shell/shell-layout-restorer.d.ts +123 -123
  290. package/lib/browser/shell/shell-layout-restorer.js +336 -336
  291. package/lib/browser/shell/side-panel-handler.d.ts +286 -286
  292. package/lib/browser/shell/side-panel-handler.js +659 -659
  293. package/lib/browser/shell/side-panel-toolbar.d.ts +25 -25
  294. package/lib/browser/shell/side-panel-toolbar.js +96 -96
  295. package/lib/browser/shell/sidebar-bottom-menu-widget.d.ts +9 -9
  296. package/lib/browser/shell/sidebar-bottom-menu-widget.js +41 -41
  297. package/lib/browser/shell/sidebar-menu-widget.d.ts +38 -38
  298. package/lib/browser/shell/sidebar-menu-widget.js +113 -113
  299. package/lib/browser/shell/sidebar-top-menu-widget.d.ts +6 -6
  300. package/lib/browser/shell/sidebar-top-menu-widget.js +30 -30
  301. package/lib/browser/shell/split-panels.d.ts +42 -42
  302. package/lib/browser/shell/split-panels.js +172 -172
  303. package/lib/browser/shell/tab-bar-decorator.d.ts +40 -40
  304. package/lib/browser/shell/tab-bar-decorator.js +87 -87
  305. package/lib/browser/shell/tab-bar-toolbar/index.d.ts +3 -3
  306. package/lib/browser/shell/tab-bar-toolbar/index.js +21 -21
  307. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts +15 -15
  308. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js +35 -35
  309. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts +95 -95
  310. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +245 -245
  311. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts +136 -136
  312. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js +88 -88
  313. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +89 -89
  314. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +414 -414
  315. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.d.ts +1 -1
  316. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.js +51 -51
  317. package/lib/browser/shell/tab-bars.d.ts +341 -341
  318. package/lib/browser/shell/tab-bars.js +1312 -1312
  319. package/lib/browser/shell/tab-bars.spec.d.ts +1 -1
  320. package/lib/browser/shell/tab-bars.spec.js +56 -56
  321. package/lib/browser/shell/theia-dock-panel.d.ts +59 -59
  322. package/lib/browser/shell/theia-dock-panel.js +226 -226
  323. package/lib/browser/shell/view-contribution.d.ts +43 -43
  324. package/lib/browser/shell/view-contribution.js +159 -159
  325. package/lib/browser/source-tree/index.d.ts +3 -3
  326. package/lib/browser/source-tree/index.js +21 -21
  327. package/lib/browser/source-tree/source-tree-widget.d.ts +21 -21
  328. package/lib/browser/source-tree/source-tree-widget.js +110 -110
  329. package/lib/browser/source-tree/source-tree.d.ts +36 -36
  330. package/lib/browser/source-tree/source-tree.js +129 -129
  331. package/lib/browser/source-tree/tree-source.d.ts +35 -35
  332. package/lib/browser/source-tree/tree-source.js +53 -53
  333. package/lib/browser/status-bar/index.d.ts +5 -5
  334. package/lib/browser/status-bar/index.js +31 -31
  335. package/lib/browser/status-bar/status-bar-types.d.ts +72 -72
  336. package/lib/browser/status-bar/status-bar-types.js +25 -25
  337. package/lib/browser/status-bar/status-bar-view-model.d.ts +35 -35
  338. package/lib/browser/status-bar/status-bar-view-model.js +207 -207
  339. package/lib/browser/status-bar/status-bar.d.ts +34 -34
  340. package/lib/browser/status-bar/status-bar.js +181 -181
  341. package/lib/browser/storage-service.d.ts +35 -35
  342. package/lib/browser/storage-service.js +122 -122
  343. package/lib/browser/storage-service.spec.d.ts +1 -1
  344. package/lib/browser/storage-service.spec.js +68 -68
  345. package/lib/browser/styling-service.d.ts +29 -29
  346. package/lib/browser/styling-service.js +86 -86
  347. package/lib/browser/supported-encodings.d.ts +9 -9
  348. package/lib/browser/supported-encodings.js +263 -263
  349. package/lib/browser/test/jsdom.d.ts +8 -8
  350. package/lib/browser/test/jsdom.js +69 -69
  351. package/lib/browser/test/mock-connection-status-service.d.ts +5 -5
  352. package/lib/browser/test/mock-connection-status-service.js +32 -32
  353. package/lib/browser/test/mock-env-variables-server.d.ts +12 -12
  354. package/lib/browser/test/mock-env-variables-server.js +42 -42
  355. package/lib/browser/test/mock-opener-service.d.ts +8 -8
  356. package/lib/browser/test/mock-opener-service.js +35 -35
  357. package/lib/browser/test/mock-storage-service.d.ts +11 -11
  358. package/lib/browser/test/mock-storage-service.js +49 -49
  359. package/lib/browser/theming.d.ts +50 -50
  360. package/lib/browser/theming.js +203 -203
  361. package/lib/browser/tooltip-service.d.ts +34 -34
  362. package/lib/browser/tooltip-service.js +76 -76
  363. package/lib/browser/tree/fuzzy-search.d.ts +60 -60
  364. package/lib/browser/tree/fuzzy-search.js +75 -75
  365. package/lib/browser/tree/fuzzy-search.spec.d.ts +1 -1
  366. package/lib/browser/tree/fuzzy-search.spec.js +89 -89
  367. package/lib/browser/tree/index.d.ts +13 -13
  368. package/lib/browser/tree/index.js +31 -31
  369. package/lib/browser/tree/search-box-debounce.d.ts +33 -33
  370. package/lib/browser/tree/search-box-debounce.js +75 -75
  371. package/lib/browser/tree/search-box.d.ts +105 -105
  372. package/lib/browser/tree/search-box.js +265 -265
  373. package/lib/browser/tree/test/mock-selectable-tree-model.d.ts +14 -14
  374. package/lib/browser/tree/test/mock-selectable-tree-model.js +102 -102
  375. package/lib/browser/tree/test/mock-tree-model.d.ts +12 -12
  376. package/lib/browser/tree/test/mock-tree-model.js +129 -129
  377. package/lib/browser/tree/test/tree-test-container.d.ts +2 -2
  378. package/lib/browser/tree/test/tree-test-container.js +52 -52
  379. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.d.ts +8 -8
  380. package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.js +59 -59
  381. package/lib/browser/tree/tree-compression/compressed-tree-model.d.ts +23 -23
  382. package/lib/browser/tree/tree-compression/compressed-tree-model.js +89 -89
  383. package/lib/browser/tree/tree-compression/compressed-tree-widget.d.ts +38 -38
  384. package/lib/browser/tree/tree-compression/compressed-tree-widget.js +187 -187
  385. package/lib/browser/tree/tree-compression/index.d.ts +4 -4
  386. package/lib/browser/tree/tree-compression/index.js +22 -22
  387. package/lib/browser/tree/tree-compression/tree-compression-service.d.ts +58 -58
  388. package/lib/browser/tree/tree-compression/tree-compression-service.js +98 -98
  389. package/lib/browser/tree/tree-consistency.spec.d.ts +1 -1
  390. package/lib/browser/tree/tree-consistency.spec.js +99 -99
  391. package/lib/browser/tree/tree-container.d.ts +51 -51
  392. package/lib/browser/tree/tree-container.js +115 -115
  393. package/lib/browser/tree/tree-container.spec.d.ts +1 -1
  394. package/lib/browser/tree/tree-container.spec.js +45 -45
  395. package/lib/browser/tree/tree-decorator.d.ts +143 -143
  396. package/lib/browser/tree/tree-decorator.js +115 -115
  397. package/lib/browser/tree/tree-decorator.spec.d.ts +1 -1
  398. package/lib/browser/tree/tree-decorator.spec.js +145 -145
  399. package/lib/browser/tree/tree-expansion.d.ts +65 -65
  400. package/lib/browser/tree/tree-expansion.js +124 -124
  401. package/lib/browser/tree/tree-expansion.spec.d.ts +1 -1
  402. package/lib/browser/tree/tree-expansion.spec.js +155 -155
  403. package/lib/browser/tree/tree-focus-service.d.ts +19 -19
  404. package/lib/browser/tree/tree-focus-service.js +53 -53
  405. package/lib/browser/tree/tree-iterator.d.ts +94 -94
  406. package/lib/browser/tree/tree-iterator.js +223 -223
  407. package/lib/browser/tree/tree-iterator.spec.d.ts +1 -1
  408. package/lib/browser/tree/tree-iterator.spec.js +150 -150
  409. package/lib/browser/tree/tree-label-provider.d.ts +8 -8
  410. package/lib/browser/tree/tree-label-provider.js +39 -39
  411. package/lib/browser/tree/tree-model.d.ts +202 -202
  412. package/lib/browser/tree/tree-model.js +395 -395
  413. package/lib/browser/tree/tree-navigation.d.ts +10 -10
  414. package/lib/browser/tree/tree-navigation.js +57 -57
  415. package/lib/browser/tree/tree-preference.d.ts +10 -10
  416. package/lib/browser/tree/tree-preference.js +46 -46
  417. package/lib/browser/tree/tree-search.d.ts +36 -36
  418. package/lib/browser/tree/tree-search.js +130 -130
  419. package/lib/browser/tree/tree-selectable.spec.d.ts +1 -1
  420. package/lib/browser/tree/tree-selectable.spec.js +146 -146
  421. package/lib/browser/tree/tree-selection-impl.d.ts +44 -44
  422. package/lib/browser/tree/tree-selection-impl.js +158 -158
  423. package/lib/browser/tree/tree-selection-state.d.ts +48 -48
  424. package/lib/browser/tree/tree-selection-state.js +227 -227
  425. package/lib/browser/tree/tree-selection-state.spec.d.ts +1 -1
  426. package/lib/browser/tree/tree-selection-state.spec.js +420 -420
  427. package/lib/browser/tree/tree-selection.d.ts +86 -86
  428. package/lib/browser/tree/tree-selection.js +86 -86
  429. package/lib/browser/tree/tree-view-welcome-widget.d.ts +45 -45
  430. package/lib/browser/tree/tree-view-welcome-widget.js +192 -192
  431. package/lib/browser/tree/tree-widget-selection.d.ts +11 -11
  432. package/lib/browser/tree/tree-widget-selection.js +46 -46
  433. package/lib/browser/tree/tree-widget.d.ts +559 -559
  434. package/lib/browser/tree/tree-widget.js +1352 -1352
  435. package/lib/browser/tree/tree.d.ts +180 -180
  436. package/lib/browser/tree/tree.js +288 -288
  437. package/lib/browser/tree/tree.spec.d.ts +1 -1
  438. package/lib/browser/tree/tree.spec.js +226 -226
  439. package/lib/browser/user-working-directory-provider.d.ts +23 -23
  440. package/lib/browser/user-working-directory-provider.js +76 -76
  441. package/lib/browser/view-container.d.ts +312 -312
  442. package/lib/browser/view-container.js +1458 -1458
  443. package/lib/browser/widget-decoration.d.ts +299 -299
  444. package/lib/browser/widget-decoration.js +140 -140
  445. package/lib/browser/widget-manager.d.ts +172 -172
  446. package/lib/browser/widget-manager.js +222 -222
  447. package/lib/browser/widget-manager.spec.d.ts +1 -1
  448. package/lib/browser/widget-manager.spec.js +91 -91
  449. package/lib/browser/widget-open-handler.d.ts +88 -88
  450. package/lib/browser/widget-open-handler.js +137 -137
  451. package/lib/browser/widgets/alert-message.d.ts +23 -23
  452. package/lib/browser/widgets/alert-message.js +38 -38
  453. package/lib/browser/widgets/enhanced-preview-widget.d.ts +6 -6
  454. package/lib/browser/widgets/enhanced-preview-widget.js +26 -26
  455. package/lib/browser/widgets/extractable-widget.d.ts +13 -13
  456. package/lib/browser/widgets/extractable-widget.js +26 -26
  457. package/lib/browser/widgets/index.d.ts +4 -4
  458. package/lib/browser/widgets/index.js +22 -22
  459. package/lib/browser/widgets/previewable-widget.d.ts +8 -8
  460. package/lib/browser/widgets/previewable-widget.js +30 -30
  461. package/lib/browser/widgets/react-renderer.d.ts +14 -14
  462. package/lib/browser/widgets/react-renderer.js +48 -48
  463. package/lib/browser/widgets/react-widget.d.ts +16 -16
  464. package/lib/browser/widgets/react-widget.js +46 -46
  465. package/lib/browser/widgets/select-component.d.ts +53 -53
  466. package/lib/browser/widgets/select-component.js +307 -307
  467. package/lib/browser/widgets/widget.d.ts +108 -108
  468. package/lib/browser/widgets/widget.js +367 -367
  469. package/lib/browser/window/browser-window-module.d.ts +3 -3
  470. package/lib/browser/window/browser-window-module.js +32 -32
  471. package/lib/browser/window/default-secondary-window-service.d.ts +25 -25
  472. package/lib/browser/window/default-secondary-window-service.js +187 -187
  473. package/lib/browser/window/default-window-service.d.ts +50 -50
  474. package/lib/browser/window/default-window-service.js +167 -167
  475. package/lib/browser/window/default-window-service.spec.d.ts +1 -1
  476. package/lib/browser/window/default-window-service.spec.js +80 -80
  477. package/lib/browser/window/secondary-window-service.d.ts +20 -20
  478. package/lib/browser/window/secondary-window-service.js +19 -19
  479. package/lib/browser/window/test/mock-window-service.d.ts +11 -11
  480. package/lib/browser/window/test/mock-window-service.js +34 -34
  481. package/lib/browser/window/window-service.d.ts +53 -53
  482. package/lib/browser/window/window-service.js +22 -22
  483. package/lib/browser/window/window-title-service.d.ts +31 -31
  484. package/lib/browser/window/window-title-service.js +112 -112
  485. package/lib/browser/window/window-title-updater.d.ts +19 -19
  486. package/lib/browser/window/window-title-updater.js +99 -99
  487. package/lib/browser/window-contribution.d.ts +14 -14
  488. package/lib/browser/window-contribution.js +62 -62
  489. package/lib/browser-only/frontend-only-application-module.d.ts +4 -4
  490. package/lib/browser-only/frontend-only-application-module.js +114 -114
  491. package/lib/browser-only/i18n/i18n-frontend-only-module.d.ts +3 -3
  492. package/lib/browser-only/i18n/i18n-frontend-only-module.js +34 -34
  493. package/lib/browser-only/logger-frontend-only-module.d.ts +2 -2
  494. package/lib/browser-only/logger-frontend-only-module.js +60 -60
  495. package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts +13 -13
  496. package/lib/browser-only/messaging/frontend-only-service-connection-provider.js +51 -51
  497. package/lib/browser-only/messaging/messaging-frontend-only-module.d.ts +2 -2
  498. package/lib/browser-only/messaging/messaging-frontend-only-module.js +47 -47
  499. package/lib/browser-only/preload/frontend-only-preload-module.d.ts +3 -3
  500. package/lib/browser-only/preload/frontend-only-preload-module.js +51 -51
  501. package/lib/common/accessibility.d.ts +16 -16
  502. package/lib/common/accessibility.js +17 -17
  503. package/lib/common/application-error.d.ts +20 -20
  504. package/lib/common/application-error.js +62 -62
  505. package/lib/common/application-error.spec.d.ts +1 -1
  506. package/lib/common/application-error.spec.js +26 -26
  507. package/lib/common/application-protocol.d.ts +20 -20
  508. package/lib/common/application-protocol.js +20 -20
  509. package/lib/common/array-utils.d.ts +55 -55
  510. package/lib/common/array-utils.js +118 -118
  511. package/lib/common/buffer.d.ts +43 -43
  512. package/lib/common/buffer.js +205 -205
  513. package/lib/common/cancellation.d.ts +24 -24
  514. package/lib/common/cancellation.js +142 -142
  515. package/lib/common/char-code.d.ts +401 -401
  516. package/lib/common/char-code.js +22 -22
  517. package/lib/common/collections.d.ts +29 -29
  518. package/lib/common/collections.js +121 -121
  519. package/lib/common/color.d.ts +71 -71
  520. package/lib/common/color.js +43 -43
  521. package/lib/common/command.d.ts +232 -232
  522. package/lib/common/command.js +353 -353
  523. package/lib/common/command.spec.d.ts +1 -1
  524. package/lib/common/command.spec.js +173 -173
  525. package/lib/common/contribution-filter/contribution-filter-registry.d.ts +17 -17
  526. package/lib/common/contribution-filter/contribution-filter-registry.js +77 -77
  527. package/lib/common/contribution-filter/contribution-filter.d.ts +41 -41
  528. package/lib/common/contribution-filter/contribution-filter.js +20 -20
  529. package/lib/common/contribution-filter/filter.d.ts +6 -6
  530. package/lib/common/contribution-filter/filter.js +19 -19
  531. package/lib/common/contribution-filter/index.d.ts +3 -3
  532. package/lib/common/contribution-filter/index.js +21 -21
  533. package/lib/common/contribution-provider.d.ts +20 -20
  534. package/lib/common/contribution-provider.js +82 -82
  535. package/lib/common/disposable.d.ts +80 -80
  536. package/lib/common/disposable.js +173 -173
  537. package/lib/common/disposable.spec.d.ts +1 -1
  538. package/lib/common/disposable.spec.js +80 -80
  539. package/lib/common/encoding-service.d.ts +38 -38
  540. package/lib/common/encoding-service.js +302 -302
  541. package/lib/common/encodings.d.ts +7 -7
  542. package/lib/common/encodings.js +25 -25
  543. package/lib/common/env-variables/env-variables-protocol.d.ts +20 -20
  544. package/lib/common/env-variables/env-variables-protocol.js +20 -20
  545. package/lib/common/env-variables/index.d.ts +1 -1
  546. package/lib/common/env-variables/index.js +19 -19
  547. package/lib/common/event.d.ts +115 -115
  548. package/lib/common/event.js +385 -385
  549. package/lib/common/event.spec.d.ts +1 -1
  550. package/lib/common/event.spec.js +29 -29
  551. package/lib/common/file-uri.d.ts +14 -14
  552. package/lib/common/file-uri.js +62 -62
  553. package/lib/common/frontend-application-state.d.ts +15 -15
  554. package/lib/common/frontend-application-state.js +33 -33
  555. package/lib/common/glob.d.ts +50 -50
  556. package/lib/common/glob.js +591 -591
  557. package/lib/common/hash.d.ts +7 -7
  558. package/lib/common/hash.js +84 -84
  559. package/lib/common/i18n/localization-server.d.ts +6 -6
  560. package/lib/common/i18n/localization-server.js +20 -20
  561. package/lib/common/i18n/localization.d.ts +34 -34
  562. package/lib/common/i18n/localization.js +59 -59
  563. package/lib/common/index.d.ts +35 -35
  564. package/lib/common/index.js +56 -56
  565. package/lib/common/json-schema.d.ts +72 -72
  566. package/lib/common/json-schema.js +17 -17
  567. package/lib/common/key-store.d.ts +12 -12
  568. package/lib/common/key-store.js +20 -20
  569. package/lib/common/keybinding.d.ts +75 -75
  570. package/lib/common/keybinding.js +113 -113
  571. package/lib/common/keyboard/keyboard-layout-provider.d.ts +26 -26
  572. package/lib/common/keyboard/keyboard-layout-provider.js +22 -22
  573. package/lib/common/keys.d.ts +253 -253
  574. package/lib/common/keys.js +634 -634
  575. package/lib/common/label-protocol.d.ts +13 -13
  576. package/lib/common/label-protocol.js +17 -17
  577. package/lib/common/logger-protocol.d.ts +41 -41
  578. package/lib/common/logger-protocol.js +100 -100
  579. package/lib/common/logger-watcher.d.ts +9 -9
  580. package/lib/common/logger-watcher.js +49 -49
  581. package/lib/common/logger.d.ts +207 -207
  582. package/lib/common/logger.js +204 -204
  583. package/lib/common/logger.spec.d.ts +1 -1
  584. package/lib/common/logger.spec.js +41 -41
  585. package/lib/common/lsp-types.d.ts +9 -9
  586. package/lib/common/lsp-types.js +30 -30
  587. package/lib/common/markdown-rendering/icon-utilities.d.ts +7 -7
  588. package/lib/common/markdown-rendering/icon-utilities.js +32 -32
  589. package/lib/common/markdown-rendering/index.d.ts +2 -2
  590. package/lib/common/markdown-rendering/index.js +20 -20
  591. package/lib/common/markdown-rendering/markdown-string.d.ts +46 -46
  592. package/lib/common/markdown-rendering/markdown-string.js +126 -126
  593. package/lib/common/menu/action-menu-node.d.ts +19 -19
  594. package/lib/common/menu/action-menu-node.js +56 -56
  595. package/lib/common/menu/composite-menu-node.d.ts +46 -46
  596. package/lib/common/menu/composite-menu-node.js +93 -93
  597. package/lib/common/menu/composite-menu-node.spec.d.ts +1 -1
  598. package/lib/common/menu/composite-menu-node.spec.js +67 -67
  599. package/lib/common/menu/index.d.ts +5 -5
  600. package/lib/common/menu/index.js +23 -23
  601. package/lib/common/menu/menu-adapter.d.ts +35 -35
  602. package/lib/common/menu/menu-adapter.js +92 -92
  603. package/lib/common/menu/menu-model-registry.d.ts +145 -145
  604. package/lib/common/menu/menu-model-registry.js +275 -275
  605. package/lib/common/menu/menu-types.d.ts +148 -148
  606. package/lib/common/menu/menu-types.js +93 -93
  607. package/lib/common/menu/menu.spec.d.ts +1 -1
  608. package/lib/common/menu/menu.spec.js +96 -96
  609. package/lib/common/message-rpc/channel.d.ts +123 -123
  610. package/lib/common/message-rpc/channel.js +230 -230
  611. package/lib/common/message-rpc/channel.spec.d.ts +8 -8
  612. package/lib/common/message-rpc/channel.spec.js +79 -79
  613. package/lib/common/message-rpc/index.d.ts +3 -3
  614. package/lib/common/message-rpc/index.js +24 -24
  615. package/lib/common/message-rpc/message-buffer.d.ts +51 -51
  616. package/lib/common/message-rpc/message-buffer.js +59 -59
  617. package/lib/common/message-rpc/msg-pack-extension-manager.d.ts +22 -22
  618. package/lib/common/message-rpc/msg-pack-extension-manager.js +57 -57
  619. package/lib/common/message-rpc/rpc-message-encoder.d.ts +103 -103
  620. package/lib/common/message-rpc/rpc-message-encoder.js +113 -113
  621. package/lib/common/message-rpc/rpc-message-encoder.spec.d.ts +1 -1
  622. package/lib/common/message-rpc/rpc-message-encoder.spec.js +58 -58
  623. package/lib/common/message-rpc/rpc-protocol.d.ts +67 -67
  624. package/lib/common/message-rpc/rpc-protocol.js +209 -209
  625. package/lib/common/message-rpc/uint8-array-message-buffer.d.ts +52 -52
  626. package/lib/common/message-rpc/uint8-array-message-buffer.js +174 -174
  627. package/lib/common/message-rpc/uint8-array-message-buffer.spec.d.ts +1 -1
  628. package/lib/common/message-rpc/uint8-array-message-buffer.spec.js +38 -38
  629. package/lib/common/message-service-protocol.d.ts +110 -110
  630. package/lib/common/message-service-protocol.js +73 -73
  631. package/lib/common/message-service.d.ts +134 -134
  632. package/lib/common/message-service.js +151 -151
  633. package/lib/common/messaging/connection-error-handler.d.ts +28 -28
  634. package/lib/common/messaging/connection-error-handler.js +47 -47
  635. package/lib/common/messaging/connection-management.d.ts +24 -24
  636. package/lib/common/messaging/connection-management.js +37 -37
  637. package/lib/common/messaging/handler.d.ts +7 -7
  638. package/lib/common/messaging/handler.js +20 -20
  639. package/lib/common/messaging/index.d.ts +3 -3
  640. package/lib/common/messaging/index.js +21 -21
  641. package/lib/common/messaging/proxy-factory.d.ts +180 -180
  642. package/lib/common/messaging/proxy-factory.js +280 -280
  643. package/lib/common/messaging/proxy-factory.spec.d.ts +1 -1
  644. package/lib/common/messaging/proxy-factory.spec.js +99 -99
  645. package/lib/common/messaging/socket-write-buffer.d.ts +10 -10
  646. package/lib/common/messaging/socket-write-buffer.js +49 -49
  647. package/lib/common/messaging/web-socket-channel.d.ts +19 -19
  648. package/lib/common/messaging/web-socket-channel.js +64 -64
  649. package/lib/common/nls.d.ts +15 -15
  650. package/lib/common/nls.js +135 -135
  651. package/lib/common/numbers.d.ts +5 -5
  652. package/lib/common/numbers.js +23 -23
  653. package/lib/common/objects.d.ts +8 -8
  654. package/lib/common/objects.js +118 -118
  655. package/lib/common/objects.spec.d.ts +1 -1
  656. package/lib/common/objects.spec.js +101 -101
  657. package/lib/common/os.d.ts +31 -31
  658. package/lib/common/os.js +73 -73
  659. package/lib/common/path.d.ts +93 -93
  660. package/lib/common/path.js +307 -307
  661. package/lib/common/path.spec.d.ts +1 -1
  662. package/lib/common/path.spec.js +350 -350
  663. package/lib/common/paths.d.ts +24 -24
  664. package/lib/common/paths.js +226 -226
  665. package/lib/common/performance/index.d.ts +3 -3
  666. package/lib/common/performance/index.js +21 -21
  667. package/lib/common/performance/measurement-protocol.d.ts +64 -64
  668. package/lib/common/performance/measurement-protocol.js +70 -70
  669. package/lib/common/performance/measurement.d.ts +111 -111
  670. package/lib/common/performance/measurement.js +17 -17
  671. package/lib/common/performance/stopwatch.d.ts +75 -75
  672. package/lib/common/performance/stopwatch.js +148 -148
  673. package/lib/common/preferences/preference-schema.d.ts +52 -52
  674. package/lib/common/preferences/preference-schema.js +58 -58
  675. package/lib/common/preferences/preference-scope.d.ts +19 -19
  676. package/lib/common/preferences/preference-scope.js +71 -71
  677. package/lib/common/preferences/preference-scope.spec.d.ts +1 -1
  678. package/lib/common/preferences/preference-scope.spec.js +44 -44
  679. package/lib/common/prioritizeable.d.ts +16 -16
  680. package/lib/common/prioritizeable.js +55 -55
  681. package/lib/common/progress-service-protocol.d.ts +13 -13
  682. package/lib/common/progress-service-protocol.js +19 -19
  683. package/lib/common/progress-service.d.ts +13 -13
  684. package/lib/common/progress-service.js +88 -88
  685. package/lib/common/promise-util.d.ts +51 -51
  686. package/lib/common/promise-util.js +132 -132
  687. package/lib/common/promise-util.spec.d.ts +1 -1
  688. package/lib/common/promise-util.spec.js +80 -80
  689. package/lib/common/quick-pick-service.d.ts +270 -270
  690. package/lib/common/quick-pick-service.js +133 -133
  691. package/lib/common/reference.d.ts +95 -95
  692. package/lib/common/reference.js +207 -207
  693. package/lib/common/reference.spec.d.ts +1 -1
  694. package/lib/common/reference.spec.js +125 -125
  695. package/lib/common/resource.d.ts +207 -207
  696. package/lib/common/resource.js +322 -322
  697. package/lib/common/selection-command-handler.d.ts +24 -24
  698. package/lib/common/selection-command-handler.js +83 -83
  699. package/lib/common/selection-service.d.ts +18 -18
  700. package/lib/common/selection-service.js +43 -43
  701. package/lib/common/selection-service.spec.d.ts +1 -1
  702. package/lib/common/selection-service.spec.js +38 -38
  703. package/lib/common/selection.d.ts +9 -9
  704. package/lib/common/selection.js +47 -47
  705. package/lib/common/severity.d.ts +15 -15
  706. package/lib/common/severity.js +113 -113
  707. package/lib/common/stream.d.ts +176 -176
  708. package/lib/common/stream.js +474 -474
  709. package/lib/common/strings.d.ts +24 -24
  710. package/lib/common/strings.js +215 -215
  711. package/lib/common/telemetry.d.ts +19 -19
  712. package/lib/common/telemetry.js +24 -24
  713. package/lib/common/ternary-search-tree.d.ts +50 -50
  714. package/lib/common/ternary-search-tree.js +381 -381
  715. package/lib/common/test/expect.d.ts +2 -2
  716. package/lib/common/test/expect.js +34 -34
  717. package/lib/common/test/mock-logger.d.ts +27 -27
  718. package/lib/common/test/mock-logger.js +99 -99
  719. package/lib/common/test/mock-menu.d.ts +7 -7
  720. package/lib/common/test/mock-menu.js +34 -34
  721. package/lib/common/test/mock-resource-provider.d.ts +6 -6
  722. package/lib/common/test/mock-resource-provider.js +36 -36
  723. package/lib/common/theme.d.ts +40 -40
  724. package/lib/common/theme.js +22 -22
  725. package/lib/common/types.d.ts +58 -58
  726. package/lib/common/types.js +126 -126
  727. package/lib/common/types.spec.d.ts +1 -1
  728. package/lib/common/types.spec.js +73 -73
  729. package/lib/common/uri-command-handler.d.ts +53 -53
  730. package/lib/common/uri-command-handler.js +99 -99
  731. package/lib/common/uri-command-handler.spec.d.ts +1 -1
  732. package/lib/common/uri-command-handler.spec.js +80 -80
  733. package/lib/common/uri.d.ts +87 -87
  734. package/lib/common/uri.js +236 -236
  735. package/lib/common/uri.spec.d.ts +1 -1
  736. package/lib/common/uri.spec.js +230 -230
  737. package/lib/common/uuid.d.ts +8 -8
  738. package/lib/common/uuid.js +44 -44
  739. package/lib/common/version.d.ts +1 -1
  740. package/lib/common/version.js +19 -19
  741. package/lib/common/view-column.d.ts +17 -17
  742. package/lib/common/view-column.js +36 -36
  743. package/lib/common/window.d.ts +16 -16
  744. package/lib/common/window.js +22 -22
  745. package/lib/electron-browser/electron-clipboard-service.d.ts +5 -5
  746. package/lib/electron-browser/electron-clipboard-service.js +33 -33
  747. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.d.ts +11 -11
  748. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js +46 -46
  749. package/lib/electron-browser/keyboard/electron-keyboard-module.d.ts +3 -3
  750. package/lib/electron-browser/keyboard/electron-keyboard-module.js +26 -26
  751. package/lib/electron-browser/menu/electron-context-menu-renderer.d.ts +30 -30
  752. package/lib/electron-browser/menu/electron-context-menu-renderer.js +128 -128
  753. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts +59 -59
  754. package/lib/electron-browser/menu/electron-main-menu-factory.js +274 -274
  755. package/lib/electron-browser/menu/electron-menu-contribution.d.ts +78 -78
  756. package/lib/electron-browser/menu/electron-menu-contribution.js +471 -471
  757. package/lib/electron-browser/menu/electron-menu-module.d.ts +3 -3
  758. package/lib/electron-browser/menu/electron-menu-module.js +39 -39
  759. package/lib/electron-browser/messaging/electron-frontend-id-provider.d.ts +4 -4
  760. package/lib/electron-browser/messaging/electron-frontend-id-provider.js +29 -29
  761. package/lib/electron-browser/messaging/electron-ipc-connection-source.d.ts +23 -23
  762. package/lib/electron-browser/messaging/electron-ipc-connection-source.js +59 -59
  763. package/lib/electron-browser/messaging/electron-local-ws-connection-source.d.ts +6 -6
  764. package/lib/electron-browser/messaging/electron-local-ws-connection-source.js +49 -49
  765. package/lib/electron-browser/messaging/electron-messaging-frontend-module.d.ts +2 -2
  766. package/lib/electron-browser/messaging/electron-messaging-frontend-module.js +75 -75
  767. package/lib/electron-browser/messaging/electron-ws-connection-source.d.ts +11 -11
  768. package/lib/electron-browser/messaging/electron-ws-connection-source.js +42 -42
  769. package/lib/electron-browser/preload.d.ts +1 -1
  770. package/lib/electron-browser/preload.js +201 -201
  771. package/lib/electron-browser/request/electron-browser-request-module.d.ts +18 -18
  772. package/lib/electron-browser/request/electron-browser-request-module.js +26 -26
  773. package/lib/electron-browser/token/electron-token-frontend-module.d.ts +3 -3
  774. package/lib/electron-browser/token/electron-token-frontend-module.js +22 -22
  775. package/lib/electron-browser/window/electron-frontend-application-state.d.ts +4 -4
  776. package/lib/electron-browser/window/electron-frontend-application-state.js +31 -31
  777. package/lib/electron-browser/window/electron-secondary-window-service.d.ts +7 -7
  778. package/lib/electron-browser/window/electron-secondary-window-service.js +38 -38
  779. package/lib/electron-browser/window/electron-window-module.d.ts +3 -3
  780. package/lib/electron-browser/window/electron-window-module.js +39 -39
  781. package/lib/electron-browser/window/electron-window-preferences.d.ts +18 -18
  782. package/lib/electron-browser/window/electron-window-preferences.js +72 -72
  783. package/lib/electron-browser/window/electron-window-service.d.ts +31 -31
  784. package/lib/electron-browser/window/electron-window-service.js +116 -116
  785. package/lib/electron-common/electron-api.d.ts +104 -104
  786. package/lib/electron-common/electron-api.js +56 -56
  787. package/lib/electron-common/electron-main-window-service.d.ts +7 -7
  788. package/lib/electron-common/electron-main-window-service.js +20 -20
  789. package/lib/electron-common/electron-token.d.ts +10 -10
  790. package/lib/electron-common/electron-token.js +27 -27
  791. package/lib/electron-main/electron-api-main.d.ts +22 -22
  792. package/lib/electron-main/electron-api-main.js +294 -294
  793. package/lib/electron-main/electron-main-application-module.d.ts +3 -3
  794. package/lib/electron-main/electron-main-application-module.js +56 -56
  795. package/lib/electron-main/electron-main-application.d.ts +159 -159
  796. package/lib/electron-main/electron-main-application.js +603 -603
  797. package/lib/electron-main/electron-main-constants.d.ts +6 -6
  798. package/lib/electron-main/electron-main-constants.js +19 -19
  799. package/lib/electron-main/electron-main-window-service-impl.d.ts +8 -8
  800. package/lib/electron-main/electron-main-window-service-impl.js +46 -46
  801. package/lib/electron-main/electron-security-token-service.d.ts +5 -5
  802. package/lib/electron-main/electron-security-token-service.js +41 -41
  803. package/lib/electron-main/event-utils.d.ts +8 -8
  804. package/lib/electron-main/event-utils.js +33 -33
  805. package/lib/electron-main/messaging/electron-connection-handler.d.ts +5 -5
  806. package/lib/electron-main/messaging/electron-connection-handler.js +23 -23
  807. package/lib/electron-main/messaging/electron-messaging-contribution.d.ts +41 -41
  808. package/lib/electron-main/messaging/electron-messaging-contribution.js +142 -142
  809. package/lib/electron-main/messaging/electron-messaging-service.d.ts +17 -17
  810. package/lib/electron-main/messaging/electron-messaging-service.js +22 -22
  811. package/lib/electron-main/theia-electron-window.d.ts +53 -53
  812. package/lib/electron-main/theia-electron-window.js +186 -186
  813. package/lib/electron-node/hosting/electron-backend-hosting-module.d.ts +3 -3
  814. package/lib/electron-node/hosting/electron-backend-hosting-module.js +24 -24
  815. package/lib/electron-node/hosting/electron-ws-origin-validator.d.ts +8 -8
  816. package/lib/electron-node/hosting/electron-ws-origin-validator.js +40 -40
  817. package/lib/electron-node/keyboard/electron-backend-keyboard-module.d.ts +3 -3
  818. package/lib/electron-node/keyboard/electron-backend-keyboard-module.js +26 -26
  819. package/lib/electron-node/keyboard/electron-keyboard-layout-provider.d.ts +5 -5
  820. package/lib/electron-node/keyboard/electron-keyboard-layout-provider.js +36 -36
  821. package/lib/electron-node/request/electron-backend-request-module.d.ts +18 -18
  822. package/lib/electron-node/request/electron-backend-request-module.js +23 -23
  823. package/lib/electron-node/request/electron-backend-request-service.d.ts +22 -22
  824. package/lib/electron-node/request/electron-backend-request-service.js +81 -81
  825. package/lib/electron-node/token/electron-token-backend-contribution.d.ts +15 -15
  826. package/lib/electron-node/token/electron-token-backend-contribution.js +50 -50
  827. package/lib/electron-node/token/electron-token-backend-module.d.ts +3 -3
  828. package/lib/electron-node/token/electron-token-backend-module.js +28 -28
  829. package/lib/electron-node/token/electron-token-validator.d.ts +29 -29
  830. package/lib/electron-node/token/electron-token-validator.js +95 -95
  831. package/lib/node/application-server.d.ts +10 -10
  832. package/lib/node/application-server.js +55 -55
  833. package/lib/node/backend-application-config-provider.d.ts +7 -7
  834. package/lib/node/backend-application-config-provider.js +45 -45
  835. package/lib/node/backend-application-config-provider.spec.d.ts +1 -1
  836. package/lib/node/backend-application-config-provider.spec.js +28 -28
  837. package/lib/node/backend-application-module.d.ts +2 -2
  838. package/lib/node/backend-application-module.js +108 -108
  839. package/lib/node/backend-application.d.ts +108 -108
  840. package/lib/node/backend-application.js +290 -290
  841. package/lib/node/backend-remote-service.d.ts +3 -3
  842. package/lib/node/backend-remote-service.js +29 -29
  843. package/lib/node/cli.d.ts +17 -17
  844. package/lib/node/cli.js +59 -59
  845. package/lib/node/cli.spec.d.ts +1 -1
  846. package/lib/node/cli.spec.js +89 -89
  847. package/lib/node/console-logger-server.d.ts +15 -15
  848. package/lib/node/console-logger-server.js +82 -82
  849. package/lib/node/console-logger-server.spec.d.ts +1 -1
  850. package/lib/node/console-logger-server.spec.js +61 -61
  851. package/lib/node/debug.d.ts +1 -1
  852. package/lib/node/debug.js +28 -28
  853. package/lib/node/dynamic-require.d.ts +7 -7
  854. package/lib/node/dynamic-require.js +56 -56
  855. package/lib/node/env-variables/env-variables-server.d.ts +23 -23
  856. package/lib/node/env-variables/env-variables-server.js +117 -117
  857. package/lib/node/env-variables/index.d.ts +1 -1
  858. package/lib/node/env-variables/index.js +19 -19
  859. package/lib/node/environment-utils.d.ts +21 -21
  860. package/lib/node/environment-utils.js +72 -72
  861. package/lib/node/environment-utils.spec.d.ts +1 -1
  862. package/lib/node/environment-utils.spec.js +77 -77
  863. package/lib/node/file-uri.spec.d.ts +1 -1
  864. package/lib/node/file-uri.spec.js +66 -66
  865. package/lib/node/filesystem-locking.d.ts +23 -23
  866. package/lib/node/filesystem-locking.js +65 -65
  867. package/lib/node/hosting/backend-application-hosts.d.ts +23 -23
  868. package/lib/node/hosting/backend-application-hosts.js +69 -69
  869. package/lib/node/hosting/backend-hosting-module.d.ts +3 -3
  870. package/lib/node/hosting/backend-hosting-module.js +26 -26
  871. package/lib/node/hosting/ws-origin-validator.d.ts +8 -8
  872. package/lib/node/hosting/ws-origin-validator.js +39 -39
  873. package/lib/node/i18n/i18n-backend-module.d.ts +3 -3
  874. package/lib/node/i18n/i18n-backend-module.js +38 -38
  875. package/lib/node/i18n/localization-contribution.d.ts +18 -18
  876. package/lib/node/i18n/localization-contribution.js +108 -108
  877. package/lib/node/i18n/localization-provider.d.ts +23 -23
  878. package/lib/node/i18n/localization-provider.js +109 -109
  879. package/lib/node/i18n/localization-server.d.ts +14 -14
  880. package/lib/node/i18n/localization-server.js +54 -54
  881. package/lib/node/i18n/theia-localization-contribution.d.ts +4 -4
  882. package/lib/node/i18n/theia-localization-contribution.js +40 -40
  883. package/lib/node/index.d.ts +6 -6
  884. package/lib/node/index.js +26 -26
  885. package/lib/node/key-store-server.d.ts +27 -27
  886. package/lib/node/key-store-server.js +145 -145
  887. package/lib/node/logger-backend-module.d.ts +9 -9
  888. package/lib/node/logger-backend-module.js +78 -78
  889. package/lib/node/logger-cli-contribution.d.ts +33 -33
  890. package/lib/node/logger-cli-contribution.js +147 -147
  891. package/lib/node/logger-cli-contribution.spec.d.ts +1 -1
  892. package/lib/node/logger-cli-contribution.spec.js +207 -207
  893. package/lib/node/main.d.ts +7 -7
  894. package/lib/node/main.js +29 -29
  895. package/lib/node/messaging/binary-message-pipe.d.ts +44 -44
  896. package/lib/node/messaging/binary-message-pipe.js +151 -151
  897. package/lib/node/messaging/connection-container-module.d.ts +53 -53
  898. package/lib/node/messaging/connection-container-module.js +81 -81
  899. package/lib/node/messaging/default-messaging-service.d.ts +28 -28
  900. package/lib/node/messaging/default-messaging-service.js +131 -131
  901. package/lib/node/messaging/frontend-connection-service.d.ts +6 -6
  902. package/lib/node/messaging/frontend-connection-service.js +18 -18
  903. package/lib/node/messaging/index.d.ts +3 -3
  904. package/lib/node/messaging/index.js +21 -21
  905. package/lib/node/messaging/ipc-bootstrap.d.ts +1 -1
  906. package/lib/node/messaging/ipc-bootstrap.js +24 -24
  907. package/lib/node/messaging/ipc-channel.d.ts +17 -17
  908. package/lib/node/messaging/ipc-channel.js +69 -69
  909. package/lib/node/messaging/ipc-connection-provider.d.ts +21 -21
  910. package/lib/node/messaging/ipc-connection-provider.js +92 -92
  911. package/lib/node/messaging/ipc-protocol.d.ts +19 -19
  912. package/lib/node/messaging/ipc-protocol.js +68 -68
  913. package/lib/node/messaging/messaging-backend-module.d.ts +2 -2
  914. package/lib/node/messaging/messaging-backend-module.js +52 -52
  915. package/lib/node/messaging/messaging-listeners.d.ts +27 -27
  916. package/lib/node/messaging/messaging-listeners.js +45 -45
  917. package/lib/node/messaging/messaging-service.d.ts +28 -28
  918. package/lib/node/messaging/messaging-service.js +24 -24
  919. package/lib/node/messaging/test/test-web-socket-channel.d.ts +12 -12
  920. package/lib/node/messaging/test/test-web-socket-channel.js +54 -54
  921. package/lib/node/messaging/websocket-endpoint.d.ts +20 -20
  922. package/lib/node/messaging/websocket-endpoint.js +80 -80
  923. package/lib/node/messaging/websocket-frontend-connection-service.d.ts +30 -30
  924. package/lib/node/messaging/websocket-frontend-connection-service.js +169 -169
  925. package/lib/node/os-backend-provider.d.ts +4 -4
  926. package/lib/node/os-backend-provider.js +30 -30
  927. package/lib/node/performance/index.d.ts +2 -2
  928. package/lib/node/performance/index.js +20 -20
  929. package/lib/node/performance/measurement-backend-bindings.d.ts +19 -19
  930. package/lib/node/performance/measurement-backend-bindings.js +30 -30
  931. package/lib/node/performance/node-stopwatch.d.ts +20 -20
  932. package/lib/node/performance/node-stopwatch.js +43 -43
  933. package/lib/node/process-utils.d.ts +13 -13
  934. package/lib/node/process-utils.js +105 -105
  935. package/lib/node/process-utils.spec.d.ts +1 -1
  936. package/lib/node/process-utils.spec.js +44 -44
  937. package/lib/node/request/backend-request-facade.d.ts +22 -22
  938. package/lib/node/request/backend-request-facade.js +41 -41
  939. package/lib/node/request/backend-request-module.d.ts +18 -18
  940. package/lib/node/request/backend-request-module.js +24 -24
  941. package/lib/node/request/proxy-cli-contribution.d.ts +27 -27
  942. package/lib/node/request/proxy-cli-contribution.js +64 -64
  943. package/lib/node/ws-request-validators.d.ts +25 -25
  944. package/lib/node/ws-request-validators.js +52 -52
  945. package/package.json +6 -6
  946. package/shared/ajv/index.d.ts +2 -2
  947. package/shared/markdown-it.d.ts +2 -2
  948. package/shared/markdown-it.js +1 -1
  949. package/shared/reflect-metadata/index.d.ts +1 -1
  950. package/shared/reflect-metadata/index.js +1 -1
  951. package/shared/vscode-languageserver-types/index.d.ts +1 -1
  952. package/src/browser/about-dialog.tsx +137 -137
  953. package/src/browser/authentication-service.ts +456 -456
  954. package/src/browser/breadcrumbs/breadcrumb-popup-container.ts +101 -101
  955. package/src/browser/breadcrumbs/breadcrumb-renderer.tsx +41 -41
  956. package/src/browser/breadcrumbs/breadcrumbs-constants.ts +79 -79
  957. package/src/browser/breadcrumbs/breadcrumbs-renderer.tsx +185 -185
  958. package/src/browser/breadcrumbs/breadcrumbs-service.ts +108 -108
  959. package/src/browser/breadcrumbs/index.ts +21 -21
  960. package/src/browser/browser-clipboard-service.ts +122 -122
  961. package/src/browser/browser.ts +225 -225
  962. package/src/browser/clipboard-service.ts +23 -23
  963. package/src/browser/color-application-contribution.ts +110 -110
  964. package/src/browser/color-registry.ts +60 -60
  965. package/src/browser/command-open-handler.ts +54 -54
  966. package/src/browser/common-frontend-contribution.ts +2569 -2569
  967. package/src/browser/common-styling-participants.ts +361 -361
  968. package/src/browser/connection-status-service.spec.ts +200 -200
  969. package/src/browser/connection-status-service.ts +216 -216
  970. package/src/browser/context-key-service.ts +142 -142
  971. package/src/browser/context-menu-renderer.ts +124 -124
  972. package/src/browser/core-preferences.ts +334 -334
  973. package/src/browser/credentials-service.ts +106 -106
  974. package/src/browser/decoration-style.ts +65 -65
  975. package/src/browser/decorations-service.ts +209 -209
  976. package/src/browser/dialogs/react-dialog.tsx +56 -56
  977. package/src/browser/dialogs.ts +534 -534
  978. package/src/browser/diff-uris.ts +117 -117
  979. package/src/browser/encoding-registry.ts +97 -97
  980. package/src/browser/endpoint.spec.ts +148 -148
  981. package/src/browser/endpoint.ts +136 -136
  982. package/src/browser/external-uri-service.ts +79 -79
  983. package/src/browser/file-icons-js.d.ts +20 -20
  984. package/src/browser/frontend-application-bindings.ts +62 -62
  985. package/src/browser/frontend-application-config-provider.spec.ts +45 -45
  986. package/src/browser/frontend-application-config-provider.ts +50 -50
  987. package/src/browser/frontend-application-contribution.ts +110 -110
  988. package/src/browser/frontend-application-module.ts +460 -460
  989. package/src/browser/frontend-application-state.ts +74 -74
  990. package/src/browser/frontend-application.ts +326 -326
  991. package/src/browser/hover-service.ts +218 -218
  992. package/src/browser/http-open-handler.ts +47 -47
  993. package/src/browser/i18n/i18n-frontend-module.ts +27 -27
  994. package/src/browser/i18n/language-quick-pick-service.ts +130 -130
  995. package/src/browser/icon-registry.ts +87 -87
  996. package/src/browser/icon-theme-contribution.ts +64 -64
  997. package/src/browser/icon-theme-service.ts +217 -217
  998. package/src/browser/icons/CollapseAll.svg +7 -7
  999. package/src/browser/icons/CollapseAll_inverse.svg +7 -7
  1000. package/src/browser/icons/Refresh.svg +7 -7
  1001. package/src/browser/icons/Refresh_inverse.svg +7 -7
  1002. package/src/browser/icons/add-inverse.svg +4 -4
  1003. package/src/browser/icons/add.svg +4 -4
  1004. package/src/browser/icons/arrow-down-bright.svg +6 -6
  1005. package/src/browser/icons/arrow-down-dark.svg +6 -6
  1006. package/src/browser/icons/arrow-up-bright.svg +6 -6
  1007. package/src/browser/icons/arrow-up-dark.svg +6 -6
  1008. package/src/browser/icons/case-sensitive-dark.svg +16 -16
  1009. package/src/browser/icons/case-sensitive.svg +16 -16
  1010. package/src/browser/icons/chevron-right-dark.svg +5 -5
  1011. package/src/browser/icons/chevron-right-light.svg +6 -6
  1012. package/src/browser/icons/circle-bright.svg +7 -7
  1013. package/src/browser/icons/circle-dark.svg +7 -7
  1014. package/src/browser/icons/clear-search-results-dark.svg +7 -7
  1015. package/src/browser/icons/clear-search-results.svg +7 -7
  1016. package/src/browser/icons/close-all-bright.svg +7 -7
  1017. package/src/browser/icons/close-all-dark.svg +7 -7
  1018. package/src/browser/icons/close-bright.svg +7 -7
  1019. package/src/browser/icons/close-dark.svg +7 -7
  1020. package/src/browser/icons/collapse.svg +4 -4
  1021. package/src/browser/icons/edit-json-dark.svg +6 -6
  1022. package/src/browser/icons/edit-json.svg +6 -6
  1023. package/src/browser/icons/expand.svg +4 -4
  1024. package/src/browser/icons/loading-dark.svg +6 -6
  1025. package/src/browser/icons/loading-light.svg +6 -6
  1026. package/src/browser/icons/open-change-bright.svg +3 -3
  1027. package/src/browser/icons/open-change-dark.svg +4 -4
  1028. package/src/browser/icons/open-file-bright.svg +4 -4
  1029. package/src/browser/icons/open-file-dark.svg +4 -4
  1030. package/src/browser/icons/preview-bright.svg +3 -3
  1031. package/src/browser/icons/preview-dark.svg +3 -3
  1032. package/src/browser/icons/regex-dark.svg +10 -10
  1033. package/src/browser/icons/regex.svg +10 -10
  1034. package/src/browser/icons/remove-all-inverse.svg +4 -4
  1035. package/src/browser/icons/remove-all.svg +4 -4
  1036. package/src/browser/icons/replace-all-inverse.svg +13 -13
  1037. package/src/browser/icons/replace-all.svg +13 -13
  1038. package/src/browser/icons/replace-inverse.svg +15 -15
  1039. package/src/browser/icons/replace.svg +15 -15
  1040. package/src/browser/icons/whole-word-dark.svg +19 -19
  1041. package/src/browser/icons/whole-word.svg +19 -19
  1042. package/src/browser/index.ts +47 -47
  1043. package/src/browser/json-schema-store.ts +127 -127
  1044. package/src/browser/keybinding.spec.ts +553 -553
  1045. package/src/browser/keybinding.ts +759 -759
  1046. package/src/browser/keyboard/browser-keyboard-frontend-contribution.ts +108 -108
  1047. package/src/browser/keyboard/browser-keyboard-layout-provider.spec.ts +171 -171
  1048. package/src/browser/keyboard/browser-keyboard-layout-provider.ts +469 -469
  1049. package/src/browser/keyboard/browser-keyboard-module.ts +30 -30
  1050. package/src/browser/keyboard/index.ts +20 -20
  1051. package/src/browser/keyboard/keyboard-layout-service.spec.ts +121 -121
  1052. package/src/browser/keyboard/keyboard-layout-service.ts +455 -455
  1053. package/src/browser/keyboard/keys.spec.ts +258 -258
  1054. package/src/browser/keyboard/keys.ts +20 -20
  1055. package/src/browser/keys.ts +21 -21
  1056. package/src/browser/label-parser.spec.ts +165 -165
  1057. package/src/browser/label-parser.ts +108 -108
  1058. package/src/browser/label-provider.spec.ts +62 -62
  1059. package/src/browser/label-provider.ts +385 -385
  1060. package/src/browser/language-icon-provider.ts +55 -55
  1061. package/src/browser/language-service.ts +77 -77
  1062. package/src/browser/logger-frontend-module.ts +65 -65
  1063. package/src/browser/markdown-rendering/markdown-renderer.ts +98 -98
  1064. package/src/browser/menu/browser-context-menu-renderer.ts +48 -48
  1065. package/src/browser/menu/browser-menu-module.ts +28 -28
  1066. package/src/browser/menu/browser-menu-plugin.ts +484 -484
  1067. package/src/browser/menu/context-menu-context.ts +41 -41
  1068. package/src/browser/messaging/connection-source.ts +26 -26
  1069. package/src/browser/messaging/frontend-id-provider.ts +37 -37
  1070. package/src/browser/messaging/index.ts +17 -17
  1071. package/src/browser/messaging/messaging-frontend-module.ts +41 -41
  1072. package/src/browser/messaging/service-connection-provider.ts +126 -126
  1073. package/src/browser/messaging/ws-connection-provider.ts +48 -48
  1074. package/src/browser/messaging/ws-connection-source.ts +230 -230
  1075. package/src/browser/mime-service.ts +30 -30
  1076. package/src/browser/navigatable-types.ts +81 -81
  1077. package/src/browser/navigatable.ts +39 -39
  1078. package/src/browser/opener-service.spec.ts +49 -49
  1079. package/src/browser/opener-service.ts +146 -146
  1080. package/src/browser/performance/frontend-stopwatch.ts +65 -65
  1081. package/src/browser/performance/index.ts +18 -18
  1082. package/src/browser/performance/measurement-frontend-bindings.ts +31 -31
  1083. package/src/browser/preferences/index.ts +23 -23
  1084. package/src/browser/preferences/injectable-preference-proxy.ts +283 -283
  1085. package/src/browser/preferences/preference-configurations.ts +82 -82
  1086. package/src/browser/preferences/preference-contribution.ts +436 -436
  1087. package/src/browser/preferences/preference-language-override-service.ts +111 -111
  1088. package/src/browser/preferences/preference-provider.spec.ts +36 -36
  1089. package/src/browser/preferences/preference-provider.ts +277 -277
  1090. package/src/browser/preferences/preference-proxy.spec.ts +367 -367
  1091. package/src/browser/preferences/preference-proxy.ts +367 -367
  1092. package/src/browser/preferences/preference-schema-provider.spec.ts +130 -130
  1093. package/src/browser/preferences/preference-scope.ts +18 -18
  1094. package/src/browser/preferences/preference-service.spec.ts +613 -613
  1095. package/src/browser/preferences/preference-service.ts +594 -594
  1096. package/src/browser/preferences/preference-validation-service.spec.ts +334 -334
  1097. package/src/browser/preferences/preference-validation-service.ts +358 -358
  1098. package/src/browser/preferences/test/index.ts +19 -19
  1099. package/src/browser/preferences/test/mock-preference-provider.ts +50 -50
  1100. package/src/browser/preferences/test/mock-preference-proxy.ts +48 -48
  1101. package/src/browser/preferences/test/mock-preference-service.ts +63 -63
  1102. package/src/browser/preload/i18n-preload-contribution.ts +50 -50
  1103. package/src/browser/preload/os-preload-contribution.ts +37 -37
  1104. package/src/browser/preload/preload-module.ts +45 -45
  1105. package/src/browser/preload/preloader.ts +37 -37
  1106. package/src/browser/preload/theme-preload-contribution.ts +31 -31
  1107. package/src/browser/progress-bar-factory.ts +29 -29
  1108. package/src/browser/progress-bar.ts +76 -76
  1109. package/src/browser/progress-client.ts +53 -53
  1110. package/src/browser/progress-location-service.spec.ts +50 -50
  1111. package/src/browser/progress-location-service.ts +96 -96
  1112. package/src/browser/progress-status-bar-item.ts +83 -83
  1113. package/src/browser/quick-input/index.ts +23 -23
  1114. package/src/browser/quick-input/quick-access.ts +75 -75
  1115. package/src/browser/quick-input/quick-command-frontend-contribution.ts +89 -89
  1116. package/src/browser/quick-input/quick-command-service.ts +246 -246
  1117. package/src/browser/quick-input/quick-help-service.ts +87 -87
  1118. package/src/browser/quick-input/quick-input-frontend-contribution.ts +33 -33
  1119. package/src/browser/quick-input/quick-input-service.spec.ts +176 -176
  1120. package/src/browser/quick-input/quick-input-service.ts +17 -17
  1121. package/src/browser/quick-input/quick-pick-service-impl.ts +69 -69
  1122. package/src/browser/quick-input/quick-view-service.ts +83 -83
  1123. package/src/browser/request/browser-request-module.ts +23 -23
  1124. package/src/browser/request/browser-request-service.ts +172 -172
  1125. package/src/browser/resource-context-key.ts +77 -77
  1126. package/src/browser/save-resource-service.ts +60 -60
  1127. package/src/browser/saveable.ts +365 -365
  1128. package/src/browser/secondary-window-handler.ts +211 -211
  1129. package/src/browser/shell/additional-views-menu-widget.tsx +71 -71
  1130. package/src/browser/shell/application-shell-mouse-tracker.ts +103 -103
  1131. package/src/browser/shell/application-shell.ts +2261 -2261
  1132. package/src/browser/shell/current-widget-command-adapter.ts +57 -57
  1133. package/src/browser/shell/index.ts +23 -23
  1134. package/src/browser/shell/shell-layout-restorer.ts +399 -399
  1135. package/src/browser/shell/side-panel-handler.ts +793 -793
  1136. package/src/browser/shell/side-panel-toolbar.ts +111 -111
  1137. package/src/browser/shell/sidebar-bottom-menu-widget.tsx +39 -39
  1138. package/src/browser/shell/sidebar-menu-widget.tsx +140 -140
  1139. package/src/browser/shell/sidebar-top-menu-widget.tsx +26 -26
  1140. package/src/browser/shell/split-panels.ts +190 -190
  1141. package/src/browser/shell/tab-bar-decorator.ts +106 -106
  1142. package/src/browser/shell/tab-bar-toolbar/index.ts +19 -19
  1143. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.ts +31 -31
  1144. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts +256 -256
  1145. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts +207 -207
  1146. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.ts +62 -62
  1147. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +428 -428
  1148. package/src/browser/shell/tab-bars.spec.ts +63 -63
  1149. package/src/browser/shell/tab-bars.ts +1485 -1485
  1150. package/src/browser/shell/theia-dock-panel.ts +255 -255
  1151. package/src/browser/shell/view-contribution.ts +177 -177
  1152. package/src/browser/source-tree/index.ts +19 -19
  1153. package/src/browser/source-tree/source-tree-widget.tsx +107 -107
  1154. package/src/browser/source-tree/source-tree.ts +146 -146
  1155. package/src/browser/source-tree/tree-source.ts +73 -73
  1156. package/src/browser/status-bar/index.ts +29 -29
  1157. package/src/browser/status-bar/status-bar-types.ts +97 -97
  1158. package/src/browser/status-bar/status-bar-view-model.ts +209 -209
  1159. package/src/browser/status-bar/status-bar.tsx +189 -189
  1160. package/src/browser/storage-service.spec.ts +76 -76
  1161. package/src/browser/storage-service.ts +129 -129
  1162. package/src/browser/style/about.css +36 -36
  1163. package/src/browser/style/alert-messages.css +62 -62
  1164. package/src/browser/style/ansi.css +88 -88
  1165. package/src/browser/style/breadcrumbs.css +130 -130
  1166. package/src/browser/style/dialog.css +126 -126
  1167. package/src/browser/style/dockpanel.css +76 -76
  1168. package/src/browser/style/hover-service.css +101 -101
  1169. package/src/browser/style/icons.css +61 -61
  1170. package/src/browser/style/index.css +351 -351
  1171. package/src/browser/style/materialcolors.css +278 -278
  1172. package/src/browser/style/menus.css +230 -230
  1173. package/src/browser/style/notification.css +39 -39
  1174. package/src/browser/style/os.css +87 -87
  1175. package/src/browser/style/progress-bar.css +43 -43
  1176. package/src/browser/style/quick-title-bar.css +45 -45
  1177. package/src/browser/style/scrollbars.css +172 -172
  1178. package/src/browser/style/search-box.css +123 -123
  1179. package/src/browser/style/select-component.css +107 -107
  1180. package/src/browser/style/sidepanel.css +364 -364
  1181. package/src/browser/style/status-bar.css +127 -127
  1182. package/src/browser/style/tabs.css +647 -647
  1183. package/src/browser/style/tooltip.css +28 -28
  1184. package/src/browser/style/tree-decorators.css +81 -81
  1185. package/src/browser/style/tree.css +232 -232
  1186. package/src/browser/style/view-container.css +194 -194
  1187. package/src/browser/style/widget.css +19 -19
  1188. package/src/browser/styling-service.ts +96 -96
  1189. package/src/browser/supported-encodings.ts +262 -262
  1190. package/src/browser/test/jsdom.ts +69 -69
  1191. package/src/browser/test/mock-connection-status-service.ts +33 -33
  1192. package/src/browser/test/mock-env-variables-server.ts +47 -47
  1193. package/src/browser/test/mock-opener-service.ts +34 -34
  1194. package/src/browser/test/mock-storage-service.ts +49 -49
  1195. package/src/browser/theming.ts +206 -206
  1196. package/src/browser/tooltip-service.tsx +96 -96
  1197. package/src/browser/tree/fuzzy-search.spec.ts +99 -99
  1198. package/src/browser/tree/fuzzy-search.ts +136 -136
  1199. package/src/browser/tree/index.ts +29 -29
  1200. package/src/browser/tree/search-box-debounce.ts +96 -96
  1201. package/src/browser/tree/search-box.ts +355 -355
  1202. package/src/browser/tree/test/mock-selectable-tree-model.ts +109 -109
  1203. package/src/browser/tree/test/mock-tree-model.ts +136 -136
  1204. package/src/browser/tree/test/tree-test-container.ts +50 -50
  1205. package/src/browser/tree/tree-compression/compressed-tree-expansion-service.ts +46 -46
  1206. package/src/browser/tree/tree-compression/compressed-tree-model.ts +88 -88
  1207. package/src/browser/tree/tree-compression/compressed-tree-widget.tsx +203 -203
  1208. package/src/browser/tree/tree-compression/index.ts +20 -20
  1209. package/src/browser/tree/tree-compression/tree-compression-service.ts +125 -125
  1210. package/src/browser/tree/tree-compression/tree-compression.css +28 -28
  1211. package/src/browser/tree/tree-consistency.spec.ts +105 -105
  1212. package/src/browser/tree/tree-container.spec.ts +45 -45
  1213. package/src/browser/tree/tree-container.ts +155 -155
  1214. package/src/browser/tree/tree-decorator.spec.ts +162 -162
  1215. package/src/browser/tree/tree-decorator.ts +238 -238
  1216. package/src/browser/tree/tree-expansion.spec.ts +173 -173
  1217. package/src/browser/tree/tree-expansion.ts +165 -165
  1218. package/src/browser/tree/tree-focus-service.ts +55 -55
  1219. package/src/browser/tree/tree-iterator.spec.ts +170 -170
  1220. package/src/browser/tree/tree-iterator.ts +256 -256
  1221. package/src/browser/tree/tree-label-provider.ts +40 -40
  1222. package/src/browser/tree/tree-model.ts +562 -562
  1223. package/src/browser/tree/tree-navigation.ts +58 -58
  1224. package/src/browser/tree/tree-preference.ts +50 -50
  1225. package/src/browser/tree/tree-search.ts +128 -128
  1226. package/src/browser/tree/tree-selectable.spec.ts +152 -152
  1227. package/src/browser/tree/tree-selection-impl.ts +176 -176
  1228. package/src/browser/tree/tree-selection-state.spec.ts +462 -462
  1229. package/src/browser/tree/tree-selection-state.ts +245 -245
  1230. package/src/browser/tree/tree-selection.ts +159 -159
  1231. package/src/browser/tree/tree-view-welcome-widget.tsx +263 -263
  1232. package/src/browser/tree/tree-widget-selection.ts +45 -45
  1233. package/src/browser/tree/tree-widget.tsx +1585 -1585
  1234. package/src/browser/tree/tree.spec.ts +241 -241
  1235. package/src/browser/tree/tree.ts +425 -425
  1236. package/src/browser/user-working-directory-provider.ts +77 -77
  1237. package/src/browser/view-container.ts +1640 -1640
  1238. package/src/browser/widget-decoration.ts +358 -358
  1239. package/src/browser/widget-manager.spec.ts +102 -102
  1240. package/src/browser/widget-manager.ts +310 -310
  1241. package/src/browser/widget-open-handler.ts +165 -165
  1242. package/src/browser/widgets/alert-message.tsx +56 -56
  1243. package/src/browser/widgets/enhanced-preview-widget.ts +27 -27
  1244. package/src/browser/widgets/extractable-widget.ts +33 -33
  1245. package/src/browser/widgets/index.ts +20 -20
  1246. package/src/browser/widgets/previewable-widget.ts +31 -31
  1247. package/src/browser/widgets/react-renderer.tsx +50 -50
  1248. package/src/browser/widgets/react-widget.tsx +51 -51
  1249. package/src/browser/widgets/select-component.tsx +367 -367
  1250. package/src/browser/widgets/widget.ts +406 -406
  1251. package/src/browser/window/browser-window-module.ts +32 -32
  1252. package/src/browser/window/default-secondary-window-service.ts +185 -185
  1253. package/src/browser/window/default-window-service.spec.ts +78 -78
  1254. package/src/browser/window/default-window-service.ts +171 -171
  1255. package/src/browser/window/secondary-window-service.ts +39 -39
  1256. package/src/browser/window/test/mock-window-service.ts +29 -29
  1257. package/src/browser/window/window-service.ts +78 -78
  1258. package/src/browser/window/window-title-service.ts +107 -107
  1259. package/src/browser/window/window-title-updater.ts +95 -95
  1260. package/src/browser/window-contribution.ts +64 -64
  1261. package/src/browser-only/frontend-only-application-module.ts +115 -115
  1262. package/src/browser-only/i18n/i18n-frontend-only-module.ts +37 -37
  1263. package/src/browser-only/logger-frontend-only-module.ts +63 -63
  1264. package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +39 -39
  1265. package/src/browser-only/messaging/messaging-frontend-only-module.ts +42 -42
  1266. package/src/browser-only/preload/frontend-only-preload-module.ts +49 -49
  1267. package/src/common/accessibility.ts +33 -33
  1268. package/src/common/application-error.spec.ts +27 -27
  1269. package/src/common/application-error.ts +76 -76
  1270. package/src/common/application-protocol.ts +41 -41
  1271. package/src/common/array-utils.ts +129 -129
  1272. package/src/common/buffer.ts +228 -228
  1273. package/src/common/cancellation.ts +163 -163
  1274. package/src/common/char-code.ts +438 -438
  1275. package/src/common/collections.ts +125 -125
  1276. package/src/common/color.ts +103 -103
  1277. package/src/common/command.spec.ts +208 -208
  1278. package/src/common/command.ts +485 -485
  1279. package/src/common/contribution-filter/contribution-filter-registry.ts +79 -79
  1280. package/src/common/contribution-filter/contribution-filter.ts +64 -64
  1281. package/src/common/contribution-filter/filter.ts +23 -23
  1282. package/src/common/contribution-filter/index.ts +19 -19
  1283. package/src/common/contribution-provider.ts +96 -96
  1284. package/src/common/disposable.spec.ts +94 -94
  1285. package/src/common/disposable.ts +188 -188
  1286. package/src/common/encoding-service.ts +380 -380
  1287. package/src/common/encodings.ts +24 -24
  1288. package/src/common/env-variables/env-variables-protocol.ts +38 -38
  1289. package/src/common/env-variables/index.ts +17 -17
  1290. package/src/common/event.spec.ts +32 -32
  1291. package/src/common/event.ts +469 -469
  1292. package/src/common/file-uri.ts +61 -61
  1293. package/src/common/frontend-application-state.ts +38 -38
  1294. package/src/common/glob.ts +741 -741
  1295. package/src/common/hash.ts +85 -85
  1296. package/src/common/i18n/localization-server.ts +25 -25
  1297. package/src/common/i18n/localization.ts +80 -80
  1298. package/src/common/i18n/nls.metadata.json +31314 -31314
  1299. package/src/common/index.ts +51 -51
  1300. package/src/common/json-schema.ts +106 -106
  1301. package/src/common/key-store.ts +26 -26
  1302. package/src/common/keybinding.ts +152 -152
  1303. package/src/common/keyboard/keyboard-layout-provider.ts +51 -51
  1304. package/src/common/keys.ts +694 -694
  1305. package/src/common/label-protocol.ts +35 -35
  1306. package/src/common/logger-protocol.ts +119 -119
  1307. package/src/common/logger-watcher.ts +48 -48
  1308. package/src/common/logger.spec.ts +46 -46
  1309. package/src/common/logger.ts +389 -389
  1310. package/src/common/lsp-types.ts +34 -34
  1311. package/src/common/markdown-rendering/icon-utilities.ts +30 -30
  1312. package/src/common/markdown-rendering/index.ts +18 -18
  1313. package/src/common/markdown-rendering/markdown-string.ts +152 -152
  1314. package/src/common/menu/action-menu-node.ts +65 -65
  1315. package/src/common/menu/composite-menu-node.spec.ts +67 -67
  1316. package/src/common/menu/composite-menu-node.ts +114 -114
  1317. package/src/common/menu/index.ts +21 -21
  1318. package/src/common/menu/menu-adapter.ts +103 -103
  1319. package/src/common/menu/menu-model-registry.ts +343 -343
  1320. package/src/common/menu/menu-types.ts +219 -219
  1321. package/src/common/menu/menu.spec.ts +101 -101
  1322. package/src/common/message-rpc/channel.spec.ts +88 -88
  1323. package/src/common/message-rpc/channel.ts +300 -300
  1324. package/src/common/message-rpc/index.ts +22 -22
  1325. package/src/common/message-rpc/message-buffer.ts +105 -105
  1326. package/src/common/message-rpc/msg-pack-extension-manager.ts +70 -70
  1327. package/src/common/message-rpc/rpc-message-encoder.spec.ts +65 -65
  1328. package/src/common/message-rpc/rpc-message-encoder.ts +190 -190
  1329. package/src/common/message-rpc/rpc-protocol.ts +255 -255
  1330. package/src/common/message-rpc/uint8-array-message-buffer.spec.ts +41 -41
  1331. package/src/common/message-rpc/uint8-array-message-buffer.ts +213 -213
  1332. package/src/common/message-service-protocol.ts +148 -148
  1333. package/src/common/message-service.ts +226 -226
  1334. package/src/common/messaging/connection-error-handler.ts +73 -73
  1335. package/src/common/messaging/connection-management.ts +43 -43
  1336. package/src/common/messaging/handler.ts +26 -26
  1337. package/src/common/messaging/index.ts +19 -19
  1338. package/src/common/messaging/proxy-factory.spec.ts +108 -108
  1339. package/src/common/messaging/proxy-factory.ts +336 -336
  1340. package/src/common/messaging/socket-write-buffer.ts +52 -52
  1341. package/src/common/messaging/web-socket-channel.ts +76 -76
  1342. package/src/common/nls.ts +151 -151
  1343. package/src/common/numbers.ts +21 -21
  1344. package/src/common/objects.spec.ts +112 -112
  1345. package/src/common/objects.ts +123 -123
  1346. package/src/common/os.ts +82 -82
  1347. package/src/common/path.spec.ts +415 -415
  1348. package/src/common/path.ts +334 -334
  1349. package/src/common/paths.ts +250 -250
  1350. package/src/common/performance/index.ts +19 -19
  1351. package/src/common/performance/measurement-protocol.ts +104 -104
  1352. package/src/common/performance/measurement.ts +130 -130
  1353. package/src/common/performance/stopwatch.ts +183 -183
  1354. package/src/common/preferences/preference-schema.ts +95 -95
  1355. package/src/common/preferences/preference-scope.spec.ts +48 -48
  1356. package/src/common/preferences/preference-scope.ts +68 -68
  1357. package/src/common/prioritizeable.ts +58 -58
  1358. package/src/common/progress-service-protocol.ts +35 -35
  1359. package/src/common/progress-service.ts +82 -82
  1360. package/src/common/promise-util.spec.ts +102 -102
  1361. package/src/common/promise-util.ts +143 -143
  1362. package/src/common/quick-pick-service.ts +356 -356
  1363. package/src/common/reference.spec.ts +145 -145
  1364. package/src/common/reference.ts +230 -230
  1365. package/src/common/resource.ts +430 -430
  1366. package/src/common/selection-command-handler.ts +101 -101
  1367. package/src/common/selection-service.spec.ts +43 -43
  1368. package/src/common/selection-service.ts +49 -49
  1369. package/src/common/selection.ts +50 -50
  1370. package/src/common/severity.ts +111 -111
  1371. package/src/common/stream.ts +718 -718
  1372. package/src/common/strings.ts +231 -231
  1373. package/src/common/telemetry.ts +45 -45
  1374. package/src/common/ternary-search-tree.ts +417 -417
  1375. package/src/common/test/expect.ts +34 -34
  1376. package/src/common/test/mock-logger.ts +118 -118
  1377. package/src/common/test/mock-menu.ts +35 -35
  1378. package/src/common/test/mock-resource-provider.ts +33 -33
  1379. package/src/common/theme.ts +68 -68
  1380. package/src/common/types.spec.ts +86 -86
  1381. package/src/common/types.ts +140 -140
  1382. package/src/common/uri-command-handler.spec.ts +90 -90
  1383. package/src/common/uri-command-handler.ts +148 -148
  1384. package/src/common/uri.spec.ts +278 -278
  1385. package/src/common/uri.ts +279 -279
  1386. package/src/common/uuid.ts +45 -45
  1387. package/src/common/version.ts +17 -17
  1388. package/src/common/view-column.ts +33 -33
  1389. package/src/common/window.ts +34 -34
  1390. package/src/electron-browser/electron-clipboard-service.ts +32 -32
  1391. package/src/electron-browser/keyboard/electron-keyboard-layout-change-notifier.ts +39 -39
  1392. package/src/electron-browser/keyboard/electron-keyboard-module.ts +28 -28
  1393. package/src/electron-browser/menu/electron-context-menu-renderer.ts +122 -122
  1394. package/src/electron-browser/menu/electron-main-menu-factory.ts +335 -335
  1395. package/src/electron-browser/menu/electron-menu-contribution.ts +506 -506
  1396. package/src/electron-browser/menu/electron-menu-module.ts +40 -40
  1397. package/src/electron-browser/menu/electron-menu-style.css +110 -110
  1398. package/src/electron-browser/messaging/electron-frontend-id-provider.ts +25 -25
  1399. package/src/electron-browser/messaging/electron-ipc-connection-source.ts +65 -65
  1400. package/src/electron-browser/messaging/electron-local-ws-connection-source.ts +45 -45
  1401. package/src/electron-browser/messaging/electron-messaging-frontend-module.ts +78 -78
  1402. package/src/electron-browser/messaging/electron-ws-connection-source.ts +38 -38
  1403. package/src/electron-browser/preload.ts +246 -246
  1404. package/src/electron-browser/request/electron-browser-request-module.ts +26 -26
  1405. package/src/electron-browser/token/electron-token-frontend-module.ts +22 -22
  1406. package/src/electron-browser/window/electron-frontend-application-state.ts +26 -26
  1407. package/src/electron-browser/window/electron-secondary-window-service.ts +35 -35
  1408. package/src/electron-browser/window/electron-window-module.ts +41 -41
  1409. package/src/electron-browser/window/electron-window-preferences.ts +76 -76
  1410. package/src/electron-browser/window/electron-window-service.ts +109 -109
  1411. package/src/electron-common/electron-api.ts +148 -148
  1412. package/src/electron-common/electron-main-window-service.ts +24 -24
  1413. package/src/electron-common/electron-token.ts +27 -27
  1414. package/src/electron-main/electron-api-main.ts +340 -340
  1415. package/src/electron-main/electron-main-application-module.ts +65 -65
  1416. package/src/electron-main/electron-main-application.ts +685 -685
  1417. package/src/electron-main/electron-main-constants.ts +22 -22
  1418. package/src/electron-main/electron-main-window-service-impl.ts +44 -44
  1419. package/src/electron-main/electron-security-token-service.ts +36 -36
  1420. package/src/electron-main/event-utils.ts +36 -36
  1421. package/src/electron-main/messaging/electron-connection-handler.ts +21 -21
  1422. package/src/electron-main/messaging/electron-messaging-contribution.ts +143 -143
  1423. package/src/electron-main/messaging/electron-messaging-service.ts +35 -35
  1424. package/src/electron-main/theia-electron-window.ts +202 -202
  1425. package/src/electron-node/hosting/electron-backend-hosting-module.ts +24 -24
  1426. package/src/electron-node/hosting/electron-ws-origin-validator.ts +37 -37
  1427. package/src/electron-node/keyboard/electron-backend-keyboard-module.ts +30 -30
  1428. package/src/electron-node/keyboard/electron-keyboard-layout-provider.ts +35 -35
  1429. package/src/electron-node/request/electron-backend-request-module.ts +23 -23
  1430. package/src/electron-node/request/electron-backend-request-service.ts +78 -78
  1431. package/src/electron-node/token/electron-token-backend-contribution.ts +48 -48
  1432. package/src/electron-node/token/electron-token-backend-module.ts +28 -28
  1433. package/src/electron-node/token/electron-token-validator.ts +93 -93
  1434. package/src/node/application-server.ts +55 -55
  1435. package/src/node/backend-application-config-provider.spec.ts +29 -29
  1436. package/src/node/backend-application-config-provider.ts +48 -48
  1437. package/src/node/backend-application-module.ts +140 -140
  1438. package/src/node/backend-application.ts +382 -382
  1439. package/src/node/backend-remote-service.ts +25 -25
  1440. package/src/node/cli.spec.ts +94 -94
  1441. package/src/node/cli.ts +63 -63
  1442. package/src/node/console-logger-server.spec.ts +59 -59
  1443. package/src/node/console-logger-server.ts +76 -76
  1444. package/src/node/debug.ts +30 -30
  1445. package/src/node/dynamic-require.ts +56 -56
  1446. package/src/node/env-variables/env-variables-server.ts +120 -120
  1447. package/src/node/env-variables/index.ts +17 -17
  1448. package/src/node/environment-utils.spec.ts +92 -92
  1449. package/src/node/environment-utils.ts +66 -66
  1450. package/src/node/file-uri.spec.ts +76 -76
  1451. package/src/node/filesystem-locking.ts +77 -77
  1452. package/src/node/hosting/backend-application-hosts.ts +60 -60
  1453. package/src/node/hosting/backend-hosting-module.ts +26 -26
  1454. package/src/node/hosting/ws-origin-validator.ts +36 -36
  1455. package/src/node/i18n/i18n-backend-module.ts +42 -42
  1456. package/src/node/i18n/localization-contribution.ts +112 -112
  1457. package/src/node/i18n/localization-provider.ts +125 -125
  1458. package/src/node/i18n/localization-server.ts +52 -52
  1459. package/src/node/i18n/theia-localization-contribution.ts +36 -36
  1460. package/src/node/index.ts +22 -22
  1461. package/src/node/key-store-server.ts +162 -162
  1462. package/src/node/logger-backend-module.ts +88 -88
  1463. package/src/node/logger-cli-contribution.spec.ts +245 -245
  1464. package/src/node/logger-cli-contribution.ts +168 -168
  1465. package/src/node/main.ts +33 -33
  1466. package/src/node/messaging/binary-message-pipe.ts +168 -168
  1467. package/src/node/messaging/connection-container-module.ts +96 -96
  1468. package/src/node/messaging/default-messaging-service.ts +129 -129
  1469. package/src/node/messaging/frontend-connection-service.ts +24 -24
  1470. package/src/node/messaging/index.ts +19 -19
  1471. package/src/node/messaging/ipc-bootstrap.ts +27 -27
  1472. package/src/node/messaging/ipc-channel.ts +77 -77
  1473. package/src/node/messaging/ipc-connection-provider.ts +107 -107
  1474. package/src/node/messaging/ipc-protocol.ts +76 -76
  1475. package/src/node/messaging/messaging-backend-module.ts +52 -52
  1476. package/src/node/messaging/messaging-listeners.ts +52 -52
  1477. package/src/node/messaging/messaging-service.ts +46 -46
  1478. package/src/node/messaging/test/test-web-socket-channel.ts +61 -61
  1479. package/src/node/messaging/websocket-endpoint.ts +79 -79
  1480. package/src/node/messaging/websocket-frontend-connection-service.ts +176 -176
  1481. package/src/node/os-backend-provider.ts +25 -25
  1482. package/src/node/performance/index.ts +18 -18
  1483. package/src/node/performance/measurement-backend-bindings.ts +35 -35
  1484. package/src/node/performance/node-stopwatch.ts +40 -40
  1485. package/src/node/process-utils.spec.ts +48 -48
  1486. package/src/node/process-utils.ts +102 -102
  1487. package/src/node/request/backend-request-facade.ts +39 -39
  1488. package/src/node/request/backend-request-module.ts +25 -25
  1489. package/src/node/request/proxy-cli-contribution.ts +65 -65
  1490. package/src/node/ws-request-validators.ts +56 -56
  1491. package/src/typings/native-keymap.d.ts +108 -108
@@ -1,2339 +1,2339 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2017 TypeFox and others.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.CommonFrontendContribution = exports.CLASSNAME_OS_LINUX = exports.CLASSNAME_OS_WINDOWS = exports.CLASSNAME_OS_MAC = exports.RECENT_COMMANDS_STORAGE_KEY = exports.supportPaste = exports.supportCopy = exports.supportCut = exports.CommonCommands = exports.CommonMenus = void 0;
19
- const tslib_1 = require("tslib");
20
- /* eslint-disable max-len, @typescript-eslint/indent */
21
- const debounce = require("lodash.debounce");
22
- const inversify_1 = require("inversify");
23
- const menu_1 = require("../common/menu");
24
- const command_1 = require("../common/command");
25
- const uri_command_handler_1 = require("../common/uri-command-handler");
26
- const selection_service_1 = require("../common/selection-service");
27
- const message_service_1 = require("../common/message-service");
28
- const opener_service_1 = require("../browser/opener-service");
29
- const application_shell_1 = require("./shell/application-shell");
30
- const tab_bars_1 = require("./shell/tab-bars");
31
- const about_dialog_1 = require("./about-dialog");
32
- const browser = require("./browser");
33
- const uri_1 = require("../common/uri");
34
- const context_key_service_1 = require("./context-key-service");
35
- const os_1 = require("../common/os");
36
- const resource_context_key_1 = require("./resource-context-key");
37
- const selection_1 = require("../common/selection");
38
- const storage_service_1 = require("./storage-service");
39
- const navigatable_1 = require("./navigatable");
40
- const quick_view_service_1 = require("./quick-input/quick-view-service");
41
- const environment_1 = require("@theia/application-package/lib/environment");
42
- const icon_theme_service_1 = require("./icon-theme-service");
43
- const color_1 = require("../common/color");
44
- const core_preferences_1 = require("./core-preferences");
45
- const theming_1 = require("./theming");
46
- const preferences_1 = require("./preferences");
47
- const clipboard_service_1 = require("./clipboard-service");
48
- const encoding_registry_1 = require("./encoding-registry");
49
- const encodings_1 = require("../common/encodings");
50
- const env_variables_1 = require("../common/env-variables");
51
- const authentication_service_1 = require("./authentication-service");
52
- const saveable_1 = require("./saveable");
53
- const quick_input_1 = require("./quick-input");
54
- const localization_1 = require("../common/i18n/localization");
55
- const nls_1 = require("../common/nls");
56
- const current_widget_command_adapter_1 = require("./shell/current-widget-command-adapter");
57
- const dialogs_1 = require("./dialogs");
58
- const window_service_1 = require("./window/window-service");
59
- const frontend_application_config_provider_1 = require("./frontend-application-config-provider");
60
- const decoration_style_1 = require("./decoration-style");
61
- const widgets_1 = require("./widgets");
62
- const save_resource_service_1 = require("./save-resource-service");
63
- const user_working_directory_provider_1 = require("./user-working-directory-provider");
64
- const common_1 = require("../common");
65
- const language_quick_pick_service_1 = require("./i18n/language-quick-pick-service");
66
- var CommonMenus;
67
- (function (CommonMenus) {
68
- CommonMenus.FILE = [...menu_1.MAIN_MENU_BAR, '1_file'];
69
- CommonMenus.FILE_NEW_TEXT = [...CommonMenus.FILE, '1_new_text'];
70
- CommonMenus.FILE_NEW = [...CommonMenus.FILE, '1_new'];
71
- CommonMenus.FILE_OPEN = [...CommonMenus.FILE, '2_open'];
72
- CommonMenus.FILE_SAVE = [...CommonMenus.FILE, '3_save'];
73
- CommonMenus.FILE_AUTOSAVE = [...CommonMenus.FILE, '4_autosave'];
74
- CommonMenus.FILE_SETTINGS = [...CommonMenus.FILE, '5_settings'];
75
- CommonMenus.FILE_SETTINGS_SUBMENU = [...CommonMenus.FILE_SETTINGS, '1_settings_submenu'];
76
- CommonMenus.FILE_SETTINGS_SUBMENU_OPEN = [...CommonMenus.FILE_SETTINGS_SUBMENU, '1_settings_submenu_open'];
77
- CommonMenus.FILE_SETTINGS_SUBMENU_THEME = [...CommonMenus.FILE_SETTINGS_SUBMENU, '2_settings_submenu_theme'];
78
- CommonMenus.FILE_CLOSE = [...CommonMenus.FILE, '6_close'];
79
- CommonMenus.FILE_NEW_CONTRIBUTIONS = 'file/newFile';
80
- CommonMenus.EDIT = [...menu_1.MAIN_MENU_BAR, '2_edit'];
81
- CommonMenus.EDIT_UNDO = [...CommonMenus.EDIT, '1_undo'];
82
- CommonMenus.EDIT_CLIPBOARD = [...CommonMenus.EDIT, '2_clipboard'];
83
- CommonMenus.EDIT_FIND = [...CommonMenus.EDIT, '3_find'];
84
- CommonMenus.VIEW = [...menu_1.MAIN_MENU_BAR, '4_view'];
85
- CommonMenus.VIEW_PRIMARY = [...CommonMenus.VIEW, '0_primary'];
86
- CommonMenus.VIEW_APPEARANCE = [...CommonMenus.VIEW, '1_appearance'];
87
- CommonMenus.VIEW_APPEARANCE_SUBMENU = [...CommonMenus.VIEW_APPEARANCE, '1_appearance_submenu'];
88
- CommonMenus.VIEW_APPEARANCE_SUBMENU_SCREEN = [...CommonMenus.VIEW_APPEARANCE_SUBMENU, '2_appearance_submenu_screen'];
89
- CommonMenus.VIEW_APPEARANCE_SUBMENU_BAR = [...CommonMenus.VIEW_APPEARANCE_SUBMENU, '3_appearance_submenu_bar'];
90
- CommonMenus.VIEW_EDITOR_SUBMENU = [...CommonMenus.VIEW_APPEARANCE, '2_editor_submenu'];
91
- CommonMenus.VIEW_EDITOR_SUBMENU_SPLIT = [...CommonMenus.VIEW_EDITOR_SUBMENU, '1_editor_submenu_split'];
92
- CommonMenus.VIEW_EDITOR_SUBMENU_ORTHO = [...CommonMenus.VIEW_EDITOR_SUBMENU, '2_editor_submenu_ortho'];
93
- CommonMenus.VIEW_VIEWS = [...CommonMenus.VIEW, '2_views'];
94
- CommonMenus.VIEW_LAYOUT = [...CommonMenus.VIEW, '3_layout'];
95
- CommonMenus.VIEW_TOGGLE = [...CommonMenus.VIEW, '4_toggle'];
96
- CommonMenus.MANAGE_GENERAL = [...menu_1.MANAGE_MENU, '1_manage_general'];
97
- CommonMenus.MANAGE_SETTINGS = [...menu_1.MANAGE_MENU, '2_manage_settings'];
98
- CommonMenus.MANAGE_SETTINGS_THEMES = [...CommonMenus.MANAGE_SETTINGS, '1_manage_settings_themes'];
99
- // last menu item
100
- CommonMenus.HELP = [...menu_1.MAIN_MENU_BAR, '9_help'];
101
- })(CommonMenus = exports.CommonMenus || (exports.CommonMenus = {}));
102
- var CommonCommands;
103
- (function (CommonCommands) {
104
- CommonCommands.FILE_CATEGORY = 'File';
105
- CommonCommands.VIEW_CATEGORY = 'View';
106
- CommonCommands.CREATE_CATEGORY = 'Create';
107
- CommonCommands.PREFERENCES_CATEGORY = 'Preferences';
108
- CommonCommands.MANAGE_CATEGORY = 'Manage';
109
- CommonCommands.FILE_CATEGORY_KEY = nls_1.nls.getDefaultKey(CommonCommands.FILE_CATEGORY);
110
- CommonCommands.VIEW_CATEGORY_KEY = nls_1.nls.getDefaultKey(CommonCommands.VIEW_CATEGORY);
111
- CommonCommands.PREFERENCES_CATEGORY_KEY = nls_1.nls.getDefaultKey(CommonCommands.PREFERENCES_CATEGORY);
112
- CommonCommands.OPEN = {
113
- id: 'core.open',
114
- };
115
- CommonCommands.CUT = command_1.Command.toDefaultLocalizedCommand({
116
- id: 'core.cut',
117
- label: 'Cut'
118
- });
119
- CommonCommands.COPY = command_1.Command.toDefaultLocalizedCommand({
120
- id: 'core.copy',
121
- label: 'Copy'
122
- });
123
- CommonCommands.PASTE = command_1.Command.toDefaultLocalizedCommand({
124
- id: 'core.paste',
125
- label: 'Paste'
126
- });
127
- CommonCommands.COPY_PATH = command_1.Command.toDefaultLocalizedCommand({
128
- id: 'core.copy.path',
129
- label: 'Copy Path'
130
- });
131
- CommonCommands.UNDO = command_1.Command.toDefaultLocalizedCommand({
132
- id: 'core.undo',
133
- label: 'Undo'
134
- });
135
- CommonCommands.REDO = command_1.Command.toDefaultLocalizedCommand({
136
- id: 'core.redo',
137
- label: 'Redo'
138
- });
139
- CommonCommands.SELECT_ALL = command_1.Command.toDefaultLocalizedCommand({
140
- id: 'core.selectAll',
141
- label: 'Select All'
142
- });
143
- CommonCommands.FIND = command_1.Command.toDefaultLocalizedCommand({
144
- id: 'core.find',
145
- label: 'Find'
146
- });
147
- CommonCommands.REPLACE = command_1.Command.toDefaultLocalizedCommand({
148
- id: 'core.replace',
149
- label: 'Replace'
150
- });
151
- CommonCommands.NEXT_TAB = command_1.Command.toDefaultLocalizedCommand({
152
- id: 'core.nextTab',
153
- category: CommonCommands.VIEW_CATEGORY,
154
- label: 'Show Next Tab'
155
- });
156
- CommonCommands.PREVIOUS_TAB = command_1.Command.toDefaultLocalizedCommand({
157
- id: 'core.previousTab',
158
- category: CommonCommands.VIEW_CATEGORY,
159
- label: 'Show Previous Tab'
160
- });
161
- CommonCommands.NEXT_TAB_IN_GROUP = command_1.Command.toLocalizedCommand({
162
- id: 'core.nextTabInGroup',
163
- category: CommonCommands.VIEW_CATEGORY,
164
- label: 'Switch to Next Tab in Group'
165
- }, 'theia/core/common/showNextTabInGroup', CommonCommands.VIEW_CATEGORY_KEY);
166
- CommonCommands.PREVIOUS_TAB_IN_GROUP = command_1.Command.toLocalizedCommand({
167
- id: 'core.previousTabInGroup',
168
- category: CommonCommands.VIEW_CATEGORY,
169
- label: 'Switch to Previous Tab in Group'
170
- }, 'theia/core/common/showPreviousTabInGroup', CommonCommands.VIEW_CATEGORY_KEY);
171
- CommonCommands.NEXT_TAB_GROUP = command_1.Command.toLocalizedCommand({
172
- id: 'core.nextTabGroup',
173
- category: CommonCommands.VIEW_CATEGORY,
174
- label: 'Switch to Next Tab Group'
175
- }, 'theia/core/common/showNextTabGroup', CommonCommands.VIEW_CATEGORY_KEY);
176
- CommonCommands.PREVIOUS_TAB_GROUP = command_1.Command.toLocalizedCommand({
177
- id: 'core.previousTabBar',
178
- category: CommonCommands.VIEW_CATEGORY,
179
- label: 'Switch to Previous Tab Group'
180
- }, 'theia/core/common/showPreviousTabGroup', CommonCommands.VIEW_CATEGORY_KEY);
181
- CommonCommands.CLOSE_TAB = command_1.Command.toLocalizedCommand({
182
- id: 'core.close.tab',
183
- category: CommonCommands.VIEW_CATEGORY,
184
- label: 'Close Tab'
185
- }, 'theia/core/common/closeTab', CommonCommands.VIEW_CATEGORY_KEY);
186
- CommonCommands.CLOSE_OTHER_TABS = command_1.Command.toLocalizedCommand({
187
- id: 'core.close.other.tabs',
188
- category: CommonCommands.VIEW_CATEGORY,
189
- label: 'Close Other Tabs'
190
- }, 'theia/core/common/closeOthers', CommonCommands.VIEW_CATEGORY_KEY);
191
- CommonCommands.CLOSE_SAVED_TABS = command_1.Command.toDefaultLocalizedCommand({
192
- id: 'workbench.action.closeUnmodifiedEditors',
193
- category: CommonCommands.VIEW_CATEGORY,
194
- label: 'Close Saved Editors in Group',
195
- });
196
- CommonCommands.CLOSE_RIGHT_TABS = command_1.Command.toLocalizedCommand({
197
- id: 'core.close.right.tabs',
198
- category: CommonCommands.VIEW_CATEGORY,
199
- label: 'Close Tabs to the Right'
200
- }, 'theia/core/common/closeRight', CommonCommands.VIEW_CATEGORY_KEY);
201
- CommonCommands.CLOSE_ALL_TABS = command_1.Command.toLocalizedCommand({
202
- id: 'core.close.all.tabs',
203
- category: CommonCommands.VIEW_CATEGORY,
204
- label: 'Close All Tabs'
205
- }, 'theia/core/common/closeAll', CommonCommands.VIEW_CATEGORY_KEY);
206
- CommonCommands.CLOSE_MAIN_TAB = command_1.Command.toLocalizedCommand({
207
- id: 'core.close.main.tab',
208
- category: CommonCommands.VIEW_CATEGORY,
209
- label: 'Close Tab in Main Area'
210
- }, 'theia/core/common/closeTabMain', CommonCommands.VIEW_CATEGORY_KEY);
211
- CommonCommands.CLOSE_OTHER_MAIN_TABS = command_1.Command.toLocalizedCommand({
212
- id: 'core.close.other.main.tabs',
213
- category: CommonCommands.VIEW_CATEGORY,
214
- label: 'Close Other Tabs in Main Area'
215
- }, 'theia/core/common/closeOtherTabMain', CommonCommands.VIEW_CATEGORY_KEY);
216
- CommonCommands.CLOSE_ALL_MAIN_TABS = command_1.Command.toLocalizedCommand({
217
- id: 'core.close.all.main.tabs',
218
- category: CommonCommands.VIEW_CATEGORY,
219
- label: 'Close All Tabs in Main Area'
220
- }, 'theia/core/common/closeAllTabMain', CommonCommands.VIEW_CATEGORY_KEY);
221
- CommonCommands.COLLAPSE_PANEL = command_1.Command.toLocalizedCommand({
222
- id: 'core.collapse.tab',
223
- category: CommonCommands.VIEW_CATEGORY,
224
- label: 'Collapse Side Panel'
225
- }, 'theia/core/common/collapseTab', CommonCommands.VIEW_CATEGORY_KEY);
226
- CommonCommands.COLLAPSE_ALL_PANELS = command_1.Command.toLocalizedCommand({
227
- id: 'core.collapse.all.tabs',
228
- category: CommonCommands.VIEW_CATEGORY,
229
- label: 'Collapse All Side Panels'
230
- }, 'theia/core/common/collapseAllTabs', CommonCommands.VIEW_CATEGORY_KEY);
231
- CommonCommands.TOGGLE_BOTTOM_PANEL = command_1.Command.toLocalizedCommand({
232
- id: 'core.toggle.bottom.panel',
233
- category: CommonCommands.VIEW_CATEGORY,
234
- label: 'Toggle Bottom Panel'
235
- }, 'theia/core/common/collapseBottomPanel', CommonCommands.VIEW_CATEGORY_KEY);
236
- CommonCommands.TOGGLE_STATUS_BAR = command_1.Command.toDefaultLocalizedCommand({
237
- id: 'workbench.action.toggleStatusbarVisibility',
238
- category: CommonCommands.VIEW_CATEGORY,
239
- label: 'Toggle Status Bar Visibility'
240
- });
241
- CommonCommands.PIN_TAB = command_1.Command.toDefaultLocalizedCommand({
242
- id: 'workbench.action.pinEditor',
243
- category: CommonCommands.VIEW_CATEGORY,
244
- label: 'Pin Editor'
245
- });
246
- CommonCommands.UNPIN_TAB = command_1.Command.toDefaultLocalizedCommand({
247
- id: 'workbench.action.unpinEditor',
248
- category: CommonCommands.VIEW_CATEGORY,
249
- label: 'Unpin Editor'
250
- });
251
- CommonCommands.TOGGLE_MAXIMIZED = command_1.Command.toLocalizedCommand({
252
- id: 'core.toggleMaximized',
253
- category: CommonCommands.VIEW_CATEGORY,
254
- label: 'Toggle Maximized'
255
- }, 'theia/core/common/toggleMaximized', CommonCommands.VIEW_CATEGORY_KEY);
256
- CommonCommands.OPEN_VIEW = command_1.Command.toDefaultLocalizedCommand({
257
- id: 'core.openView',
258
- category: CommonCommands.VIEW_CATEGORY,
259
- label: 'Open View...'
260
- });
261
- CommonCommands.SHOW_MENU_BAR = command_1.Command.toDefaultLocalizedCommand({
262
- id: 'window.menuBarVisibility',
263
- category: CommonCommands.VIEW_CATEGORY,
264
- label: 'Toggle Menu Bar'
265
- });
266
- /**
267
- * Command Parameters:
268
- * - `fileName`: string
269
- * - `directory`: URI
270
- */
271
- CommonCommands.NEW_FILE = command_1.Command.toDefaultLocalizedCommand({
272
- id: 'workbench.action.files.newFile',
273
- category: CommonCommands.FILE_CATEGORY
274
- });
275
- CommonCommands.NEW_UNTITLED_TEXT_FILE = command_1.Command.toDefaultLocalizedCommand({
276
- id: 'workbench.action.files.newUntitledTextFile',
277
- category: CommonCommands.FILE_CATEGORY,
278
- label: 'New Untitled Text File'
279
- });
280
- CommonCommands.NEW_UNTITLED_FILE = command_1.Command.toDefaultLocalizedCommand({
281
- id: 'workbench.action.files.newUntitledFile',
282
- category: CommonCommands.CREATE_CATEGORY,
283
- label: 'New File...'
284
- });
285
- CommonCommands.SAVE = command_1.Command.toDefaultLocalizedCommand({
286
- id: 'core.save',
287
- category: CommonCommands.FILE_CATEGORY,
288
- label: 'Save',
289
- });
290
- CommonCommands.SAVE_AS = command_1.Command.toDefaultLocalizedCommand({
291
- id: 'file.saveAs',
292
- category: CommonCommands.FILE_CATEGORY,
293
- label: 'Save As...',
294
- });
295
- CommonCommands.SAVE_WITHOUT_FORMATTING = command_1.Command.toDefaultLocalizedCommand({
296
- id: 'core.saveWithoutFormatting',
297
- category: CommonCommands.FILE_CATEGORY,
298
- label: 'Save without Formatting',
299
- });
300
- CommonCommands.SAVE_ALL = command_1.Command.toDefaultLocalizedCommand({
301
- id: 'core.saveAll',
302
- category: CommonCommands.FILE_CATEGORY,
303
- label: 'Save All',
304
- });
305
- CommonCommands.AUTO_SAVE = command_1.Command.toDefaultLocalizedCommand({
306
- id: 'textEditor.commands.autosave',
307
- category: CommonCommands.FILE_CATEGORY,
308
- label: 'Auto Save',
309
- });
310
- CommonCommands.ABOUT_COMMAND = command_1.Command.toDefaultLocalizedCommand({
311
- id: 'core.about',
312
- label: 'About'
313
- });
314
- CommonCommands.OPEN_PREFERENCES = command_1.Command.toDefaultLocalizedCommand({
315
- id: 'preferences:open',
316
- category: CommonCommands.PREFERENCES_CATEGORY,
317
- label: 'Open Settings (UI)',
318
- });
319
- CommonCommands.SELECT_COLOR_THEME = command_1.Command.toDefaultLocalizedCommand({
320
- id: 'workbench.action.selectTheme',
321
- label: 'Color Theme',
322
- category: CommonCommands.PREFERENCES_CATEGORY
323
- });
324
- CommonCommands.SELECT_ICON_THEME = command_1.Command.toDefaultLocalizedCommand({
325
- id: 'workbench.action.selectIconTheme',
326
- label: 'File Icon Theme',
327
- category: CommonCommands.PREFERENCES_CATEGORY
328
- });
329
- CommonCommands.CONFIGURE_DISPLAY_LANGUAGE = command_1.Command.toDefaultLocalizedCommand({
330
- id: 'workbench.action.configureLanguage',
331
- label: 'Configure Display Language'
332
- });
333
- CommonCommands.TOGGLE_BREADCRUMBS = command_1.Command.toDefaultLocalizedCommand({
334
- id: 'breadcrumbs.toggle',
335
- label: 'Toggle Breadcrumbs',
336
- category: CommonCommands.VIEW_CATEGORY
337
- });
338
- })(CommonCommands = exports.CommonCommands || (exports.CommonCommands = {}));
339
- exports.supportCut = environment_1.environment.electron.is() || document.queryCommandSupported('cut');
340
- exports.supportCopy = environment_1.environment.electron.is() || document.queryCommandSupported('copy');
341
- // Chrome incorrectly returns true for document.queryCommandSupported('paste')
342
- // when the paste feature is available but the calling script has insufficient
343
- // privileges to actually perform the action
344
- exports.supportPaste = environment_1.environment.electron.is() || (!browser.isChrome && document.queryCommandSupported('paste'));
345
- exports.RECENT_COMMANDS_STORAGE_KEY = 'commands';
346
- exports.CLASSNAME_OS_MAC = 'mac';
347
- exports.CLASSNAME_OS_WINDOWS = 'windows';
348
- exports.CLASSNAME_OS_LINUX = 'linux';
349
- let CommonFrontendContribution = class CommonFrontendContribution {
350
- constructor(shell, selectionService, messageService, openerService, aboutDialog, localizationProvider, saveResourceService) {
351
- this.shell = shell;
352
- this.selectionService = selectionService;
353
- this.messageService = messageService;
354
- this.openerService = openerService;
355
- this.aboutDialog = aboutDialog;
356
- this.localizationProvider = localizationProvider;
357
- this.saveResourceService = saveResourceService;
358
- this.commonDecorationsStyleSheet = decoration_style_1.DecorationStyle.createStyleSheet('coreCommonDecorationsStyle');
359
- this.shouldPreventClose = false;
360
- }
361
- async configure(app) {
362
- // FIXME: This request blocks valuable startup time (~200ms).
363
- const configDirUri = await this.environments.getConfigDirUri();
364
- // Global settings
365
- this.encodingRegistry.registerOverride({
366
- encoding: encodings_1.UTF8,
367
- parent: new uri_1.default(configDirUri)
368
- });
369
- this.contextKeyService.createKey('isLinux', os_1.OS.type() === os_1.OS.Type.Linux);
370
- this.contextKeyService.createKey('isMac', os_1.OS.type() === os_1.OS.Type.OSX);
371
- this.contextKeyService.createKey('isWindows', os_1.OS.type() === os_1.OS.Type.Windows);
372
- this.contextKeyService.createKey('isWeb', !this.isElectron());
373
- this.pinnedKey = this.contextKeyService.createKey('activeEditorIsPinned', false);
374
- this.updatePinnedKey();
375
- this.shell.onDidChangeActiveWidget(() => this.updatePinnedKey());
376
- this.initResourceContextKeys();
377
- this.registerCtrlWHandling();
378
- this.setOsClass();
379
- this.updateStyles();
380
- this.preferences.ready.then(() => this.setSashProperties());
381
- this.preferences.onPreferenceChanged(e => this.handlePreferenceChange(e, app));
382
- app.shell.leftPanelHandler.addBottomMenu({
383
- id: 'settings-menu',
384
- iconClass: 'codicon codicon-settings-gear',
385
- title: nls_1.nls.localizeByDefault(CommonCommands.MANAGE_CATEGORY),
386
- menuPath: menu_1.MANAGE_MENU,
387
- order: 1,
388
- });
389
- const accountsMenu = {
390
- id: 'accounts-menu',
391
- iconClass: 'codicon codicon-person',
392
- title: nls_1.nls.localizeByDefault('Accounts'),
393
- menuPath: menu_1.ACCOUNTS_MENU,
394
- order: 0,
395
- };
396
- this.authenticationService.onDidRegisterAuthenticationProvider(() => {
397
- app.shell.leftPanelHandler.addBottomMenu(accountsMenu);
398
- });
399
- this.authenticationService.onDidUnregisterAuthenticationProvider(() => {
400
- if (this.authenticationService.getProviderIds().length === 0) {
401
- app.shell.leftPanelHandler.removeBottomMenu(accountsMenu.id);
402
- }
403
- });
404
- }
405
- setOsClass() {
406
- if (os_1.isOSX) {
407
- document.body.classList.add(exports.CLASSNAME_OS_MAC);
408
- }
409
- else if (os_1.isWindows) {
410
- document.body.classList.add(exports.CLASSNAME_OS_WINDOWS);
411
- }
412
- else {
413
- document.body.classList.add(exports.CLASSNAME_OS_LINUX);
414
- }
415
- }
416
- updateStyles() {
417
- document.body.classList.remove('theia-editor-highlightModifiedTabs');
418
- if (this.preferences['workbench.editor.highlightModifiedTabs']) {
419
- document.body.classList.add('theia-editor-highlightModifiedTabs');
420
- }
421
- }
422
- updatePinnedKey() {
423
- const activeTab = this.shell.findTabBar();
424
- const pinningTarget = activeTab && this.shell.findTitle(activeTab);
425
- const value = pinningTarget && (0, widgets_1.isPinned)(pinningTarget);
426
- this.pinnedKey.set(value);
427
- }
428
- handlePreferenceChange(e, app) {
429
- switch (e.preferenceName) {
430
- case 'workbench.editor.highlightModifiedTabs': {
431
- this.updateStyles();
432
- break;
433
- }
434
- case 'window.menuBarVisibility': {
435
- const { newValue } = e;
436
- const mainMenuId = 'main-menu';
437
- if (newValue === 'compact') {
438
- this.shell.leftPanelHandler.addTopMenu({
439
- id: mainMenuId,
440
- iconClass: 'codicon codicon-menu',
441
- title: nls_1.nls.localizeByDefault('Application Menu'),
442
- menuPath: menu_1.MAIN_MENU_BAR,
443
- order: 0,
444
- });
445
- }
446
- else {
447
- app.shell.leftPanelHandler.removeTopMenu(mainMenuId);
448
- }
449
- break;
450
- }
451
- case 'workbench.sash.hoverDelay':
452
- case 'workbench.sash.size': {
453
- this.setSashProperties();
454
- break;
455
- }
456
- }
457
- }
458
- setSashProperties() {
459
- const sashRule = `:root {
460
- --theia-sash-hoverDelay: ${this.preferences['workbench.sash.hoverDelay']}ms;
461
- --theia-sash-width: ${this.preferences['workbench.sash.size']}px;
462
- }`;
463
- decoration_style_1.DecorationStyle.deleteStyleRule(':root', this.commonDecorationsStyleSheet);
464
- this.commonDecorationsStyleSheet.insertRule(sashRule);
465
- }
466
- onStart() {
467
- this.storageService.getData(exports.RECENT_COMMANDS_STORAGE_KEY, { recent: [] })
468
- .then(tasks => this.commandRegistry.recent = tasks.recent);
469
- }
470
- onStop() {
471
- const recent = this.commandRegistry.recent;
472
- this.storageService.setData(exports.RECENT_COMMANDS_STORAGE_KEY, { recent });
473
- window.localStorage.setItem(icon_theme_service_1.IconThemeService.STORAGE_KEY, this.iconThemes.current);
474
- window.localStorage.setItem(theming_1.ThemeService.STORAGE_KEY, this.themeService.getCurrentTheme().id);
475
- }
476
- initResourceContextKeys() {
477
- const updateContextKeys = () => {
478
- const selection = this.selectionService.selection;
479
- const resourceUri = navigatable_1.Navigatable.is(selection) && selection.getResourceUri() || selection_1.UriSelection.getUri(selection);
480
- this.resourceContextKey.set(resourceUri);
481
- };
482
- updateContextKeys();
483
- this.selectionService.onSelectionChanged(updateContextKeys);
484
- }
485
- registerMenus(registry) {
486
- registry.registerSubmenu(CommonMenus.FILE, nls_1.nls.localizeByDefault('File'));
487
- registry.registerSubmenu(CommonMenus.EDIT, nls_1.nls.localizeByDefault('Edit'));
488
- registry.registerSubmenu(CommonMenus.VIEW, nls_1.nls.localizeByDefault('View'));
489
- registry.registerSubmenu(CommonMenus.HELP, nls_1.nls.localizeByDefault('Help'));
490
- // For plugins contributing create new file commands/menu-actions
491
- registry.registerIndependentSubmenu(CommonMenus.FILE_NEW_CONTRIBUTIONS, nls_1.nls.localizeByDefault('New File...'));
492
- registry.registerMenuAction(CommonMenus.FILE_SAVE, {
493
- commandId: CommonCommands.SAVE.id
494
- });
495
- registry.registerMenuAction(CommonMenus.FILE_SAVE, {
496
- commandId: CommonCommands.SAVE_ALL.id
497
- });
498
- registry.registerMenuAction(CommonMenus.FILE_AUTOSAVE, {
499
- commandId: CommonCommands.AUTO_SAVE.id
500
- });
501
- registry.registerSubmenu(CommonMenus.FILE_SETTINGS_SUBMENU, nls_1.nls.localizeByDefault(CommonCommands.PREFERENCES_CATEGORY));
502
- registry.registerMenuAction(CommonMenus.EDIT_UNDO, {
503
- commandId: CommonCommands.UNDO.id,
504
- order: '0'
505
- });
506
- registry.registerMenuAction(CommonMenus.EDIT_UNDO, {
507
- commandId: CommonCommands.REDO.id,
508
- order: '1'
509
- });
510
- registry.registerMenuAction(CommonMenus.EDIT_FIND, {
511
- commandId: CommonCommands.FIND.id,
512
- order: '0'
513
- });
514
- registry.registerMenuAction(CommonMenus.EDIT_FIND, {
515
- commandId: CommonCommands.REPLACE.id,
516
- order: '1'
517
- });
518
- registry.registerMenuAction(CommonMenus.EDIT_CLIPBOARD, {
519
- commandId: CommonCommands.CUT.id,
520
- order: '0'
521
- });
522
- registry.registerMenuAction(CommonMenus.EDIT_CLIPBOARD, {
523
- commandId: CommonCommands.COPY.id,
524
- order: '1'
525
- });
526
- registry.registerMenuAction(CommonMenus.EDIT_CLIPBOARD, {
527
- commandId: CommonCommands.PASTE.id,
528
- order: '2'
529
- });
530
- registry.registerMenuAction(CommonMenus.EDIT_CLIPBOARD, {
531
- commandId: CommonCommands.COPY_PATH.id,
532
- order: '3'
533
- });
534
- registry.registerMenuAction(CommonMenus.VIEW_APPEARANCE_SUBMENU_BAR, {
535
- commandId: CommonCommands.TOGGLE_BOTTOM_PANEL.id,
536
- order: '1'
537
- });
538
- registry.registerMenuAction(CommonMenus.VIEW_APPEARANCE_SUBMENU_BAR, {
539
- commandId: CommonCommands.TOGGLE_STATUS_BAR.id,
540
- order: '2',
541
- label: nls_1.nls.localizeByDefault('Toggle Status Bar Visibility')
542
- });
543
- registry.registerMenuAction(CommonMenus.VIEW_APPEARANCE_SUBMENU_BAR, {
544
- commandId: CommonCommands.COLLAPSE_ALL_PANELS.id,
545
- order: '3'
546
- });
547
- registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_CLOSE, {
548
- commandId: CommonCommands.CLOSE_TAB.id,
549
- label: nls_1.nls.localizeByDefault('Close'),
550
- order: '0'
551
- });
552
- registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_CLOSE, {
553
- commandId: CommonCommands.CLOSE_OTHER_TABS.id,
554
- label: nls_1.nls.localizeByDefault('Close Others'),
555
- order: '1'
556
- });
557
- registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_CLOSE, {
558
- commandId: CommonCommands.CLOSE_RIGHT_TABS.id,
559
- label: nls_1.nls.localizeByDefault('Close to the Right'),
560
- order: '2'
561
- });
562
- registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_CLOSE, {
563
- commandId: CommonCommands.CLOSE_SAVED_TABS.id,
564
- label: nls_1.nls.localizeByDefault('Close Saved'),
565
- order: '3',
566
- });
567
- registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_CLOSE, {
568
- commandId: CommonCommands.CLOSE_ALL_TABS.id,
569
- label: nls_1.nls.localizeByDefault('Close All'),
570
- order: '4'
571
- });
572
- registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_SPLIT, {
573
- commandId: CommonCommands.COLLAPSE_PANEL.id,
574
- label: CommonCommands.COLLAPSE_PANEL.label,
575
- order: '5'
576
- });
577
- registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_SPLIT, {
578
- commandId: CommonCommands.TOGGLE_MAXIMIZED.id,
579
- label: CommonCommands.TOGGLE_MAXIMIZED.label,
580
- order: '6'
581
- });
582
- registry.registerMenuAction(CommonMenus.VIEW_APPEARANCE_SUBMENU_SCREEN, {
583
- commandId: CommonCommands.TOGGLE_MAXIMIZED.id,
584
- label: CommonCommands.TOGGLE_MAXIMIZED.label,
585
- order: '6'
586
- });
587
- registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_COPY, {
588
- commandId: CommonCommands.COPY_PATH.id,
589
- label: CommonCommands.COPY_PATH.label,
590
- order: '1',
591
- });
592
- registry.registerMenuAction(CommonMenus.VIEW_APPEARANCE_SUBMENU_BAR, {
593
- commandId: CommonCommands.SHOW_MENU_BAR.id,
594
- label: nls_1.nls.localizeByDefault('Toggle Menu Bar'),
595
- order: '0'
596
- });
597
- registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_PIN, {
598
- commandId: CommonCommands.PIN_TAB.id,
599
- label: nls_1.nls.localizeByDefault('Pin'),
600
- order: '7'
601
- });
602
- registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_PIN, {
603
- commandId: CommonCommands.UNPIN_TAB.id,
604
- label: nls_1.nls.localizeByDefault('Unpin'),
605
- order: '8'
606
- });
607
- registry.registerMenuAction(CommonMenus.HELP, {
608
- commandId: CommonCommands.ABOUT_COMMAND.id,
609
- label: CommonCommands.ABOUT_COMMAND.label,
610
- order: '9'
611
- });
612
- registry.registerMenuAction(CommonMenus.VIEW_PRIMARY, {
613
- commandId: CommonCommands.OPEN_VIEW.id
614
- });
615
- registry.registerMenuAction(CommonMenus.FILE_SETTINGS_SUBMENU_THEME, {
616
- commandId: CommonCommands.SELECT_COLOR_THEME.id
617
- });
618
- registry.registerMenuAction(CommonMenus.FILE_SETTINGS_SUBMENU_THEME, {
619
- commandId: CommonCommands.SELECT_ICON_THEME.id
620
- });
621
- registry.registerSubmenu(CommonMenus.MANAGE_SETTINGS_THEMES, nls_1.nls.localizeByDefault('Themes'), { order: 'a50' });
622
- registry.registerMenuAction(CommonMenus.MANAGE_SETTINGS_THEMES, {
623
- commandId: CommonCommands.SELECT_COLOR_THEME.id,
624
- order: '0'
625
- });
626
- registry.registerMenuAction(CommonMenus.MANAGE_SETTINGS_THEMES, {
627
- commandId: CommonCommands.SELECT_ICON_THEME.id,
628
- order: '1'
629
- });
630
- registry.registerSubmenu(CommonMenus.VIEW_APPEARANCE_SUBMENU, nls_1.nls.localizeByDefault('Appearance'));
631
- registry.registerMenuAction(CommonMenus.FILE_NEW_TEXT, {
632
- commandId: CommonCommands.NEW_UNTITLED_TEXT_FILE.id,
633
- label: nls_1.nls.localizeByDefault('New Text File'),
634
- order: 'a'
635
- });
636
- registry.registerMenuAction(CommonMenus.FILE_NEW_TEXT, {
637
- commandId: CommonCommands.NEW_UNTITLED_FILE.id,
638
- label: nls_1.nls.localizeByDefault('New File...'),
639
- order: 'a1'
640
- });
641
- }
642
- registerCommands(commandRegistry) {
643
- commandRegistry.registerCommand(CommonCommands.OPEN, uri_command_handler_1.UriAwareCommandHandler.MultiSelect(this.selectionService, {
644
- execute: uris => uris.map(uri => (0, opener_service_1.open)(this.openerService, uri)),
645
- }));
646
- commandRegistry.registerCommand(CommonCommands.CUT, {
647
- execute: () => {
648
- if (exports.supportCut) {
649
- document.execCommand('cut');
650
- }
651
- else {
652
- this.messageService.warn(nls_1.nls.localize('theia/core/cutWarn', "Please use the browser's cut command or shortcut."));
653
- }
654
- }
655
- });
656
- commandRegistry.registerCommand(CommonCommands.COPY, {
657
- execute: () => {
658
- if (exports.supportCopy) {
659
- document.execCommand('copy');
660
- }
661
- else {
662
- this.messageService.warn(nls_1.nls.localize('theia/core/copyWarn', "Please use the browser's copy command or shortcut."));
663
- }
664
- }
665
- });
666
- commandRegistry.registerCommand(CommonCommands.PASTE, {
667
- execute: () => {
668
- if (exports.supportPaste) {
669
- document.execCommand('paste');
670
- }
671
- else {
672
- this.messageService.warn(nls_1.nls.localize('theia/core/pasteWarn', "Please use the browser's paste command or shortcut."));
673
- }
674
- }
675
- });
676
- commandRegistry.registerCommand(CommonCommands.COPY_PATH, uri_command_handler_1.UriAwareCommandHandler.MultiSelect(this.selectionService, {
677
- isVisible: uris => Array.isArray(uris) && uris.some(uri => uri instanceof uri_1.default),
678
- isEnabled: uris => Array.isArray(uris) && uris.some(uri => uri instanceof uri_1.default),
679
- execute: async (uris) => {
680
- if (uris.length) {
681
- const lineDelimiter = os_1.EOL;
682
- const text = uris.map(resource => resource.path.fsPath()).join(lineDelimiter);
683
- await this.clipboardService.writeText(text);
684
- }
685
- else {
686
- await this.messageService.info(nls_1.nls.localize('theia/core/copyInfo', 'Open a file first to copy its path'));
687
- }
688
- }
689
- }));
690
- commandRegistry.registerCommand(CommonCommands.UNDO, {
691
- execute: () => document.execCommand('undo')
692
- });
693
- commandRegistry.registerCommand(CommonCommands.REDO, {
694
- execute: () => document.execCommand('redo')
695
- });
696
- commandRegistry.registerCommand(CommonCommands.SELECT_ALL, {
697
- execute: () => document.execCommand('selectAll')
698
- });
699
- commandRegistry.registerCommand(CommonCommands.FIND, {
700
- execute: () => { }
701
- });
702
- commandRegistry.registerCommand(CommonCommands.REPLACE, {
703
- execute: () => { }
704
- });
705
- commandRegistry.registerCommand(CommonCommands.NEXT_TAB, {
706
- isEnabled: () => this.shell.currentTabBar !== undefined,
707
- execute: () => this.shell.activateNextTab()
708
- });
709
- commandRegistry.registerCommand(CommonCommands.PREVIOUS_TAB, {
710
- isEnabled: () => this.shell.currentTabBar !== undefined,
711
- execute: () => this.shell.activatePreviousTab()
712
- });
713
- commandRegistry.registerCommand(CommonCommands.NEXT_TAB_IN_GROUP, {
714
- isEnabled: () => this.shell.nextTabIndexInTabBar() !== -1,
715
- execute: () => this.shell.activateNextTabInTabBar()
716
- });
717
- commandRegistry.registerCommand(CommonCommands.PREVIOUS_TAB_IN_GROUP, {
718
- isEnabled: () => this.shell.previousTabIndexInTabBar() !== -1,
719
- execute: () => this.shell.activatePreviousTabInTabBar()
720
- });
721
- commandRegistry.registerCommand(CommonCommands.NEXT_TAB_GROUP, {
722
- isEnabled: () => this.shell.nextTabBar() !== undefined,
723
- execute: () => this.shell.activateNextTabBar()
724
- });
725
- commandRegistry.registerCommand(CommonCommands.PREVIOUS_TAB_GROUP, {
726
- isEnabled: () => this.shell.previousTabBar() !== undefined,
727
- execute: () => this.shell.activatePreviousTabBar()
728
- });
729
- commandRegistry.registerCommand(CommonCommands.CLOSE_TAB, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
730
- isEnabled: title => Boolean(title === null || title === void 0 ? void 0 : title.closable),
731
- execute: (title, tabBar) => tabBar && this.shell.closeTabs(tabBar, candidate => candidate === title),
732
- }));
733
- commandRegistry.registerCommand(CommonCommands.CLOSE_OTHER_TABS, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
734
- isEnabled: (title, tabbar) => Boolean(tabbar === null || tabbar === void 0 ? void 0 : tabbar.titles.some(candidate => candidate !== title && candidate.closable)),
735
- execute: (title, tabbar) => tabbar && this.shell.closeTabs(tabbar, candidate => candidate !== title && candidate.closable),
736
- }));
737
- commandRegistry.registerCommand(CommonCommands.CLOSE_SAVED_TABS, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
738
- isEnabled: (_title, tabbar) => Boolean(tabbar === null || tabbar === void 0 ? void 0 : tabbar.titles.some(candidate => candidate.closable && !saveable_1.Saveable.isDirty(candidate.owner))),
739
- execute: (_title, tabbar) => tabbar && this.shell.closeTabs(tabbar, candidate => candidate.closable && !saveable_1.Saveable.isDirty(candidate.owner)),
740
- }));
741
- commandRegistry.registerCommand(CommonCommands.CLOSE_RIGHT_TABS, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
742
- isEnabled: (title, tabbar) => {
743
- let targetSeen = false;
744
- return Boolean(tabbar === null || tabbar === void 0 ? void 0 : tabbar.titles.some(candidate => {
745
- if (targetSeen && candidate.closable) {
746
- return true;
747
- }
748
- ;
749
- if (candidate === title) {
750
- targetSeen = true;
751
- }
752
- ;
753
- }));
754
- },
755
- isVisible: (_title, tabbar) => {
756
- var _a;
757
- const area = (_a = (tabbar && this.shell.getAreaFor(tabbar))) !== null && _a !== void 0 ? _a : this.shell.currentTabArea;
758
- return area !== undefined && area !== 'left' && area !== 'right';
759
- },
760
- execute: (title, tabbar) => {
761
- if (tabbar) {
762
- let targetSeen = false;
763
- this.shell.closeTabs(tabbar, candidate => {
764
- if (targetSeen && candidate.closable) {
765
- return true;
766
- }
767
- ;
768
- if (candidate === title) {
769
- targetSeen = true;
770
- }
771
- ;
772
- return false;
773
- });
774
- }
775
- }
776
- }));
777
- commandRegistry.registerCommand(CommonCommands.CLOSE_ALL_TABS, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
778
- isEnabled: (_title, tabbar) => Boolean(tabbar === null || tabbar === void 0 ? void 0 : tabbar.titles.some(title => title.closable)),
779
- execute: (_title, tabbar) => tabbar && this.shell.closeTabs(tabbar, candidate => candidate.closable),
780
- }));
781
- commandRegistry.registerCommand(CommonCommands.CLOSE_MAIN_TAB, {
782
- isEnabled: () => {
783
- const currentWidget = this.shell.getCurrentWidget('main');
784
- return currentWidget !== undefined && currentWidget.title.closable;
785
- },
786
- execute: () => this.shell.getCurrentWidget('main').close()
787
- });
788
- commandRegistry.registerCommand(CommonCommands.CLOSE_OTHER_MAIN_TABS, {
789
- isEnabled: () => {
790
- const currentWidget = this.shell.getCurrentWidget('main');
791
- return currentWidget !== undefined &&
792
- this.shell.mainAreaTabBars.some(tb => tb.titles.some(title => title.owner !== currentWidget && title.closable));
793
- },
794
- execute: () => {
795
- const currentWidget = this.shell.getCurrentWidget('main');
796
- this.shell.closeTabs('main', title => title.owner !== currentWidget && title.closable);
797
- }
798
- });
799
- commandRegistry.registerCommand(CommonCommands.CLOSE_ALL_MAIN_TABS, {
800
- isEnabled: () => this.shell.mainAreaTabBars.some(tb => tb.titles.some(title => title.closable)),
801
- execute: () => this.shell.closeTabs('main', title => title.closable)
802
- });
803
- commandRegistry.registerCommand(CommonCommands.COLLAPSE_PANEL, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
804
- isEnabled: (_title, tabbar) => Boolean(tabbar && application_shell_1.ApplicationShell.isSideArea(this.shell.getAreaFor(tabbar))),
805
- isVisible: (_title, tabbar) => Boolean(tabbar && application_shell_1.ApplicationShell.isSideArea(this.shell.getAreaFor(tabbar))),
806
- execute: (_title, tabbar) => tabbar && this.shell.collapsePanel(this.shell.getAreaFor(tabbar))
807
- }));
808
- commandRegistry.registerCommand(CommonCommands.COLLAPSE_ALL_PANELS, {
809
- execute: () => {
810
- this.shell.collapsePanel('left');
811
- this.shell.collapsePanel('right');
812
- this.shell.collapsePanel('bottom');
813
- }
814
- });
815
- commandRegistry.registerCommand(CommonCommands.TOGGLE_BOTTOM_PANEL, {
816
- isEnabled: () => this.shell.getWidgets('bottom').length > 0,
817
- execute: () => {
818
- if (this.shell.isExpanded('bottom')) {
819
- this.shell.collapsePanel('bottom');
820
- }
821
- else {
822
- this.shell.expandPanel('bottom');
823
- }
824
- }
825
- });
826
- commandRegistry.registerCommand(CommonCommands.TOGGLE_STATUS_BAR, {
827
- execute: () => this.preferenceService.updateValue('workbench.statusBar.visible', !this.preferences['workbench.statusBar.visible'])
828
- });
829
- commandRegistry.registerCommand(CommonCommands.TOGGLE_MAXIMIZED, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
830
- isEnabled: title => Boolean((title === null || title === void 0 ? void 0 : title.owner) && this.shell.canToggleMaximized(title === null || title === void 0 ? void 0 : title.owner)),
831
- isVisible: title => Boolean((title === null || title === void 0 ? void 0 : title.owner) && this.shell.canToggleMaximized(title === null || title === void 0 ? void 0 : title.owner)),
832
- execute: title => (title === null || title === void 0 ? void 0 : title.owner) && this.shell.toggleMaximized(title === null || title === void 0 ? void 0 : title.owner),
833
- }));
834
- commandRegistry.registerCommand(CommonCommands.SHOW_MENU_BAR, {
835
- isEnabled: () => !os_1.isOSX,
836
- isVisible: () => !os_1.isOSX,
837
- execute: () => {
838
- const menuBarVisibility = 'window.menuBarVisibility';
839
- const visibility = this.preferences[menuBarVisibility];
840
- if (visibility !== 'compact') {
841
- this.preferenceService.updateValue(menuBarVisibility, 'compact');
842
- }
843
- else {
844
- this.preferenceService.updateValue(menuBarVisibility, 'classic');
845
- }
846
- }
847
- });
848
- commandRegistry.registerCommand(CommonCommands.SAVE, {
849
- execute: () => this.save({ formatType: 1 /* ON */ })
850
- });
851
- commandRegistry.registerCommand(CommonCommands.SAVE_AS, {
852
- isEnabled: () => this.saveResourceService.canSaveAs(this.shell.currentWidget),
853
- execute: () => {
854
- const { currentWidget } = this.shell;
855
- // No clue what could have happened between `isEnabled` and `execute`
856
- // when fetching currentWidget, so better to double-check:
857
- if (this.saveResourceService.canSaveAs(currentWidget)) {
858
- this.saveResourceService.saveAs(currentWidget);
859
- }
860
- else {
861
- this.messageService.error(nls_1.nls.localize('theia/workspace/failSaveAs', 'Cannot run "{0}" for the current widget.', CommonCommands.SAVE_AS.label));
862
- }
863
- },
864
- });
865
- commandRegistry.registerCommand(CommonCommands.SAVE_WITHOUT_FORMATTING, {
866
- execute: () => this.save({ formatType: 2 /* OFF */ })
867
- });
868
- commandRegistry.registerCommand(CommonCommands.SAVE_ALL, {
869
- execute: () => this.shell.saveAll({ formatType: 3 /* DIRTY */ })
870
- });
871
- commandRegistry.registerCommand(CommonCommands.ABOUT_COMMAND, {
872
- execute: () => this.openAbout()
873
- });
874
- commandRegistry.registerCommand(CommonCommands.OPEN_VIEW, {
875
- execute: () => { var _a; return (_a = this.quickInputService) === null || _a === void 0 ? void 0 : _a.open(quick_view_service_1.QuickViewService.PREFIX); }
876
- });
877
- commandRegistry.registerCommand(CommonCommands.SELECT_COLOR_THEME, {
878
- execute: () => this.selectColorTheme()
879
- });
880
- commandRegistry.registerCommand(CommonCommands.SELECT_ICON_THEME, {
881
- execute: () => this.selectIconTheme()
882
- });
883
- commandRegistry.registerCommand(CommonCommands.PIN_TAB, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
884
- isEnabled: title => Boolean(title && !(0, widgets_1.isPinned)(title)),
885
- execute: title => this.togglePinned(title),
886
- }));
887
- commandRegistry.registerCommand(CommonCommands.UNPIN_TAB, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
888
- isEnabled: title => Boolean(title && (0, widgets_1.isPinned)(title)),
889
- execute: title => this.togglePinned(title),
890
- }));
891
- commandRegistry.registerCommand(CommonCommands.CONFIGURE_DISPLAY_LANGUAGE, {
892
- execute: () => this.configureDisplayLanguage()
893
- });
894
- commandRegistry.registerCommand(CommonCommands.TOGGLE_BREADCRUMBS, {
895
- execute: () => this.toggleBreadcrumbs(),
896
- isToggled: () => this.isBreadcrumbsEnabled(),
897
- });
898
- commandRegistry.registerCommand(CommonCommands.NEW_UNTITLED_TEXT_FILE, {
899
- execute: async () => {
900
- const untitledUri = this.untitledResourceResolver.createUntitledURI('', await this.workingDirProvider.getUserWorkingDir());
901
- this.untitledResourceResolver.resolve(untitledUri);
902
- return (0, opener_service_1.open)(this.openerService, untitledUri);
903
- }
904
- });
905
- commandRegistry.registerCommand(CommonCommands.NEW_UNTITLED_FILE, {
906
- execute: async () => this.showNewFilePicker()
907
- });
908
- for (const [index, ordinal] of this.getOrdinalNumbers().entries()) {
909
- commandRegistry.registerCommand({ id: `workbench.action.focus${ordinal}EditorGroup`, label: index === 0 ? nls_1.nls.localizeByDefault('Focus First Editor Group') : '', category: nls_1.nls.localize(CommonCommands.VIEW_CATEGORY_KEY, CommonCommands.VIEW_CATEGORY) }, {
910
- isEnabled: () => this.shell.mainAreaTabBars.length > index,
911
- execute: () => {
912
- var _a, _b;
913
- const widget = (_b = (_a = this.shell.mainAreaTabBars[index]) === null || _a === void 0 ? void 0 : _a.currentTitle) === null || _b === void 0 ? void 0 : _b.owner;
914
- if (widget) {
915
- this.shell.activateWidget(widget.id);
916
- }
917
- }
918
- });
919
- }
920
- }
921
- getOrdinalNumbers() {
922
- return ['First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth', 'Seventh', 'Eighth', 'Ninth'];
923
- }
924
- isElectron() {
925
- return environment_1.environment.electron.is();
926
- }
927
- togglePinned(title) {
928
- if (title) {
929
- (0, widgets_1.togglePinned)(title);
930
- this.updatePinnedKey();
931
- }
932
- }
933
- registerKeybindings(registry) {
934
- if (exports.supportCut) {
935
- registry.registerKeybinding({
936
- command: CommonCommands.CUT.id,
937
- keybinding: 'ctrlcmd+x'
938
- });
939
- }
940
- if (exports.supportCopy) {
941
- registry.registerKeybinding({
942
- command: CommonCommands.COPY.id,
943
- keybinding: 'ctrlcmd+c'
944
- });
945
- }
946
- if (exports.supportPaste) {
947
- registry.registerKeybinding({
948
- command: CommonCommands.PASTE.id,
949
- keybinding: 'ctrlcmd+v'
950
- });
951
- }
952
- registry.registerKeybinding({
953
- command: CommonCommands.COPY_PATH.id,
954
- keybinding: os_1.isWindows ? 'shift+alt+c' : 'ctrlcmd+alt+c',
955
- when: '!editorFocus'
956
- });
957
- registry.registerKeybindings(
958
- // Edition
959
- {
960
- command: CommonCommands.UNDO.id,
961
- keybinding: 'ctrlcmd+z'
962
- }, {
963
- command: CommonCommands.REDO.id,
964
- keybinding: 'ctrlcmd+shift+z'
965
- }, {
966
- command: CommonCommands.SELECT_ALL.id,
967
- keybinding: 'ctrlcmd+a'
968
- }, {
969
- command: CommonCommands.FIND.id,
970
- keybinding: 'ctrlcmd+f'
971
- }, {
972
- command: CommonCommands.REPLACE.id,
973
- keybinding: 'ctrlcmd+alt+f'
974
- },
975
- // Tabs
976
- {
977
- command: CommonCommands.NEXT_TAB.id,
978
- keybinding: 'ctrlcmd+tab'
979
- }, {
980
- command: CommonCommands.NEXT_TAB.id,
981
- keybinding: 'ctrlcmd+alt+d'
982
- }, {
983
- command: CommonCommands.PREVIOUS_TAB.id,
984
- keybinding: 'ctrlcmd+shift+tab'
985
- }, {
986
- command: CommonCommands.PREVIOUS_TAB.id,
987
- keybinding: 'ctrlcmd+alt+a'
988
- }, {
989
- command: CommonCommands.CLOSE_MAIN_TAB.id,
990
- keybinding: this.isElectron() ? (os_1.isWindows ? 'ctrl+f4' : 'ctrlcmd+w') : 'alt+w'
991
- }, {
992
- command: CommonCommands.CLOSE_OTHER_MAIN_TABS.id,
993
- keybinding: 'ctrlcmd+alt+t'
994
- }, {
995
- command: CommonCommands.CLOSE_ALL_MAIN_TABS.id,
996
- keybinding: this.isElectron() ? 'ctrlCmd+k ctrlCmd+w' : 'alt+shift+w'
997
- },
998
- // Panels
999
- {
1000
- command: CommonCommands.COLLAPSE_PANEL.id,
1001
- keybinding: 'alt+c'
1002
- }, {
1003
- command: CommonCommands.TOGGLE_BOTTOM_PANEL.id,
1004
- keybinding: 'ctrlcmd+j',
1005
- }, {
1006
- command: CommonCommands.COLLAPSE_ALL_PANELS.id,
1007
- keybinding: 'alt+shift+c',
1008
- }, {
1009
- command: CommonCommands.TOGGLE_MAXIMIZED.id,
1010
- keybinding: 'alt+m',
1011
- },
1012
- // Saving
1013
- {
1014
- command: CommonCommands.SAVE.id,
1015
- keybinding: 'ctrlcmd+s'
1016
- }, {
1017
- command: CommonCommands.SAVE_WITHOUT_FORMATTING.id,
1018
- keybinding: 'ctrlcmd+k s'
1019
- }, {
1020
- command: CommonCommands.SAVE_ALL.id,
1021
- keybinding: 'ctrlcmd+alt+s'
1022
- },
1023
- // Theming
1024
- {
1025
- command: CommonCommands.SELECT_COLOR_THEME.id,
1026
- keybinding: 'ctrlcmd+k ctrlcmd+t'
1027
- }, {
1028
- command: CommonCommands.PIN_TAB.id,
1029
- keybinding: 'ctrlcmd+k shift+enter',
1030
- when: '!activeEditorIsPinned'
1031
- }, {
1032
- command: CommonCommands.UNPIN_TAB.id,
1033
- keybinding: 'ctrlcmd+k shift+enter',
1034
- when: 'activeEditorIsPinned'
1035
- }, {
1036
- command: CommonCommands.NEW_UNTITLED_TEXT_FILE.id,
1037
- keybinding: this.isElectron() ? 'ctrlcmd+n' : 'alt+n',
1038
- }, {
1039
- command: CommonCommands.NEW_UNTITLED_FILE.id,
1040
- keybinding: 'ctrlcmd+alt+n'
1041
- });
1042
- for (const [index, ordinal] of this.getOrdinalNumbers().entries()) {
1043
- registry.registerKeybinding({
1044
- command: `workbench.action.focus${ordinal}EditorGroup`,
1045
- keybinding: `ctrlcmd+${(index + 1) % 10}`,
1046
- });
1047
- }
1048
- }
1049
- async save(options) {
1050
- const widget = this.shell.currentWidget;
1051
- this.saveResourceService.save(widget, options);
1052
- }
1053
- async openAbout() {
1054
- this.aboutDialog.open();
1055
- }
1056
- /**
1057
- * registers event listener which make sure that
1058
- * window doesn't get closed if CMD/CTRL W is pressed.
1059
- * Too many users have that in their muscle memory.
1060
- * Chrome doesn't let us rebind or prevent default the keybinding, so this
1061
- * at least doesn't close the window immediately.
1062
- */
1063
- registerCtrlWHandling() {
1064
- function isCtrlCmd(event) {
1065
- return (os_1.isOSX && event.metaKey) || (!os_1.isOSX && event.ctrlKey);
1066
- }
1067
- window.document.addEventListener('keydown', event => {
1068
- this.shouldPreventClose = isCtrlCmd(event) && event.code === 'KeyW';
1069
- });
1070
- window.document.addEventListener('keyup', () => {
1071
- this.shouldPreventClose = false;
1072
- });
1073
- }
1074
- onWillStop() {
1075
- if (this.shouldPreventClose || this.shell.canSaveAll()) {
1076
- return {
1077
- reason: 'Dirty editors present',
1078
- action: async () => {
1079
- const captionsToSave = this.unsavedTabsCaptions();
1080
- const untitledCaptionsToSave = this.unsavedUntitledTabsCaptions();
1081
- const shouldExit = await this.confirmExitWithOrWithoutSaving(captionsToSave, async () => {
1082
- await this.saveDirty(untitledCaptionsToSave);
1083
- await this.shell.saveAll();
1084
- });
1085
- const allSavedOrDoNotSave = (shouldExit === true && untitledCaptionsToSave.length === 0 // Should save and cancel if any captions failed to save
1086
- ) || shouldExit === false; // Do not save
1087
- this.shouldPreventClose = !allSavedOrDoNotSave;
1088
- return allSavedOrDoNotSave;
1089
- }
1090
- };
1091
- }
1092
- }
1093
- // Asks the user to confirm whether they want to exit with or without saving the changes
1094
- async confirmExitWithOrWithoutSaving(captionsToSave, performSave) {
1095
- const div = document.createElement('div');
1096
- div.innerText = nls_1.nls.localizeByDefault("Your changes will be lost if you don't save them.");
1097
- let result;
1098
- if (captionsToSave.length > 0) {
1099
- const span = document.createElement('span');
1100
- span.appendChild(document.createElement('br'));
1101
- captionsToSave.forEach(cap => {
1102
- const b = document.createElement('b');
1103
- b.innerText = cap;
1104
- span.appendChild(b);
1105
- span.appendChild(document.createElement('br'));
1106
- });
1107
- span.appendChild(document.createElement('br'));
1108
- div.appendChild(span);
1109
- result = await new dialogs_1.ConfirmSaveDialog({
1110
- title: nls_1.nls.localizeByDefault('Do you want to save the changes to the following {0} files?', captionsToSave.length),
1111
- msg: div,
1112
- dontSave: nls_1.nls.localizeByDefault("Don't Save"),
1113
- save: nls_1.nls.localizeByDefault('Save All'),
1114
- cancel: dialogs_1.Dialog.CANCEL
1115
- }).open();
1116
- if (result) {
1117
- await performSave();
1118
- }
1119
- }
1120
- else {
1121
- // fallback if not passed with an empty caption-list.
1122
- result = (0, dialogs_1.confirmExit)();
1123
- }
1124
- if (result !== undefined) {
1125
- return result === true;
1126
- }
1127
- else {
1128
- return undefined;
1129
- }
1130
- ;
1131
- }
1132
- unsavedTabsCaptions() {
1133
- return this.shell.widgets
1134
- .filter(widget => this.saveResourceService.canSave(widget))
1135
- .map(widget => widget.title.label);
1136
- }
1137
- unsavedUntitledTabsCaptions() {
1138
- return this.shell.widgets.filter(widget => { var _a; return ((_a = navigatable_1.NavigatableWidget.getUri(widget)) === null || _a === void 0 ? void 0 : _a.scheme) === common_1.UNTITLED_SCHEME && this.saveResourceService.canSaveAs(widget); });
1139
- }
1140
- async configureDisplayLanguage() {
1141
- var _a, _b;
1142
- const languageInfo = await this.languageQuickPickService.pickDisplayLanguage();
1143
- if (languageInfo && !nls_1.nls.isSelectedLocale(languageInfo.languageId) && await this.confirmRestart((_b = (_a = languageInfo.localizedLanguageName) !== null && _a !== void 0 ? _a : languageInfo.languageName) !== null && _b !== void 0 ? _b : languageInfo.languageId)) {
1144
- nls_1.nls.setLocale(languageInfo.languageId);
1145
- this.windowService.setSafeToShutDown();
1146
- this.windowService.reload();
1147
- }
1148
- }
1149
- /**
1150
- * saves any dirty widget in toSave
1151
- * side effect - will pop all widgets from toSave that was saved
1152
- * @param toSave
1153
- */
1154
- async saveDirty(toSave) {
1155
- for (const widget of toSave) {
1156
- const saveable = saveable_1.Saveable.get(widget);
1157
- if (saveable === null || saveable === void 0 ? void 0 : saveable.dirty) {
1158
- await this.saveResourceService.save(widget);
1159
- if (!this.saveResourceService.canSave(widget)) {
1160
- toSave.pop();
1161
- }
1162
- }
1163
- }
1164
- }
1165
- toggleBreadcrumbs() {
1166
- const value = this.preferenceService.get('breadcrumbs.enabled');
1167
- this.preferenceService.set('breadcrumbs.enabled', !value, preferences_1.PreferenceScope.User);
1168
- }
1169
- isBreadcrumbsEnabled() {
1170
- return !!this.preferenceService.get('breadcrumbs.enabled');
1171
- }
1172
- async confirmRestart(languageName) {
1173
- const appName = frontend_application_config_provider_1.FrontendApplicationConfigProvider.get().applicationName;
1174
- const shouldRestart = await new dialogs_1.ConfirmDialog({
1175
- title: nls_1.nls.localizeByDefault('Restart {0} to switch to {1}?', appName, languageName),
1176
- msg: nls_1.nls.localizeByDefault('To change the display language to {0}, {1} needs to restart.', languageName, appName),
1177
- ok: nls_1.nls.localizeByDefault('Restart'),
1178
- cancel: dialogs_1.Dialog.CANCEL,
1179
- }).open();
1180
- return shouldRestart === true;
1181
- }
1182
- selectIconTheme() {
1183
- var _a;
1184
- let resetTo = this.iconThemes.getCurrent();
1185
- const setTheme = (id, persist) => {
1186
- const theme = this.iconThemes.getDefinition(id);
1187
- if (theme) {
1188
- this.iconThemes.setCurrent(theme, persist);
1189
- }
1190
- };
1191
- const previewTheme = debounce(setTheme, 200);
1192
- let items = [];
1193
- for (const iconTheme of this.iconThemes.definitions) {
1194
- items.push({
1195
- id: iconTheme.id,
1196
- label: iconTheme.label,
1197
- description: iconTheme.description,
1198
- });
1199
- }
1200
- items = items.sort((a, b) => {
1201
- if (a.id === 'none') {
1202
- return -1;
1203
- }
1204
- return a.label.localeCompare(b.label);
1205
- });
1206
- (_a = this.quickInputService) === null || _a === void 0 ? void 0 : _a.showQuickPick(items, {
1207
- placeholder: nls_1.nls.localizeByDefault('Select File Icon Theme'),
1208
- activeItem: items.find(item => item.id === (resetTo === null || resetTo === void 0 ? void 0 : resetTo.id)),
1209
- onDidChangeSelection: (_, selectedItems) => {
1210
- resetTo = undefined;
1211
- setTheme(selectedItems[0].id, true);
1212
- },
1213
- onDidChangeActive: (_, activeItems) => {
1214
- previewTheme(activeItems[0].id, false);
1215
- },
1216
- onDidHide: () => {
1217
- if (resetTo) {
1218
- this.iconThemes.setCurrent(resetTo, false);
1219
- }
1220
- }
1221
- });
1222
- }
1223
- selectColorTheme() {
1224
- var _a;
1225
- let resetTo = this.themeService.getCurrentTheme().id;
1226
- const setTheme = (id, persist) => this.themeService.setCurrentTheme(id, persist);
1227
- const previewTheme = debounce(setTheme, 200);
1228
- const itemsByTheme = { light: [], dark: [], hc: [], hcLight: [] };
1229
- const lightThemesSeparator = nls_1.nls.localizeByDefault('light themes');
1230
- const darkThemesSeparator = nls_1.nls.localizeByDefault('dark themes');
1231
- const highContrastThemesSeparator = nls_1.nls.localizeByDefault('high contrast themes');
1232
- for (const theme of this.themeService.getThemes().sort((a, b) => a.label.localeCompare(b.label))) {
1233
- const themeItems = itemsByTheme[theme.type];
1234
- // Add a separator for the first item in the respective group.
1235
- // High Contrast Themes despite dark or light should be grouped together.
1236
- if (themeItems.length === 0 && theme.type !== 'hcLight') {
1237
- let label = '';
1238
- if (theme.type === 'light') {
1239
- label = lightThemesSeparator;
1240
- }
1241
- else if (theme.type === 'dark') {
1242
- label = darkThemesSeparator;
1243
- }
1244
- else {
1245
- label = highContrastThemesSeparator;
1246
- }
1247
- themeItems.push({
1248
- type: 'separator',
1249
- label
1250
- });
1251
- }
1252
- themeItems.push({
1253
- id: theme.id,
1254
- label: theme.label,
1255
- description: theme.description,
1256
- });
1257
- }
1258
- const items = [...itemsByTheme.light, ...itemsByTheme.dark, ...itemsByTheme.hc, ...itemsByTheme.hcLight];
1259
- (_a = this.quickInputService) === null || _a === void 0 ? void 0 : _a.showQuickPick(items, {
1260
- placeholder: nls_1.nls.localizeByDefault('Select Color Theme (Up/Down Keys to Preview)'),
1261
- activeItem: items.find(item => item.id === resetTo),
1262
- onDidChangeSelection: (_, selectedItems) => {
1263
- resetTo = undefined;
1264
- setTheme(selectedItems[0].id, true);
1265
- },
1266
- onDidChangeActive: (_, activeItems) => {
1267
- previewTheme(activeItems[0].id, false);
1268
- },
1269
- onDidHide: () => {
1270
- if (resetTo) {
1271
- setTheme(resetTo, false);
1272
- }
1273
- }
1274
- });
1275
- }
1276
- /**
1277
- * @todo https://github.com/eclipse-theia/theia/issues/12824
1278
- */
1279
- async showNewFilePicker() {
1280
- const newFileContributions = this.menuRegistry.getMenuNode(CommonMenus.FILE_NEW_CONTRIBUTIONS); // Add menus
1281
- const items = [
1282
- {
1283
- label: nls_1.nls.localizeByDefault('New Text File'),
1284
- description: nls_1.nls.localizeByDefault('Built-in'),
1285
- execute: async () => this.commandRegistry.executeCommand(CommonCommands.NEW_UNTITLED_TEXT_FILE.id)
1286
- },
1287
- ...newFileContributions.children
1288
- .flatMap(node => {
1289
- if (node.children && node.children.length > 0) {
1290
- return node.children;
1291
- }
1292
- return node;
1293
- })
1294
- .filter(node => node.role || node.command)
1295
- .map(node => {
1296
- if (node.role) {
1297
- return { type: 'separator' };
1298
- }
1299
- const command = this.commandRegistry.getCommand(node.command);
1300
- return {
1301
- label: command.label,
1302
- execute: async () => this.commandRegistry.executeCommand(command.id)
1303
- };
1304
- })
1305
- ];
1306
- const CREATE_NEW_FILE_ITEM_ID = 'create-new-file';
1307
- const hasNewFileHandler = this.commandRegistry.getActiveHandler(CommonCommands.NEW_FILE.id) !== undefined;
1308
- // Create a "Create New File" item only if there is a NEW_FILE command handler.
1309
- const createNewFileItem = hasNewFileHandler ? {
1310
- id: CREATE_NEW_FILE_ITEM_ID,
1311
- label: nls_1.nls.localizeByDefault('Create New File ({0})'),
1312
- description: nls_1.nls.localizeByDefault('Built-in'),
1313
- execute: async () => {
1314
- if (createNewFileItem === null || createNewFileItem === void 0 ? void 0 : createNewFileItem.value) {
1315
- const parent = await this.workingDirProvider.getUserWorkingDir();
1316
- // Exec NEW_FILE command with the file name and parent dir as arguments
1317
- return this.commandRegistry.executeCommand(CommonCommands.NEW_FILE.id, createNewFileItem.value, parent);
1318
- }
1319
- }
1320
- } : undefined;
1321
- this.quickInputService.showQuickPick(items, {
1322
- title: nls_1.nls.localizeByDefault('New File...'),
1323
- placeholder: nls_1.nls.localizeByDefault('Select File Type or Enter File Name...'),
1324
- canSelectMany: false,
1325
- onDidChangeValue: picker => {
1326
- if (createNewFileItem === undefined) {
1327
- return;
1328
- }
1329
- // Dynamically show or hide the "Create New File" item based on the input value.
1330
- if (picker.value) {
1331
- createNewFileItem.alwaysShow = true;
1332
- createNewFileItem.value = picker.value;
1333
- createNewFileItem.label = nls_1.nls.localizeByDefault('Create New File ({0})', picker.value);
1334
- picker.items = [...items, createNewFileItem];
1335
- }
1336
- else {
1337
- createNewFileItem.alwaysShow = false;
1338
- createNewFileItem.value = undefined;
1339
- picker.items = items.filter(item => item !== createNewFileItem);
1340
- }
1341
- }
1342
- });
1343
- }
1344
- registerColors(colors) {
1345
- colors.register(
1346
- // Base Colors should be aligned with https://code.visualstudio.com/api/references/theme-color#base-colors
1347
- // if not yet contributed by Monaco, check runtime css variables to learn
1348
- { id: 'selection.background', defaults: { dark: '#217daf', light: '#c0dbf1' }, description: 'Overall border color for focused elements. This color is only used if not overridden by a component.' }, { id: 'icon.foreground', defaults: { dark: '#C5C5C5', light: '#424242', hcDark: '#FFFFFF', hcLight: '#292929' }, description: 'The default color for icons in the workbench.' }, { id: 'sash.hoverBorder', defaults: { dark: color_1.Color.transparent('focusBorder', 0.99), light: color_1.Color.transparent('focusBorder', 0.99), hcDark: 'focusBorder', hcLight: 'focusBorder' }, description: 'The hover border color for draggable sashes.' }, { id: 'sash.activeBorder', defaults: { dark: 'focusBorder', light: 'focusBorder', hcDark: 'focusBorder' }, description: 'The active border color for draggable sashes.' },
1349
- // Window border colors should be aligned with https://code.visualstudio.com/api/references/theme-color#window-border
1350
- {
1351
- id: 'window.activeBorder', defaults: {
1352
- hcDark: 'contrastBorder',
1353
- hcLight: 'contrastBorder'
1354
- }, description: 'The color used for the border of the window when it is active.'
1355
- }, {
1356
- id: 'window.inactiveBorder', defaults: {
1357
- hcDark: 'contrastBorder',
1358
- hcLight: 'contrastBorder'
1359
- },
1360
- description: 'The color used for the border of the window when it is inactive.'
1361
- },
1362
- // Buttons should be aligned with https://code.visualstudio.com/api/references/theme-color#button-control
1363
- // if not yet contributed by Monaco, check runtime css variables to learn
1364
- { id: 'button.foreground', defaults: { dark: color_1.Color.white, light: color_1.Color.white, hcDark: color_1.Color.white, hcLight: color_1.Color.white }, description: 'Button foreground color.' }, { id: 'button.background', defaults: { dark: '#0E639C', light: '#007ACC', hcDark: undefined, hcLight: '#0F4A85' }, description: 'Button background color.' }, { id: 'button.hoverBackground', defaults: { dark: color_1.Color.lighten('button.background', 0.2), light: color_1.Color.darken('button.background', 0.2) }, description: 'Button background color when hovering.' },
1365
- // Activity Bar colors should be aligned with https://code.visualstudio.com/api/references/theme-color#activity-bar
1366
- {
1367
- id: 'activityBar.background', defaults: {
1368
- dark: '#333333',
1369
- light: '#2C2C2C',
1370
- hcDark: '#000000',
1371
- hcLight: '#FFFFFF'
1372
- }, description: 'Activity bar background color. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1373
- }, {
1374
- id: 'activityBar.foreground', defaults: {
1375
- dark: color_1.Color.white,
1376
- light: color_1.Color.white,
1377
- hcDark: color_1.Color.white,
1378
- hcLight: 'editor.foreground'
1379
- }, description: 'Activity bar item foreground color when it is active. The activity bar is showing on the far left or right and allows to switch between views of the side bar.',
1380
- }, {
1381
- id: 'activityBar.inactiveForeground', defaults: {
1382
- dark: color_1.Color.transparent('activityBar.foreground', 0.4),
1383
- light: color_1.Color.transparent('activityBar.foreground', 0.4),
1384
- hcDark: color_1.Color.white,
1385
- hcLight: 'editor.foreground'
1386
- }, description: 'Activity bar item foreground color when it is inactive. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1387
- }, {
1388
- id: 'activityBar.border', defaults: {
1389
- hcDark: 'contrastBorder',
1390
- hcLight: 'contrastBorder'
1391
- }, description: 'Activity bar border color separating to the side bar. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1392
- }, {
1393
- id: 'activityBar.activeBorder', defaults: {
1394
- dark: 'activityBar.foreground',
1395
- light: 'activityBar.foreground',
1396
- hcLight: 'contrastBorder'
1397
- }, description: 'Activity bar border color for the active item. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1398
- }, {
1399
- id: 'activityBar.activeFocusBorder', defaults: {
1400
- hcLight: '#B5200D'
1401
- }, description: 'Activity bar focus border color for the active item. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1402
- }, { id: 'activityBar.activeBackground', description: 'Activity bar background color for the active item. The activity bar is showing on the far left or right and allows to switch between views of the side bar.' }, {
1403
- id: 'activityBar.dropBackground', defaults: {
1404
- dark: color_1.Color.transparent('#ffffff', 0.12),
1405
- light: color_1.Color.transparent('#ffffff', 0.12),
1406
- hcDark: color_1.Color.transparent('#ffffff', 0.12),
1407
- }, description: 'Drag and drop feedback color for the activity bar items. The color should have transparency so that the activity bar entries can still shine through. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1408
- }, {
1409
- id: 'activityBarBadge.background', defaults: {
1410
- dark: '#007ACC',
1411
- light: '#007ACC',
1412
- hcDark: '#000000',
1413
- hcLight: '#0F4A85'
1414
- }, description: 'Activity notification badge background color. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1415
- }, {
1416
- id: 'activityBarBadge.foreground', defaults: {
1417
- dark: color_1.Color.white,
1418
- light: color_1.Color.white,
1419
- hcDark: color_1.Color.white,
1420
- hcLight: color_1.Color.white
1421
- }, description: 'Activity notification badge foreground color. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1422
- },
1423
- // Side Bar should be aligned with https://code.visualstudio.com/api/references/theme-color#side-bar
1424
- // if not yet contributed by Monaco, check runtime css variables to learn
1425
- { id: 'sideBar.background', defaults: { dark: '#252526', light: '#F3F3F3', hcDark: '#000000', hcLight: '#FFFFFF' }, description: 'Side bar background color. The side bar is the container for views like explorer and search.' }, { id: 'sideBar.foreground', description: 'Side bar foreground color. The side bar is the container for views like explorer and search.' }, { id: 'sideBarSectionHeader.background', defaults: { dark: '#80808033', light: '#80808033' }, description: 'Side bar section header background color. The side bar is the container for views like explorer and search.' }, { id: 'sideBarSectionHeader.foreground', description: 'Side bar foreground color. The side bar is the container for views like explorer and search.' }, { id: 'sideBarSectionHeader.border', defaults: { dark: 'contrastBorder', light: 'contrastBorder', hcDark: 'contrastBorder', hcLight: 'contrastBorder' }, description: 'Side bar section header border color. The side bar is the container for views like explorer and search.' },
1426
- // Lists and Trees colors should be aligned with https://code.visualstudio.com/api/references/theme-color#lists-and-trees
1427
- // if not yet contributed by Monaco, check runtime css variables to learn.
1428
- // TODO: Following are not yet supported/no respective elements in theia:
1429
- // list.focusBackground, list.focusForeground, list.inactiveFocusBackground, list.filterMatchBorder,
1430
- // list.dropBackground, listFilterWidget.outline, listFilterWidget.noMatchesOutline
1431
- // list.invalidItemForeground => tree node needs an respective class
1432
- { id: 'list.activeSelectionBackground', defaults: { dark: '#094771', light: '#0074E8', hcLight: color_1.Color.transparent('#0F4A85', 0.1) }, description: 'List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.' }, { id: 'list.activeSelectionForeground', defaults: { dark: '#FFF', light: '#FFF' }, description: 'List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.' }, { id: 'list.inactiveSelectionBackground', defaults: { dark: '#37373D', light: '#E4E6F1', hcLight: color_1.Color.transparent('#0F4A85', 0.1) }, description: 'List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.' }, { id: 'list.inactiveSelectionForeground', description: 'List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.' }, { id: 'list.hoverBackground', defaults: { dark: '#2A2D2E', light: '#F0F0F0', hcLight: color_1.Color.transparent('#0F4A85', 0.1) }, description: 'List/Tree background when hovering over items using the mouse.' }, { id: 'list.hoverForeground', description: 'List/Tree foreground when hovering over items using the mouse.' }, { id: 'list.errorForeground', defaults: { dark: '#F88070', light: '#B01011' }, description: 'Foreground color of list items containing errors.' }, { id: 'list.warningForeground', defaults: { dark: '#CCA700', light: '#855F00' }, description: 'Foreground color of list items containing warnings.' }, { id: 'list.filterMatchBackground', defaults: { dark: 'editor.findMatchHighlightBackground', light: 'editor.findMatchHighlightBackground' }, description: 'Background color of the filtered match.' }, { id: 'list.highlightForeground', defaults: { dark: '#18A3FF', light: '#0066BF', hcDark: 'focusBorder', hcLight: 'focusBorder' }, description: 'List/Tree foreground color of the match highlights when searching inside the list/tree.' }, { id: 'list.focusHighlightForeground', defaults: { dark: 'list.highlightForeground', light: 'list.activeSelectionForeground', hcDark: 'list.highlightForeground', hcLight: 'list.highlightForeground' }, description: 'List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.' }, { id: 'tree.inactiveIndentGuidesStroke', defaults: { dark: color_1.Color.transparent('tree.indentGuidesStroke', 0.4), light: color_1.Color.transparent('tree.indentGuidesStroke', 0.4), hcDark: color_1.Color.transparent('tree.indentGuidesStroke', 0.4) }, description: 'Tree stroke color for the inactive indentation guides.' },
1433
- // Editor Group & Tabs colors should be aligned with https://code.visualstudio.com/api/references/theme-color#editor-groups-tabs
1434
- {
1435
- id: 'editorGroup.border',
1436
- defaults: {
1437
- dark: '#444444',
1438
- light: '#E7E7E7',
1439
- hcDark: 'contrastBorder',
1440
- hcLight: 'contrastBorder'
1441
- },
1442
- description: 'Color to separate multiple editor groups from each other. Editor groups are the containers of editors.'
1443
- }, {
1444
- id: 'editorGroup.dropBackground',
1445
- defaults: {
1446
- dark: color_1.Color.transparent('#53595D', 0.5),
1447
- light: color_1.Color.transparent('#2677CB', 0.18),
1448
- hcLight: color_1.Color.transparent('#0F4A85', 0.50)
1449
- },
1450
- description: 'Background color when dragging editors around. The color should have transparency so that the editor contents can still shine through.'
1451
- }, {
1452
- id: 'editorGroupHeader.tabsBackground',
1453
- defaults: {
1454
- dark: '#252526',
1455
- light: '#F3F3F3',
1456
- },
1457
- description: 'Background color of the editor group title header when tabs are enabled. Editor groups are the containers of editors.'
1458
- }, {
1459
- id: 'editorGroupHeader.tabsBorder',
1460
- defaults: {
1461
- hcDark: 'contrastBorder'
1462
- },
1463
- description: 'Border color of the editor group title header when tabs are enabled. Editor groups are the containers of editors.'
1464
- }, {
1465
- id: 'tab.activeBackground',
1466
- defaults: {
1467
- dark: 'editor.background',
1468
- light: 'editor.background',
1469
- hcDark: 'editor.background',
1470
- hcLight: 'editor.background'
1471
- },
1472
- description: 'Active tab background color. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1473
- }, {
1474
- id: 'tab.unfocusedActiveBackground',
1475
- defaults: {
1476
- dark: 'tab.activeBackground',
1477
- light: 'tab.activeBackground',
1478
- hcDark: 'tab.activeBackground',
1479
- hcLight: 'tab.activeBackground'
1480
- },
1481
- description: 'Active tab background color in an unfocused group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1482
- }, {
1483
- id: 'tab.inactiveBackground',
1484
- defaults: {
1485
- dark: '#2D2D2D',
1486
- light: '#ECECEC'
1487
- },
1488
- description: 'Inactive tab background color. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1489
- }, {
1490
- id: 'tab.activeForeground',
1491
- defaults: {
1492
- dark: color_1.Color.white,
1493
- light: '#333333',
1494
- hcDark: color_1.Color.white,
1495
- hcLight: '#292929'
1496
- }, description: 'Active tab foreground color in an active group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1497
- }, {
1498
- id: 'tab.inactiveForeground', defaults: {
1499
- dark: color_1.Color.transparent('tab.activeForeground', 0.5),
1500
- light: color_1.Color.transparent('tab.activeForeground', 0.7),
1501
- hcDark: color_1.Color.white,
1502
- hcLight: '#292929'
1503
- }, description: 'Inactive tab foreground color in an active group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1504
- }, {
1505
- id: 'tab.unfocusedActiveForeground', defaults: {
1506
- dark: color_1.Color.transparent('tab.activeForeground', 0.5),
1507
- light: color_1.Color.transparent('tab.activeForeground', 0.7),
1508
- hcDark: color_1.Color.white,
1509
- hcLight: '#292929'
1510
- }, description: 'Active tab foreground color in an unfocused group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1511
- }, {
1512
- id: 'tab.unfocusedInactiveForeground', defaults: {
1513
- dark: color_1.Color.transparent('tab.inactiveForeground', 0.5),
1514
- light: color_1.Color.transparent('tab.inactiveForeground', 0.5),
1515
- hcDark: color_1.Color.white,
1516
- hcLight: '#292929'
1517
- }, description: 'Inactive tab foreground color in an unfocused group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1518
- }, {
1519
- id: 'tab.border', defaults: {
1520
- dark: '#252526',
1521
- light: '#F3F3F3',
1522
- hcDark: 'contrastBorder',
1523
- hcLight: 'contrastBorder'
1524
- }, description: 'Border to separate tabs from each other. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1525
- }, {
1526
- id: 'tab.activeBorder',
1527
- description: 'Border on the bottom of an active tab. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1528
- }, {
1529
- id: 'tab.unfocusedActiveBorder',
1530
- defaults: {
1531
- dark: color_1.Color.transparent('tab.activeBorder', 0.5),
1532
- light: color_1.Color.transparent('tab.activeBorder', 0.7)
1533
- },
1534
- description: 'Border on the bottom of an active tab in an unfocused group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1535
- }, {
1536
- id: 'tab.activeBorderTop',
1537
- defaults: {
1538
- hcLight: '#B5200D'
1539
- },
1540
- description: 'Border to the top of an active tab. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1541
- }, {
1542
- id: 'tab.unfocusedActiveBorderTop', defaults: {
1543
- dark: color_1.Color.transparent('tab.activeBorderTop', 0.5),
1544
- light: color_1.Color.transparent('tab.activeBorderTop', 0.7),
1545
- hcLight: '#B5200D'
1546
- }, description: 'Border to the top of an active tab in an unfocused group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1547
- }, {
1548
- id: 'tab.hoverBackground',
1549
- description: 'Tab background color when hovering. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1550
- }, {
1551
- id: 'tab.unfocusedHoverBackground', defaults: {
1552
- dark: color_1.Color.transparent('tab.hoverBackground', 0.5),
1553
- light: color_1.Color.transparent('tab.hoverBackground', 0.7)
1554
- }, description: 'Tab background color in an unfocused group when hovering. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1555
- }, {
1556
- id: 'tab.hoverBorder',
1557
- description: 'Border to highlight tabs when hovering. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1558
- }, {
1559
- id: 'tab.unfocusedHoverBorder', defaults: {
1560
- dark: color_1.Color.transparent('tab.hoverBorder', 0.5),
1561
- light: color_1.Color.transparent('tab.hoverBorder', 0.7),
1562
- hcLight: 'contrastBorder'
1563
- }, description: 'Border to highlight tabs in an unfocused group when hovering. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1564
- }, {
1565
- id: 'tab.activeModifiedBorder', defaults: {
1566
- dark: '#3399CC',
1567
- light: '#33AAEE',
1568
- hcLight: 'contrastBorder'
1569
- }, description: 'Border on the top of modified (dirty) active tabs in an active group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1570
- }, {
1571
- id: 'tab.inactiveModifiedBorder', defaults: {
1572
- dark: color_1.Color.transparent('tab.activeModifiedBorder', 0.5),
1573
- light: color_1.Color.transparent('tab.activeModifiedBorder', 0.5),
1574
- hcDark: color_1.Color.white,
1575
- hcLight: 'contrastBorder'
1576
- }, description: 'Border on the top of modified (dirty) inactive tabs in an active group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1577
- }, {
1578
- id: 'tab.unfocusedActiveModifiedBorder', defaults: {
1579
- dark: color_1.Color.transparent('tab.activeModifiedBorder', 0.5),
1580
- light: color_1.Color.transparent('tab.activeModifiedBorder', 0.7),
1581
- hcDark: color_1.Color.white,
1582
- hcLight: 'contrastBorder'
1583
- }, description: 'Border on the top of modified (dirty) active tabs in an unfocused group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1584
- }, {
1585
- id: 'tab.unfocusedInactiveModifiedBorder', defaults: {
1586
- dark: color_1.Color.transparent('tab.inactiveModifiedBorder', 0.5),
1587
- light: color_1.Color.transparent('tab.inactiveModifiedBorder', 0.5),
1588
- hcDark: color_1.Color.white,
1589
- hcLight: 'contrastBorder'
1590
- }, description: 'Border on the top of modified (dirty) inactive tabs in an unfocused group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1591
- },
1592
- // Status bar colors should be aligned with https://code.visualstudio.com/api/references/theme-color#status-bar-colors
1593
- // Not yet supported:
1594
- // statusBarItem.prominentForeground, statusBarItem.prominentBackground, statusBarItem.prominentHoverBackground
1595
- {
1596
- id: 'statusBar.foreground', defaults: {
1597
- dark: '#FFFFFF',
1598
- light: '#FFFFFF',
1599
- hcDark: '#FFFFFF',
1600
- hcLight: 'editor.foreground'
1601
- }, description: 'Status bar foreground color when a workspace is opened. The status bar is shown in the bottom of the window.'
1602
- }, {
1603
- id: 'statusBar.background', defaults: {
1604
- dark: '#007ACC',
1605
- light: '#007ACC'
1606
- }, description: 'Status bar background color when a workspace is opened. The status bar is shown in the bottom of the window.'
1607
- }, {
1608
- id: 'statusBar.noFolderForeground', defaults: {
1609
- dark: 'statusBar.foreground',
1610
- light: 'statusBar.foreground',
1611
- hcDark: 'statusBar.foreground',
1612
- hcLight: 'statusBar.foreground'
1613
- }, description: 'Status bar foreground color when no folder is opened. The status bar is shown in the bottom of the window.'
1614
- }, {
1615
- id: 'statusBar.noFolderBackground', defaults: {
1616
- dark: '#68217A',
1617
- light: '#68217A'
1618
- }, description: 'Status bar background color when no folder is opened. The status bar is shown in the bottom of the window.'
1619
- }, {
1620
- id: 'statusBar.border', defaults: {
1621
- hcDark: 'contrastBorder',
1622
- hcLight: 'contrastBorder'
1623
- }, description: 'Status bar border color separating to the sidebar and editor. The status bar is shown in the bottom of the window.'
1624
- }, {
1625
- id: 'statusBar.noFolderBorder', defaults: {
1626
- dark: 'statusBar.border',
1627
- light: 'statusBar.border',
1628
- hcDark: 'statusBar.border',
1629
- hcLight: 'statusBar.border'
1630
- }, description: 'Status bar border color separating to the sidebar and editor when no folder is opened. The status bar is shown in the bottom of the window.'
1631
- }, {
1632
- id: 'statusBarItem.activeBackground', defaults: {
1633
- dark: color_1.Color.rgba(255, 255, 255, 0.18),
1634
- light: color_1.Color.rgba(255, 255, 255, 0.18),
1635
- hcDark: color_1.Color.rgba(255, 255, 255, 0.18),
1636
- hcLight: color_1.Color.rgba(0, 0, 0, 0.18)
1637
- }, description: 'Status bar item background color when clicking. The status bar is shown in the bottom of the window.'
1638
- }, {
1639
- id: 'statusBarItem.hoverBackground', defaults: {
1640
- dark: color_1.Color.rgba(255, 255, 255, 0.12),
1641
- light: color_1.Color.rgba(255, 255, 255, 0.12),
1642
- hcDark: color_1.Color.rgba(255, 255, 255, 0.12),
1643
- hcLight: color_1.Color.rgba(0, 0, 0, 0.12)
1644
- }, description: 'Status bar item background color when hovering. The status bar is shown in the bottom of the window.'
1645
- }, {
1646
- id: 'statusBarItem.errorBackground', defaults: {
1647
- dark: color_1.Color.darken('errorBackground', 0.4),
1648
- light: color_1.Color.darken('errorBackground', 0.4),
1649
- hcDark: undefined,
1650
- hcLight: '#B5200D'
1651
- }, description: 'Status bar error items background color. Error items stand out from other status bar entries to indicate error conditions. The status bar is shown in the bottom of the window.'
1652
- }, {
1653
- id: 'statusBarItem.errorForeground', defaults: {
1654
- dark: color_1.Color.white,
1655
- light: color_1.Color.white,
1656
- hcDark: color_1.Color.white,
1657
- hcLight: color_1.Color.white
1658
- }, description: 'Status bar error items foreground color. Error items stand out from other status bar entries to indicate error conditions. The status bar is shown in the bottom of the window.'
1659
- }, {
1660
- id: 'statusBarItem.warningBackground', defaults: {
1661
- dark: color_1.Color.darken('warningBackground', 0.4),
1662
- light: color_1.Color.darken('warningBackground', 0.4),
1663
- hcDark: undefined,
1664
- hcLight: '#895503'
1665
- }, description: 'Status bar warning items background color. Warning items stand out from other status bar entries to indicate warning conditions. The status bar is shown in the bottom of the window.'
1666
- }, {
1667
- id: 'statusBarItem.warningForeground', defaults: {
1668
- dark: color_1.Color.white,
1669
- light: color_1.Color.white,
1670
- hcDark: color_1.Color.white,
1671
- hcLight: color_1.Color.white
1672
- }, description: 'Status bar warning items foreground color. Warning items stand out from other status bar entries to indicate warning conditions. The status bar is shown in the bottom of the window.'
1673
- },
1674
- // Quickinput colors should be aligned with https://code.visualstudio.com/api/references/theme-color#quick-picker
1675
- // if not yet contributed by Monaco, check runtime css variables to learn.
1676
- {
1677
- id: 'quickInput.background', defaults: {
1678
- dark: 'editorWidget.background',
1679
- light: 'editorWidget.background',
1680
- hcDark: 'editorWidget.background',
1681
- hcLight: 'editorWidget.background'
1682
- }, description: 'Quick Input background color. The Quick Input widget is the container for views like the color theme picker.'
1683
- }, {
1684
- id: 'quickInput.foreground', defaults: {
1685
- dark: 'editorWidget.foreground',
1686
- light: 'editorWidget.foreground',
1687
- hcDark: 'editorWidget.foreground',
1688
- hcLight: 'editorWidget.foreground'
1689
- }, description: 'Quick Input foreground color. The Quick Input widget is the container for views like the color theme picker.'
1690
- }, {
1691
- id: 'quickInput.list.focusBackground', defaults: {
1692
- dark: undefined,
1693
- light: undefined,
1694
- hcDark: undefined,
1695
- hcLight: undefined
1696
- }, description: 'quickInput.list.focusBackground deprecation. Please use quickInputList.focusBackground instead'
1697
- }, {
1698
- id: 'quickInputList.focusForeground', defaults: {
1699
- dark: 'list.activeSelectionForeground',
1700
- light: 'list.activeSelectionForeground',
1701
- hcDark: 'list.activeSelectionForeground',
1702
- hcLight: 'list.activeSelectionForeground'
1703
- }, description: 'Quick picker foreground color for the focused item'
1704
- }, {
1705
- id: 'quickInputList.focusBackground', defaults: {
1706
- dark: 'list.activeSelectionBackground',
1707
- light: 'list.activeSelectionBackground',
1708
- hcDark: undefined
1709
- }, description: 'Quick picker background color for the focused item.'
1710
- },
1711
- // Panel colors should be aligned with https://code.visualstudio.com/api/references/theme-color#panel-colors
1712
- {
1713
- id: 'panel.background', defaults: {
1714
- dark: 'editor.background', light: 'editor.background', hcDark: 'editor.background', hcLight: 'editor.background'
1715
- }, description: 'Panel background color. Panels are shown below the editor area and contain views like output and integrated terminal.'
1716
- }, {
1717
- id: 'panel.border', defaults: {
1718
- dark: color_1.Color.transparent('#808080', 0.35), light: color_1.Color.transparent('#808080', 0.35), hcDark: 'contrastBorder', hcLight: 'contrastBorder'
1719
- }, description: 'Panel border color to separate the panel from the editor. Panels are shown below the editor area and contain views like output and integrated terminal.'
1720
- }, {
1721
- id: 'panel.dropBackground', defaults: {
1722
- dark: color_1.Color.rgba(255, 255, 255, 0.12), light: color_1.Color.transparent('#2677CB', 0.18), hcDark: color_1.Color.rgba(255, 255, 255, 0.12)
1723
- }, description: 'Drag and drop feedback color for the panel title items. The color should have transparency so that the panel entries can still shine through. Panels are shown below the editor area and contain views like output and integrated terminal.'
1724
- }, {
1725
- id: 'panelTitle.activeForeground', defaults: {
1726
- dark: '#E7E7E7', light: '#424242', hcDark: color_1.Color.white, hcLight: 'editor.foreground'
1727
- }, description: 'Title color for the active panel. Panels are shown below the editor area and contain views like output and integrated terminal.'
1728
- }, {
1729
- id: 'panelTitle.inactiveForeground', defaults: {
1730
- dark: color_1.Color.transparent('panelTitle.activeForeground', 0.6), light: color_1.Color.transparent('panelTitle.activeForeground', 0.75), hcDark: color_1.Color.white, hcLight: 'editor.foreground'
1731
- }, description: 'Title color for the inactive panel. Panels are shown below the editor area and contain views like output and integrated terminal.'
1732
- }, {
1733
- id: 'panelTitle.activeBorder', defaults: {
1734
- dark: 'panelTitle.activeForeground', light: 'panelTitle.activeForeground', hcDark: 'contrastBorder', hcLight: '#B5200D'
1735
- }, description: 'Border color for the active panel title. Panels are shown below the editor area and contain views like output and integrated terminal.'
1736
- }, {
1737
- id: 'panelInput.border', defaults: { light: '#ddd' },
1738
- description: 'Input box border for inputs in the panel.'
1739
- }, {
1740
- id: 'imagePreview.border', defaults: {
1741
- dark: color_1.Color.transparent('#808080', 0.35), light: color_1.Color.transparent('#808080', 0.35), hcDark: 'contrastBorder', hcLight: 'contrastBorder'
1742
- }, description: 'Border color for image in image preview.'
1743
- },
1744
- // Title Bar colors should be aligned with https://code.visualstudio.com/api/references/theme-color#title-bar-colors
1745
- {
1746
- id: 'titleBar.activeForeground', defaults: {
1747
- dark: '#CCCCCC',
1748
- light: '#333333',
1749
- hcDark: '#FFFFFF',
1750
- hcLight: '#292929'
1751
- }, description: 'Title bar foreground when the window is active. Note that this color is currently only supported on macOS.'
1752
- }, {
1753
- id: 'titleBar.inactiveForeground', defaults: {
1754
- dark: color_1.Color.transparent('titleBar.activeForeground', 0.6),
1755
- light: color_1.Color.transparent('titleBar.activeForeground', 0.6),
1756
- hcLight: '#292929'
1757
- }, description: 'Title bar foreground when the window is inactive. Note that this color is currently only supported on macOS.'
1758
- }, {
1759
- id: 'titleBar.activeBackground', defaults: {
1760
- dark: '#3C3C3C',
1761
- light: '#DDDDDD',
1762
- hcDark: '#000000',
1763
- hcLight: '#FFFFFF'
1764
- }, description: 'Title bar background when the window is active. Note that this color is currently only supported on macOS.'
1765
- }, {
1766
- id: 'titleBar.inactiveBackground', defaults: {
1767
- dark: color_1.Color.transparent('titleBar.activeBackground', 0.6),
1768
- light: color_1.Color.transparent('titleBar.activeBackground', 0.6)
1769
- }, description: 'Title bar background when the window is inactive. Note that this color is currently only supported on macOS.'
1770
- }, {
1771
- id: 'titleBar.border', defaults: {
1772
- hcDark: 'contrastBorder',
1773
- hcLight: 'contrastBorder'
1774
- }, description: 'Title bar border color. Note that this color is currently only supported on macOS.'
1775
- },
1776
- // Menu Bar colors should be aligned with https://code.visualstudio.com/api/references/theme-color#menu-bar-colors
1777
- {
1778
- id: 'menubar.selectionForeground', defaults: {
1779
- dark: 'titleBar.activeForeground',
1780
- light: 'titleBar.activeForeground',
1781
- hcDark: 'titleBar.activeForeground',
1782
- hcLight: 'titleBar.activeForeground'
1783
- }, description: 'Foreground color of the selected menu item in the menubar.'
1784
- }, {
1785
- id: 'menubar.selectionBackground', defaults: {
1786
- dark: 'toolbar.hoverBackground',
1787
- light: 'toolbar.hoverBackground'
1788
- }, description: 'Background color of the selected menu item in the menubar.'
1789
- }, {
1790
- id: 'menubar.selectionBorder', defaults: {
1791
- hcDark: 'activeContrastBorder', hcLight: 'activeContrastBorder'
1792
- }, description: 'Border color of the selected menu item in the menubar.'
1793
- }, {
1794
- id: 'menu.border', defaults: {
1795
- hcDark: 'contrastBorder', hcLight: 'contrastBorder'
1796
- }, description: 'Border color of menus.'
1797
- }, {
1798
- id: 'menu.foreground', defaults: {
1799
- dark: 'dropdown.foreground', light: 'foreground', hcDark: 'dropdown.foreground', hcLight: 'dropdown.foreground'
1800
- },
1801
- description: 'Foreground color of menu items.'
1802
- }, {
1803
- id: 'menu.background', defaults: {
1804
- dark: 'dropdown.background', light: 'dropdown.background', hcDark: 'dropdown.background', hcLight: 'dropdown.background'
1805
- }, description: 'Background color of menu items.'
1806
- }, {
1807
- id: 'menu.selectionForeground', defaults: {
1808
- dark: 'list.activeSelectionForeground', light: 'list.activeSelectionForeground', hcDark: 'list.activeSelectionForeground', hcLight: 'list.activeSelectionForeground'
1809
- }, description: 'Foreground color of the selected menu item in menus.'
1810
- }, {
1811
- id: 'menu.selectionBackground', defaults: {
1812
- dark: 'list.activeSelectionBackground', light: 'list.activeSelectionBackground', hcDark: 'list.activeSelectionBackground', hcLight: 'list.activeSelectionBackground'
1813
- },
1814
- description: 'Background color of the selected menu item in menus.'
1815
- }, {
1816
- id: 'menu.selectionBorder', defaults: {
1817
- hcDark: 'activeContrastBorder', hcLight: 'activeContrastBorder'
1818
- }, description: 'Border color of the selected menu item in menus.'
1819
- }, {
1820
- id: 'menu.separatorBackground', defaults: {
1821
- dark: '#BBBBBB', light: '#888888', hcDark: 'contrastBorder', hcLight: 'contrastBorder'
1822
- },
1823
- description: 'Color of a separator menu item in menus.'
1824
- },
1825
- // Welcome Page colors should be aligned with https://code.visualstudio.com/api/references/theme-color#welcome-page
1826
- { id: 'welcomePage.background', description: 'Background color for the Welcome page.' }, { id: 'welcomePage.buttonBackground', defaults: { dark: color_1.Color.rgba(0, 0, 0, .2), light: color_1.Color.rgba(0, 0, 0, .04), hcDark: color_1.Color.black, hcLight: color_1.Color.white }, description: 'Background color for the buttons on the Welcome page.' }, { id: 'welcomePage.buttonHoverBackground', defaults: { dark: color_1.Color.rgba(200, 235, 255, .072), light: color_1.Color.rgba(0, 0, 0, .10) }, description: 'Hover background color for the buttons on the Welcome page.' }, { id: 'walkThrough.embeddedEditorBackground', defaults: { dark: color_1.Color.rgba(0, 0, 0, .4), light: '#f4f4f4' }, description: 'Background color for the embedded editors on the Interactive Playground.' },
1827
- // Dropdown colors should be aligned with https://code.visualstudio.com/api/references/theme-color#dropdown-control
1828
- {
1829
- id: 'dropdown.background', defaults: {
1830
- light: color_1.Color.white,
1831
- dark: '#3C3C3C',
1832
- hcDark: color_1.Color.black,
1833
- hcLight: color_1.Color.white
1834
- }, description: 'Dropdown background.'
1835
- }, {
1836
- id: 'dropdown.listBackground', defaults: {
1837
- hcDark: color_1.Color.black,
1838
- hcLight: color_1.Color.white
1839
- }, description: 'Dropdown list background.'
1840
- }, {
1841
- id: 'dropdown.foreground', defaults: {
1842
- dark: '#F0F0F0',
1843
- hcDark: color_1.Color.white,
1844
- hcLight: 'foreground'
1845
- }, description: 'Dropdown foreground.'
1846
- }, {
1847
- id: 'dropdown.border', defaults: {
1848
- light: '#CECECE',
1849
- dark: 'dropdown.background',
1850
- hcDark: 'contrastBorder',
1851
- hcLight: 'contrastBorder'
1852
- }, description: 'Dropdown border.'
1853
- },
1854
- // Settings Editor colors should be aligned with https://code.visualstudio.com/api/references/theme-color#settings-editor-colors
1855
- {
1856
- id: 'settings.headerForeground', defaults: {
1857
- light: '#444444', dark: '#e7e7e7', hcDark: '#ffffff', hcLight: '#292929'
1858
- }, description: 'The foreground color for a section header or active title.'
1859
- }, {
1860
- id: 'settings.modifiedItemIndicator', defaults: {
1861
- light: color_1.Color.rgba(102, 175, 224),
1862
- dark: color_1.Color.rgba(12, 125, 157),
1863
- hcDark: color_1.Color.rgba(0, 73, 122),
1864
- hcLight: color_1.Color.rgba(102, 175, 224)
1865
- }, description: 'The color of the modified setting indicator.'
1866
- }, {
1867
- id: 'settings.dropdownBackground', defaults: {
1868
- dark: 'dropdown.background', light: 'dropdown.background', hcDark: 'dropdown.background', hcLight: 'dropdown.background'
1869
- },
1870
- description: 'Settings editor dropdown background.'
1871
- }, {
1872
- id: 'settings.dropdownForeground', defaults: {
1873
- dark: 'dropdown.foreground', light: 'dropdown.foreground', hcDark: 'dropdown.foreground', hcLight: 'dropdown.foreground'
1874
- }, description: 'Settings editor dropdown foreground.'
1875
- }, {
1876
- id: 'settings.dropdownBorder', defaults: {
1877
- dark: 'dropdown.border', light: 'dropdown.border', hcDark: 'dropdown.border', hcLight: 'dropdown.border'
1878
- }, description: 'Settings editor dropdown border.'
1879
- }, {
1880
- id: 'settings.dropdownListBorder', defaults: {
1881
- dark: 'editorWidget.border', light: 'editorWidget.border', hcDark: 'editorWidget.border', hcLight: 'editorWidget.border'
1882
- }, description: 'Settings editor dropdown list border. This surrounds the options and separates the options from the description.'
1883
- }, {
1884
- id: 'settings.checkboxBackground', defaults: {
1885
- dark: 'checkbox.background', light: 'checkbox.background', hcDark: 'checkbox.background', hcLight: 'checkbox.background'
1886
- }, description: 'Settings editor checkbox background.'
1887
- }, {
1888
- id: 'settings.checkboxForeground', defaults: {
1889
- dark: 'checkbox.foreground', light: 'checkbox.foreground', hcDark: 'checkbox.foreground', hcLight: 'checkbox.foreground'
1890
- }, description: 'Settings editor checkbox foreground.'
1891
- }, {
1892
- id: 'settings.checkboxBorder', defaults: {
1893
- dark: 'checkbox.border', light: 'checkbox.border', hcDark: 'checkbox.border', hcLight: 'checkbox.border'
1894
- }, description: 'Settings editor checkbox border.'
1895
- }, {
1896
- id: 'settings.textInputBackground', defaults: {
1897
- dark: 'input.background', light: 'input.background', hcDark: 'input.background', hcLight: 'input.background'
1898
- }, description: 'Settings editor text input box background.'
1899
- }, {
1900
- id: 'settings.textInputForeground', defaults: {
1901
- dark: 'input.foreground', light: 'input.foreground', hcDark: 'input.foreground', hcLight: 'input.foreground'
1902
- }, description: 'Settings editor text input box foreground.'
1903
- }, {
1904
- id: 'settings.textInputBorder', defaults: {
1905
- dark: 'input.border', light: 'input.border', hcDark: 'input.border', hcLight: 'input.background'
1906
- }, description: 'Settings editor text input box border.'
1907
- }, {
1908
- id: 'settings.numberInputBackground', defaults: {
1909
- dark: 'input.background', light: 'input.background', hcDark: 'input.background', hcLight: 'input.background'
1910
- }, description: 'Settings editor number input box background.'
1911
- }, {
1912
- id: 'settings.numberInputForeground', defaults: {
1913
- dark: 'input.foreground', light: 'input.foreground', hcDark: 'input.foreground', hcLight: 'input.foreground'
1914
- }, description: 'Settings editor number input box foreground.'
1915
- }, {
1916
- id: 'settings.numberInputBorder', defaults: {
1917
- dark: 'input.border', light: 'input.border', hcDark: 'input.border', hcLight: 'input.border'
1918
- }, description: 'Settings editor number input box border.'
1919
- }, {
1920
- id: 'settings.focusedRowBackground', defaults: {
1921
- dark: color_1.Color.transparent('#808080', 0.14),
1922
- light: color_1.Color.transparent('#808080', 0.03),
1923
- hcDark: undefined,
1924
- hcLight: undefined
1925
- }, description: 'The background color of a settings row when focused.'
1926
- }, {
1927
- id: 'settings.rowHoverBackground', defaults: {
1928
- dark: color_1.Color.transparent('#808080', 0.07),
1929
- light: color_1.Color.transparent('#808080', 0.05),
1930
- hcDark: undefined,
1931
- hcLight: undefined
1932
- }, description: 'The background color of a settings row when hovered.'
1933
- }, {
1934
- id: 'settings.focusedRowBorder', defaults: {
1935
- dark: color_1.Color.rgba(255, 255, 255, 0.12),
1936
- light: color_1.Color.rgba(0, 0, 0, 0.12),
1937
- hcDark: 'focusBorder',
1938
- hcLight: 'focusBorder'
1939
- }, description: "The color of the row's top and bottom border when the row is focused."
1940
- },
1941
- // Toolbar Action colors should be aligned with https://code.visualstudio.com/api/references/theme-color#action-colors
1942
- {
1943
- id: 'toolbar.hoverBackground', defaults: {
1944
- dark: '#5a5d5e50', light: '#b8b8b850', hcDark: undefined, hcLight: undefined
1945
- }, description: 'Toolbar background when hovering over actions using the mouse.'
1946
- },
1947
- // Theia Variable colors
1948
- {
1949
- id: 'variable.name.color', defaults: {
1950
- dark: '#C586C0',
1951
- light: '#9B46B0',
1952
- hcDark: '#C586C0'
1953
- },
1954
- description: 'Color of a variable name.'
1955
- }, {
1956
- id: 'variable.value.color', defaults: {
1957
- dark: color_1.Color.rgba(204, 204, 204, 0.6),
1958
- light: color_1.Color.rgba(108, 108, 108, 0.8),
1959
- hcDark: color_1.Color.rgba(204, 204, 204, 0.6)
1960
- },
1961
- description: 'Color of a variable value.'
1962
- }, {
1963
- id: 'variable.number.variable.color', defaults: {
1964
- dark: '#B5CEA8',
1965
- light: '#09885A',
1966
- hcDark: '#B5CEA8'
1967
- },
1968
- description: 'Value color of a number variable'
1969
- }, {
1970
- id: 'variable.boolean.variable.color', defaults: {
1971
- dark: '#4E94CE',
1972
- light: '#0000FF',
1973
- hcDark: '#4E94CE'
1974
- },
1975
- description: 'Value color of a boolean variable'
1976
- }, {
1977
- id: 'variable.string.variable.color', defaults: {
1978
- dark: '#CE9178',
1979
- light: '#A31515',
1980
- hcDark: '#CE9178'
1981
- },
1982
- description: 'Value color of a string variable'
1983
- },
1984
- // Theia ANSI colors
1985
- {
1986
- id: 'ansi.black.color', defaults: {
1987
- dark: '#A0A0A0',
1988
- light: color_1.Color.rgba(128, 128, 128),
1989
- hcDark: '#A0A0A0'
1990
- },
1991
- description: 'ANSI black color'
1992
- }, {
1993
- id: 'ansi.red.color', defaults: {
1994
- dark: '#A74747',
1995
- light: '#BE1717',
1996
- hcDark: '#A74747'
1997
- },
1998
- description: 'ANSI red color'
1999
- }, {
2000
- id: 'ansi.green.color', defaults: {
2001
- dark: '#348F34',
2002
- light: '#338A2F',
2003
- hcDark: '#348F34'
2004
- },
2005
- description: 'ANSI green color'
2006
- }, {
2007
- id: 'ansi.yellow.color', defaults: {
2008
- dark: '#5F4C29',
2009
- light: '#BEB817',
2010
- hcDark: '#5F4C29'
2011
- },
2012
- description: 'ANSI yellow color'
2013
- }, {
2014
- id: 'ansi.blue.color', defaults: {
2015
- dark: '#6286BB',
2016
- light: color_1.Color.rgba(0, 0, 139),
2017
- hcDark: '#6286BB'
2018
- },
2019
- description: 'ANSI blue color'
2020
- }, {
2021
- id: 'ansi.magenta.color', defaults: {
2022
- dark: '#914191',
2023
- light: color_1.Color.rgba(139, 0, 139),
2024
- hcDark: '#914191'
2025
- },
2026
- description: 'ANSI magenta color'
2027
- }, {
2028
- id: 'ansi.cyan.color', defaults: {
2029
- dark: '#218D8D',
2030
- light: color_1.Color.rgba(0, 139, 139),
2031
- hcDark: '#218D8D'
2032
- },
2033
- description: 'ANSI cyan color'
2034
- }, {
2035
- id: 'ansi.white.color', defaults: {
2036
- dark: '#707070',
2037
- light: '#BDBDBD',
2038
- hcDark: '#707070'
2039
- },
2040
- description: 'ANSI white color'
2041
- },
2042
- // Theia defaults
2043
- // Base
2044
- {
2045
- id: 'errorBackground',
2046
- defaults: {
2047
- dark: 'inputValidation.errorBackground',
2048
- light: 'inputValidation.errorBackground',
2049
- hcDark: 'inputValidation.errorBackground'
2050
- }, description: 'Background color of error widgets (like alerts or notifications).'
2051
- }, {
2052
- id: 'successBackground',
2053
- defaults: {
2054
- dark: 'editorGutter.addedBackground',
2055
- light: 'editorGutter.addedBackground',
2056
- hcDark: 'editorGutter.addedBackground'
2057
- }, description: 'Background color of success widgets (like alerts or notifications).'
2058
- }, {
2059
- id: 'warningBackground',
2060
- defaults: {
2061
- dark: 'editorWarning.foreground',
2062
- light: 'editorWarning.foreground',
2063
- hcDark: 'editorWarning.border'
2064
- }, description: 'Background color of warning widgets (like alerts or notifications).'
2065
- }, {
2066
- id: 'warningForeground',
2067
- defaults: {
2068
- dark: 'inputValidation.warningBackground',
2069
- light: 'inputValidation.warningBackground',
2070
- hcDark: 'inputValidation.warningBackground'
2071
- }, description: 'Foreground color of warning widgets (like alerts or notifications).'
2072
- },
2073
- // Statusbar
2074
- {
2075
- id: 'statusBar.offlineBackground',
2076
- defaults: {
2077
- dark: 'editorWarning.foreground',
2078
- light: 'editorWarning.foreground',
2079
- hcDark: 'editorWarning.foreground',
2080
- hcLight: 'editorWarning.foreground'
2081
- }, description: 'Background of hovered statusbar item in case the theia server is offline.'
2082
- }, {
2083
- id: 'statusBar.offlineForeground',
2084
- defaults: {
2085
- dark: 'editor.background',
2086
- light: 'editor.background',
2087
- hcDark: 'editor.background',
2088
- hcLight: 'editor.background'
2089
- }, description: 'Background of hovered statusbar item in case the theia server is offline.'
2090
- }, {
2091
- id: 'statusBarItem.offlineHoverBackground',
2092
- defaults: {
2093
- dark: color_1.Color.lighten('statusBar.offlineBackground', 0.4),
2094
- light: color_1.Color.lighten('statusBar.offlineBackground', 0.4),
2095
- hcDark: color_1.Color.lighten('statusBar.offlineBackground', 0.4),
2096
- hcLight: color_1.Color.lighten('statusBar.offlineBackground', 0.4)
2097
- }, description: 'Background of hovered statusbar item in case the theia server is offline.'
2098
- }, {
2099
- id: 'statusBarItem.offlineActiveBackground',
2100
- defaults: {
2101
- dark: color_1.Color.lighten('statusBar.offlineBackground', 0.6),
2102
- light: color_1.Color.lighten('statusBar.offlineBackground', 0.6),
2103
- hcDark: color_1.Color.lighten('statusBar.offlineBackground', 0.6),
2104
- hcLight: color_1.Color.lighten('statusBar.offlineBackground', 0.6)
2105
- }, description: 'Background of active statusbar item in case the theia server is offline.'
2106
- }, {
2107
- id: 'statusBarItem.remoteBackground',
2108
- defaults: {
2109
- dark: 'activityBarBadge.background',
2110
- light: 'activityBarBadge.background',
2111
- hcDark: 'activityBarBadge.background',
2112
- hcLight: 'activityBarBadge.background'
2113
- }, description: 'Background color for the remote indicator on the status bar.'
2114
- }, {
2115
- id: 'statusBarItem.remoteForeground',
2116
- defaults: {
2117
- dark: 'activityBarBadge.foreground',
2118
- light: 'activityBarBadge.foreground',
2119
- hcDark: 'activityBarBadge.foreground',
2120
- hcLight: 'activityBarBadge.foreground'
2121
- }, description: 'Foreground color for the remote indicator on the status bar.'
2122
- },
2123
- // Buttons
2124
- {
2125
- id: 'secondaryButton.foreground',
2126
- defaults: {
2127
- dark: 'dropdown.foreground',
2128
- light: 'dropdown.foreground',
2129
- hcDark: 'dropdown.foreground',
2130
- hcLight: 'dropdown.foreground'
2131
- }, description: 'Foreground color of secondary buttons.'
2132
- }, {
2133
- id: 'secondaryButton.disabledForeground',
2134
- defaults: {
2135
- dark: color_1.Color.transparent('secondaryButton.foreground', 0.5),
2136
- light: color_1.Color.transparent('secondaryButton.foreground', 0.5),
2137
- hcDark: color_1.Color.transparent('secondaryButton.foreground', 0.5),
2138
- hcLight: color_1.Color.transparent('secondaryButton.foreground', 0.5),
2139
- }, description: 'Foreground color of secondary buttons.'
2140
- }, {
2141
- id: 'secondaryButton.background',
2142
- defaults: {
2143
- dark: color_1.Color.lighten('dropdown.background', 0.5),
2144
- light: color_1.Color.lighten('dropdown.background', 0.5)
2145
- }, description: 'Background color of secondary buttons.'
2146
- }, {
2147
- id: 'secondaryButton.hoverBackground',
2148
- defaults: {
2149
- dark: color_1.Color.lighten('secondaryButton.background', 0.2),
2150
- light: color_1.Color.lighten('secondaryButton.background', 0.2)
2151
- }, description: 'Background color when hovering secondary buttons.'
2152
- }, {
2153
- id: 'secondaryButton.disabledBackground',
2154
- defaults: {
2155
- dark: color_1.Color.transparent('secondaryButton.background', 0.6),
2156
- light: color_1.Color.transparent('secondaryButton.background', 0.6)
2157
- }, description: 'Background color when hovering secondary buttons.'
2158
- }, {
2159
- id: 'button.disabledForeground',
2160
- defaults: {
2161
- dark: color_1.Color.transparent('button.foreground', 0.5),
2162
- light: color_1.Color.transparent('button.foreground', 0.5),
2163
- hcDark: color_1.Color.transparent('button.foreground', 0.5)
2164
- }, description: 'Foreground color of secondary buttons.'
2165
- }, {
2166
- id: 'button.disabledBackground',
2167
- defaults: {
2168
- dark: color_1.Color.transparent('button.background', 0.5),
2169
- light: color_1.Color.transparent('button.background', 0.5)
2170
- }, description: 'Background color of secondary buttons.'
2171
- }, {
2172
- id: 'editorGutter.commentRangeForeground',
2173
- defaults: {
2174
- dark: '#c5c5c5',
2175
- light: '#c5c5c5',
2176
- hcDark: color_1.Color.white,
2177
- hcLight: color_1.Color.white
2178
- }, description: 'Editor gutter decoration color for commenting ranges.'
2179
- }, {
2180
- id: 'breadcrumb.foreground',
2181
- defaults: {
2182
- dark: color_1.Color.transparent('foreground', 0.8),
2183
- light: color_1.Color.transparent('foreground', 0.8),
2184
- hcDark: color_1.Color.transparent('foreground', 0.8),
2185
- hcLight: color_1.Color.transparent('foreground', 0.8)
2186
- },
2187
- description: 'Color of breadcrumb item text'
2188
- }, {
2189
- id: 'breadcrumb.background',
2190
- defaults: {
2191
- dark: 'editor.background',
2192
- light: 'editor.background',
2193
- hcDark: 'editor.background',
2194
- hcLight: 'editor.background'
2195
- },
2196
- description: 'Color of breadcrumb item background'
2197
- }, {
2198
- id: 'breadcrumb.focusForeground',
2199
- defaults: {
2200
- dark: color_1.Color.lighten('foreground', 0.1),
2201
- light: color_1.Color.darken('foreground', 0.2),
2202
- hcDark: color_1.Color.lighten('foreground', 0.1),
2203
- hcLight: color_1.Color.lighten('foreground', 0.1)
2204
- },
2205
- description: 'Color of breadcrumb item text when focused'
2206
- }, {
2207
- id: 'breadcrumb.activeSelectionForeground',
2208
- defaults: {
2209
- dark: color_1.Color.lighten('foreground', 0.1),
2210
- light: color_1.Color.darken('foreground', 0.2),
2211
- hcDark: color_1.Color.lighten('foreground', 0.1),
2212
- hcLight: color_1.Color.lighten('foreground', 0.1)
2213
- },
2214
- description: 'Color of selected breadcrumb item'
2215
- }, {
2216
- id: 'breadcrumbPicker.background',
2217
- defaults: {
2218
- dark: 'editorWidget.background',
2219
- light: 'editorWidget.background',
2220
- hcDark: 'editorWidget.background',
2221
- hcLight: 'editorWidget.background'
2222
- },
2223
- description: 'Background color of breadcrumb item picker'
2224
- }, {
2225
- id: 'mainToolbar.background',
2226
- defaults: {
2227
- dark: color_1.Color.lighten('activityBar.background', 0.1),
2228
- light: color_1.Color.darken('activityBar.background', 0.1),
2229
- hcDark: color_1.Color.lighten('activityBar.background', 0.1),
2230
- hcLight: color_1.Color.lighten('activityBar.background', 0.1)
2231
- },
2232
- description: 'Background color of shell\'s global toolbar'
2233
- }, {
2234
- id: 'mainToolbar.foreground', defaults: {
2235
- dark: color_1.Color.darken('activityBar.foreground', 0.1),
2236
- light: color_1.Color.lighten('activityBar.foreground', 0.1),
2237
- hcDark: color_1.Color.lighten('activityBar.foreground', 0.1),
2238
- hcLight: color_1.Color.lighten('activityBar.foreground', 0.1),
2239
- }, description: 'Foreground color of active toolbar item',
2240
- }, {
2241
- id: 'editorHoverWidgetInternalBorder',
2242
- defaults: {
2243
- dark: color_1.Color.transparent('editorHoverWidget.border', 0.5),
2244
- light: color_1.Color.transparent('editorHoverWidget.border', 0.5),
2245
- hcDark: color_1.Color.transparent('editorHoverWidget.border', 0.5),
2246
- hcLight: color_1.Color.transparent('editorHoverWidget.border', 0.5)
2247
- },
2248
- description: 'The border between subelements of a hover widget'
2249
- });
2250
- }
2251
- };
2252
- (0, tslib_1.__decorate)([
2253
- (0, inversify_1.inject)(context_key_service_1.ContextKeyService),
2254
- (0, tslib_1.__metadata)("design:type", Object)
2255
- ], CommonFrontendContribution.prototype, "contextKeyService", void 0);
2256
- (0, tslib_1.__decorate)([
2257
- (0, inversify_1.inject)(resource_context_key_1.ResourceContextKey),
2258
- (0, tslib_1.__metadata)("design:type", resource_context_key_1.ResourceContextKey)
2259
- ], CommonFrontendContribution.prototype, "resourceContextKey", void 0);
2260
- (0, tslib_1.__decorate)([
2261
- (0, inversify_1.inject)(command_1.CommandRegistry),
2262
- (0, tslib_1.__metadata)("design:type", command_1.CommandRegistry)
2263
- ], CommonFrontendContribution.prototype, "commandRegistry", void 0);
2264
- (0, tslib_1.__decorate)([
2265
- (0, inversify_1.inject)(menu_1.MenuModelRegistry),
2266
- (0, tslib_1.__metadata)("design:type", menu_1.MenuModelRegistry)
2267
- ], CommonFrontendContribution.prototype, "menuRegistry", void 0);
2268
- (0, tslib_1.__decorate)([
2269
- (0, inversify_1.inject)(storage_service_1.StorageService),
2270
- (0, tslib_1.__metadata)("design:type", Object)
2271
- ], CommonFrontendContribution.prototype, "storageService", void 0);
2272
- (0, tslib_1.__decorate)([
2273
- (0, inversify_1.inject)(quick_input_1.QuickInputService),
2274
- (0, inversify_1.optional)(),
2275
- (0, tslib_1.__metadata)("design:type", Object)
2276
- ], CommonFrontendContribution.prototype, "quickInputService", void 0);
2277
- (0, tslib_1.__decorate)([
2278
- (0, inversify_1.inject)(icon_theme_service_1.IconThemeService),
2279
- (0, tslib_1.__metadata)("design:type", icon_theme_service_1.IconThemeService)
2280
- ], CommonFrontendContribution.prototype, "iconThemes", void 0);
2281
- (0, tslib_1.__decorate)([
2282
- (0, inversify_1.inject)(theming_1.ThemeService),
2283
- (0, tslib_1.__metadata)("design:type", theming_1.ThemeService)
2284
- ], CommonFrontendContribution.prototype, "themeService", void 0);
2285
- (0, tslib_1.__decorate)([
2286
- (0, inversify_1.inject)(core_preferences_1.CorePreferences),
2287
- (0, tslib_1.__metadata)("design:type", Object)
2288
- ], CommonFrontendContribution.prototype, "preferences", void 0);
2289
- (0, tslib_1.__decorate)([
2290
- (0, inversify_1.inject)(preferences_1.PreferenceService),
2291
- (0, tslib_1.__metadata)("design:type", Object)
2292
- ], CommonFrontendContribution.prototype, "preferenceService", void 0);
2293
- (0, tslib_1.__decorate)([
2294
- (0, inversify_1.inject)(clipboard_service_1.ClipboardService),
2295
- (0, tslib_1.__metadata)("design:type", Object)
2296
- ], CommonFrontendContribution.prototype, "clipboardService", void 0);
2297
- (0, tslib_1.__decorate)([
2298
- (0, inversify_1.inject)(encoding_registry_1.EncodingRegistry),
2299
- (0, tslib_1.__metadata)("design:type", encoding_registry_1.EncodingRegistry)
2300
- ], CommonFrontendContribution.prototype, "encodingRegistry", void 0);
2301
- (0, tslib_1.__decorate)([
2302
- (0, inversify_1.inject)(env_variables_1.EnvVariablesServer),
2303
- (0, tslib_1.__metadata)("design:type", Object)
2304
- ], CommonFrontendContribution.prototype, "environments", void 0);
2305
- (0, tslib_1.__decorate)([
2306
- (0, inversify_1.inject)(authentication_service_1.AuthenticationService),
2307
- (0, tslib_1.__metadata)("design:type", Object)
2308
- ], CommonFrontendContribution.prototype, "authenticationService", void 0);
2309
- (0, tslib_1.__decorate)([
2310
- (0, inversify_1.inject)(window_service_1.WindowService),
2311
- (0, tslib_1.__metadata)("design:type", Object)
2312
- ], CommonFrontendContribution.prototype, "windowService", void 0);
2313
- (0, tslib_1.__decorate)([
2314
- (0, inversify_1.inject)(user_working_directory_provider_1.UserWorkingDirectoryProvider),
2315
- (0, tslib_1.__metadata)("design:type", user_working_directory_provider_1.UserWorkingDirectoryProvider)
2316
- ], CommonFrontendContribution.prototype, "workingDirProvider", void 0);
2317
- (0, tslib_1.__decorate)([
2318
- (0, inversify_1.inject)(language_quick_pick_service_1.LanguageQuickPickService),
2319
- (0, tslib_1.__metadata)("design:type", language_quick_pick_service_1.LanguageQuickPickService)
2320
- ], CommonFrontendContribution.prototype, "languageQuickPickService", void 0);
2321
- (0, tslib_1.__decorate)([
2322
- (0, inversify_1.inject)(common_1.UntitledResourceResolver),
2323
- (0, tslib_1.__metadata)("design:type", common_1.UntitledResourceResolver)
2324
- ], CommonFrontendContribution.prototype, "untitledResourceResolver", void 0);
2325
- CommonFrontendContribution = (0, tslib_1.__decorate)([
2326
- (0, inversify_1.injectable)(),
2327
- (0, tslib_1.__param)(0, (0, inversify_1.inject)(application_shell_1.ApplicationShell)),
2328
- (0, tslib_1.__param)(1, (0, inversify_1.inject)(selection_service_1.SelectionService)),
2329
- (0, tslib_1.__param)(2, (0, inversify_1.inject)(message_service_1.MessageService)),
2330
- (0, tslib_1.__param)(3, (0, inversify_1.inject)(opener_service_1.OpenerService)),
2331
- (0, tslib_1.__param)(4, (0, inversify_1.inject)(about_dialog_1.AboutDialog)),
2332
- (0, tslib_1.__param)(5, (0, inversify_1.inject)(localization_1.AsyncLocalizationProvider)),
2333
- (0, tslib_1.__param)(6, (0, inversify_1.inject)(save_resource_service_1.SaveResourceService)),
2334
- (0, tslib_1.__metadata)("design:paramtypes", [application_shell_1.ApplicationShell,
2335
- selection_service_1.SelectionService,
2336
- message_service_1.MessageService, Object, about_dialog_1.AboutDialog, Object, save_resource_service_1.SaveResourceService])
2337
- ], CommonFrontendContribution);
2338
- exports.CommonFrontendContribution = CommonFrontendContribution;
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2017 TypeFox and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.CommonFrontendContribution = exports.CLASSNAME_OS_LINUX = exports.CLASSNAME_OS_WINDOWS = exports.CLASSNAME_OS_MAC = exports.RECENT_COMMANDS_STORAGE_KEY = exports.supportPaste = exports.supportCopy = exports.supportCut = exports.CommonCommands = exports.CommonMenus = void 0;
19
+ const tslib_1 = require("tslib");
20
+ /* eslint-disable max-len, @typescript-eslint/indent */
21
+ const debounce = require("lodash.debounce");
22
+ const inversify_1 = require("inversify");
23
+ const menu_1 = require("../common/menu");
24
+ const command_1 = require("../common/command");
25
+ const uri_command_handler_1 = require("../common/uri-command-handler");
26
+ const selection_service_1 = require("../common/selection-service");
27
+ const message_service_1 = require("../common/message-service");
28
+ const opener_service_1 = require("../browser/opener-service");
29
+ const application_shell_1 = require("./shell/application-shell");
30
+ const tab_bars_1 = require("./shell/tab-bars");
31
+ const about_dialog_1 = require("./about-dialog");
32
+ const browser = require("./browser");
33
+ const uri_1 = require("../common/uri");
34
+ const context_key_service_1 = require("./context-key-service");
35
+ const os_1 = require("../common/os");
36
+ const resource_context_key_1 = require("./resource-context-key");
37
+ const selection_1 = require("../common/selection");
38
+ const storage_service_1 = require("./storage-service");
39
+ const navigatable_1 = require("./navigatable");
40
+ const quick_view_service_1 = require("./quick-input/quick-view-service");
41
+ const environment_1 = require("@theia/application-package/lib/environment");
42
+ const icon_theme_service_1 = require("./icon-theme-service");
43
+ const color_1 = require("../common/color");
44
+ const core_preferences_1 = require("./core-preferences");
45
+ const theming_1 = require("./theming");
46
+ const preferences_1 = require("./preferences");
47
+ const clipboard_service_1 = require("./clipboard-service");
48
+ const encoding_registry_1 = require("./encoding-registry");
49
+ const encodings_1 = require("../common/encodings");
50
+ const env_variables_1 = require("../common/env-variables");
51
+ const authentication_service_1 = require("./authentication-service");
52
+ const saveable_1 = require("./saveable");
53
+ const quick_input_1 = require("./quick-input");
54
+ const localization_1 = require("../common/i18n/localization");
55
+ const nls_1 = require("../common/nls");
56
+ const current_widget_command_adapter_1 = require("./shell/current-widget-command-adapter");
57
+ const dialogs_1 = require("./dialogs");
58
+ const window_service_1 = require("./window/window-service");
59
+ const frontend_application_config_provider_1 = require("./frontend-application-config-provider");
60
+ const decoration_style_1 = require("./decoration-style");
61
+ const widgets_1 = require("./widgets");
62
+ const save_resource_service_1 = require("./save-resource-service");
63
+ const user_working_directory_provider_1 = require("./user-working-directory-provider");
64
+ const common_1 = require("../common");
65
+ const language_quick_pick_service_1 = require("./i18n/language-quick-pick-service");
66
+ var CommonMenus;
67
+ (function (CommonMenus) {
68
+ CommonMenus.FILE = [...menu_1.MAIN_MENU_BAR, '1_file'];
69
+ CommonMenus.FILE_NEW_TEXT = [...CommonMenus.FILE, '1_new_text'];
70
+ CommonMenus.FILE_NEW = [...CommonMenus.FILE, '1_new'];
71
+ CommonMenus.FILE_OPEN = [...CommonMenus.FILE, '2_open'];
72
+ CommonMenus.FILE_SAVE = [...CommonMenus.FILE, '3_save'];
73
+ CommonMenus.FILE_AUTOSAVE = [...CommonMenus.FILE, '4_autosave'];
74
+ CommonMenus.FILE_SETTINGS = [...CommonMenus.FILE, '5_settings'];
75
+ CommonMenus.FILE_SETTINGS_SUBMENU = [...CommonMenus.FILE_SETTINGS, '1_settings_submenu'];
76
+ CommonMenus.FILE_SETTINGS_SUBMENU_OPEN = [...CommonMenus.FILE_SETTINGS_SUBMENU, '1_settings_submenu_open'];
77
+ CommonMenus.FILE_SETTINGS_SUBMENU_THEME = [...CommonMenus.FILE_SETTINGS_SUBMENU, '2_settings_submenu_theme'];
78
+ CommonMenus.FILE_CLOSE = [...CommonMenus.FILE, '6_close'];
79
+ CommonMenus.FILE_NEW_CONTRIBUTIONS = 'file/newFile';
80
+ CommonMenus.EDIT = [...menu_1.MAIN_MENU_BAR, '2_edit'];
81
+ CommonMenus.EDIT_UNDO = [...CommonMenus.EDIT, '1_undo'];
82
+ CommonMenus.EDIT_CLIPBOARD = [...CommonMenus.EDIT, '2_clipboard'];
83
+ CommonMenus.EDIT_FIND = [...CommonMenus.EDIT, '3_find'];
84
+ CommonMenus.VIEW = [...menu_1.MAIN_MENU_BAR, '4_view'];
85
+ CommonMenus.VIEW_PRIMARY = [...CommonMenus.VIEW, '0_primary'];
86
+ CommonMenus.VIEW_APPEARANCE = [...CommonMenus.VIEW, '1_appearance'];
87
+ CommonMenus.VIEW_APPEARANCE_SUBMENU = [...CommonMenus.VIEW_APPEARANCE, '1_appearance_submenu'];
88
+ CommonMenus.VIEW_APPEARANCE_SUBMENU_SCREEN = [...CommonMenus.VIEW_APPEARANCE_SUBMENU, '2_appearance_submenu_screen'];
89
+ CommonMenus.VIEW_APPEARANCE_SUBMENU_BAR = [...CommonMenus.VIEW_APPEARANCE_SUBMENU, '3_appearance_submenu_bar'];
90
+ CommonMenus.VIEW_EDITOR_SUBMENU = [...CommonMenus.VIEW_APPEARANCE, '2_editor_submenu'];
91
+ CommonMenus.VIEW_EDITOR_SUBMENU_SPLIT = [...CommonMenus.VIEW_EDITOR_SUBMENU, '1_editor_submenu_split'];
92
+ CommonMenus.VIEW_EDITOR_SUBMENU_ORTHO = [...CommonMenus.VIEW_EDITOR_SUBMENU, '2_editor_submenu_ortho'];
93
+ CommonMenus.VIEW_VIEWS = [...CommonMenus.VIEW, '2_views'];
94
+ CommonMenus.VIEW_LAYOUT = [...CommonMenus.VIEW, '3_layout'];
95
+ CommonMenus.VIEW_TOGGLE = [...CommonMenus.VIEW, '4_toggle'];
96
+ CommonMenus.MANAGE_GENERAL = [...menu_1.MANAGE_MENU, '1_manage_general'];
97
+ CommonMenus.MANAGE_SETTINGS = [...menu_1.MANAGE_MENU, '2_manage_settings'];
98
+ CommonMenus.MANAGE_SETTINGS_THEMES = [...CommonMenus.MANAGE_SETTINGS, '1_manage_settings_themes'];
99
+ // last menu item
100
+ CommonMenus.HELP = [...menu_1.MAIN_MENU_BAR, '9_help'];
101
+ })(CommonMenus = exports.CommonMenus || (exports.CommonMenus = {}));
102
+ var CommonCommands;
103
+ (function (CommonCommands) {
104
+ CommonCommands.FILE_CATEGORY = 'File';
105
+ CommonCommands.VIEW_CATEGORY = 'View';
106
+ CommonCommands.CREATE_CATEGORY = 'Create';
107
+ CommonCommands.PREFERENCES_CATEGORY = 'Preferences';
108
+ CommonCommands.MANAGE_CATEGORY = 'Manage';
109
+ CommonCommands.FILE_CATEGORY_KEY = nls_1.nls.getDefaultKey(CommonCommands.FILE_CATEGORY);
110
+ CommonCommands.VIEW_CATEGORY_KEY = nls_1.nls.getDefaultKey(CommonCommands.VIEW_CATEGORY);
111
+ CommonCommands.PREFERENCES_CATEGORY_KEY = nls_1.nls.getDefaultKey(CommonCommands.PREFERENCES_CATEGORY);
112
+ CommonCommands.OPEN = {
113
+ id: 'core.open',
114
+ };
115
+ CommonCommands.CUT = command_1.Command.toDefaultLocalizedCommand({
116
+ id: 'core.cut',
117
+ label: 'Cut'
118
+ });
119
+ CommonCommands.COPY = command_1.Command.toDefaultLocalizedCommand({
120
+ id: 'core.copy',
121
+ label: 'Copy'
122
+ });
123
+ CommonCommands.PASTE = command_1.Command.toDefaultLocalizedCommand({
124
+ id: 'core.paste',
125
+ label: 'Paste'
126
+ });
127
+ CommonCommands.COPY_PATH = command_1.Command.toDefaultLocalizedCommand({
128
+ id: 'core.copy.path',
129
+ label: 'Copy Path'
130
+ });
131
+ CommonCommands.UNDO = command_1.Command.toDefaultLocalizedCommand({
132
+ id: 'core.undo',
133
+ label: 'Undo'
134
+ });
135
+ CommonCommands.REDO = command_1.Command.toDefaultLocalizedCommand({
136
+ id: 'core.redo',
137
+ label: 'Redo'
138
+ });
139
+ CommonCommands.SELECT_ALL = command_1.Command.toDefaultLocalizedCommand({
140
+ id: 'core.selectAll',
141
+ label: 'Select All'
142
+ });
143
+ CommonCommands.FIND = command_1.Command.toDefaultLocalizedCommand({
144
+ id: 'core.find',
145
+ label: 'Find'
146
+ });
147
+ CommonCommands.REPLACE = command_1.Command.toDefaultLocalizedCommand({
148
+ id: 'core.replace',
149
+ label: 'Replace'
150
+ });
151
+ CommonCommands.NEXT_TAB = command_1.Command.toDefaultLocalizedCommand({
152
+ id: 'core.nextTab',
153
+ category: CommonCommands.VIEW_CATEGORY,
154
+ label: 'Show Next Tab'
155
+ });
156
+ CommonCommands.PREVIOUS_TAB = command_1.Command.toDefaultLocalizedCommand({
157
+ id: 'core.previousTab',
158
+ category: CommonCommands.VIEW_CATEGORY,
159
+ label: 'Show Previous Tab'
160
+ });
161
+ CommonCommands.NEXT_TAB_IN_GROUP = command_1.Command.toLocalizedCommand({
162
+ id: 'core.nextTabInGroup',
163
+ category: CommonCommands.VIEW_CATEGORY,
164
+ label: 'Switch to Next Tab in Group'
165
+ }, 'theia/core/common/showNextTabInGroup', CommonCommands.VIEW_CATEGORY_KEY);
166
+ CommonCommands.PREVIOUS_TAB_IN_GROUP = command_1.Command.toLocalizedCommand({
167
+ id: 'core.previousTabInGroup',
168
+ category: CommonCommands.VIEW_CATEGORY,
169
+ label: 'Switch to Previous Tab in Group'
170
+ }, 'theia/core/common/showPreviousTabInGroup', CommonCommands.VIEW_CATEGORY_KEY);
171
+ CommonCommands.NEXT_TAB_GROUP = command_1.Command.toLocalizedCommand({
172
+ id: 'core.nextTabGroup',
173
+ category: CommonCommands.VIEW_CATEGORY,
174
+ label: 'Switch to Next Tab Group'
175
+ }, 'theia/core/common/showNextTabGroup', CommonCommands.VIEW_CATEGORY_KEY);
176
+ CommonCommands.PREVIOUS_TAB_GROUP = command_1.Command.toLocalizedCommand({
177
+ id: 'core.previousTabBar',
178
+ category: CommonCommands.VIEW_CATEGORY,
179
+ label: 'Switch to Previous Tab Group'
180
+ }, 'theia/core/common/showPreviousTabGroup', CommonCommands.VIEW_CATEGORY_KEY);
181
+ CommonCommands.CLOSE_TAB = command_1.Command.toLocalizedCommand({
182
+ id: 'core.close.tab',
183
+ category: CommonCommands.VIEW_CATEGORY,
184
+ label: 'Close Tab'
185
+ }, 'theia/core/common/closeTab', CommonCommands.VIEW_CATEGORY_KEY);
186
+ CommonCommands.CLOSE_OTHER_TABS = command_1.Command.toLocalizedCommand({
187
+ id: 'core.close.other.tabs',
188
+ category: CommonCommands.VIEW_CATEGORY,
189
+ label: 'Close Other Tabs'
190
+ }, 'theia/core/common/closeOthers', CommonCommands.VIEW_CATEGORY_KEY);
191
+ CommonCommands.CLOSE_SAVED_TABS = command_1.Command.toDefaultLocalizedCommand({
192
+ id: 'workbench.action.closeUnmodifiedEditors',
193
+ category: CommonCommands.VIEW_CATEGORY,
194
+ label: 'Close Saved Editors in Group',
195
+ });
196
+ CommonCommands.CLOSE_RIGHT_TABS = command_1.Command.toLocalizedCommand({
197
+ id: 'core.close.right.tabs',
198
+ category: CommonCommands.VIEW_CATEGORY,
199
+ label: 'Close Tabs to the Right'
200
+ }, 'theia/core/common/closeRight', CommonCommands.VIEW_CATEGORY_KEY);
201
+ CommonCommands.CLOSE_ALL_TABS = command_1.Command.toLocalizedCommand({
202
+ id: 'core.close.all.tabs',
203
+ category: CommonCommands.VIEW_CATEGORY,
204
+ label: 'Close All Tabs'
205
+ }, 'theia/core/common/closeAll', CommonCommands.VIEW_CATEGORY_KEY);
206
+ CommonCommands.CLOSE_MAIN_TAB = command_1.Command.toLocalizedCommand({
207
+ id: 'core.close.main.tab',
208
+ category: CommonCommands.VIEW_CATEGORY,
209
+ label: 'Close Tab in Main Area'
210
+ }, 'theia/core/common/closeTabMain', CommonCommands.VIEW_CATEGORY_KEY);
211
+ CommonCommands.CLOSE_OTHER_MAIN_TABS = command_1.Command.toLocalizedCommand({
212
+ id: 'core.close.other.main.tabs',
213
+ category: CommonCommands.VIEW_CATEGORY,
214
+ label: 'Close Other Tabs in Main Area'
215
+ }, 'theia/core/common/closeOtherTabMain', CommonCommands.VIEW_CATEGORY_KEY);
216
+ CommonCommands.CLOSE_ALL_MAIN_TABS = command_1.Command.toLocalizedCommand({
217
+ id: 'core.close.all.main.tabs',
218
+ category: CommonCommands.VIEW_CATEGORY,
219
+ label: 'Close All Tabs in Main Area'
220
+ }, 'theia/core/common/closeAllTabMain', CommonCommands.VIEW_CATEGORY_KEY);
221
+ CommonCommands.COLLAPSE_PANEL = command_1.Command.toLocalizedCommand({
222
+ id: 'core.collapse.tab',
223
+ category: CommonCommands.VIEW_CATEGORY,
224
+ label: 'Collapse Side Panel'
225
+ }, 'theia/core/common/collapseTab', CommonCommands.VIEW_CATEGORY_KEY);
226
+ CommonCommands.COLLAPSE_ALL_PANELS = command_1.Command.toLocalizedCommand({
227
+ id: 'core.collapse.all.tabs',
228
+ category: CommonCommands.VIEW_CATEGORY,
229
+ label: 'Collapse All Side Panels'
230
+ }, 'theia/core/common/collapseAllTabs', CommonCommands.VIEW_CATEGORY_KEY);
231
+ CommonCommands.TOGGLE_BOTTOM_PANEL = command_1.Command.toLocalizedCommand({
232
+ id: 'core.toggle.bottom.panel',
233
+ category: CommonCommands.VIEW_CATEGORY,
234
+ label: 'Toggle Bottom Panel'
235
+ }, 'theia/core/common/collapseBottomPanel', CommonCommands.VIEW_CATEGORY_KEY);
236
+ CommonCommands.TOGGLE_STATUS_BAR = command_1.Command.toDefaultLocalizedCommand({
237
+ id: 'workbench.action.toggleStatusbarVisibility',
238
+ category: CommonCommands.VIEW_CATEGORY,
239
+ label: 'Toggle Status Bar Visibility'
240
+ });
241
+ CommonCommands.PIN_TAB = command_1.Command.toDefaultLocalizedCommand({
242
+ id: 'workbench.action.pinEditor',
243
+ category: CommonCommands.VIEW_CATEGORY,
244
+ label: 'Pin Editor'
245
+ });
246
+ CommonCommands.UNPIN_TAB = command_1.Command.toDefaultLocalizedCommand({
247
+ id: 'workbench.action.unpinEditor',
248
+ category: CommonCommands.VIEW_CATEGORY,
249
+ label: 'Unpin Editor'
250
+ });
251
+ CommonCommands.TOGGLE_MAXIMIZED = command_1.Command.toLocalizedCommand({
252
+ id: 'core.toggleMaximized',
253
+ category: CommonCommands.VIEW_CATEGORY,
254
+ label: 'Toggle Maximized'
255
+ }, 'theia/core/common/toggleMaximized', CommonCommands.VIEW_CATEGORY_KEY);
256
+ CommonCommands.OPEN_VIEW = command_1.Command.toDefaultLocalizedCommand({
257
+ id: 'core.openView',
258
+ category: CommonCommands.VIEW_CATEGORY,
259
+ label: 'Open View...'
260
+ });
261
+ CommonCommands.SHOW_MENU_BAR = command_1.Command.toDefaultLocalizedCommand({
262
+ id: 'window.menuBarVisibility',
263
+ category: CommonCommands.VIEW_CATEGORY,
264
+ label: 'Toggle Menu Bar'
265
+ });
266
+ /**
267
+ * Command Parameters:
268
+ * - `fileName`: string
269
+ * - `directory`: URI
270
+ */
271
+ CommonCommands.NEW_FILE = command_1.Command.toDefaultLocalizedCommand({
272
+ id: 'workbench.action.files.newFile',
273
+ category: CommonCommands.FILE_CATEGORY
274
+ });
275
+ CommonCommands.NEW_UNTITLED_TEXT_FILE = command_1.Command.toDefaultLocalizedCommand({
276
+ id: 'workbench.action.files.newUntitledTextFile',
277
+ category: CommonCommands.FILE_CATEGORY,
278
+ label: 'New Untitled Text File'
279
+ });
280
+ CommonCommands.NEW_UNTITLED_FILE = command_1.Command.toDefaultLocalizedCommand({
281
+ id: 'workbench.action.files.newUntitledFile',
282
+ category: CommonCommands.CREATE_CATEGORY,
283
+ label: 'New File...'
284
+ });
285
+ CommonCommands.SAVE = command_1.Command.toDefaultLocalizedCommand({
286
+ id: 'core.save',
287
+ category: CommonCommands.FILE_CATEGORY,
288
+ label: 'Save',
289
+ });
290
+ CommonCommands.SAVE_AS = command_1.Command.toDefaultLocalizedCommand({
291
+ id: 'file.saveAs',
292
+ category: CommonCommands.FILE_CATEGORY,
293
+ label: 'Save As...',
294
+ });
295
+ CommonCommands.SAVE_WITHOUT_FORMATTING = command_1.Command.toDefaultLocalizedCommand({
296
+ id: 'core.saveWithoutFormatting',
297
+ category: CommonCommands.FILE_CATEGORY,
298
+ label: 'Save without Formatting',
299
+ });
300
+ CommonCommands.SAVE_ALL = command_1.Command.toDefaultLocalizedCommand({
301
+ id: 'core.saveAll',
302
+ category: CommonCommands.FILE_CATEGORY,
303
+ label: 'Save All',
304
+ });
305
+ CommonCommands.AUTO_SAVE = command_1.Command.toDefaultLocalizedCommand({
306
+ id: 'textEditor.commands.autosave',
307
+ category: CommonCommands.FILE_CATEGORY,
308
+ label: 'Auto Save',
309
+ });
310
+ CommonCommands.ABOUT_COMMAND = command_1.Command.toDefaultLocalizedCommand({
311
+ id: 'core.about',
312
+ label: 'About'
313
+ });
314
+ CommonCommands.OPEN_PREFERENCES = command_1.Command.toDefaultLocalizedCommand({
315
+ id: 'preferences:open',
316
+ category: CommonCommands.PREFERENCES_CATEGORY,
317
+ label: 'Open Settings (UI)',
318
+ });
319
+ CommonCommands.SELECT_COLOR_THEME = command_1.Command.toDefaultLocalizedCommand({
320
+ id: 'workbench.action.selectTheme',
321
+ label: 'Color Theme',
322
+ category: CommonCommands.PREFERENCES_CATEGORY
323
+ });
324
+ CommonCommands.SELECT_ICON_THEME = command_1.Command.toDefaultLocalizedCommand({
325
+ id: 'workbench.action.selectIconTheme',
326
+ label: 'File Icon Theme',
327
+ category: CommonCommands.PREFERENCES_CATEGORY
328
+ });
329
+ CommonCommands.CONFIGURE_DISPLAY_LANGUAGE = command_1.Command.toDefaultLocalizedCommand({
330
+ id: 'workbench.action.configureLanguage',
331
+ label: 'Configure Display Language'
332
+ });
333
+ CommonCommands.TOGGLE_BREADCRUMBS = command_1.Command.toDefaultLocalizedCommand({
334
+ id: 'breadcrumbs.toggle',
335
+ label: 'Toggle Breadcrumbs',
336
+ category: CommonCommands.VIEW_CATEGORY
337
+ });
338
+ })(CommonCommands = exports.CommonCommands || (exports.CommonCommands = {}));
339
+ exports.supportCut = environment_1.environment.electron.is() || document.queryCommandSupported('cut');
340
+ exports.supportCopy = environment_1.environment.electron.is() || document.queryCommandSupported('copy');
341
+ // Chrome incorrectly returns true for document.queryCommandSupported('paste')
342
+ // when the paste feature is available but the calling script has insufficient
343
+ // privileges to actually perform the action
344
+ exports.supportPaste = environment_1.environment.electron.is() || (!browser.isChrome && document.queryCommandSupported('paste'));
345
+ exports.RECENT_COMMANDS_STORAGE_KEY = 'commands';
346
+ exports.CLASSNAME_OS_MAC = 'mac';
347
+ exports.CLASSNAME_OS_WINDOWS = 'windows';
348
+ exports.CLASSNAME_OS_LINUX = 'linux';
349
+ let CommonFrontendContribution = class CommonFrontendContribution {
350
+ constructor(shell, selectionService, messageService, openerService, aboutDialog, localizationProvider, saveResourceService) {
351
+ this.shell = shell;
352
+ this.selectionService = selectionService;
353
+ this.messageService = messageService;
354
+ this.openerService = openerService;
355
+ this.aboutDialog = aboutDialog;
356
+ this.localizationProvider = localizationProvider;
357
+ this.saveResourceService = saveResourceService;
358
+ this.commonDecorationsStyleSheet = decoration_style_1.DecorationStyle.createStyleSheet('coreCommonDecorationsStyle');
359
+ this.shouldPreventClose = false;
360
+ }
361
+ async configure(app) {
362
+ // FIXME: This request blocks valuable startup time (~200ms).
363
+ const configDirUri = await this.environments.getConfigDirUri();
364
+ // Global settings
365
+ this.encodingRegistry.registerOverride({
366
+ encoding: encodings_1.UTF8,
367
+ parent: new uri_1.default(configDirUri)
368
+ });
369
+ this.contextKeyService.createKey('isLinux', os_1.OS.type() === os_1.OS.Type.Linux);
370
+ this.contextKeyService.createKey('isMac', os_1.OS.type() === os_1.OS.Type.OSX);
371
+ this.contextKeyService.createKey('isWindows', os_1.OS.type() === os_1.OS.Type.Windows);
372
+ this.contextKeyService.createKey('isWeb', !this.isElectron());
373
+ this.pinnedKey = this.contextKeyService.createKey('activeEditorIsPinned', false);
374
+ this.updatePinnedKey();
375
+ this.shell.onDidChangeActiveWidget(() => this.updatePinnedKey());
376
+ this.initResourceContextKeys();
377
+ this.registerCtrlWHandling();
378
+ this.setOsClass();
379
+ this.updateStyles();
380
+ this.preferences.ready.then(() => this.setSashProperties());
381
+ this.preferences.onPreferenceChanged(e => this.handlePreferenceChange(e, app));
382
+ app.shell.leftPanelHandler.addBottomMenu({
383
+ id: 'settings-menu',
384
+ iconClass: 'codicon codicon-settings-gear',
385
+ title: nls_1.nls.localizeByDefault(CommonCommands.MANAGE_CATEGORY),
386
+ menuPath: menu_1.MANAGE_MENU,
387
+ order: 1,
388
+ });
389
+ const accountsMenu = {
390
+ id: 'accounts-menu',
391
+ iconClass: 'codicon codicon-person',
392
+ title: nls_1.nls.localizeByDefault('Accounts'),
393
+ menuPath: menu_1.ACCOUNTS_MENU,
394
+ order: 0,
395
+ };
396
+ this.authenticationService.onDidRegisterAuthenticationProvider(() => {
397
+ app.shell.leftPanelHandler.addBottomMenu(accountsMenu);
398
+ });
399
+ this.authenticationService.onDidUnregisterAuthenticationProvider(() => {
400
+ if (this.authenticationService.getProviderIds().length === 0) {
401
+ app.shell.leftPanelHandler.removeBottomMenu(accountsMenu.id);
402
+ }
403
+ });
404
+ }
405
+ setOsClass() {
406
+ if (os_1.isOSX) {
407
+ document.body.classList.add(exports.CLASSNAME_OS_MAC);
408
+ }
409
+ else if (os_1.isWindows) {
410
+ document.body.classList.add(exports.CLASSNAME_OS_WINDOWS);
411
+ }
412
+ else {
413
+ document.body.classList.add(exports.CLASSNAME_OS_LINUX);
414
+ }
415
+ }
416
+ updateStyles() {
417
+ document.body.classList.remove('theia-editor-highlightModifiedTabs');
418
+ if (this.preferences['workbench.editor.highlightModifiedTabs']) {
419
+ document.body.classList.add('theia-editor-highlightModifiedTabs');
420
+ }
421
+ }
422
+ updatePinnedKey() {
423
+ const activeTab = this.shell.findTabBar();
424
+ const pinningTarget = activeTab && this.shell.findTitle(activeTab);
425
+ const value = pinningTarget && (0, widgets_1.isPinned)(pinningTarget);
426
+ this.pinnedKey.set(value);
427
+ }
428
+ handlePreferenceChange(e, app) {
429
+ switch (e.preferenceName) {
430
+ case 'workbench.editor.highlightModifiedTabs': {
431
+ this.updateStyles();
432
+ break;
433
+ }
434
+ case 'window.menuBarVisibility': {
435
+ const { newValue } = e;
436
+ const mainMenuId = 'main-menu';
437
+ if (newValue === 'compact') {
438
+ this.shell.leftPanelHandler.addTopMenu({
439
+ id: mainMenuId,
440
+ iconClass: 'codicon codicon-menu',
441
+ title: nls_1.nls.localizeByDefault('Application Menu'),
442
+ menuPath: menu_1.MAIN_MENU_BAR,
443
+ order: 0,
444
+ });
445
+ }
446
+ else {
447
+ app.shell.leftPanelHandler.removeTopMenu(mainMenuId);
448
+ }
449
+ break;
450
+ }
451
+ case 'workbench.sash.hoverDelay':
452
+ case 'workbench.sash.size': {
453
+ this.setSashProperties();
454
+ break;
455
+ }
456
+ }
457
+ }
458
+ setSashProperties() {
459
+ const sashRule = `:root {
460
+ --theia-sash-hoverDelay: ${this.preferences['workbench.sash.hoverDelay']}ms;
461
+ --theia-sash-width: ${this.preferences['workbench.sash.size']}px;
462
+ }`;
463
+ decoration_style_1.DecorationStyle.deleteStyleRule(':root', this.commonDecorationsStyleSheet);
464
+ this.commonDecorationsStyleSheet.insertRule(sashRule);
465
+ }
466
+ onStart() {
467
+ this.storageService.getData(exports.RECENT_COMMANDS_STORAGE_KEY, { recent: [] })
468
+ .then(tasks => this.commandRegistry.recent = tasks.recent);
469
+ }
470
+ onStop() {
471
+ const recent = this.commandRegistry.recent;
472
+ this.storageService.setData(exports.RECENT_COMMANDS_STORAGE_KEY, { recent });
473
+ window.localStorage.setItem(icon_theme_service_1.IconThemeService.STORAGE_KEY, this.iconThemes.current);
474
+ window.localStorage.setItem(theming_1.ThemeService.STORAGE_KEY, this.themeService.getCurrentTheme().id);
475
+ }
476
+ initResourceContextKeys() {
477
+ const updateContextKeys = () => {
478
+ const selection = this.selectionService.selection;
479
+ const resourceUri = navigatable_1.Navigatable.is(selection) && selection.getResourceUri() || selection_1.UriSelection.getUri(selection);
480
+ this.resourceContextKey.set(resourceUri);
481
+ };
482
+ updateContextKeys();
483
+ this.selectionService.onSelectionChanged(updateContextKeys);
484
+ }
485
+ registerMenus(registry) {
486
+ registry.registerSubmenu(CommonMenus.FILE, nls_1.nls.localizeByDefault('File'));
487
+ registry.registerSubmenu(CommonMenus.EDIT, nls_1.nls.localizeByDefault('Edit'));
488
+ registry.registerSubmenu(CommonMenus.VIEW, nls_1.nls.localizeByDefault('View'));
489
+ registry.registerSubmenu(CommonMenus.HELP, nls_1.nls.localizeByDefault('Help'));
490
+ // For plugins contributing create new file commands/menu-actions
491
+ registry.registerIndependentSubmenu(CommonMenus.FILE_NEW_CONTRIBUTIONS, nls_1.nls.localizeByDefault('New File...'));
492
+ registry.registerMenuAction(CommonMenus.FILE_SAVE, {
493
+ commandId: CommonCommands.SAVE.id
494
+ });
495
+ registry.registerMenuAction(CommonMenus.FILE_SAVE, {
496
+ commandId: CommonCommands.SAVE_ALL.id
497
+ });
498
+ registry.registerMenuAction(CommonMenus.FILE_AUTOSAVE, {
499
+ commandId: CommonCommands.AUTO_SAVE.id
500
+ });
501
+ registry.registerSubmenu(CommonMenus.FILE_SETTINGS_SUBMENU, nls_1.nls.localizeByDefault(CommonCommands.PREFERENCES_CATEGORY));
502
+ registry.registerMenuAction(CommonMenus.EDIT_UNDO, {
503
+ commandId: CommonCommands.UNDO.id,
504
+ order: '0'
505
+ });
506
+ registry.registerMenuAction(CommonMenus.EDIT_UNDO, {
507
+ commandId: CommonCommands.REDO.id,
508
+ order: '1'
509
+ });
510
+ registry.registerMenuAction(CommonMenus.EDIT_FIND, {
511
+ commandId: CommonCommands.FIND.id,
512
+ order: '0'
513
+ });
514
+ registry.registerMenuAction(CommonMenus.EDIT_FIND, {
515
+ commandId: CommonCommands.REPLACE.id,
516
+ order: '1'
517
+ });
518
+ registry.registerMenuAction(CommonMenus.EDIT_CLIPBOARD, {
519
+ commandId: CommonCommands.CUT.id,
520
+ order: '0'
521
+ });
522
+ registry.registerMenuAction(CommonMenus.EDIT_CLIPBOARD, {
523
+ commandId: CommonCommands.COPY.id,
524
+ order: '1'
525
+ });
526
+ registry.registerMenuAction(CommonMenus.EDIT_CLIPBOARD, {
527
+ commandId: CommonCommands.PASTE.id,
528
+ order: '2'
529
+ });
530
+ registry.registerMenuAction(CommonMenus.EDIT_CLIPBOARD, {
531
+ commandId: CommonCommands.COPY_PATH.id,
532
+ order: '3'
533
+ });
534
+ registry.registerMenuAction(CommonMenus.VIEW_APPEARANCE_SUBMENU_BAR, {
535
+ commandId: CommonCommands.TOGGLE_BOTTOM_PANEL.id,
536
+ order: '1'
537
+ });
538
+ registry.registerMenuAction(CommonMenus.VIEW_APPEARANCE_SUBMENU_BAR, {
539
+ commandId: CommonCommands.TOGGLE_STATUS_BAR.id,
540
+ order: '2',
541
+ label: nls_1.nls.localizeByDefault('Toggle Status Bar Visibility')
542
+ });
543
+ registry.registerMenuAction(CommonMenus.VIEW_APPEARANCE_SUBMENU_BAR, {
544
+ commandId: CommonCommands.COLLAPSE_ALL_PANELS.id,
545
+ order: '3'
546
+ });
547
+ registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_CLOSE, {
548
+ commandId: CommonCommands.CLOSE_TAB.id,
549
+ label: nls_1.nls.localizeByDefault('Close'),
550
+ order: '0'
551
+ });
552
+ registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_CLOSE, {
553
+ commandId: CommonCommands.CLOSE_OTHER_TABS.id,
554
+ label: nls_1.nls.localizeByDefault('Close Others'),
555
+ order: '1'
556
+ });
557
+ registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_CLOSE, {
558
+ commandId: CommonCommands.CLOSE_RIGHT_TABS.id,
559
+ label: nls_1.nls.localizeByDefault('Close to the Right'),
560
+ order: '2'
561
+ });
562
+ registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_CLOSE, {
563
+ commandId: CommonCommands.CLOSE_SAVED_TABS.id,
564
+ label: nls_1.nls.localizeByDefault('Close Saved'),
565
+ order: '3',
566
+ });
567
+ registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_CLOSE, {
568
+ commandId: CommonCommands.CLOSE_ALL_TABS.id,
569
+ label: nls_1.nls.localizeByDefault('Close All'),
570
+ order: '4'
571
+ });
572
+ registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_SPLIT, {
573
+ commandId: CommonCommands.COLLAPSE_PANEL.id,
574
+ label: CommonCommands.COLLAPSE_PANEL.label,
575
+ order: '5'
576
+ });
577
+ registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_SPLIT, {
578
+ commandId: CommonCommands.TOGGLE_MAXIMIZED.id,
579
+ label: CommonCommands.TOGGLE_MAXIMIZED.label,
580
+ order: '6'
581
+ });
582
+ registry.registerMenuAction(CommonMenus.VIEW_APPEARANCE_SUBMENU_SCREEN, {
583
+ commandId: CommonCommands.TOGGLE_MAXIMIZED.id,
584
+ label: CommonCommands.TOGGLE_MAXIMIZED.label,
585
+ order: '6'
586
+ });
587
+ registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_COPY, {
588
+ commandId: CommonCommands.COPY_PATH.id,
589
+ label: CommonCommands.COPY_PATH.label,
590
+ order: '1',
591
+ });
592
+ registry.registerMenuAction(CommonMenus.VIEW_APPEARANCE_SUBMENU_BAR, {
593
+ commandId: CommonCommands.SHOW_MENU_BAR.id,
594
+ label: nls_1.nls.localizeByDefault('Toggle Menu Bar'),
595
+ order: '0'
596
+ });
597
+ registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_PIN, {
598
+ commandId: CommonCommands.PIN_TAB.id,
599
+ label: nls_1.nls.localizeByDefault('Pin'),
600
+ order: '7'
601
+ });
602
+ registry.registerMenuAction(tab_bars_1.SHELL_TABBAR_CONTEXT_PIN, {
603
+ commandId: CommonCommands.UNPIN_TAB.id,
604
+ label: nls_1.nls.localizeByDefault('Unpin'),
605
+ order: '8'
606
+ });
607
+ registry.registerMenuAction(CommonMenus.HELP, {
608
+ commandId: CommonCommands.ABOUT_COMMAND.id,
609
+ label: CommonCommands.ABOUT_COMMAND.label,
610
+ order: '9'
611
+ });
612
+ registry.registerMenuAction(CommonMenus.VIEW_PRIMARY, {
613
+ commandId: CommonCommands.OPEN_VIEW.id
614
+ });
615
+ registry.registerMenuAction(CommonMenus.FILE_SETTINGS_SUBMENU_THEME, {
616
+ commandId: CommonCommands.SELECT_COLOR_THEME.id
617
+ });
618
+ registry.registerMenuAction(CommonMenus.FILE_SETTINGS_SUBMENU_THEME, {
619
+ commandId: CommonCommands.SELECT_ICON_THEME.id
620
+ });
621
+ registry.registerSubmenu(CommonMenus.MANAGE_SETTINGS_THEMES, nls_1.nls.localizeByDefault('Themes'), { order: 'a50' });
622
+ registry.registerMenuAction(CommonMenus.MANAGE_SETTINGS_THEMES, {
623
+ commandId: CommonCommands.SELECT_COLOR_THEME.id,
624
+ order: '0'
625
+ });
626
+ registry.registerMenuAction(CommonMenus.MANAGE_SETTINGS_THEMES, {
627
+ commandId: CommonCommands.SELECT_ICON_THEME.id,
628
+ order: '1'
629
+ });
630
+ registry.registerSubmenu(CommonMenus.VIEW_APPEARANCE_SUBMENU, nls_1.nls.localizeByDefault('Appearance'));
631
+ registry.registerMenuAction(CommonMenus.FILE_NEW_TEXT, {
632
+ commandId: CommonCommands.NEW_UNTITLED_TEXT_FILE.id,
633
+ label: nls_1.nls.localizeByDefault('New Text File'),
634
+ order: 'a'
635
+ });
636
+ registry.registerMenuAction(CommonMenus.FILE_NEW_TEXT, {
637
+ commandId: CommonCommands.NEW_UNTITLED_FILE.id,
638
+ label: nls_1.nls.localizeByDefault('New File...'),
639
+ order: 'a1'
640
+ });
641
+ }
642
+ registerCommands(commandRegistry) {
643
+ commandRegistry.registerCommand(CommonCommands.OPEN, uri_command_handler_1.UriAwareCommandHandler.MultiSelect(this.selectionService, {
644
+ execute: uris => uris.map(uri => (0, opener_service_1.open)(this.openerService, uri)),
645
+ }));
646
+ commandRegistry.registerCommand(CommonCommands.CUT, {
647
+ execute: () => {
648
+ if (exports.supportCut) {
649
+ document.execCommand('cut');
650
+ }
651
+ else {
652
+ this.messageService.warn(nls_1.nls.localize('theia/core/cutWarn', "Please use the browser's cut command or shortcut."));
653
+ }
654
+ }
655
+ });
656
+ commandRegistry.registerCommand(CommonCommands.COPY, {
657
+ execute: () => {
658
+ if (exports.supportCopy) {
659
+ document.execCommand('copy');
660
+ }
661
+ else {
662
+ this.messageService.warn(nls_1.nls.localize('theia/core/copyWarn', "Please use the browser's copy command or shortcut."));
663
+ }
664
+ }
665
+ });
666
+ commandRegistry.registerCommand(CommonCommands.PASTE, {
667
+ execute: () => {
668
+ if (exports.supportPaste) {
669
+ document.execCommand('paste');
670
+ }
671
+ else {
672
+ this.messageService.warn(nls_1.nls.localize('theia/core/pasteWarn', "Please use the browser's paste command or shortcut."));
673
+ }
674
+ }
675
+ });
676
+ commandRegistry.registerCommand(CommonCommands.COPY_PATH, uri_command_handler_1.UriAwareCommandHandler.MultiSelect(this.selectionService, {
677
+ isVisible: uris => Array.isArray(uris) && uris.some(uri => uri instanceof uri_1.default),
678
+ isEnabled: uris => Array.isArray(uris) && uris.some(uri => uri instanceof uri_1.default),
679
+ execute: async (uris) => {
680
+ if (uris.length) {
681
+ const lineDelimiter = os_1.EOL;
682
+ const text = uris.map(resource => resource.path.fsPath()).join(lineDelimiter);
683
+ await this.clipboardService.writeText(text);
684
+ }
685
+ else {
686
+ await this.messageService.info(nls_1.nls.localize('theia/core/copyInfo', 'Open a file first to copy its path'));
687
+ }
688
+ }
689
+ }));
690
+ commandRegistry.registerCommand(CommonCommands.UNDO, {
691
+ execute: () => document.execCommand('undo')
692
+ });
693
+ commandRegistry.registerCommand(CommonCommands.REDO, {
694
+ execute: () => document.execCommand('redo')
695
+ });
696
+ commandRegistry.registerCommand(CommonCommands.SELECT_ALL, {
697
+ execute: () => document.execCommand('selectAll')
698
+ });
699
+ commandRegistry.registerCommand(CommonCommands.FIND, {
700
+ execute: () => { }
701
+ });
702
+ commandRegistry.registerCommand(CommonCommands.REPLACE, {
703
+ execute: () => { }
704
+ });
705
+ commandRegistry.registerCommand(CommonCommands.NEXT_TAB, {
706
+ isEnabled: () => this.shell.currentTabBar !== undefined,
707
+ execute: () => this.shell.activateNextTab()
708
+ });
709
+ commandRegistry.registerCommand(CommonCommands.PREVIOUS_TAB, {
710
+ isEnabled: () => this.shell.currentTabBar !== undefined,
711
+ execute: () => this.shell.activatePreviousTab()
712
+ });
713
+ commandRegistry.registerCommand(CommonCommands.NEXT_TAB_IN_GROUP, {
714
+ isEnabled: () => this.shell.nextTabIndexInTabBar() !== -1,
715
+ execute: () => this.shell.activateNextTabInTabBar()
716
+ });
717
+ commandRegistry.registerCommand(CommonCommands.PREVIOUS_TAB_IN_GROUP, {
718
+ isEnabled: () => this.shell.previousTabIndexInTabBar() !== -1,
719
+ execute: () => this.shell.activatePreviousTabInTabBar()
720
+ });
721
+ commandRegistry.registerCommand(CommonCommands.NEXT_TAB_GROUP, {
722
+ isEnabled: () => this.shell.nextTabBar() !== undefined,
723
+ execute: () => this.shell.activateNextTabBar()
724
+ });
725
+ commandRegistry.registerCommand(CommonCommands.PREVIOUS_TAB_GROUP, {
726
+ isEnabled: () => this.shell.previousTabBar() !== undefined,
727
+ execute: () => this.shell.activatePreviousTabBar()
728
+ });
729
+ commandRegistry.registerCommand(CommonCommands.CLOSE_TAB, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
730
+ isEnabled: title => Boolean(title === null || title === void 0 ? void 0 : title.closable),
731
+ execute: (title, tabBar) => tabBar && this.shell.closeTabs(tabBar, candidate => candidate === title),
732
+ }));
733
+ commandRegistry.registerCommand(CommonCommands.CLOSE_OTHER_TABS, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
734
+ isEnabled: (title, tabbar) => Boolean(tabbar === null || tabbar === void 0 ? void 0 : tabbar.titles.some(candidate => candidate !== title && candidate.closable)),
735
+ execute: (title, tabbar) => tabbar && this.shell.closeTabs(tabbar, candidate => candidate !== title && candidate.closable),
736
+ }));
737
+ commandRegistry.registerCommand(CommonCommands.CLOSE_SAVED_TABS, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
738
+ isEnabled: (_title, tabbar) => Boolean(tabbar === null || tabbar === void 0 ? void 0 : tabbar.titles.some(candidate => candidate.closable && !saveable_1.Saveable.isDirty(candidate.owner))),
739
+ execute: (_title, tabbar) => tabbar && this.shell.closeTabs(tabbar, candidate => candidate.closable && !saveable_1.Saveable.isDirty(candidate.owner)),
740
+ }));
741
+ commandRegistry.registerCommand(CommonCommands.CLOSE_RIGHT_TABS, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
742
+ isEnabled: (title, tabbar) => {
743
+ let targetSeen = false;
744
+ return Boolean(tabbar === null || tabbar === void 0 ? void 0 : tabbar.titles.some(candidate => {
745
+ if (targetSeen && candidate.closable) {
746
+ return true;
747
+ }
748
+ ;
749
+ if (candidate === title) {
750
+ targetSeen = true;
751
+ }
752
+ ;
753
+ }));
754
+ },
755
+ isVisible: (_title, tabbar) => {
756
+ var _a;
757
+ const area = (_a = (tabbar && this.shell.getAreaFor(tabbar))) !== null && _a !== void 0 ? _a : this.shell.currentTabArea;
758
+ return area !== undefined && area !== 'left' && area !== 'right';
759
+ },
760
+ execute: (title, tabbar) => {
761
+ if (tabbar) {
762
+ let targetSeen = false;
763
+ this.shell.closeTabs(tabbar, candidate => {
764
+ if (targetSeen && candidate.closable) {
765
+ return true;
766
+ }
767
+ ;
768
+ if (candidate === title) {
769
+ targetSeen = true;
770
+ }
771
+ ;
772
+ return false;
773
+ });
774
+ }
775
+ }
776
+ }));
777
+ commandRegistry.registerCommand(CommonCommands.CLOSE_ALL_TABS, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
778
+ isEnabled: (_title, tabbar) => Boolean(tabbar === null || tabbar === void 0 ? void 0 : tabbar.titles.some(title => title.closable)),
779
+ execute: (_title, tabbar) => tabbar && this.shell.closeTabs(tabbar, candidate => candidate.closable),
780
+ }));
781
+ commandRegistry.registerCommand(CommonCommands.CLOSE_MAIN_TAB, {
782
+ isEnabled: () => {
783
+ const currentWidget = this.shell.getCurrentWidget('main');
784
+ return currentWidget !== undefined && currentWidget.title.closable;
785
+ },
786
+ execute: () => this.shell.getCurrentWidget('main').close()
787
+ });
788
+ commandRegistry.registerCommand(CommonCommands.CLOSE_OTHER_MAIN_TABS, {
789
+ isEnabled: () => {
790
+ const currentWidget = this.shell.getCurrentWidget('main');
791
+ return currentWidget !== undefined &&
792
+ this.shell.mainAreaTabBars.some(tb => tb.titles.some(title => title.owner !== currentWidget && title.closable));
793
+ },
794
+ execute: () => {
795
+ const currentWidget = this.shell.getCurrentWidget('main');
796
+ this.shell.closeTabs('main', title => title.owner !== currentWidget && title.closable);
797
+ }
798
+ });
799
+ commandRegistry.registerCommand(CommonCommands.CLOSE_ALL_MAIN_TABS, {
800
+ isEnabled: () => this.shell.mainAreaTabBars.some(tb => tb.titles.some(title => title.closable)),
801
+ execute: () => this.shell.closeTabs('main', title => title.closable)
802
+ });
803
+ commandRegistry.registerCommand(CommonCommands.COLLAPSE_PANEL, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
804
+ isEnabled: (_title, tabbar) => Boolean(tabbar && application_shell_1.ApplicationShell.isSideArea(this.shell.getAreaFor(tabbar))),
805
+ isVisible: (_title, tabbar) => Boolean(tabbar && application_shell_1.ApplicationShell.isSideArea(this.shell.getAreaFor(tabbar))),
806
+ execute: (_title, tabbar) => tabbar && this.shell.collapsePanel(this.shell.getAreaFor(tabbar))
807
+ }));
808
+ commandRegistry.registerCommand(CommonCommands.COLLAPSE_ALL_PANELS, {
809
+ execute: () => {
810
+ this.shell.collapsePanel('left');
811
+ this.shell.collapsePanel('right');
812
+ this.shell.collapsePanel('bottom');
813
+ }
814
+ });
815
+ commandRegistry.registerCommand(CommonCommands.TOGGLE_BOTTOM_PANEL, {
816
+ isEnabled: () => this.shell.getWidgets('bottom').length > 0,
817
+ execute: () => {
818
+ if (this.shell.isExpanded('bottom')) {
819
+ this.shell.collapsePanel('bottom');
820
+ }
821
+ else {
822
+ this.shell.expandPanel('bottom');
823
+ }
824
+ }
825
+ });
826
+ commandRegistry.registerCommand(CommonCommands.TOGGLE_STATUS_BAR, {
827
+ execute: () => this.preferenceService.updateValue('workbench.statusBar.visible', !this.preferences['workbench.statusBar.visible'])
828
+ });
829
+ commandRegistry.registerCommand(CommonCommands.TOGGLE_MAXIMIZED, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
830
+ isEnabled: title => Boolean((title === null || title === void 0 ? void 0 : title.owner) && this.shell.canToggleMaximized(title === null || title === void 0 ? void 0 : title.owner)),
831
+ isVisible: title => Boolean((title === null || title === void 0 ? void 0 : title.owner) && this.shell.canToggleMaximized(title === null || title === void 0 ? void 0 : title.owner)),
832
+ execute: title => (title === null || title === void 0 ? void 0 : title.owner) && this.shell.toggleMaximized(title === null || title === void 0 ? void 0 : title.owner),
833
+ }));
834
+ commandRegistry.registerCommand(CommonCommands.SHOW_MENU_BAR, {
835
+ isEnabled: () => !os_1.isOSX,
836
+ isVisible: () => !os_1.isOSX,
837
+ execute: () => {
838
+ const menuBarVisibility = 'window.menuBarVisibility';
839
+ const visibility = this.preferences[menuBarVisibility];
840
+ if (visibility !== 'compact') {
841
+ this.preferenceService.updateValue(menuBarVisibility, 'compact');
842
+ }
843
+ else {
844
+ this.preferenceService.updateValue(menuBarVisibility, 'classic');
845
+ }
846
+ }
847
+ });
848
+ commandRegistry.registerCommand(CommonCommands.SAVE, {
849
+ execute: () => this.save({ formatType: 1 /* ON */ })
850
+ });
851
+ commandRegistry.registerCommand(CommonCommands.SAVE_AS, {
852
+ isEnabled: () => this.saveResourceService.canSaveAs(this.shell.currentWidget),
853
+ execute: () => {
854
+ const { currentWidget } = this.shell;
855
+ // No clue what could have happened between `isEnabled` and `execute`
856
+ // when fetching currentWidget, so better to double-check:
857
+ if (this.saveResourceService.canSaveAs(currentWidget)) {
858
+ this.saveResourceService.saveAs(currentWidget);
859
+ }
860
+ else {
861
+ this.messageService.error(nls_1.nls.localize('theia/workspace/failSaveAs', 'Cannot run "{0}" for the current widget.', CommonCommands.SAVE_AS.label));
862
+ }
863
+ },
864
+ });
865
+ commandRegistry.registerCommand(CommonCommands.SAVE_WITHOUT_FORMATTING, {
866
+ execute: () => this.save({ formatType: 2 /* OFF */ })
867
+ });
868
+ commandRegistry.registerCommand(CommonCommands.SAVE_ALL, {
869
+ execute: () => this.shell.saveAll({ formatType: 3 /* DIRTY */ })
870
+ });
871
+ commandRegistry.registerCommand(CommonCommands.ABOUT_COMMAND, {
872
+ execute: () => this.openAbout()
873
+ });
874
+ commandRegistry.registerCommand(CommonCommands.OPEN_VIEW, {
875
+ execute: () => { var _a; return (_a = this.quickInputService) === null || _a === void 0 ? void 0 : _a.open(quick_view_service_1.QuickViewService.PREFIX); }
876
+ });
877
+ commandRegistry.registerCommand(CommonCommands.SELECT_COLOR_THEME, {
878
+ execute: () => this.selectColorTheme()
879
+ });
880
+ commandRegistry.registerCommand(CommonCommands.SELECT_ICON_THEME, {
881
+ execute: () => this.selectIconTheme()
882
+ });
883
+ commandRegistry.registerCommand(CommonCommands.PIN_TAB, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
884
+ isEnabled: title => Boolean(title && !(0, widgets_1.isPinned)(title)),
885
+ execute: title => this.togglePinned(title),
886
+ }));
887
+ commandRegistry.registerCommand(CommonCommands.UNPIN_TAB, new current_widget_command_adapter_1.CurrentWidgetCommandAdapter(this.shell, {
888
+ isEnabled: title => Boolean(title && (0, widgets_1.isPinned)(title)),
889
+ execute: title => this.togglePinned(title),
890
+ }));
891
+ commandRegistry.registerCommand(CommonCommands.CONFIGURE_DISPLAY_LANGUAGE, {
892
+ execute: () => this.configureDisplayLanguage()
893
+ });
894
+ commandRegistry.registerCommand(CommonCommands.TOGGLE_BREADCRUMBS, {
895
+ execute: () => this.toggleBreadcrumbs(),
896
+ isToggled: () => this.isBreadcrumbsEnabled(),
897
+ });
898
+ commandRegistry.registerCommand(CommonCommands.NEW_UNTITLED_TEXT_FILE, {
899
+ execute: async () => {
900
+ const untitledUri = this.untitledResourceResolver.createUntitledURI('', await this.workingDirProvider.getUserWorkingDir());
901
+ this.untitledResourceResolver.resolve(untitledUri);
902
+ return (0, opener_service_1.open)(this.openerService, untitledUri);
903
+ }
904
+ });
905
+ commandRegistry.registerCommand(CommonCommands.NEW_UNTITLED_FILE, {
906
+ execute: async () => this.showNewFilePicker()
907
+ });
908
+ for (const [index, ordinal] of this.getOrdinalNumbers().entries()) {
909
+ commandRegistry.registerCommand({ id: `workbench.action.focus${ordinal}EditorGroup`, label: index === 0 ? nls_1.nls.localizeByDefault('Focus First Editor Group') : '', category: nls_1.nls.localize(CommonCommands.VIEW_CATEGORY_KEY, CommonCommands.VIEW_CATEGORY) }, {
910
+ isEnabled: () => this.shell.mainAreaTabBars.length > index,
911
+ execute: () => {
912
+ var _a, _b;
913
+ const widget = (_b = (_a = this.shell.mainAreaTabBars[index]) === null || _a === void 0 ? void 0 : _a.currentTitle) === null || _b === void 0 ? void 0 : _b.owner;
914
+ if (widget) {
915
+ this.shell.activateWidget(widget.id);
916
+ }
917
+ }
918
+ });
919
+ }
920
+ }
921
+ getOrdinalNumbers() {
922
+ return ['First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth', 'Seventh', 'Eighth', 'Ninth'];
923
+ }
924
+ isElectron() {
925
+ return environment_1.environment.electron.is();
926
+ }
927
+ togglePinned(title) {
928
+ if (title) {
929
+ (0, widgets_1.togglePinned)(title);
930
+ this.updatePinnedKey();
931
+ }
932
+ }
933
+ registerKeybindings(registry) {
934
+ if (exports.supportCut) {
935
+ registry.registerKeybinding({
936
+ command: CommonCommands.CUT.id,
937
+ keybinding: 'ctrlcmd+x'
938
+ });
939
+ }
940
+ if (exports.supportCopy) {
941
+ registry.registerKeybinding({
942
+ command: CommonCommands.COPY.id,
943
+ keybinding: 'ctrlcmd+c'
944
+ });
945
+ }
946
+ if (exports.supportPaste) {
947
+ registry.registerKeybinding({
948
+ command: CommonCommands.PASTE.id,
949
+ keybinding: 'ctrlcmd+v'
950
+ });
951
+ }
952
+ registry.registerKeybinding({
953
+ command: CommonCommands.COPY_PATH.id,
954
+ keybinding: os_1.isWindows ? 'shift+alt+c' : 'ctrlcmd+alt+c',
955
+ when: '!editorFocus'
956
+ });
957
+ registry.registerKeybindings(
958
+ // Edition
959
+ {
960
+ command: CommonCommands.UNDO.id,
961
+ keybinding: 'ctrlcmd+z'
962
+ }, {
963
+ command: CommonCommands.REDO.id,
964
+ keybinding: 'ctrlcmd+shift+z'
965
+ }, {
966
+ command: CommonCommands.SELECT_ALL.id,
967
+ keybinding: 'ctrlcmd+a'
968
+ }, {
969
+ command: CommonCommands.FIND.id,
970
+ keybinding: 'ctrlcmd+f'
971
+ }, {
972
+ command: CommonCommands.REPLACE.id,
973
+ keybinding: 'ctrlcmd+alt+f'
974
+ },
975
+ // Tabs
976
+ {
977
+ command: CommonCommands.NEXT_TAB.id,
978
+ keybinding: 'ctrlcmd+tab'
979
+ }, {
980
+ command: CommonCommands.NEXT_TAB.id,
981
+ keybinding: 'ctrlcmd+alt+d'
982
+ }, {
983
+ command: CommonCommands.PREVIOUS_TAB.id,
984
+ keybinding: 'ctrlcmd+shift+tab'
985
+ }, {
986
+ command: CommonCommands.PREVIOUS_TAB.id,
987
+ keybinding: 'ctrlcmd+alt+a'
988
+ }, {
989
+ command: CommonCommands.CLOSE_MAIN_TAB.id,
990
+ keybinding: this.isElectron() ? (os_1.isWindows ? 'ctrl+f4' : 'ctrlcmd+w') : 'alt+w'
991
+ }, {
992
+ command: CommonCommands.CLOSE_OTHER_MAIN_TABS.id,
993
+ keybinding: 'ctrlcmd+alt+t'
994
+ }, {
995
+ command: CommonCommands.CLOSE_ALL_MAIN_TABS.id,
996
+ keybinding: this.isElectron() ? 'ctrlCmd+k ctrlCmd+w' : 'alt+shift+w'
997
+ },
998
+ // Panels
999
+ {
1000
+ command: CommonCommands.COLLAPSE_PANEL.id,
1001
+ keybinding: 'alt+c'
1002
+ }, {
1003
+ command: CommonCommands.TOGGLE_BOTTOM_PANEL.id,
1004
+ keybinding: 'ctrlcmd+j',
1005
+ }, {
1006
+ command: CommonCommands.COLLAPSE_ALL_PANELS.id,
1007
+ keybinding: 'alt+shift+c',
1008
+ }, {
1009
+ command: CommonCommands.TOGGLE_MAXIMIZED.id,
1010
+ keybinding: 'alt+m',
1011
+ },
1012
+ // Saving
1013
+ {
1014
+ command: CommonCommands.SAVE.id,
1015
+ keybinding: 'ctrlcmd+s'
1016
+ }, {
1017
+ command: CommonCommands.SAVE_WITHOUT_FORMATTING.id,
1018
+ keybinding: 'ctrlcmd+k s'
1019
+ }, {
1020
+ command: CommonCommands.SAVE_ALL.id,
1021
+ keybinding: 'ctrlcmd+alt+s'
1022
+ },
1023
+ // Theming
1024
+ {
1025
+ command: CommonCommands.SELECT_COLOR_THEME.id,
1026
+ keybinding: 'ctrlcmd+k ctrlcmd+t'
1027
+ }, {
1028
+ command: CommonCommands.PIN_TAB.id,
1029
+ keybinding: 'ctrlcmd+k shift+enter',
1030
+ when: '!activeEditorIsPinned'
1031
+ }, {
1032
+ command: CommonCommands.UNPIN_TAB.id,
1033
+ keybinding: 'ctrlcmd+k shift+enter',
1034
+ when: 'activeEditorIsPinned'
1035
+ }, {
1036
+ command: CommonCommands.NEW_UNTITLED_TEXT_FILE.id,
1037
+ keybinding: this.isElectron() ? 'ctrlcmd+n' : 'alt+n',
1038
+ }, {
1039
+ command: CommonCommands.NEW_UNTITLED_FILE.id,
1040
+ keybinding: 'ctrlcmd+alt+n'
1041
+ });
1042
+ for (const [index, ordinal] of this.getOrdinalNumbers().entries()) {
1043
+ registry.registerKeybinding({
1044
+ command: `workbench.action.focus${ordinal}EditorGroup`,
1045
+ keybinding: `ctrlcmd+${(index + 1) % 10}`,
1046
+ });
1047
+ }
1048
+ }
1049
+ async save(options) {
1050
+ const widget = this.shell.currentWidget;
1051
+ this.saveResourceService.save(widget, options);
1052
+ }
1053
+ async openAbout() {
1054
+ this.aboutDialog.open();
1055
+ }
1056
+ /**
1057
+ * registers event listener which make sure that
1058
+ * window doesn't get closed if CMD/CTRL W is pressed.
1059
+ * Too many users have that in their muscle memory.
1060
+ * Chrome doesn't let us rebind or prevent default the keybinding, so this
1061
+ * at least doesn't close the window immediately.
1062
+ */
1063
+ registerCtrlWHandling() {
1064
+ function isCtrlCmd(event) {
1065
+ return (os_1.isOSX && event.metaKey) || (!os_1.isOSX && event.ctrlKey);
1066
+ }
1067
+ window.document.addEventListener('keydown', event => {
1068
+ this.shouldPreventClose = isCtrlCmd(event) && event.code === 'KeyW';
1069
+ });
1070
+ window.document.addEventListener('keyup', () => {
1071
+ this.shouldPreventClose = false;
1072
+ });
1073
+ }
1074
+ onWillStop() {
1075
+ if (this.shouldPreventClose || this.shell.canSaveAll()) {
1076
+ return {
1077
+ reason: 'Dirty editors present',
1078
+ action: async () => {
1079
+ const captionsToSave = this.unsavedTabsCaptions();
1080
+ const untitledCaptionsToSave = this.unsavedUntitledTabsCaptions();
1081
+ const shouldExit = await this.confirmExitWithOrWithoutSaving(captionsToSave, async () => {
1082
+ await this.saveDirty(untitledCaptionsToSave);
1083
+ await this.shell.saveAll();
1084
+ });
1085
+ const allSavedOrDoNotSave = (shouldExit === true && untitledCaptionsToSave.length === 0 // Should save and cancel if any captions failed to save
1086
+ ) || shouldExit === false; // Do not save
1087
+ this.shouldPreventClose = !allSavedOrDoNotSave;
1088
+ return allSavedOrDoNotSave;
1089
+ }
1090
+ };
1091
+ }
1092
+ }
1093
+ // Asks the user to confirm whether they want to exit with or without saving the changes
1094
+ async confirmExitWithOrWithoutSaving(captionsToSave, performSave) {
1095
+ const div = document.createElement('div');
1096
+ div.innerText = nls_1.nls.localizeByDefault("Your changes will be lost if you don't save them.");
1097
+ let result;
1098
+ if (captionsToSave.length > 0) {
1099
+ const span = document.createElement('span');
1100
+ span.appendChild(document.createElement('br'));
1101
+ captionsToSave.forEach(cap => {
1102
+ const b = document.createElement('b');
1103
+ b.innerText = cap;
1104
+ span.appendChild(b);
1105
+ span.appendChild(document.createElement('br'));
1106
+ });
1107
+ span.appendChild(document.createElement('br'));
1108
+ div.appendChild(span);
1109
+ result = await new dialogs_1.ConfirmSaveDialog({
1110
+ title: nls_1.nls.localizeByDefault('Do you want to save the changes to the following {0} files?', captionsToSave.length),
1111
+ msg: div,
1112
+ dontSave: nls_1.nls.localizeByDefault("Don't Save"),
1113
+ save: nls_1.nls.localizeByDefault('Save All'),
1114
+ cancel: dialogs_1.Dialog.CANCEL
1115
+ }).open();
1116
+ if (result) {
1117
+ await performSave();
1118
+ }
1119
+ }
1120
+ else {
1121
+ // fallback if not passed with an empty caption-list.
1122
+ result = (0, dialogs_1.confirmExit)();
1123
+ }
1124
+ if (result !== undefined) {
1125
+ return result === true;
1126
+ }
1127
+ else {
1128
+ return undefined;
1129
+ }
1130
+ ;
1131
+ }
1132
+ unsavedTabsCaptions() {
1133
+ return this.shell.widgets
1134
+ .filter(widget => this.saveResourceService.canSave(widget))
1135
+ .map(widget => widget.title.label);
1136
+ }
1137
+ unsavedUntitledTabsCaptions() {
1138
+ return this.shell.widgets.filter(widget => { var _a; return ((_a = navigatable_1.NavigatableWidget.getUri(widget)) === null || _a === void 0 ? void 0 : _a.scheme) === common_1.UNTITLED_SCHEME && this.saveResourceService.canSaveAs(widget); });
1139
+ }
1140
+ async configureDisplayLanguage() {
1141
+ var _a, _b;
1142
+ const languageInfo = await this.languageQuickPickService.pickDisplayLanguage();
1143
+ if (languageInfo && !nls_1.nls.isSelectedLocale(languageInfo.languageId) && await this.confirmRestart((_b = (_a = languageInfo.localizedLanguageName) !== null && _a !== void 0 ? _a : languageInfo.languageName) !== null && _b !== void 0 ? _b : languageInfo.languageId)) {
1144
+ nls_1.nls.setLocale(languageInfo.languageId);
1145
+ this.windowService.setSafeToShutDown();
1146
+ this.windowService.reload();
1147
+ }
1148
+ }
1149
+ /**
1150
+ * saves any dirty widget in toSave
1151
+ * side effect - will pop all widgets from toSave that was saved
1152
+ * @param toSave
1153
+ */
1154
+ async saveDirty(toSave) {
1155
+ for (const widget of toSave) {
1156
+ const saveable = saveable_1.Saveable.get(widget);
1157
+ if (saveable === null || saveable === void 0 ? void 0 : saveable.dirty) {
1158
+ await this.saveResourceService.save(widget);
1159
+ if (!this.saveResourceService.canSave(widget)) {
1160
+ toSave.pop();
1161
+ }
1162
+ }
1163
+ }
1164
+ }
1165
+ toggleBreadcrumbs() {
1166
+ const value = this.preferenceService.get('breadcrumbs.enabled');
1167
+ this.preferenceService.set('breadcrumbs.enabled', !value, preferences_1.PreferenceScope.User);
1168
+ }
1169
+ isBreadcrumbsEnabled() {
1170
+ return !!this.preferenceService.get('breadcrumbs.enabled');
1171
+ }
1172
+ async confirmRestart(languageName) {
1173
+ const appName = frontend_application_config_provider_1.FrontendApplicationConfigProvider.get().applicationName;
1174
+ const shouldRestart = await new dialogs_1.ConfirmDialog({
1175
+ title: nls_1.nls.localizeByDefault('Restart {0} to switch to {1}?', appName, languageName),
1176
+ msg: nls_1.nls.localizeByDefault('To change the display language to {0}, {1} needs to restart.', languageName, appName),
1177
+ ok: nls_1.nls.localizeByDefault('Restart'),
1178
+ cancel: dialogs_1.Dialog.CANCEL,
1179
+ }).open();
1180
+ return shouldRestart === true;
1181
+ }
1182
+ selectIconTheme() {
1183
+ var _a;
1184
+ let resetTo = this.iconThemes.getCurrent();
1185
+ const setTheme = (id, persist) => {
1186
+ const theme = this.iconThemes.getDefinition(id);
1187
+ if (theme) {
1188
+ this.iconThemes.setCurrent(theme, persist);
1189
+ }
1190
+ };
1191
+ const previewTheme = debounce(setTheme, 200);
1192
+ let items = [];
1193
+ for (const iconTheme of this.iconThemes.definitions) {
1194
+ items.push({
1195
+ id: iconTheme.id,
1196
+ label: iconTheme.label,
1197
+ description: iconTheme.description,
1198
+ });
1199
+ }
1200
+ items = items.sort((a, b) => {
1201
+ if (a.id === 'none') {
1202
+ return -1;
1203
+ }
1204
+ return a.label.localeCompare(b.label);
1205
+ });
1206
+ (_a = this.quickInputService) === null || _a === void 0 ? void 0 : _a.showQuickPick(items, {
1207
+ placeholder: nls_1.nls.localizeByDefault('Select File Icon Theme'),
1208
+ activeItem: items.find(item => item.id === (resetTo === null || resetTo === void 0 ? void 0 : resetTo.id)),
1209
+ onDidChangeSelection: (_, selectedItems) => {
1210
+ resetTo = undefined;
1211
+ setTheme(selectedItems[0].id, true);
1212
+ },
1213
+ onDidChangeActive: (_, activeItems) => {
1214
+ previewTheme(activeItems[0].id, false);
1215
+ },
1216
+ onDidHide: () => {
1217
+ if (resetTo) {
1218
+ this.iconThemes.setCurrent(resetTo, false);
1219
+ }
1220
+ }
1221
+ });
1222
+ }
1223
+ selectColorTheme() {
1224
+ var _a;
1225
+ let resetTo = this.themeService.getCurrentTheme().id;
1226
+ const setTheme = (id, persist) => this.themeService.setCurrentTheme(id, persist);
1227
+ const previewTheme = debounce(setTheme, 200);
1228
+ const itemsByTheme = { light: [], dark: [], hc: [], hcLight: [] };
1229
+ const lightThemesSeparator = nls_1.nls.localizeByDefault('light themes');
1230
+ const darkThemesSeparator = nls_1.nls.localizeByDefault('dark themes');
1231
+ const highContrastThemesSeparator = nls_1.nls.localizeByDefault('high contrast themes');
1232
+ for (const theme of this.themeService.getThemes().sort((a, b) => a.label.localeCompare(b.label))) {
1233
+ const themeItems = itemsByTheme[theme.type];
1234
+ // Add a separator for the first item in the respective group.
1235
+ // High Contrast Themes despite dark or light should be grouped together.
1236
+ if (themeItems.length === 0 && theme.type !== 'hcLight') {
1237
+ let label = '';
1238
+ if (theme.type === 'light') {
1239
+ label = lightThemesSeparator;
1240
+ }
1241
+ else if (theme.type === 'dark') {
1242
+ label = darkThemesSeparator;
1243
+ }
1244
+ else {
1245
+ label = highContrastThemesSeparator;
1246
+ }
1247
+ themeItems.push({
1248
+ type: 'separator',
1249
+ label
1250
+ });
1251
+ }
1252
+ themeItems.push({
1253
+ id: theme.id,
1254
+ label: theme.label,
1255
+ description: theme.description,
1256
+ });
1257
+ }
1258
+ const items = [...itemsByTheme.light, ...itemsByTheme.dark, ...itemsByTheme.hc, ...itemsByTheme.hcLight];
1259
+ (_a = this.quickInputService) === null || _a === void 0 ? void 0 : _a.showQuickPick(items, {
1260
+ placeholder: nls_1.nls.localizeByDefault('Select Color Theme (Up/Down Keys to Preview)'),
1261
+ activeItem: items.find(item => item.id === resetTo),
1262
+ onDidChangeSelection: (_, selectedItems) => {
1263
+ resetTo = undefined;
1264
+ setTheme(selectedItems[0].id, true);
1265
+ },
1266
+ onDidChangeActive: (_, activeItems) => {
1267
+ previewTheme(activeItems[0].id, false);
1268
+ },
1269
+ onDidHide: () => {
1270
+ if (resetTo) {
1271
+ setTheme(resetTo, false);
1272
+ }
1273
+ }
1274
+ });
1275
+ }
1276
+ /**
1277
+ * @todo https://github.com/eclipse-theia/theia/issues/12824
1278
+ */
1279
+ async showNewFilePicker() {
1280
+ const newFileContributions = this.menuRegistry.getMenuNode(CommonMenus.FILE_NEW_CONTRIBUTIONS); // Add menus
1281
+ const items = [
1282
+ {
1283
+ label: nls_1.nls.localizeByDefault('New Text File'),
1284
+ description: nls_1.nls.localizeByDefault('Built-in'),
1285
+ execute: async () => this.commandRegistry.executeCommand(CommonCommands.NEW_UNTITLED_TEXT_FILE.id)
1286
+ },
1287
+ ...newFileContributions.children
1288
+ .flatMap(node => {
1289
+ if (node.children && node.children.length > 0) {
1290
+ return node.children;
1291
+ }
1292
+ return node;
1293
+ })
1294
+ .filter(node => node.role || node.command)
1295
+ .map(node => {
1296
+ if (node.role) {
1297
+ return { type: 'separator' };
1298
+ }
1299
+ const command = this.commandRegistry.getCommand(node.command);
1300
+ return {
1301
+ label: command.label,
1302
+ execute: async () => this.commandRegistry.executeCommand(command.id)
1303
+ };
1304
+ })
1305
+ ];
1306
+ const CREATE_NEW_FILE_ITEM_ID = 'create-new-file';
1307
+ const hasNewFileHandler = this.commandRegistry.getActiveHandler(CommonCommands.NEW_FILE.id) !== undefined;
1308
+ // Create a "Create New File" item only if there is a NEW_FILE command handler.
1309
+ const createNewFileItem = hasNewFileHandler ? {
1310
+ id: CREATE_NEW_FILE_ITEM_ID,
1311
+ label: nls_1.nls.localizeByDefault('Create New File ({0})'),
1312
+ description: nls_1.nls.localizeByDefault('Built-in'),
1313
+ execute: async () => {
1314
+ if (createNewFileItem === null || createNewFileItem === void 0 ? void 0 : createNewFileItem.value) {
1315
+ const parent = await this.workingDirProvider.getUserWorkingDir();
1316
+ // Exec NEW_FILE command with the file name and parent dir as arguments
1317
+ return this.commandRegistry.executeCommand(CommonCommands.NEW_FILE.id, createNewFileItem.value, parent);
1318
+ }
1319
+ }
1320
+ } : undefined;
1321
+ this.quickInputService.showQuickPick(items, {
1322
+ title: nls_1.nls.localizeByDefault('New File...'),
1323
+ placeholder: nls_1.nls.localizeByDefault('Select File Type or Enter File Name...'),
1324
+ canSelectMany: false,
1325
+ onDidChangeValue: picker => {
1326
+ if (createNewFileItem === undefined) {
1327
+ return;
1328
+ }
1329
+ // Dynamically show or hide the "Create New File" item based on the input value.
1330
+ if (picker.value) {
1331
+ createNewFileItem.alwaysShow = true;
1332
+ createNewFileItem.value = picker.value;
1333
+ createNewFileItem.label = nls_1.nls.localizeByDefault('Create New File ({0})', picker.value);
1334
+ picker.items = [...items, createNewFileItem];
1335
+ }
1336
+ else {
1337
+ createNewFileItem.alwaysShow = false;
1338
+ createNewFileItem.value = undefined;
1339
+ picker.items = items.filter(item => item !== createNewFileItem);
1340
+ }
1341
+ }
1342
+ });
1343
+ }
1344
+ registerColors(colors) {
1345
+ colors.register(
1346
+ // Base Colors should be aligned with https://code.visualstudio.com/api/references/theme-color#base-colors
1347
+ // if not yet contributed by Monaco, check runtime css variables to learn
1348
+ { id: 'selection.background', defaults: { dark: '#217daf', light: '#c0dbf1' }, description: 'Overall border color for focused elements. This color is only used if not overridden by a component.' }, { id: 'icon.foreground', defaults: { dark: '#C5C5C5', light: '#424242', hcDark: '#FFFFFF', hcLight: '#292929' }, description: 'The default color for icons in the workbench.' }, { id: 'sash.hoverBorder', defaults: { dark: color_1.Color.transparent('focusBorder', 0.99), light: color_1.Color.transparent('focusBorder', 0.99), hcDark: 'focusBorder', hcLight: 'focusBorder' }, description: 'The hover border color for draggable sashes.' }, { id: 'sash.activeBorder', defaults: { dark: 'focusBorder', light: 'focusBorder', hcDark: 'focusBorder' }, description: 'The active border color for draggable sashes.' },
1349
+ // Window border colors should be aligned with https://code.visualstudio.com/api/references/theme-color#window-border
1350
+ {
1351
+ id: 'window.activeBorder', defaults: {
1352
+ hcDark: 'contrastBorder',
1353
+ hcLight: 'contrastBorder'
1354
+ }, description: 'The color used for the border of the window when it is active.'
1355
+ }, {
1356
+ id: 'window.inactiveBorder', defaults: {
1357
+ hcDark: 'contrastBorder',
1358
+ hcLight: 'contrastBorder'
1359
+ },
1360
+ description: 'The color used for the border of the window when it is inactive.'
1361
+ },
1362
+ // Buttons should be aligned with https://code.visualstudio.com/api/references/theme-color#button-control
1363
+ // if not yet contributed by Monaco, check runtime css variables to learn
1364
+ { id: 'button.foreground', defaults: { dark: color_1.Color.white, light: color_1.Color.white, hcDark: color_1.Color.white, hcLight: color_1.Color.white }, description: 'Button foreground color.' }, { id: 'button.background', defaults: { dark: '#0E639C', light: '#007ACC', hcDark: undefined, hcLight: '#0F4A85' }, description: 'Button background color.' }, { id: 'button.hoverBackground', defaults: { dark: color_1.Color.lighten('button.background', 0.2), light: color_1.Color.darken('button.background', 0.2) }, description: 'Button background color when hovering.' },
1365
+ // Activity Bar colors should be aligned with https://code.visualstudio.com/api/references/theme-color#activity-bar
1366
+ {
1367
+ id: 'activityBar.background', defaults: {
1368
+ dark: '#333333',
1369
+ light: '#2C2C2C',
1370
+ hcDark: '#000000',
1371
+ hcLight: '#FFFFFF'
1372
+ }, description: 'Activity bar background color. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1373
+ }, {
1374
+ id: 'activityBar.foreground', defaults: {
1375
+ dark: color_1.Color.white,
1376
+ light: color_1.Color.white,
1377
+ hcDark: color_1.Color.white,
1378
+ hcLight: 'editor.foreground'
1379
+ }, description: 'Activity bar item foreground color when it is active. The activity bar is showing on the far left or right and allows to switch between views of the side bar.',
1380
+ }, {
1381
+ id: 'activityBar.inactiveForeground', defaults: {
1382
+ dark: color_1.Color.transparent('activityBar.foreground', 0.4),
1383
+ light: color_1.Color.transparent('activityBar.foreground', 0.4),
1384
+ hcDark: color_1.Color.white,
1385
+ hcLight: 'editor.foreground'
1386
+ }, description: 'Activity bar item foreground color when it is inactive. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1387
+ }, {
1388
+ id: 'activityBar.border', defaults: {
1389
+ hcDark: 'contrastBorder',
1390
+ hcLight: 'contrastBorder'
1391
+ }, description: 'Activity bar border color separating to the side bar. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1392
+ }, {
1393
+ id: 'activityBar.activeBorder', defaults: {
1394
+ dark: 'activityBar.foreground',
1395
+ light: 'activityBar.foreground',
1396
+ hcLight: 'contrastBorder'
1397
+ }, description: 'Activity bar border color for the active item. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1398
+ }, {
1399
+ id: 'activityBar.activeFocusBorder', defaults: {
1400
+ hcLight: '#B5200D'
1401
+ }, description: 'Activity bar focus border color for the active item. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1402
+ }, { id: 'activityBar.activeBackground', description: 'Activity bar background color for the active item. The activity bar is showing on the far left or right and allows to switch between views of the side bar.' }, {
1403
+ id: 'activityBar.dropBackground', defaults: {
1404
+ dark: color_1.Color.transparent('#ffffff', 0.12),
1405
+ light: color_1.Color.transparent('#ffffff', 0.12),
1406
+ hcDark: color_1.Color.transparent('#ffffff', 0.12),
1407
+ }, description: 'Drag and drop feedback color for the activity bar items. The color should have transparency so that the activity bar entries can still shine through. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1408
+ }, {
1409
+ id: 'activityBarBadge.background', defaults: {
1410
+ dark: '#007ACC',
1411
+ light: '#007ACC',
1412
+ hcDark: '#000000',
1413
+ hcLight: '#0F4A85'
1414
+ }, description: 'Activity notification badge background color. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1415
+ }, {
1416
+ id: 'activityBarBadge.foreground', defaults: {
1417
+ dark: color_1.Color.white,
1418
+ light: color_1.Color.white,
1419
+ hcDark: color_1.Color.white,
1420
+ hcLight: color_1.Color.white
1421
+ }, description: 'Activity notification badge foreground color. The activity bar is showing on the far left or right and allows to switch between views of the side bar.'
1422
+ },
1423
+ // Side Bar should be aligned with https://code.visualstudio.com/api/references/theme-color#side-bar
1424
+ // if not yet contributed by Monaco, check runtime css variables to learn
1425
+ { id: 'sideBar.background', defaults: { dark: '#252526', light: '#F3F3F3', hcDark: '#000000', hcLight: '#FFFFFF' }, description: 'Side bar background color. The side bar is the container for views like explorer and search.' }, { id: 'sideBar.foreground', description: 'Side bar foreground color. The side bar is the container for views like explorer and search.' }, { id: 'sideBarSectionHeader.background', defaults: { dark: '#80808033', light: '#80808033' }, description: 'Side bar section header background color. The side bar is the container for views like explorer and search.' }, { id: 'sideBarSectionHeader.foreground', description: 'Side bar foreground color. The side bar is the container for views like explorer and search.' }, { id: 'sideBarSectionHeader.border', defaults: { dark: 'contrastBorder', light: 'contrastBorder', hcDark: 'contrastBorder', hcLight: 'contrastBorder' }, description: 'Side bar section header border color. The side bar is the container for views like explorer and search.' },
1426
+ // Lists and Trees colors should be aligned with https://code.visualstudio.com/api/references/theme-color#lists-and-trees
1427
+ // if not yet contributed by Monaco, check runtime css variables to learn.
1428
+ // TODO: Following are not yet supported/no respective elements in theia:
1429
+ // list.focusBackground, list.focusForeground, list.inactiveFocusBackground, list.filterMatchBorder,
1430
+ // list.dropBackground, listFilterWidget.outline, listFilterWidget.noMatchesOutline
1431
+ // list.invalidItemForeground => tree node needs an respective class
1432
+ { id: 'list.activeSelectionBackground', defaults: { dark: '#094771', light: '#0074E8', hcLight: color_1.Color.transparent('#0F4A85', 0.1) }, description: 'List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.' }, { id: 'list.activeSelectionForeground', defaults: { dark: '#FFF', light: '#FFF' }, description: 'List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.' }, { id: 'list.inactiveSelectionBackground', defaults: { dark: '#37373D', light: '#E4E6F1', hcLight: color_1.Color.transparent('#0F4A85', 0.1) }, description: 'List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.' }, { id: 'list.inactiveSelectionForeground', description: 'List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.' }, { id: 'list.hoverBackground', defaults: { dark: '#2A2D2E', light: '#F0F0F0', hcLight: color_1.Color.transparent('#0F4A85', 0.1) }, description: 'List/Tree background when hovering over items using the mouse.' }, { id: 'list.hoverForeground', description: 'List/Tree foreground when hovering over items using the mouse.' }, { id: 'list.errorForeground', defaults: { dark: '#F88070', light: '#B01011' }, description: 'Foreground color of list items containing errors.' }, { id: 'list.warningForeground', defaults: { dark: '#CCA700', light: '#855F00' }, description: 'Foreground color of list items containing warnings.' }, { id: 'list.filterMatchBackground', defaults: { dark: 'editor.findMatchHighlightBackground', light: 'editor.findMatchHighlightBackground' }, description: 'Background color of the filtered match.' }, { id: 'list.highlightForeground', defaults: { dark: '#18A3FF', light: '#0066BF', hcDark: 'focusBorder', hcLight: 'focusBorder' }, description: 'List/Tree foreground color of the match highlights when searching inside the list/tree.' }, { id: 'list.focusHighlightForeground', defaults: { dark: 'list.highlightForeground', light: 'list.activeSelectionForeground', hcDark: 'list.highlightForeground', hcLight: 'list.highlightForeground' }, description: 'List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.' }, { id: 'tree.inactiveIndentGuidesStroke', defaults: { dark: color_1.Color.transparent('tree.indentGuidesStroke', 0.4), light: color_1.Color.transparent('tree.indentGuidesStroke', 0.4), hcDark: color_1.Color.transparent('tree.indentGuidesStroke', 0.4) }, description: 'Tree stroke color for the inactive indentation guides.' },
1433
+ // Editor Group & Tabs colors should be aligned with https://code.visualstudio.com/api/references/theme-color#editor-groups-tabs
1434
+ {
1435
+ id: 'editorGroup.border',
1436
+ defaults: {
1437
+ dark: '#444444',
1438
+ light: '#E7E7E7',
1439
+ hcDark: 'contrastBorder',
1440
+ hcLight: 'contrastBorder'
1441
+ },
1442
+ description: 'Color to separate multiple editor groups from each other. Editor groups are the containers of editors.'
1443
+ }, {
1444
+ id: 'editorGroup.dropBackground',
1445
+ defaults: {
1446
+ dark: color_1.Color.transparent('#53595D', 0.5),
1447
+ light: color_1.Color.transparent('#2677CB', 0.18),
1448
+ hcLight: color_1.Color.transparent('#0F4A85', 0.50)
1449
+ },
1450
+ description: 'Background color when dragging editors around. The color should have transparency so that the editor contents can still shine through.'
1451
+ }, {
1452
+ id: 'editorGroupHeader.tabsBackground',
1453
+ defaults: {
1454
+ dark: '#252526',
1455
+ light: '#F3F3F3',
1456
+ },
1457
+ description: 'Background color of the editor group title header when tabs are enabled. Editor groups are the containers of editors.'
1458
+ }, {
1459
+ id: 'editorGroupHeader.tabsBorder',
1460
+ defaults: {
1461
+ hcDark: 'contrastBorder'
1462
+ },
1463
+ description: 'Border color of the editor group title header when tabs are enabled. Editor groups are the containers of editors.'
1464
+ }, {
1465
+ id: 'tab.activeBackground',
1466
+ defaults: {
1467
+ dark: 'editor.background',
1468
+ light: 'editor.background',
1469
+ hcDark: 'editor.background',
1470
+ hcLight: 'editor.background'
1471
+ },
1472
+ description: 'Active tab background color. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1473
+ }, {
1474
+ id: 'tab.unfocusedActiveBackground',
1475
+ defaults: {
1476
+ dark: 'tab.activeBackground',
1477
+ light: 'tab.activeBackground',
1478
+ hcDark: 'tab.activeBackground',
1479
+ hcLight: 'tab.activeBackground'
1480
+ },
1481
+ description: 'Active tab background color in an unfocused group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1482
+ }, {
1483
+ id: 'tab.inactiveBackground',
1484
+ defaults: {
1485
+ dark: '#2D2D2D',
1486
+ light: '#ECECEC'
1487
+ },
1488
+ description: 'Inactive tab background color. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1489
+ }, {
1490
+ id: 'tab.activeForeground',
1491
+ defaults: {
1492
+ dark: color_1.Color.white,
1493
+ light: '#333333',
1494
+ hcDark: color_1.Color.white,
1495
+ hcLight: '#292929'
1496
+ }, description: 'Active tab foreground color in an active group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1497
+ }, {
1498
+ id: 'tab.inactiveForeground', defaults: {
1499
+ dark: color_1.Color.transparent('tab.activeForeground', 0.5),
1500
+ light: color_1.Color.transparent('tab.activeForeground', 0.7),
1501
+ hcDark: color_1.Color.white,
1502
+ hcLight: '#292929'
1503
+ }, description: 'Inactive tab foreground color in an active group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1504
+ }, {
1505
+ id: 'tab.unfocusedActiveForeground', defaults: {
1506
+ dark: color_1.Color.transparent('tab.activeForeground', 0.5),
1507
+ light: color_1.Color.transparent('tab.activeForeground', 0.7),
1508
+ hcDark: color_1.Color.white,
1509
+ hcLight: '#292929'
1510
+ }, description: 'Active tab foreground color in an unfocused group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1511
+ }, {
1512
+ id: 'tab.unfocusedInactiveForeground', defaults: {
1513
+ dark: color_1.Color.transparent('tab.inactiveForeground', 0.5),
1514
+ light: color_1.Color.transparent('tab.inactiveForeground', 0.5),
1515
+ hcDark: color_1.Color.white,
1516
+ hcLight: '#292929'
1517
+ }, description: 'Inactive tab foreground color in an unfocused group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1518
+ }, {
1519
+ id: 'tab.border', defaults: {
1520
+ dark: '#252526',
1521
+ light: '#F3F3F3',
1522
+ hcDark: 'contrastBorder',
1523
+ hcLight: 'contrastBorder'
1524
+ }, description: 'Border to separate tabs from each other. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1525
+ }, {
1526
+ id: 'tab.activeBorder',
1527
+ description: 'Border on the bottom of an active tab. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1528
+ }, {
1529
+ id: 'tab.unfocusedActiveBorder',
1530
+ defaults: {
1531
+ dark: color_1.Color.transparent('tab.activeBorder', 0.5),
1532
+ light: color_1.Color.transparent('tab.activeBorder', 0.7)
1533
+ },
1534
+ description: 'Border on the bottom of an active tab in an unfocused group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1535
+ }, {
1536
+ id: 'tab.activeBorderTop',
1537
+ defaults: {
1538
+ hcLight: '#B5200D'
1539
+ },
1540
+ description: 'Border to the top of an active tab. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1541
+ }, {
1542
+ id: 'tab.unfocusedActiveBorderTop', defaults: {
1543
+ dark: color_1.Color.transparent('tab.activeBorderTop', 0.5),
1544
+ light: color_1.Color.transparent('tab.activeBorderTop', 0.7),
1545
+ hcLight: '#B5200D'
1546
+ }, description: 'Border to the top of an active tab in an unfocused group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1547
+ }, {
1548
+ id: 'tab.hoverBackground',
1549
+ description: 'Tab background color when hovering. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1550
+ }, {
1551
+ id: 'tab.unfocusedHoverBackground', defaults: {
1552
+ dark: color_1.Color.transparent('tab.hoverBackground', 0.5),
1553
+ light: color_1.Color.transparent('tab.hoverBackground', 0.7)
1554
+ }, description: 'Tab background color in an unfocused group when hovering. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1555
+ }, {
1556
+ id: 'tab.hoverBorder',
1557
+ description: 'Border to highlight tabs when hovering. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1558
+ }, {
1559
+ id: 'tab.unfocusedHoverBorder', defaults: {
1560
+ dark: color_1.Color.transparent('tab.hoverBorder', 0.5),
1561
+ light: color_1.Color.transparent('tab.hoverBorder', 0.7),
1562
+ hcLight: 'contrastBorder'
1563
+ }, description: 'Border to highlight tabs in an unfocused group when hovering. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1564
+ }, {
1565
+ id: 'tab.activeModifiedBorder', defaults: {
1566
+ dark: '#3399CC',
1567
+ light: '#33AAEE',
1568
+ hcLight: 'contrastBorder'
1569
+ }, description: 'Border on the top of modified (dirty) active tabs in an active group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1570
+ }, {
1571
+ id: 'tab.inactiveModifiedBorder', defaults: {
1572
+ dark: color_1.Color.transparent('tab.activeModifiedBorder', 0.5),
1573
+ light: color_1.Color.transparent('tab.activeModifiedBorder', 0.5),
1574
+ hcDark: color_1.Color.white,
1575
+ hcLight: 'contrastBorder'
1576
+ }, description: 'Border on the top of modified (dirty) inactive tabs in an active group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1577
+ }, {
1578
+ id: 'tab.unfocusedActiveModifiedBorder', defaults: {
1579
+ dark: color_1.Color.transparent('tab.activeModifiedBorder', 0.5),
1580
+ light: color_1.Color.transparent('tab.activeModifiedBorder', 0.7),
1581
+ hcDark: color_1.Color.white,
1582
+ hcLight: 'contrastBorder'
1583
+ }, description: 'Border on the top of modified (dirty) active tabs in an unfocused group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1584
+ }, {
1585
+ id: 'tab.unfocusedInactiveModifiedBorder', defaults: {
1586
+ dark: color_1.Color.transparent('tab.inactiveModifiedBorder', 0.5),
1587
+ light: color_1.Color.transparent('tab.inactiveModifiedBorder', 0.5),
1588
+ hcDark: color_1.Color.white,
1589
+ hcLight: 'contrastBorder'
1590
+ }, description: 'Border on the top of modified (dirty) inactive tabs in an unfocused group. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
1591
+ },
1592
+ // Status bar colors should be aligned with https://code.visualstudio.com/api/references/theme-color#status-bar-colors
1593
+ // Not yet supported:
1594
+ // statusBarItem.prominentForeground, statusBarItem.prominentBackground, statusBarItem.prominentHoverBackground
1595
+ {
1596
+ id: 'statusBar.foreground', defaults: {
1597
+ dark: '#FFFFFF',
1598
+ light: '#FFFFFF',
1599
+ hcDark: '#FFFFFF',
1600
+ hcLight: 'editor.foreground'
1601
+ }, description: 'Status bar foreground color when a workspace is opened. The status bar is shown in the bottom of the window.'
1602
+ }, {
1603
+ id: 'statusBar.background', defaults: {
1604
+ dark: '#007ACC',
1605
+ light: '#007ACC'
1606
+ }, description: 'Status bar background color when a workspace is opened. The status bar is shown in the bottom of the window.'
1607
+ }, {
1608
+ id: 'statusBar.noFolderForeground', defaults: {
1609
+ dark: 'statusBar.foreground',
1610
+ light: 'statusBar.foreground',
1611
+ hcDark: 'statusBar.foreground',
1612
+ hcLight: 'statusBar.foreground'
1613
+ }, description: 'Status bar foreground color when no folder is opened. The status bar is shown in the bottom of the window.'
1614
+ }, {
1615
+ id: 'statusBar.noFolderBackground', defaults: {
1616
+ dark: '#68217A',
1617
+ light: '#68217A'
1618
+ }, description: 'Status bar background color when no folder is opened. The status bar is shown in the bottom of the window.'
1619
+ }, {
1620
+ id: 'statusBar.border', defaults: {
1621
+ hcDark: 'contrastBorder',
1622
+ hcLight: 'contrastBorder'
1623
+ }, description: 'Status bar border color separating to the sidebar and editor. The status bar is shown in the bottom of the window.'
1624
+ }, {
1625
+ id: 'statusBar.noFolderBorder', defaults: {
1626
+ dark: 'statusBar.border',
1627
+ light: 'statusBar.border',
1628
+ hcDark: 'statusBar.border',
1629
+ hcLight: 'statusBar.border'
1630
+ }, description: 'Status bar border color separating to the sidebar and editor when no folder is opened. The status bar is shown in the bottom of the window.'
1631
+ }, {
1632
+ id: 'statusBarItem.activeBackground', defaults: {
1633
+ dark: color_1.Color.rgba(255, 255, 255, 0.18),
1634
+ light: color_1.Color.rgba(255, 255, 255, 0.18),
1635
+ hcDark: color_1.Color.rgba(255, 255, 255, 0.18),
1636
+ hcLight: color_1.Color.rgba(0, 0, 0, 0.18)
1637
+ }, description: 'Status bar item background color when clicking. The status bar is shown in the bottom of the window.'
1638
+ }, {
1639
+ id: 'statusBarItem.hoverBackground', defaults: {
1640
+ dark: color_1.Color.rgba(255, 255, 255, 0.12),
1641
+ light: color_1.Color.rgba(255, 255, 255, 0.12),
1642
+ hcDark: color_1.Color.rgba(255, 255, 255, 0.12),
1643
+ hcLight: color_1.Color.rgba(0, 0, 0, 0.12)
1644
+ }, description: 'Status bar item background color when hovering. The status bar is shown in the bottom of the window.'
1645
+ }, {
1646
+ id: 'statusBarItem.errorBackground', defaults: {
1647
+ dark: color_1.Color.darken('errorBackground', 0.4),
1648
+ light: color_1.Color.darken('errorBackground', 0.4),
1649
+ hcDark: undefined,
1650
+ hcLight: '#B5200D'
1651
+ }, description: 'Status bar error items background color. Error items stand out from other status bar entries to indicate error conditions. The status bar is shown in the bottom of the window.'
1652
+ }, {
1653
+ id: 'statusBarItem.errorForeground', defaults: {
1654
+ dark: color_1.Color.white,
1655
+ light: color_1.Color.white,
1656
+ hcDark: color_1.Color.white,
1657
+ hcLight: color_1.Color.white
1658
+ }, description: 'Status bar error items foreground color. Error items stand out from other status bar entries to indicate error conditions. The status bar is shown in the bottom of the window.'
1659
+ }, {
1660
+ id: 'statusBarItem.warningBackground', defaults: {
1661
+ dark: color_1.Color.darken('warningBackground', 0.4),
1662
+ light: color_1.Color.darken('warningBackground', 0.4),
1663
+ hcDark: undefined,
1664
+ hcLight: '#895503'
1665
+ }, description: 'Status bar warning items background color. Warning items stand out from other status bar entries to indicate warning conditions. The status bar is shown in the bottom of the window.'
1666
+ }, {
1667
+ id: 'statusBarItem.warningForeground', defaults: {
1668
+ dark: color_1.Color.white,
1669
+ light: color_1.Color.white,
1670
+ hcDark: color_1.Color.white,
1671
+ hcLight: color_1.Color.white
1672
+ }, description: 'Status bar warning items foreground color. Warning items stand out from other status bar entries to indicate warning conditions. The status bar is shown in the bottom of the window.'
1673
+ },
1674
+ // Quickinput colors should be aligned with https://code.visualstudio.com/api/references/theme-color#quick-picker
1675
+ // if not yet contributed by Monaco, check runtime css variables to learn.
1676
+ {
1677
+ id: 'quickInput.background', defaults: {
1678
+ dark: 'editorWidget.background',
1679
+ light: 'editorWidget.background',
1680
+ hcDark: 'editorWidget.background',
1681
+ hcLight: 'editorWidget.background'
1682
+ }, description: 'Quick Input background color. The Quick Input widget is the container for views like the color theme picker.'
1683
+ }, {
1684
+ id: 'quickInput.foreground', defaults: {
1685
+ dark: 'editorWidget.foreground',
1686
+ light: 'editorWidget.foreground',
1687
+ hcDark: 'editorWidget.foreground',
1688
+ hcLight: 'editorWidget.foreground'
1689
+ }, description: 'Quick Input foreground color. The Quick Input widget is the container for views like the color theme picker.'
1690
+ }, {
1691
+ id: 'quickInput.list.focusBackground', defaults: {
1692
+ dark: undefined,
1693
+ light: undefined,
1694
+ hcDark: undefined,
1695
+ hcLight: undefined
1696
+ }, description: 'quickInput.list.focusBackground deprecation. Please use quickInputList.focusBackground instead'
1697
+ }, {
1698
+ id: 'quickInputList.focusForeground', defaults: {
1699
+ dark: 'list.activeSelectionForeground',
1700
+ light: 'list.activeSelectionForeground',
1701
+ hcDark: 'list.activeSelectionForeground',
1702
+ hcLight: 'list.activeSelectionForeground'
1703
+ }, description: 'Quick picker foreground color for the focused item'
1704
+ }, {
1705
+ id: 'quickInputList.focusBackground', defaults: {
1706
+ dark: 'list.activeSelectionBackground',
1707
+ light: 'list.activeSelectionBackground',
1708
+ hcDark: undefined
1709
+ }, description: 'Quick picker background color for the focused item.'
1710
+ },
1711
+ // Panel colors should be aligned with https://code.visualstudio.com/api/references/theme-color#panel-colors
1712
+ {
1713
+ id: 'panel.background', defaults: {
1714
+ dark: 'editor.background', light: 'editor.background', hcDark: 'editor.background', hcLight: 'editor.background'
1715
+ }, description: 'Panel background color. Panels are shown below the editor area and contain views like output and integrated terminal.'
1716
+ }, {
1717
+ id: 'panel.border', defaults: {
1718
+ dark: color_1.Color.transparent('#808080', 0.35), light: color_1.Color.transparent('#808080', 0.35), hcDark: 'contrastBorder', hcLight: 'contrastBorder'
1719
+ }, description: 'Panel border color to separate the panel from the editor. Panels are shown below the editor area and contain views like output and integrated terminal.'
1720
+ }, {
1721
+ id: 'panel.dropBackground', defaults: {
1722
+ dark: color_1.Color.rgba(255, 255, 255, 0.12), light: color_1.Color.transparent('#2677CB', 0.18), hcDark: color_1.Color.rgba(255, 255, 255, 0.12)
1723
+ }, description: 'Drag and drop feedback color for the panel title items. The color should have transparency so that the panel entries can still shine through. Panels are shown below the editor area and contain views like output and integrated terminal.'
1724
+ }, {
1725
+ id: 'panelTitle.activeForeground', defaults: {
1726
+ dark: '#E7E7E7', light: '#424242', hcDark: color_1.Color.white, hcLight: 'editor.foreground'
1727
+ }, description: 'Title color for the active panel. Panels are shown below the editor area and contain views like output and integrated terminal.'
1728
+ }, {
1729
+ id: 'panelTitle.inactiveForeground', defaults: {
1730
+ dark: color_1.Color.transparent('panelTitle.activeForeground', 0.6), light: color_1.Color.transparent('panelTitle.activeForeground', 0.75), hcDark: color_1.Color.white, hcLight: 'editor.foreground'
1731
+ }, description: 'Title color for the inactive panel. Panels are shown below the editor area and contain views like output and integrated terminal.'
1732
+ }, {
1733
+ id: 'panelTitle.activeBorder', defaults: {
1734
+ dark: 'panelTitle.activeForeground', light: 'panelTitle.activeForeground', hcDark: 'contrastBorder', hcLight: '#B5200D'
1735
+ }, description: 'Border color for the active panel title. Panels are shown below the editor area and contain views like output and integrated terminal.'
1736
+ }, {
1737
+ id: 'panelInput.border', defaults: { light: '#ddd' },
1738
+ description: 'Input box border for inputs in the panel.'
1739
+ }, {
1740
+ id: 'imagePreview.border', defaults: {
1741
+ dark: color_1.Color.transparent('#808080', 0.35), light: color_1.Color.transparent('#808080', 0.35), hcDark: 'contrastBorder', hcLight: 'contrastBorder'
1742
+ }, description: 'Border color for image in image preview.'
1743
+ },
1744
+ // Title Bar colors should be aligned with https://code.visualstudio.com/api/references/theme-color#title-bar-colors
1745
+ {
1746
+ id: 'titleBar.activeForeground', defaults: {
1747
+ dark: '#CCCCCC',
1748
+ light: '#333333',
1749
+ hcDark: '#FFFFFF',
1750
+ hcLight: '#292929'
1751
+ }, description: 'Title bar foreground when the window is active. Note that this color is currently only supported on macOS.'
1752
+ }, {
1753
+ id: 'titleBar.inactiveForeground', defaults: {
1754
+ dark: color_1.Color.transparent('titleBar.activeForeground', 0.6),
1755
+ light: color_1.Color.transparent('titleBar.activeForeground', 0.6),
1756
+ hcLight: '#292929'
1757
+ }, description: 'Title bar foreground when the window is inactive. Note that this color is currently only supported on macOS.'
1758
+ }, {
1759
+ id: 'titleBar.activeBackground', defaults: {
1760
+ dark: '#3C3C3C',
1761
+ light: '#DDDDDD',
1762
+ hcDark: '#000000',
1763
+ hcLight: '#FFFFFF'
1764
+ }, description: 'Title bar background when the window is active. Note that this color is currently only supported on macOS.'
1765
+ }, {
1766
+ id: 'titleBar.inactiveBackground', defaults: {
1767
+ dark: color_1.Color.transparent('titleBar.activeBackground', 0.6),
1768
+ light: color_1.Color.transparent('titleBar.activeBackground', 0.6)
1769
+ }, description: 'Title bar background when the window is inactive. Note that this color is currently only supported on macOS.'
1770
+ }, {
1771
+ id: 'titleBar.border', defaults: {
1772
+ hcDark: 'contrastBorder',
1773
+ hcLight: 'contrastBorder'
1774
+ }, description: 'Title bar border color. Note that this color is currently only supported on macOS.'
1775
+ },
1776
+ // Menu Bar colors should be aligned with https://code.visualstudio.com/api/references/theme-color#menu-bar-colors
1777
+ {
1778
+ id: 'menubar.selectionForeground', defaults: {
1779
+ dark: 'titleBar.activeForeground',
1780
+ light: 'titleBar.activeForeground',
1781
+ hcDark: 'titleBar.activeForeground',
1782
+ hcLight: 'titleBar.activeForeground'
1783
+ }, description: 'Foreground color of the selected menu item in the menubar.'
1784
+ }, {
1785
+ id: 'menubar.selectionBackground', defaults: {
1786
+ dark: 'toolbar.hoverBackground',
1787
+ light: 'toolbar.hoverBackground'
1788
+ }, description: 'Background color of the selected menu item in the menubar.'
1789
+ }, {
1790
+ id: 'menubar.selectionBorder', defaults: {
1791
+ hcDark: 'activeContrastBorder', hcLight: 'activeContrastBorder'
1792
+ }, description: 'Border color of the selected menu item in the menubar.'
1793
+ }, {
1794
+ id: 'menu.border', defaults: {
1795
+ hcDark: 'contrastBorder', hcLight: 'contrastBorder'
1796
+ }, description: 'Border color of menus.'
1797
+ }, {
1798
+ id: 'menu.foreground', defaults: {
1799
+ dark: 'dropdown.foreground', light: 'foreground', hcDark: 'dropdown.foreground', hcLight: 'dropdown.foreground'
1800
+ },
1801
+ description: 'Foreground color of menu items.'
1802
+ }, {
1803
+ id: 'menu.background', defaults: {
1804
+ dark: 'dropdown.background', light: 'dropdown.background', hcDark: 'dropdown.background', hcLight: 'dropdown.background'
1805
+ }, description: 'Background color of menu items.'
1806
+ }, {
1807
+ id: 'menu.selectionForeground', defaults: {
1808
+ dark: 'list.activeSelectionForeground', light: 'list.activeSelectionForeground', hcDark: 'list.activeSelectionForeground', hcLight: 'list.activeSelectionForeground'
1809
+ }, description: 'Foreground color of the selected menu item in menus.'
1810
+ }, {
1811
+ id: 'menu.selectionBackground', defaults: {
1812
+ dark: 'list.activeSelectionBackground', light: 'list.activeSelectionBackground', hcDark: 'list.activeSelectionBackground', hcLight: 'list.activeSelectionBackground'
1813
+ },
1814
+ description: 'Background color of the selected menu item in menus.'
1815
+ }, {
1816
+ id: 'menu.selectionBorder', defaults: {
1817
+ hcDark: 'activeContrastBorder', hcLight: 'activeContrastBorder'
1818
+ }, description: 'Border color of the selected menu item in menus.'
1819
+ }, {
1820
+ id: 'menu.separatorBackground', defaults: {
1821
+ dark: '#BBBBBB', light: '#888888', hcDark: 'contrastBorder', hcLight: 'contrastBorder'
1822
+ },
1823
+ description: 'Color of a separator menu item in menus.'
1824
+ },
1825
+ // Welcome Page colors should be aligned with https://code.visualstudio.com/api/references/theme-color#welcome-page
1826
+ { id: 'welcomePage.background', description: 'Background color for the Welcome page.' }, { id: 'welcomePage.buttonBackground', defaults: { dark: color_1.Color.rgba(0, 0, 0, .2), light: color_1.Color.rgba(0, 0, 0, .04), hcDark: color_1.Color.black, hcLight: color_1.Color.white }, description: 'Background color for the buttons on the Welcome page.' }, { id: 'welcomePage.buttonHoverBackground', defaults: { dark: color_1.Color.rgba(200, 235, 255, .072), light: color_1.Color.rgba(0, 0, 0, .10) }, description: 'Hover background color for the buttons on the Welcome page.' }, { id: 'walkThrough.embeddedEditorBackground', defaults: { dark: color_1.Color.rgba(0, 0, 0, .4), light: '#f4f4f4' }, description: 'Background color for the embedded editors on the Interactive Playground.' },
1827
+ // Dropdown colors should be aligned with https://code.visualstudio.com/api/references/theme-color#dropdown-control
1828
+ {
1829
+ id: 'dropdown.background', defaults: {
1830
+ light: color_1.Color.white,
1831
+ dark: '#3C3C3C',
1832
+ hcDark: color_1.Color.black,
1833
+ hcLight: color_1.Color.white
1834
+ }, description: 'Dropdown background.'
1835
+ }, {
1836
+ id: 'dropdown.listBackground', defaults: {
1837
+ hcDark: color_1.Color.black,
1838
+ hcLight: color_1.Color.white
1839
+ }, description: 'Dropdown list background.'
1840
+ }, {
1841
+ id: 'dropdown.foreground', defaults: {
1842
+ dark: '#F0F0F0',
1843
+ hcDark: color_1.Color.white,
1844
+ hcLight: 'foreground'
1845
+ }, description: 'Dropdown foreground.'
1846
+ }, {
1847
+ id: 'dropdown.border', defaults: {
1848
+ light: '#CECECE',
1849
+ dark: 'dropdown.background',
1850
+ hcDark: 'contrastBorder',
1851
+ hcLight: 'contrastBorder'
1852
+ }, description: 'Dropdown border.'
1853
+ },
1854
+ // Settings Editor colors should be aligned with https://code.visualstudio.com/api/references/theme-color#settings-editor-colors
1855
+ {
1856
+ id: 'settings.headerForeground', defaults: {
1857
+ light: '#444444', dark: '#e7e7e7', hcDark: '#ffffff', hcLight: '#292929'
1858
+ }, description: 'The foreground color for a section header or active title.'
1859
+ }, {
1860
+ id: 'settings.modifiedItemIndicator', defaults: {
1861
+ light: color_1.Color.rgba(102, 175, 224),
1862
+ dark: color_1.Color.rgba(12, 125, 157),
1863
+ hcDark: color_1.Color.rgba(0, 73, 122),
1864
+ hcLight: color_1.Color.rgba(102, 175, 224)
1865
+ }, description: 'The color of the modified setting indicator.'
1866
+ }, {
1867
+ id: 'settings.dropdownBackground', defaults: {
1868
+ dark: 'dropdown.background', light: 'dropdown.background', hcDark: 'dropdown.background', hcLight: 'dropdown.background'
1869
+ },
1870
+ description: 'Settings editor dropdown background.'
1871
+ }, {
1872
+ id: 'settings.dropdownForeground', defaults: {
1873
+ dark: 'dropdown.foreground', light: 'dropdown.foreground', hcDark: 'dropdown.foreground', hcLight: 'dropdown.foreground'
1874
+ }, description: 'Settings editor dropdown foreground.'
1875
+ }, {
1876
+ id: 'settings.dropdownBorder', defaults: {
1877
+ dark: 'dropdown.border', light: 'dropdown.border', hcDark: 'dropdown.border', hcLight: 'dropdown.border'
1878
+ }, description: 'Settings editor dropdown border.'
1879
+ }, {
1880
+ id: 'settings.dropdownListBorder', defaults: {
1881
+ dark: 'editorWidget.border', light: 'editorWidget.border', hcDark: 'editorWidget.border', hcLight: 'editorWidget.border'
1882
+ }, description: 'Settings editor dropdown list border. This surrounds the options and separates the options from the description.'
1883
+ }, {
1884
+ id: 'settings.checkboxBackground', defaults: {
1885
+ dark: 'checkbox.background', light: 'checkbox.background', hcDark: 'checkbox.background', hcLight: 'checkbox.background'
1886
+ }, description: 'Settings editor checkbox background.'
1887
+ }, {
1888
+ id: 'settings.checkboxForeground', defaults: {
1889
+ dark: 'checkbox.foreground', light: 'checkbox.foreground', hcDark: 'checkbox.foreground', hcLight: 'checkbox.foreground'
1890
+ }, description: 'Settings editor checkbox foreground.'
1891
+ }, {
1892
+ id: 'settings.checkboxBorder', defaults: {
1893
+ dark: 'checkbox.border', light: 'checkbox.border', hcDark: 'checkbox.border', hcLight: 'checkbox.border'
1894
+ }, description: 'Settings editor checkbox border.'
1895
+ }, {
1896
+ id: 'settings.textInputBackground', defaults: {
1897
+ dark: 'input.background', light: 'input.background', hcDark: 'input.background', hcLight: 'input.background'
1898
+ }, description: 'Settings editor text input box background.'
1899
+ }, {
1900
+ id: 'settings.textInputForeground', defaults: {
1901
+ dark: 'input.foreground', light: 'input.foreground', hcDark: 'input.foreground', hcLight: 'input.foreground'
1902
+ }, description: 'Settings editor text input box foreground.'
1903
+ }, {
1904
+ id: 'settings.textInputBorder', defaults: {
1905
+ dark: 'input.border', light: 'input.border', hcDark: 'input.border', hcLight: 'input.background'
1906
+ }, description: 'Settings editor text input box border.'
1907
+ }, {
1908
+ id: 'settings.numberInputBackground', defaults: {
1909
+ dark: 'input.background', light: 'input.background', hcDark: 'input.background', hcLight: 'input.background'
1910
+ }, description: 'Settings editor number input box background.'
1911
+ }, {
1912
+ id: 'settings.numberInputForeground', defaults: {
1913
+ dark: 'input.foreground', light: 'input.foreground', hcDark: 'input.foreground', hcLight: 'input.foreground'
1914
+ }, description: 'Settings editor number input box foreground.'
1915
+ }, {
1916
+ id: 'settings.numberInputBorder', defaults: {
1917
+ dark: 'input.border', light: 'input.border', hcDark: 'input.border', hcLight: 'input.border'
1918
+ }, description: 'Settings editor number input box border.'
1919
+ }, {
1920
+ id: 'settings.focusedRowBackground', defaults: {
1921
+ dark: color_1.Color.transparent('#808080', 0.14),
1922
+ light: color_1.Color.transparent('#808080', 0.03),
1923
+ hcDark: undefined,
1924
+ hcLight: undefined
1925
+ }, description: 'The background color of a settings row when focused.'
1926
+ }, {
1927
+ id: 'settings.rowHoverBackground', defaults: {
1928
+ dark: color_1.Color.transparent('#808080', 0.07),
1929
+ light: color_1.Color.transparent('#808080', 0.05),
1930
+ hcDark: undefined,
1931
+ hcLight: undefined
1932
+ }, description: 'The background color of a settings row when hovered.'
1933
+ }, {
1934
+ id: 'settings.focusedRowBorder', defaults: {
1935
+ dark: color_1.Color.rgba(255, 255, 255, 0.12),
1936
+ light: color_1.Color.rgba(0, 0, 0, 0.12),
1937
+ hcDark: 'focusBorder',
1938
+ hcLight: 'focusBorder'
1939
+ }, description: "The color of the row's top and bottom border when the row is focused."
1940
+ },
1941
+ // Toolbar Action colors should be aligned with https://code.visualstudio.com/api/references/theme-color#action-colors
1942
+ {
1943
+ id: 'toolbar.hoverBackground', defaults: {
1944
+ dark: '#5a5d5e50', light: '#b8b8b850', hcDark: undefined, hcLight: undefined
1945
+ }, description: 'Toolbar background when hovering over actions using the mouse.'
1946
+ },
1947
+ // Theia Variable colors
1948
+ {
1949
+ id: 'variable.name.color', defaults: {
1950
+ dark: '#C586C0',
1951
+ light: '#9B46B0',
1952
+ hcDark: '#C586C0'
1953
+ },
1954
+ description: 'Color of a variable name.'
1955
+ }, {
1956
+ id: 'variable.value.color', defaults: {
1957
+ dark: color_1.Color.rgba(204, 204, 204, 0.6),
1958
+ light: color_1.Color.rgba(108, 108, 108, 0.8),
1959
+ hcDark: color_1.Color.rgba(204, 204, 204, 0.6)
1960
+ },
1961
+ description: 'Color of a variable value.'
1962
+ }, {
1963
+ id: 'variable.number.variable.color', defaults: {
1964
+ dark: '#B5CEA8',
1965
+ light: '#09885A',
1966
+ hcDark: '#B5CEA8'
1967
+ },
1968
+ description: 'Value color of a number variable'
1969
+ }, {
1970
+ id: 'variable.boolean.variable.color', defaults: {
1971
+ dark: '#4E94CE',
1972
+ light: '#0000FF',
1973
+ hcDark: '#4E94CE'
1974
+ },
1975
+ description: 'Value color of a boolean variable'
1976
+ }, {
1977
+ id: 'variable.string.variable.color', defaults: {
1978
+ dark: '#CE9178',
1979
+ light: '#A31515',
1980
+ hcDark: '#CE9178'
1981
+ },
1982
+ description: 'Value color of a string variable'
1983
+ },
1984
+ // Theia ANSI colors
1985
+ {
1986
+ id: 'ansi.black.color', defaults: {
1987
+ dark: '#A0A0A0',
1988
+ light: color_1.Color.rgba(128, 128, 128),
1989
+ hcDark: '#A0A0A0'
1990
+ },
1991
+ description: 'ANSI black color'
1992
+ }, {
1993
+ id: 'ansi.red.color', defaults: {
1994
+ dark: '#A74747',
1995
+ light: '#BE1717',
1996
+ hcDark: '#A74747'
1997
+ },
1998
+ description: 'ANSI red color'
1999
+ }, {
2000
+ id: 'ansi.green.color', defaults: {
2001
+ dark: '#348F34',
2002
+ light: '#338A2F',
2003
+ hcDark: '#348F34'
2004
+ },
2005
+ description: 'ANSI green color'
2006
+ }, {
2007
+ id: 'ansi.yellow.color', defaults: {
2008
+ dark: '#5F4C29',
2009
+ light: '#BEB817',
2010
+ hcDark: '#5F4C29'
2011
+ },
2012
+ description: 'ANSI yellow color'
2013
+ }, {
2014
+ id: 'ansi.blue.color', defaults: {
2015
+ dark: '#6286BB',
2016
+ light: color_1.Color.rgba(0, 0, 139),
2017
+ hcDark: '#6286BB'
2018
+ },
2019
+ description: 'ANSI blue color'
2020
+ }, {
2021
+ id: 'ansi.magenta.color', defaults: {
2022
+ dark: '#914191',
2023
+ light: color_1.Color.rgba(139, 0, 139),
2024
+ hcDark: '#914191'
2025
+ },
2026
+ description: 'ANSI magenta color'
2027
+ }, {
2028
+ id: 'ansi.cyan.color', defaults: {
2029
+ dark: '#218D8D',
2030
+ light: color_1.Color.rgba(0, 139, 139),
2031
+ hcDark: '#218D8D'
2032
+ },
2033
+ description: 'ANSI cyan color'
2034
+ }, {
2035
+ id: 'ansi.white.color', defaults: {
2036
+ dark: '#707070',
2037
+ light: '#BDBDBD',
2038
+ hcDark: '#707070'
2039
+ },
2040
+ description: 'ANSI white color'
2041
+ },
2042
+ // Theia defaults
2043
+ // Base
2044
+ {
2045
+ id: 'errorBackground',
2046
+ defaults: {
2047
+ dark: 'inputValidation.errorBackground',
2048
+ light: 'inputValidation.errorBackground',
2049
+ hcDark: 'inputValidation.errorBackground'
2050
+ }, description: 'Background color of error widgets (like alerts or notifications).'
2051
+ }, {
2052
+ id: 'successBackground',
2053
+ defaults: {
2054
+ dark: 'editorGutter.addedBackground',
2055
+ light: 'editorGutter.addedBackground',
2056
+ hcDark: 'editorGutter.addedBackground'
2057
+ }, description: 'Background color of success widgets (like alerts or notifications).'
2058
+ }, {
2059
+ id: 'warningBackground',
2060
+ defaults: {
2061
+ dark: 'editorWarning.foreground',
2062
+ light: 'editorWarning.foreground',
2063
+ hcDark: 'editorWarning.border'
2064
+ }, description: 'Background color of warning widgets (like alerts or notifications).'
2065
+ }, {
2066
+ id: 'warningForeground',
2067
+ defaults: {
2068
+ dark: 'inputValidation.warningBackground',
2069
+ light: 'inputValidation.warningBackground',
2070
+ hcDark: 'inputValidation.warningBackground'
2071
+ }, description: 'Foreground color of warning widgets (like alerts or notifications).'
2072
+ },
2073
+ // Statusbar
2074
+ {
2075
+ id: 'statusBar.offlineBackground',
2076
+ defaults: {
2077
+ dark: 'editorWarning.foreground',
2078
+ light: 'editorWarning.foreground',
2079
+ hcDark: 'editorWarning.foreground',
2080
+ hcLight: 'editorWarning.foreground'
2081
+ }, description: 'Background of hovered statusbar item in case the theia server is offline.'
2082
+ }, {
2083
+ id: 'statusBar.offlineForeground',
2084
+ defaults: {
2085
+ dark: 'editor.background',
2086
+ light: 'editor.background',
2087
+ hcDark: 'editor.background',
2088
+ hcLight: 'editor.background'
2089
+ }, description: 'Background of hovered statusbar item in case the theia server is offline.'
2090
+ }, {
2091
+ id: 'statusBarItem.offlineHoverBackground',
2092
+ defaults: {
2093
+ dark: color_1.Color.lighten('statusBar.offlineBackground', 0.4),
2094
+ light: color_1.Color.lighten('statusBar.offlineBackground', 0.4),
2095
+ hcDark: color_1.Color.lighten('statusBar.offlineBackground', 0.4),
2096
+ hcLight: color_1.Color.lighten('statusBar.offlineBackground', 0.4)
2097
+ }, description: 'Background of hovered statusbar item in case the theia server is offline.'
2098
+ }, {
2099
+ id: 'statusBarItem.offlineActiveBackground',
2100
+ defaults: {
2101
+ dark: color_1.Color.lighten('statusBar.offlineBackground', 0.6),
2102
+ light: color_1.Color.lighten('statusBar.offlineBackground', 0.6),
2103
+ hcDark: color_1.Color.lighten('statusBar.offlineBackground', 0.6),
2104
+ hcLight: color_1.Color.lighten('statusBar.offlineBackground', 0.6)
2105
+ }, description: 'Background of active statusbar item in case the theia server is offline.'
2106
+ }, {
2107
+ id: 'statusBarItem.remoteBackground',
2108
+ defaults: {
2109
+ dark: 'activityBarBadge.background',
2110
+ light: 'activityBarBadge.background',
2111
+ hcDark: 'activityBarBadge.background',
2112
+ hcLight: 'activityBarBadge.background'
2113
+ }, description: 'Background color for the remote indicator on the status bar.'
2114
+ }, {
2115
+ id: 'statusBarItem.remoteForeground',
2116
+ defaults: {
2117
+ dark: 'activityBarBadge.foreground',
2118
+ light: 'activityBarBadge.foreground',
2119
+ hcDark: 'activityBarBadge.foreground',
2120
+ hcLight: 'activityBarBadge.foreground'
2121
+ }, description: 'Foreground color for the remote indicator on the status bar.'
2122
+ },
2123
+ // Buttons
2124
+ {
2125
+ id: 'secondaryButton.foreground',
2126
+ defaults: {
2127
+ dark: 'dropdown.foreground',
2128
+ light: 'dropdown.foreground',
2129
+ hcDark: 'dropdown.foreground',
2130
+ hcLight: 'dropdown.foreground'
2131
+ }, description: 'Foreground color of secondary buttons.'
2132
+ }, {
2133
+ id: 'secondaryButton.disabledForeground',
2134
+ defaults: {
2135
+ dark: color_1.Color.transparent('secondaryButton.foreground', 0.5),
2136
+ light: color_1.Color.transparent('secondaryButton.foreground', 0.5),
2137
+ hcDark: color_1.Color.transparent('secondaryButton.foreground', 0.5),
2138
+ hcLight: color_1.Color.transparent('secondaryButton.foreground', 0.5),
2139
+ }, description: 'Foreground color of secondary buttons.'
2140
+ }, {
2141
+ id: 'secondaryButton.background',
2142
+ defaults: {
2143
+ dark: color_1.Color.lighten('dropdown.background', 0.5),
2144
+ light: color_1.Color.lighten('dropdown.background', 0.5)
2145
+ }, description: 'Background color of secondary buttons.'
2146
+ }, {
2147
+ id: 'secondaryButton.hoverBackground',
2148
+ defaults: {
2149
+ dark: color_1.Color.lighten('secondaryButton.background', 0.2),
2150
+ light: color_1.Color.lighten('secondaryButton.background', 0.2)
2151
+ }, description: 'Background color when hovering secondary buttons.'
2152
+ }, {
2153
+ id: 'secondaryButton.disabledBackground',
2154
+ defaults: {
2155
+ dark: color_1.Color.transparent('secondaryButton.background', 0.6),
2156
+ light: color_1.Color.transparent('secondaryButton.background', 0.6)
2157
+ }, description: 'Background color when hovering secondary buttons.'
2158
+ }, {
2159
+ id: 'button.disabledForeground',
2160
+ defaults: {
2161
+ dark: color_1.Color.transparent('button.foreground', 0.5),
2162
+ light: color_1.Color.transparent('button.foreground', 0.5),
2163
+ hcDark: color_1.Color.transparent('button.foreground', 0.5)
2164
+ }, description: 'Foreground color of secondary buttons.'
2165
+ }, {
2166
+ id: 'button.disabledBackground',
2167
+ defaults: {
2168
+ dark: color_1.Color.transparent('button.background', 0.5),
2169
+ light: color_1.Color.transparent('button.background', 0.5)
2170
+ }, description: 'Background color of secondary buttons.'
2171
+ }, {
2172
+ id: 'editorGutter.commentRangeForeground',
2173
+ defaults: {
2174
+ dark: '#c5c5c5',
2175
+ light: '#c5c5c5',
2176
+ hcDark: color_1.Color.white,
2177
+ hcLight: color_1.Color.white
2178
+ }, description: 'Editor gutter decoration color for commenting ranges.'
2179
+ }, {
2180
+ id: 'breadcrumb.foreground',
2181
+ defaults: {
2182
+ dark: color_1.Color.transparent('foreground', 0.8),
2183
+ light: color_1.Color.transparent('foreground', 0.8),
2184
+ hcDark: color_1.Color.transparent('foreground', 0.8),
2185
+ hcLight: color_1.Color.transparent('foreground', 0.8)
2186
+ },
2187
+ description: 'Color of breadcrumb item text'
2188
+ }, {
2189
+ id: 'breadcrumb.background',
2190
+ defaults: {
2191
+ dark: 'editor.background',
2192
+ light: 'editor.background',
2193
+ hcDark: 'editor.background',
2194
+ hcLight: 'editor.background'
2195
+ },
2196
+ description: 'Color of breadcrumb item background'
2197
+ }, {
2198
+ id: 'breadcrumb.focusForeground',
2199
+ defaults: {
2200
+ dark: color_1.Color.lighten('foreground', 0.1),
2201
+ light: color_1.Color.darken('foreground', 0.2),
2202
+ hcDark: color_1.Color.lighten('foreground', 0.1),
2203
+ hcLight: color_1.Color.lighten('foreground', 0.1)
2204
+ },
2205
+ description: 'Color of breadcrumb item text when focused'
2206
+ }, {
2207
+ id: 'breadcrumb.activeSelectionForeground',
2208
+ defaults: {
2209
+ dark: color_1.Color.lighten('foreground', 0.1),
2210
+ light: color_1.Color.darken('foreground', 0.2),
2211
+ hcDark: color_1.Color.lighten('foreground', 0.1),
2212
+ hcLight: color_1.Color.lighten('foreground', 0.1)
2213
+ },
2214
+ description: 'Color of selected breadcrumb item'
2215
+ }, {
2216
+ id: 'breadcrumbPicker.background',
2217
+ defaults: {
2218
+ dark: 'editorWidget.background',
2219
+ light: 'editorWidget.background',
2220
+ hcDark: 'editorWidget.background',
2221
+ hcLight: 'editorWidget.background'
2222
+ },
2223
+ description: 'Background color of breadcrumb item picker'
2224
+ }, {
2225
+ id: 'mainToolbar.background',
2226
+ defaults: {
2227
+ dark: color_1.Color.lighten('activityBar.background', 0.1),
2228
+ light: color_1.Color.darken('activityBar.background', 0.1),
2229
+ hcDark: color_1.Color.lighten('activityBar.background', 0.1),
2230
+ hcLight: color_1.Color.lighten('activityBar.background', 0.1)
2231
+ },
2232
+ description: 'Background color of shell\'s global toolbar'
2233
+ }, {
2234
+ id: 'mainToolbar.foreground', defaults: {
2235
+ dark: color_1.Color.darken('activityBar.foreground', 0.1),
2236
+ light: color_1.Color.lighten('activityBar.foreground', 0.1),
2237
+ hcDark: color_1.Color.lighten('activityBar.foreground', 0.1),
2238
+ hcLight: color_1.Color.lighten('activityBar.foreground', 0.1),
2239
+ }, description: 'Foreground color of active toolbar item',
2240
+ }, {
2241
+ id: 'editorHoverWidgetInternalBorder',
2242
+ defaults: {
2243
+ dark: color_1.Color.transparent('editorHoverWidget.border', 0.5),
2244
+ light: color_1.Color.transparent('editorHoverWidget.border', 0.5),
2245
+ hcDark: color_1.Color.transparent('editorHoverWidget.border', 0.5),
2246
+ hcLight: color_1.Color.transparent('editorHoverWidget.border', 0.5)
2247
+ },
2248
+ description: 'The border between subelements of a hover widget'
2249
+ });
2250
+ }
2251
+ };
2252
+ (0, tslib_1.__decorate)([
2253
+ (0, inversify_1.inject)(context_key_service_1.ContextKeyService),
2254
+ (0, tslib_1.__metadata)("design:type", Object)
2255
+ ], CommonFrontendContribution.prototype, "contextKeyService", void 0);
2256
+ (0, tslib_1.__decorate)([
2257
+ (0, inversify_1.inject)(resource_context_key_1.ResourceContextKey),
2258
+ (0, tslib_1.__metadata)("design:type", resource_context_key_1.ResourceContextKey)
2259
+ ], CommonFrontendContribution.prototype, "resourceContextKey", void 0);
2260
+ (0, tslib_1.__decorate)([
2261
+ (0, inversify_1.inject)(command_1.CommandRegistry),
2262
+ (0, tslib_1.__metadata)("design:type", command_1.CommandRegistry)
2263
+ ], CommonFrontendContribution.prototype, "commandRegistry", void 0);
2264
+ (0, tslib_1.__decorate)([
2265
+ (0, inversify_1.inject)(menu_1.MenuModelRegistry),
2266
+ (0, tslib_1.__metadata)("design:type", menu_1.MenuModelRegistry)
2267
+ ], CommonFrontendContribution.prototype, "menuRegistry", void 0);
2268
+ (0, tslib_1.__decorate)([
2269
+ (0, inversify_1.inject)(storage_service_1.StorageService),
2270
+ (0, tslib_1.__metadata)("design:type", Object)
2271
+ ], CommonFrontendContribution.prototype, "storageService", void 0);
2272
+ (0, tslib_1.__decorate)([
2273
+ (0, inversify_1.inject)(quick_input_1.QuickInputService),
2274
+ (0, inversify_1.optional)(),
2275
+ (0, tslib_1.__metadata)("design:type", Object)
2276
+ ], CommonFrontendContribution.prototype, "quickInputService", void 0);
2277
+ (0, tslib_1.__decorate)([
2278
+ (0, inversify_1.inject)(icon_theme_service_1.IconThemeService),
2279
+ (0, tslib_1.__metadata)("design:type", icon_theme_service_1.IconThemeService)
2280
+ ], CommonFrontendContribution.prototype, "iconThemes", void 0);
2281
+ (0, tslib_1.__decorate)([
2282
+ (0, inversify_1.inject)(theming_1.ThemeService),
2283
+ (0, tslib_1.__metadata)("design:type", theming_1.ThemeService)
2284
+ ], CommonFrontendContribution.prototype, "themeService", void 0);
2285
+ (0, tslib_1.__decorate)([
2286
+ (0, inversify_1.inject)(core_preferences_1.CorePreferences),
2287
+ (0, tslib_1.__metadata)("design:type", Object)
2288
+ ], CommonFrontendContribution.prototype, "preferences", void 0);
2289
+ (0, tslib_1.__decorate)([
2290
+ (0, inversify_1.inject)(preferences_1.PreferenceService),
2291
+ (0, tslib_1.__metadata)("design:type", Object)
2292
+ ], CommonFrontendContribution.prototype, "preferenceService", void 0);
2293
+ (0, tslib_1.__decorate)([
2294
+ (0, inversify_1.inject)(clipboard_service_1.ClipboardService),
2295
+ (0, tslib_1.__metadata)("design:type", Object)
2296
+ ], CommonFrontendContribution.prototype, "clipboardService", void 0);
2297
+ (0, tslib_1.__decorate)([
2298
+ (0, inversify_1.inject)(encoding_registry_1.EncodingRegistry),
2299
+ (0, tslib_1.__metadata)("design:type", encoding_registry_1.EncodingRegistry)
2300
+ ], CommonFrontendContribution.prototype, "encodingRegistry", void 0);
2301
+ (0, tslib_1.__decorate)([
2302
+ (0, inversify_1.inject)(env_variables_1.EnvVariablesServer),
2303
+ (0, tslib_1.__metadata)("design:type", Object)
2304
+ ], CommonFrontendContribution.prototype, "environments", void 0);
2305
+ (0, tslib_1.__decorate)([
2306
+ (0, inversify_1.inject)(authentication_service_1.AuthenticationService),
2307
+ (0, tslib_1.__metadata)("design:type", Object)
2308
+ ], CommonFrontendContribution.prototype, "authenticationService", void 0);
2309
+ (0, tslib_1.__decorate)([
2310
+ (0, inversify_1.inject)(window_service_1.WindowService),
2311
+ (0, tslib_1.__metadata)("design:type", Object)
2312
+ ], CommonFrontendContribution.prototype, "windowService", void 0);
2313
+ (0, tslib_1.__decorate)([
2314
+ (0, inversify_1.inject)(user_working_directory_provider_1.UserWorkingDirectoryProvider),
2315
+ (0, tslib_1.__metadata)("design:type", user_working_directory_provider_1.UserWorkingDirectoryProvider)
2316
+ ], CommonFrontendContribution.prototype, "workingDirProvider", void 0);
2317
+ (0, tslib_1.__decorate)([
2318
+ (0, inversify_1.inject)(language_quick_pick_service_1.LanguageQuickPickService),
2319
+ (0, tslib_1.__metadata)("design:type", language_quick_pick_service_1.LanguageQuickPickService)
2320
+ ], CommonFrontendContribution.prototype, "languageQuickPickService", void 0);
2321
+ (0, tslib_1.__decorate)([
2322
+ (0, inversify_1.inject)(common_1.UntitledResourceResolver),
2323
+ (0, tslib_1.__metadata)("design:type", common_1.UntitledResourceResolver)
2324
+ ], CommonFrontendContribution.prototype, "untitledResourceResolver", void 0);
2325
+ CommonFrontendContribution = (0, tslib_1.__decorate)([
2326
+ (0, inversify_1.injectable)(),
2327
+ (0, tslib_1.__param)(0, (0, inversify_1.inject)(application_shell_1.ApplicationShell)),
2328
+ (0, tslib_1.__param)(1, (0, inversify_1.inject)(selection_service_1.SelectionService)),
2329
+ (0, tslib_1.__param)(2, (0, inversify_1.inject)(message_service_1.MessageService)),
2330
+ (0, tslib_1.__param)(3, (0, inversify_1.inject)(opener_service_1.OpenerService)),
2331
+ (0, tslib_1.__param)(4, (0, inversify_1.inject)(about_dialog_1.AboutDialog)),
2332
+ (0, tslib_1.__param)(5, (0, inversify_1.inject)(localization_1.AsyncLocalizationProvider)),
2333
+ (0, tslib_1.__param)(6, (0, inversify_1.inject)(save_resource_service_1.SaveResourceService)),
2334
+ (0, tslib_1.__metadata)("design:paramtypes", [application_shell_1.ApplicationShell,
2335
+ selection_service_1.SelectionService,
2336
+ message_service_1.MessageService, Object, about_dialog_1.AboutDialog, Object, save_resource_service_1.SaveResourceService])
2337
+ ], CommonFrontendContribution);
2338
+ exports.CommonFrontendContribution = CommonFrontendContribution;
2339
2339
  //# sourceMappingURL=common-frontend-contribution.js.map