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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (689) hide show
  1. package/README.md +7 -7
  2. package/i18n/nls.cs.json +582 -552
  3. package/i18n/nls.de.json +582 -552
  4. package/i18n/nls.es.json +582 -552
  5. package/i18n/nls.fr.json +582 -552
  6. package/i18n/nls.hu.json +582 -552
  7. package/i18n/nls.it.json +582 -552
  8. package/i18n/nls.ja.json +582 -552
  9. package/i18n/nls.json +582 -552
  10. package/i18n/nls.ko.json +582 -0
  11. package/i18n/nls.pl.json +582 -552
  12. package/i18n/nls.pt-br.json +582 -552
  13. package/i18n/nls.ru.json +582 -552
  14. package/i18n/nls.tr.json +582 -0
  15. package/i18n/nls.zh-cn.json +582 -552
  16. package/i18n/nls.zh-tw.json +582 -0
  17. package/lib/browser/authentication-service.d.ts +15 -14
  18. package/lib/browser/authentication-service.d.ts.map +1 -1
  19. package/lib/browser/authentication-service.js +5 -5
  20. package/lib/browser/authentication-service.js.map +1 -1
  21. package/lib/browser/catalog.json +6889 -0
  22. package/lib/browser/common-frontend-contribution.js +3 -3
  23. package/lib/browser/common-styling-participants.js +166 -166
  24. package/lib/browser/context-key-service.d.ts +3 -2
  25. package/lib/browser/context-key-service.d.ts.map +1 -1
  26. package/lib/browser/context-key-service.js.map +1 -1
  27. package/lib/browser/core-preferences.d.ts.map +1 -1
  28. package/lib/browser/core-preferences.js +9 -0
  29. package/lib/browser/core-preferences.js.map +1 -1
  30. package/lib/browser/frontend-application-module.d.ts.map +1 -1
  31. package/lib/browser/frontend-application-module.js.map +1 -1
  32. package/lib/browser/json-schema-store.d.ts +0 -3
  33. package/lib/browser/json-schema-store.d.ts.map +1 -1
  34. package/lib/browser/json-schema-store.js +2 -12
  35. package/lib/browser/json-schema-store.js.map +1 -1
  36. package/lib/browser/open-with-service.d.ts +13 -1
  37. package/lib/browser/open-with-service.d.ts.map +1 -1
  38. package/lib/browser/open-with-service.js +48 -9
  39. package/lib/browser/open-with-service.js.map +1 -1
  40. package/lib/browser/opener-service.d.ts +8 -0
  41. package/lib/browser/opener-service.d.ts.map +1 -1
  42. package/lib/browser/opener-service.js +18 -3
  43. package/lib/browser/opener-service.js.map +1 -1
  44. package/lib/browser/progress-location-service.spec.js +7 -7
  45. package/lib/browser/saveable-service.d.ts.map +1 -1
  46. package/lib/browser/saveable-service.js +6 -2
  47. package/lib/browser/saveable-service.js.map +1 -1
  48. package/lib/browser/saveable.d.ts +17 -1
  49. package/lib/browser/saveable.d.ts.map +1 -1
  50. package/lib/browser/saveable.js +62 -1
  51. package/lib/browser/saveable.js.map +1 -1
  52. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts +5 -4
  53. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts.map +1 -1
  54. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js +2 -1
  55. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js.map +1 -1
  56. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts +6 -16
  57. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts.map +1 -1
  58. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +12 -29
  59. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js.map +1 -1
  60. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts +43 -78
  61. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts.map +1 -1
  62. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js +8 -39
  63. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js.map +1 -1
  64. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +10 -10
  65. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts.map +1 -1
  66. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +43 -32
  67. package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
  68. package/lib/browser/storage-service.js +3 -3
  69. package/lib/browser/tree/tree.spec.js +75 -75
  70. package/lib/browser/view-container.d.ts +2 -2
  71. package/lib/browser/view-container.d.ts.map +1 -1
  72. package/lib/browser/view-container.js.map +1 -1
  73. package/lib/browser/widget-open-handler.d.ts +4 -1
  74. package/lib/browser/widget-open-handler.d.ts.map +1 -1
  75. package/lib/browser/widget-open-handler.js.map +1 -1
  76. package/lib/browser/widgets/extractable-widget.js +1 -1
  77. package/lib/browser/widgets/extractable-widget.js.map +1 -1
  78. package/lib/browser/widgets/index.d.ts +1 -0
  79. package/lib/browser/widgets/index.d.ts.map +1 -1
  80. package/lib/browser/widgets/index.js +1 -0
  81. package/lib/browser/widgets/index.js.map +1 -1
  82. package/lib/browser/widgets/split-widget.d.ts +45 -0
  83. package/lib/browser/widgets/split-widget.d.ts.map +1 -0
  84. package/lib/browser/widgets/split-widget.js +126 -0
  85. package/lib/browser/widgets/split-widget.js.map +1 -0
  86. package/lib/common/event.d.ts +2 -0
  87. package/lib/common/event.d.ts.map +1 -1
  88. package/lib/common/event.js +4 -0
  89. package/lib/common/event.js.map +1 -1
  90. package/lib/common/glob.d.ts +4 -4
  91. package/lib/common/json-schema.d.ts +2 -0
  92. package/lib/common/json-schema.d.ts.map +1 -1
  93. package/lib/common/menu/menu-types.d.ts.map +1 -1
  94. package/lib/common/menu/menu-types.js.map +1 -1
  95. package/lib/electron-browser/electron-uri-handler.d.ts +6 -0
  96. package/lib/electron-browser/electron-uri-handler.d.ts.map +1 -0
  97. package/lib/electron-browser/electron-uri-handler.js +49 -0
  98. package/lib/electron-browser/electron-uri-handler.js.map +1 -0
  99. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts +1 -1
  100. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
  101. package/lib/electron-browser/menu/electron-main-menu-factory.js +6 -6
  102. package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
  103. package/lib/electron-browser/preload.d.ts.map +1 -1
  104. package/lib/electron-browser/preload.js +12 -0
  105. package/lib/electron-browser/preload.js.map +1 -1
  106. package/lib/electron-browser/window/electron-window-module.d.ts.map +1 -1
  107. package/lib/electron-browser/window/electron-window-module.js +3 -0
  108. package/lib/electron-browser/window/electron-window-module.js.map +1 -1
  109. package/lib/electron-browser/window/external-app-open-handler.js +1 -1
  110. package/lib/electron-browser/window/external-app-open-handler.js.map +1 -1
  111. package/lib/electron-common/electron-api.d.ts +2 -0
  112. package/lib/electron-common/electron-api.d.ts.map +1 -1
  113. package/lib/electron-common/electron-api.js +2 -1
  114. package/lib/electron-common/electron-api.js.map +1 -1
  115. package/lib/electron-main/electron-api-main.d.ts +2 -0
  116. package/lib/electron-main/electron-api-main.d.ts.map +1 -1
  117. package/lib/electron-main/electron-api-main.js +27 -3
  118. package/lib/electron-main/electron-api-main.js.map +1 -1
  119. package/lib/electron-main/electron-main-application.d.ts +5 -3
  120. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  121. package/lib/electron-main/electron-main-application.js +57 -14
  122. package/lib/electron-main/electron-main-application.js.map +1 -1
  123. package/lib/electron-main/theia-electron-window.d.ts +1 -0
  124. package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
  125. package/lib/electron-main/theia-electron-window.js +3 -0
  126. package/lib/electron-main/theia-electron-window.js.map +1 -1
  127. package/lib/node/i18n/theia-localization-contribution.d.ts.map +1 -1
  128. package/lib/node/i18n/theia-localization-contribution.js +12 -8
  129. package/lib/node/i18n/theia-localization-contribution.js.map +1 -1
  130. package/lib/node/process-utils.spec.js +8 -8
  131. package/package.json +10 -8
  132. package/shared/ajv/index.d.ts +2 -2
  133. package/shared/markdown-it.d.ts +2 -2
  134. package/shared/markdown-it.js +1 -1
  135. package/shared/reflect-metadata/index.d.ts +1 -1
  136. package/shared/reflect-metadata/index.js +1 -1
  137. package/shared/vscode-languageserver-types/index.d.ts +1 -1
  138. package/src/browser/about-dialog.tsx +137 -137
  139. package/src/browser/authentication-service.ts +467 -468
  140. package/src/browser/breadcrumbs/breadcrumb-popup-container.ts +101 -101
  141. package/src/browser/breadcrumbs/breadcrumb-renderer.tsx +41 -41
  142. package/src/browser/breadcrumbs/breadcrumbs-constants.ts +79 -79
  143. package/src/browser/breadcrumbs/breadcrumbs-renderer.tsx +185 -185
  144. package/src/browser/breadcrumbs/breadcrumbs-service.ts +108 -108
  145. package/src/browser/breadcrumbs/index.ts +21 -21
  146. package/src/browser/browser-clipboard-service.ts +122 -122
  147. package/src/browser/browser.ts +239 -239
  148. package/src/browser/clipboard-service.ts +23 -23
  149. package/src/browser/color-application-contribution.ts +110 -110
  150. package/src/browser/color-registry.ts +60 -60
  151. package/src/browser/command-open-handler.ts +54 -54
  152. package/src/browser/common-frontend-contribution.ts +2680 -2680
  153. package/src/browser/common-styling-participants.ts +361 -361
  154. package/src/browser/connection-status-service.spec.ts +200 -200
  155. package/src/browser/connection-status-service.ts +216 -216
  156. package/src/browser/context-key-service.ts +142 -142
  157. package/src/browser/context-menu-renderer.ts +124 -124
  158. package/src/browser/core-preferences.ts +343 -334
  159. package/src/browser/credentials-service.ts +106 -106
  160. package/src/browser/decoration-style.ts +65 -65
  161. package/src/browser/decorations-service.ts +209 -209
  162. package/src/browser/dialogs/react-dialog.tsx +56 -56
  163. package/src/browser/dialogs.ts +534 -534
  164. package/src/browser/diff-uris.ts +117 -117
  165. package/src/browser/encoding-registry.ts +97 -97
  166. package/src/browser/endpoint.spec.ts +148 -148
  167. package/src/browser/endpoint.ts +136 -136
  168. package/src/browser/external-uri-service.ts +79 -79
  169. package/src/browser/file-icons-js.d.ts +20 -20
  170. package/src/browser/frontend-application-bindings.ts +62 -62
  171. package/src/browser/frontend-application-config-provider.spec.ts +45 -45
  172. package/src/browser/frontend-application-config-provider.ts +50 -50
  173. package/src/browser/frontend-application-contribution.ts +110 -110
  174. package/src/browser/frontend-application-module.ts +474 -475
  175. package/src/browser/frontend-application-state.ts +74 -74
  176. package/src/browser/frontend-application.ts +326 -326
  177. package/src/browser/hover-service.ts +218 -218
  178. package/src/browser/http-open-handler.ts +49 -49
  179. package/src/browser/i18n/i18n-frontend-module.ts +27 -27
  180. package/src/browser/i18n/language-quick-pick-service.ts +130 -130
  181. package/src/browser/icon-registry.ts +87 -87
  182. package/src/browser/icon-theme-contribution.ts +64 -64
  183. package/src/browser/icon-theme-service.ts +217 -217
  184. package/src/browser/icons/CollapseAll.svg +7 -7
  185. package/src/browser/icons/CollapseAll_inverse.svg +7 -7
  186. package/src/browser/icons/Refresh.svg +7 -7
  187. package/src/browser/icons/Refresh_inverse.svg +7 -7
  188. package/src/browser/icons/add-inverse.svg +4 -4
  189. package/src/browser/icons/add.svg +4 -4
  190. package/src/browser/icons/arrow-down-bright.svg +6 -6
  191. package/src/browser/icons/arrow-down-dark.svg +6 -6
  192. package/src/browser/icons/arrow-up-bright.svg +6 -6
  193. package/src/browser/icons/arrow-up-dark.svg +6 -6
  194. package/src/browser/icons/case-sensitive-dark.svg +16 -16
  195. package/src/browser/icons/case-sensitive.svg +16 -16
  196. package/src/browser/icons/chevron-right-dark.svg +5 -5
  197. package/src/browser/icons/chevron-right-light.svg +6 -6
  198. package/src/browser/icons/circle-bright.svg +7 -7
  199. package/src/browser/icons/circle-dark.svg +7 -7
  200. package/src/browser/icons/clear-search-results-dark.svg +7 -7
  201. package/src/browser/icons/clear-search-results.svg +7 -7
  202. package/src/browser/icons/close-all-bright.svg +7 -7
  203. package/src/browser/icons/close-all-dark.svg +7 -7
  204. package/src/browser/icons/close-bright.svg +7 -7
  205. package/src/browser/icons/close-dark.svg +7 -7
  206. package/src/browser/icons/collapse.svg +4 -4
  207. package/src/browser/icons/edit-json-dark.svg +6 -6
  208. package/src/browser/icons/edit-json.svg +6 -6
  209. package/src/browser/icons/expand.svg +4 -4
  210. package/src/browser/icons/loading-dark.svg +6 -6
  211. package/src/browser/icons/loading-light.svg +6 -6
  212. package/src/browser/icons/open-change-bright.svg +3 -3
  213. package/src/browser/icons/open-change-dark.svg +4 -4
  214. package/src/browser/icons/open-file-bright.svg +4 -4
  215. package/src/browser/icons/open-file-dark.svg +4 -4
  216. package/src/browser/icons/preview-bright.svg +3 -3
  217. package/src/browser/icons/preview-dark.svg +3 -3
  218. package/src/browser/icons/regex-dark.svg +10 -10
  219. package/src/browser/icons/regex.svg +10 -10
  220. package/src/browser/icons/remove-all-inverse.svg +4 -4
  221. package/src/browser/icons/remove-all.svg +4 -4
  222. package/src/browser/icons/replace-all-inverse.svg +13 -13
  223. package/src/browser/icons/replace-all.svg +13 -13
  224. package/src/browser/icons/replace-inverse.svg +15 -15
  225. package/src/browser/icons/replace.svg +15 -15
  226. package/src/browser/icons/whole-word-dark.svg +19 -19
  227. package/src/browser/icons/whole-word.svg +19 -19
  228. package/src/browser/index.ts +50 -50
  229. package/src/browser/json-schema-store.ts +118 -127
  230. package/src/browser/keybinding.spec.ts +554 -554
  231. package/src/browser/keybinding.ts +759 -759
  232. package/src/browser/keyboard/browser-keyboard-frontend-contribution.ts +108 -108
  233. package/src/browser/keyboard/browser-keyboard-layout-provider.spec.ts +171 -171
  234. package/src/browser/keyboard/browser-keyboard-layout-provider.ts +469 -469
  235. package/src/browser/keyboard/browser-keyboard-module.ts +30 -30
  236. package/src/browser/keyboard/index.ts +20 -20
  237. package/src/browser/keyboard/keyboard-layout-service.spec.ts +121 -121
  238. package/src/browser/keyboard/keyboard-layout-service.ts +455 -455
  239. package/src/browser/keyboard/keys.spec.ts +258 -258
  240. package/src/browser/keyboard/keys.ts +20 -20
  241. package/src/browser/keys.ts +21 -21
  242. package/src/browser/label-parser.spec.ts +165 -165
  243. package/src/browser/label-parser.ts +108 -108
  244. package/src/browser/label-provider.spec.ts +62 -62
  245. package/src/browser/label-provider.ts +385 -385
  246. package/src/browser/language-icon-provider.ts +55 -55
  247. package/src/browser/language-service.ts +77 -77
  248. package/src/browser/logger-frontend-module.ts +65 -65
  249. package/src/browser/markdown-rendering/markdown-renderer.ts +98 -98
  250. package/src/browser/menu/browser-context-menu-renderer.ts +48 -48
  251. package/src/browser/menu/browser-menu-module.ts +28 -28
  252. package/src/browser/menu/browser-menu-plugin.ts +491 -491
  253. package/src/browser/menu/context-menu-context.ts +41 -41
  254. package/src/browser/messaging/connection-source.ts +26 -26
  255. package/src/browser/messaging/frontend-id-provider.ts +37 -37
  256. package/src/browser/messaging/index.ts +18 -18
  257. package/src/browser/messaging/messaging-frontend-module.ts +41 -41
  258. package/src/browser/messaging/service-connection-provider.ts +140 -140
  259. package/src/browser/messaging/ws-connection-provider.ts +49 -49
  260. package/src/browser/messaging/ws-connection-source.ts +230 -230
  261. package/src/browser/mime-service.ts +30 -30
  262. package/src/browser/navigatable-types.ts +81 -81
  263. package/src/browser/navigatable.ts +39 -39
  264. package/src/browser/open-with-service.ts +140 -93
  265. package/src/browser/opener-service.spec.ts +49 -49
  266. package/src/browser/opener-service.ts +169 -146
  267. package/src/browser/performance/frontend-stopwatch.ts +65 -65
  268. package/src/browser/performance/index.ts +18 -18
  269. package/src/browser/performance/measurement-frontend-bindings.ts +31 -31
  270. package/src/browser/preferences/index.ts +23 -23
  271. package/src/browser/preferences/injectable-preference-proxy.ts +283 -283
  272. package/src/browser/preferences/preference-configurations.ts +82 -82
  273. package/src/browser/preferences/preference-contribution.ts +436 -436
  274. package/src/browser/preferences/preference-language-override-service.ts +111 -111
  275. package/src/browser/preferences/preference-provider.spec.ts +36 -36
  276. package/src/browser/preferences/preference-provider.ts +277 -277
  277. package/src/browser/preferences/preference-proxy.spec.ts +367 -367
  278. package/src/browser/preferences/preference-proxy.ts +367 -367
  279. package/src/browser/preferences/preference-schema-provider.spec.ts +130 -130
  280. package/src/browser/preferences/preference-scope.ts +18 -18
  281. package/src/browser/preferences/preference-service.spec.ts +613 -613
  282. package/src/browser/preferences/preference-service.ts +594 -594
  283. package/src/browser/preferences/preference-validation-service.spec.ts +334 -334
  284. package/src/browser/preferences/preference-validation-service.ts +358 -358
  285. package/src/browser/preferences/test/index.ts +19 -19
  286. package/src/browser/preferences/test/mock-preference-provider.ts +50 -50
  287. package/src/browser/preferences/test/mock-preference-proxy.ts +48 -48
  288. package/src/browser/preferences/test/mock-preference-service.ts +63 -63
  289. package/src/browser/preload/i18n-preload-contribution.ts +50 -50
  290. package/src/browser/preload/os-preload-contribution.ts +37 -37
  291. package/src/browser/preload/preload-module.ts +45 -45
  292. package/src/browser/preload/preloader.ts +37 -37
  293. package/src/browser/preload/theme-preload-contribution.ts +31 -31
  294. package/src/browser/progress-bar-factory.ts +29 -29
  295. package/src/browser/progress-bar.ts +76 -76
  296. package/src/browser/progress-client.ts +53 -53
  297. package/src/browser/progress-location-service.spec.ts +50 -50
  298. package/src/browser/progress-location-service.ts +96 -96
  299. package/src/browser/progress-status-bar-item.ts +83 -83
  300. package/src/browser/quick-input/index.ts +23 -23
  301. package/src/browser/quick-input/quick-access.ts +75 -75
  302. package/src/browser/quick-input/quick-command-frontend-contribution.ts +89 -89
  303. package/src/browser/quick-input/quick-command-service.ts +246 -246
  304. package/src/browser/quick-input/quick-help-service.ts +87 -87
  305. package/src/browser/quick-input/quick-input-frontend-contribution.ts +33 -33
  306. package/src/browser/quick-input/quick-input-service.spec.ts +176 -176
  307. package/src/browser/quick-input/quick-input-service.ts +17 -17
  308. package/src/browser/quick-input/quick-pick-service-impl.ts +69 -69
  309. package/src/browser/quick-input/quick-view-service.ts +83 -83
  310. package/src/browser/request/browser-request-module.ts +23 -23
  311. package/src/browser/request/browser-request-service.ts +172 -172
  312. package/src/browser/resource-context-key.ts +77 -77
  313. package/src/browser/saveable-service.ts +332 -328
  314. package/src/browser/saveable.ts +395 -327
  315. package/src/browser/secondary-window-handler.ts +211 -211
  316. package/src/browser/shell/additional-views-menu-widget.tsx +71 -71
  317. package/src/browser/shell/application-shell-mouse-tracker.ts +103 -103
  318. package/src/browser/shell/application-shell.ts +2271 -2271
  319. package/src/browser/shell/current-widget-command-adapter.ts +57 -57
  320. package/src/browser/shell/index.ts +23 -23
  321. package/src/browser/shell/shell-layout-restorer.ts +399 -399
  322. package/src/browser/shell/side-panel-handler.ts +794 -794
  323. package/src/browser/shell/side-panel-toolbar.ts +111 -111
  324. package/src/browser/shell/sidebar-bottom-menu-widget.tsx +39 -39
  325. package/src/browser/shell/sidebar-menu-widget.tsx +183 -183
  326. package/src/browser/shell/sidebar-top-menu-widget.tsx +26 -26
  327. package/src/browser/shell/split-panels.ts +191 -191
  328. package/src/browser/shell/tab-bar-decorator.ts +106 -106
  329. package/src/browser/shell/tab-bar-toolbar/index.ts +19 -19
  330. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.ts +31 -31
  331. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts +242 -256
  332. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts +149 -207
  333. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.ts +62 -62
  334. package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +443 -428
  335. package/src/browser/shell/tab-bars.spec.ts +63 -63
  336. package/src/browser/shell/tab-bars.ts +1468 -1468
  337. package/src/browser/shell/theia-dock-panel.ts +265 -265
  338. package/src/browser/shell/view-column-service.ts +125 -125
  339. package/src/browser/shell/view-contribution.ts +178 -178
  340. package/src/browser/source-tree/index.ts +19 -19
  341. package/src/browser/source-tree/source-tree-widget.tsx +107 -107
  342. package/src/browser/source-tree/source-tree.ts +146 -146
  343. package/src/browser/source-tree/tree-source.ts +73 -73
  344. package/src/browser/status-bar/index.ts +29 -29
  345. package/src/browser/status-bar/status-bar-types.ts +97 -97
  346. package/src/browser/status-bar/status-bar-view-model.ts +209 -209
  347. package/src/browser/status-bar/status-bar.tsx +189 -189
  348. package/src/browser/storage-service.spec.ts +76 -76
  349. package/src/browser/storage-service.ts +129 -129
  350. package/src/browser/style/about.css +36 -36
  351. package/src/browser/style/alert-messages.css +62 -62
  352. package/src/browser/style/ansi.css +88 -88
  353. package/src/browser/style/breadcrumbs.css +130 -130
  354. package/src/browser/style/dialog.css +126 -126
  355. package/src/browser/style/dockpanel.css +76 -76
  356. package/src/browser/style/hover-service.css +101 -101
  357. package/src/browser/style/icons.css +61 -61
  358. package/src/browser/style/index.css +353 -351
  359. package/src/browser/style/materialcolors.css +278 -278
  360. package/src/browser/style/menus.css +230 -230
  361. package/src/browser/style/notification.css +39 -39
  362. package/src/browser/style/os.css +87 -87
  363. package/src/browser/style/progress-bar.css +43 -43
  364. package/src/browser/style/quick-title-bar.css +45 -45
  365. package/src/browser/style/scrollbars.css +172 -172
  366. package/src/browser/style/search-box.css +123 -123
  367. package/src/browser/style/select-component.css +107 -107
  368. package/src/browser/style/sidepanel.css +367 -367
  369. package/src/browser/style/split-widget.css +38 -0
  370. package/src/browser/style/status-bar.css +127 -127
  371. package/src/browser/style/tabs.css +647 -658
  372. package/src/browser/style/tooltip.css +28 -28
  373. package/src/browser/style/tree-decorators.css +81 -81
  374. package/src/browser/style/tree.css +232 -232
  375. package/src/browser/style/view-container.css +187 -194
  376. package/src/browser/style/widget.css +19 -19
  377. package/src/browser/styling-service.ts +96 -96
  378. package/src/browser/supported-encodings.ts +262 -262
  379. package/src/browser/test/jsdom.ts +69 -69
  380. package/src/browser/test/mock-connection-status-service.ts +33 -33
  381. package/src/browser/test/mock-env-variables-server.ts +47 -47
  382. package/src/browser/test/mock-opener-service.ts +34 -34
  383. package/src/browser/test/mock-storage-service.ts +49 -49
  384. package/src/browser/theming.ts +206 -206
  385. package/src/browser/tooltip-service.tsx +96 -96
  386. package/src/browser/tree/fuzzy-search.spec.ts +99 -99
  387. package/src/browser/tree/fuzzy-search.ts +136 -136
  388. package/src/browser/tree/index.ts +29 -29
  389. package/src/browser/tree/search-box-debounce.ts +96 -96
  390. package/src/browser/tree/search-box.ts +355 -355
  391. package/src/browser/tree/test/mock-selectable-tree-model.ts +109 -109
  392. package/src/browser/tree/test/mock-tree-model.ts +136 -136
  393. package/src/browser/tree/test/tree-test-container.ts +50 -50
  394. package/src/browser/tree/tree-compression/compressed-tree-expansion-service.ts +46 -46
  395. package/src/browser/tree/tree-compression/compressed-tree-model.ts +88 -88
  396. package/src/browser/tree/tree-compression/compressed-tree-widget.tsx +203 -203
  397. package/src/browser/tree/tree-compression/index.ts +20 -20
  398. package/src/browser/tree/tree-compression/tree-compression-service.ts +125 -125
  399. package/src/browser/tree/tree-compression/tree-compression.css +28 -28
  400. package/src/browser/tree/tree-consistency.spec.ts +105 -105
  401. package/src/browser/tree/tree-container.spec.ts +45 -45
  402. package/src/browser/tree/tree-container.ts +155 -155
  403. package/src/browser/tree/tree-decorator.spec.ts +162 -162
  404. package/src/browser/tree/tree-decorator.ts +238 -238
  405. package/src/browser/tree/tree-expansion.spec.ts +173 -173
  406. package/src/browser/tree/tree-expansion.ts +165 -165
  407. package/src/browser/tree/tree-focus-service.ts +55 -55
  408. package/src/browser/tree/tree-iterator.spec.ts +170 -170
  409. package/src/browser/tree/tree-iterator.ts +256 -256
  410. package/src/browser/tree/tree-label-provider.ts +40 -40
  411. package/src/browser/tree/tree-model.ts +562 -562
  412. package/src/browser/tree/tree-navigation.ts +58 -58
  413. package/src/browser/tree/tree-preference.ts +50 -50
  414. package/src/browser/tree/tree-search.ts +128 -128
  415. package/src/browser/tree/tree-selectable.spec.ts +152 -152
  416. package/src/browser/tree/tree-selection-impl.ts +176 -176
  417. package/src/browser/tree/tree-selection-state.spec.ts +462 -462
  418. package/src/browser/tree/tree-selection-state.ts +245 -245
  419. package/src/browser/tree/tree-selection.ts +159 -159
  420. package/src/browser/tree/tree-view-welcome-widget.tsx +263 -263
  421. package/src/browser/tree/tree-widget-selection.ts +45 -45
  422. package/src/browser/tree/tree-widget.tsx +1591 -1591
  423. package/src/browser/tree/tree.spec.ts +241 -241
  424. package/src/browser/tree/tree.ts +425 -425
  425. package/src/browser/undo-redo-handler.ts +85 -85
  426. package/src/browser/user-working-directory-provider.ts +77 -77
  427. package/src/browser/view-container.ts +1640 -1640
  428. package/src/browser/widget-decoration.ts +358 -358
  429. package/src/browser/widget-manager.spec.ts +102 -102
  430. package/src/browser/widget-manager.ts +318 -318
  431. package/src/browser/widget-open-handler.ts +168 -165
  432. package/src/browser/widgets/alert-message.tsx +56 -56
  433. package/src/browser/widgets/enhanced-preview-widget.ts +27 -27
  434. package/src/browser/widgets/extractable-widget.ts +33 -33
  435. package/src/browser/widgets/index.ts +21 -20
  436. package/src/browser/widgets/previewable-widget.ts +31 -31
  437. package/src/browser/widgets/react-renderer.tsx +53 -53
  438. package/src/browser/widgets/react-widget.tsx +51 -51
  439. package/src/browser/widgets/select-component.tsx +367 -367
  440. package/src/browser/widgets/split-widget.ts +163 -0
  441. package/src/browser/widgets/widget.ts +406 -406
  442. package/src/browser/window/browser-window-module.ts +32 -32
  443. package/src/browser/window/default-secondary-window-service.ts +189 -189
  444. package/src/browser/window/default-window-service.spec.ts +78 -78
  445. package/src/browser/window/default-window-service.ts +171 -171
  446. package/src/browser/window/secondary-window-service.ts +39 -39
  447. package/src/browser/window/test/mock-window-service.ts +29 -29
  448. package/src/browser/window/window-service.ts +78 -78
  449. package/src/browser/window/window-title-service.ts +107 -107
  450. package/src/browser/window/window-title-updater.ts +95 -95
  451. package/src/browser/window-contribution.ts +64 -64
  452. package/src/browser-only/frontend-only-application-module.ts +116 -116
  453. package/src/browser-only/i18n/i18n-frontend-only-module.ts +37 -37
  454. package/src/browser-only/logger-frontend-only-module.ts +63 -63
  455. package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +39 -39
  456. package/src/browser-only/messaging/messaging-frontend-only-module.ts +42 -42
  457. package/src/browser-only/preload/frontend-only-preload-module.ts +49 -49
  458. package/src/common/accessibility.ts +33 -33
  459. package/src/common/application-error.spec.ts +27 -27
  460. package/src/common/application-error.ts +76 -76
  461. package/src/common/application-protocol.ts +42 -42
  462. package/src/common/array-utils.ts +129 -129
  463. package/src/common/buffer.ts +228 -228
  464. package/src/common/cancellation.ts +163 -163
  465. package/src/common/char-code.ts +438 -438
  466. package/src/common/collections.ts +125 -125
  467. package/src/common/color.ts +103 -103
  468. package/src/common/command.spec.ts +208 -208
  469. package/src/common/command.ts +489 -489
  470. package/src/common/contribution-filter/contribution-filter-registry.ts +79 -79
  471. package/src/common/contribution-filter/contribution-filter.ts +64 -64
  472. package/src/common/contribution-filter/filter.ts +23 -23
  473. package/src/common/contribution-filter/index.ts +19 -19
  474. package/src/common/contribution-provider.ts +96 -96
  475. package/src/common/disposable.spec.ts +94 -94
  476. package/src/common/disposable.ts +188 -188
  477. package/src/common/encoding-service.ts +380 -380
  478. package/src/common/encodings.ts +24 -24
  479. package/src/common/env-variables/env-variables-protocol.ts +38 -38
  480. package/src/common/env-variables/index.ts +17 -17
  481. package/src/common/event.spec.ts +32 -32
  482. package/src/common/event.ts +493 -487
  483. package/src/common/file-uri.ts +61 -61
  484. package/src/common/frontend-application-state.ts +38 -38
  485. package/src/common/glob.ts +741 -741
  486. package/src/common/hash.ts +85 -85
  487. package/src/common/i18n/localization-server.ts +25 -25
  488. package/src/common/i18n/localization.ts +80 -80
  489. package/src/common/i18n/nls.metadata.json +34112 -34112
  490. package/src/common/index.ts +51 -51
  491. package/src/common/json-schema.ts +108 -106
  492. package/src/common/key-store.ts +26 -26
  493. package/src/common/keybinding.ts +152 -152
  494. package/src/common/keyboard/keyboard-layout-provider.ts +51 -51
  495. package/src/common/keys.ts +694 -694
  496. package/src/common/label-protocol.ts +35 -35
  497. package/src/common/logger-protocol.ts +119 -119
  498. package/src/common/logger-watcher.ts +48 -48
  499. package/src/common/logger.spec.ts +46 -46
  500. package/src/common/logger.ts +389 -389
  501. package/src/common/lsp-types.ts +34 -34
  502. package/src/common/markdown-rendering/icon-utilities.ts +30 -30
  503. package/src/common/markdown-rendering/index.ts +18 -18
  504. package/src/common/markdown-rendering/markdown-string.ts +152 -152
  505. package/src/common/menu/action-menu-node.ts +65 -65
  506. package/src/common/menu/composite-menu-node.spec.ts +67 -67
  507. package/src/common/menu/composite-menu-node.ts +114 -114
  508. package/src/common/menu/index.ts +21 -21
  509. package/src/common/menu/menu-adapter.ts +103 -103
  510. package/src/common/menu/menu-model-registry.ts +374 -374
  511. package/src/common/menu/menu-types.ts +220 -219
  512. package/src/common/menu/menu.spec.ts +101 -101
  513. package/src/common/message-rpc/channel.spec.ts +88 -88
  514. package/src/common/message-rpc/channel.ts +300 -300
  515. package/src/common/message-rpc/index.ts +22 -22
  516. package/src/common/message-rpc/message-buffer.ts +105 -105
  517. package/src/common/message-rpc/msg-pack-extension-manager.ts +70 -70
  518. package/src/common/message-rpc/rpc-message-encoder.spec.ts +65 -65
  519. package/src/common/message-rpc/rpc-message-encoder.ts +190 -190
  520. package/src/common/message-rpc/rpc-protocol.ts +255 -255
  521. package/src/common/message-rpc/uint8-array-message-buffer.spec.ts +41 -41
  522. package/src/common/message-rpc/uint8-array-message-buffer.ts +213 -213
  523. package/src/common/message-service-protocol.ts +148 -148
  524. package/src/common/message-service.ts +226 -226
  525. package/src/common/messaging/connection-error-handler.ts +73 -73
  526. package/src/common/messaging/connection-management.ts +43 -43
  527. package/src/common/messaging/handler.ts +26 -26
  528. package/src/common/messaging/index.ts +19 -19
  529. package/src/common/messaging/proxy-factory.spec.ts +108 -108
  530. package/src/common/messaging/proxy-factory.ts +336 -336
  531. package/src/common/messaging/socket-write-buffer.ts +52 -52
  532. package/src/common/messaging/web-socket-channel.ts +76 -76
  533. package/src/common/nls.ts +151 -151
  534. package/src/common/numbers.ts +21 -21
  535. package/src/common/objects.spec.ts +112 -112
  536. package/src/common/objects.ts +123 -123
  537. package/src/common/os.ts +82 -82
  538. package/src/common/path.spec.ts +415 -415
  539. package/src/common/path.ts +334 -334
  540. package/src/common/paths.ts +250 -250
  541. package/src/common/performance/index.ts +19 -19
  542. package/src/common/performance/measurement-protocol.ts +104 -104
  543. package/src/common/performance/measurement.ts +130 -130
  544. package/src/common/performance/stopwatch.ts +183 -183
  545. package/src/common/preferences/preference-schema.ts +101 -101
  546. package/src/common/preferences/preference-scope.spec.ts +48 -48
  547. package/src/common/preferences/preference-scope.ts +68 -68
  548. package/src/common/prioritizeable.ts +58 -58
  549. package/src/common/progress-service-protocol.ts +35 -35
  550. package/src/common/progress-service.ts +82 -82
  551. package/src/common/promise-util.spec.ts +102 -102
  552. package/src/common/promise-util.ts +143 -143
  553. package/src/common/quick-pick-service.ts +353 -353
  554. package/src/common/reference.spec.ts +145 -145
  555. package/src/common/reference.ts +230 -230
  556. package/src/common/resource.ts +430 -430
  557. package/src/common/selection-command-handler.ts +101 -101
  558. package/src/common/selection-service.spec.ts +43 -43
  559. package/src/common/selection-service.ts +49 -49
  560. package/src/common/selection.ts +50 -50
  561. package/src/common/severity.ts +111 -111
  562. package/src/common/stream.ts +718 -718
  563. package/src/common/strings.ts +231 -231
  564. package/src/common/telemetry.ts +45 -45
  565. package/src/common/ternary-search-tree.ts +417 -417
  566. package/src/common/test/expect.ts +34 -34
  567. package/src/common/test/mock-logger.ts +118 -118
  568. package/src/common/test/mock-menu.ts +35 -35
  569. package/src/common/test/mock-resource-provider.ts +33 -33
  570. package/src/common/theme.ts +68 -68
  571. package/src/common/types.spec.ts +86 -86
  572. package/src/common/types.ts +140 -140
  573. package/src/common/uri-command-handler.spec.ts +90 -90
  574. package/src/common/uri-command-handler.ts +148 -148
  575. package/src/common/uri.spec.ts +278 -278
  576. package/src/common/uri.ts +279 -279
  577. package/src/common/uuid.ts +45 -45
  578. package/src/common/version.ts +17 -17
  579. package/src/common/view-column.ts +33 -33
  580. package/src/common/window.ts +34 -34
  581. package/src/electron-browser/electron-clipboard-service.ts +32 -32
  582. package/src/electron-browser/electron-uri-handler.ts +42 -0
  583. package/src/electron-browser/keyboard/electron-keyboard-layout-change-notifier.ts +39 -39
  584. package/src/electron-browser/keyboard/electron-keyboard-module.ts +28 -28
  585. package/src/electron-browser/menu/electron-context-menu-renderer.ts +122 -122
  586. package/src/electron-browser/menu/electron-main-menu-factory.ts +339 -338
  587. package/src/electron-browser/menu/electron-menu-contribution.ts +506 -506
  588. package/src/electron-browser/menu/electron-menu-module.ts +40 -40
  589. package/src/electron-browser/menu/electron-menu-style.css +110 -110
  590. package/src/electron-browser/messaging/electron-frontend-id-provider.ts +25 -25
  591. package/src/electron-browser/messaging/electron-ipc-connection-source.ts +65 -65
  592. package/src/electron-browser/messaging/electron-local-ws-connection-source.ts +45 -45
  593. package/src/electron-browser/messaging/electron-messaging-frontend-module.ts +78 -78
  594. package/src/electron-browser/messaging/electron-ws-connection-source.ts +38 -38
  595. package/src/electron-browser/preload.ts +264 -249
  596. package/src/electron-browser/request/electron-browser-request-module.ts +26 -26
  597. package/src/electron-browser/token/electron-token-frontend-module.ts +22 -22
  598. package/src/electron-browser/window/electron-frontend-application-state.ts +26 -26
  599. package/src/electron-browser/window/electron-secondary-window-service.ts +35 -35
  600. package/src/electron-browser/window/electron-window-module.ts +48 -45
  601. package/src/electron-browser/window/electron-window-preferences.ts +76 -76
  602. package/src/electron-browser/window/electron-window-service.ts +109 -109
  603. package/src/electron-browser/window/external-app-open-handler.ts +42 -42
  604. package/src/electron-common/electron-api.ts +157 -154
  605. package/src/electron-common/electron-main-window-service.ts +24 -24
  606. package/src/electron-common/electron-token.ts +27 -27
  607. package/src/electron-main/electron-api-main.ts +373 -347
  608. package/src/electron-main/electron-main-application-module.ts +65 -65
  609. package/src/electron-main/electron-main-application.ts +860 -818
  610. package/src/electron-main/electron-main-constants.ts +23 -23
  611. package/src/electron-main/electron-main-window-service-impl.ts +44 -44
  612. package/src/electron-main/electron-security-token-service.ts +36 -36
  613. package/src/electron-main/event-utils.ts +36 -36
  614. package/src/electron-main/messaging/electron-connection-handler.ts +21 -21
  615. package/src/electron-main/messaging/electron-messaging-contribution.ts +143 -143
  616. package/src/electron-main/messaging/electron-messaging-service.ts +35 -35
  617. package/src/electron-main/theia-electron-window.ts +219 -214
  618. package/src/electron-node/cli/electron-backend-cli-module.ts +24 -24
  619. package/src/electron-node/cli/electron-cli-contribution.ts +35 -35
  620. package/src/electron-node/hosting/electron-backend-hosting-module.ts +24 -24
  621. package/src/electron-node/hosting/electron-ws-origin-validator.ts +37 -37
  622. package/src/electron-node/keyboard/electron-backend-keyboard-module.ts +30 -30
  623. package/src/electron-node/keyboard/electron-keyboard-layout-provider.ts +35 -35
  624. package/src/electron-node/request/electron-backend-request-module.ts +23 -23
  625. package/src/electron-node/request/electron-backend-request-service.ts +78 -78
  626. package/src/electron-node/token/electron-token-backend-contribution.ts +48 -48
  627. package/src/electron-node/token/electron-token-backend-module.ts +28 -28
  628. package/src/electron-node/token/electron-token-validator.ts +93 -93
  629. package/src/node/application-server.ts +59 -59
  630. package/src/node/backend-application-config-provider.spec.ts +29 -29
  631. package/src/node/backend-application-config-provider.ts +48 -48
  632. package/src/node/backend-application-module.ts +139 -139
  633. package/src/node/backend-application.ts +374 -374
  634. package/src/node/cli.spec.ts +94 -94
  635. package/src/node/cli.ts +63 -63
  636. package/src/node/console-logger-server.spec.ts +59 -59
  637. package/src/node/console-logger-server.ts +76 -76
  638. package/src/node/debug.ts +30 -30
  639. package/src/node/dynamic-require.ts +56 -56
  640. package/src/node/env-variables/env-variables-server.ts +123 -123
  641. package/src/node/env-variables/index.ts +17 -17
  642. package/src/node/environment-utils.spec.ts +92 -92
  643. package/src/node/environment-utils.ts +66 -66
  644. package/src/node/file-uri.spec.ts +76 -76
  645. package/src/node/filesystem-locking.ts +77 -77
  646. package/src/node/hosting/backend-application-hosts.ts +60 -60
  647. package/src/node/hosting/backend-hosting-module.ts +26 -26
  648. package/src/node/hosting/ws-origin-validator.ts +36 -36
  649. package/src/node/i18n/i18n-backend-module.ts +42 -42
  650. package/src/node/i18n/localization-contribution.ts +112 -112
  651. package/src/node/i18n/localization-provider.ts +125 -125
  652. package/src/node/i18n/localization-server.ts +52 -52
  653. package/src/node/i18n/theia-localization-contribution.ts +40 -36
  654. package/src/node/index.ts +22 -22
  655. package/src/node/key-store-server.ts +162 -162
  656. package/src/node/logger-backend-module.ts +88 -88
  657. package/src/node/logger-cli-contribution.spec.ts +245 -245
  658. package/src/node/logger-cli-contribution.ts +168 -168
  659. package/src/node/main.ts +33 -33
  660. package/src/node/messaging/binary-message-pipe.ts +168 -168
  661. package/src/node/messaging/connection-container-module.ts +96 -96
  662. package/src/node/messaging/default-messaging-service.ts +129 -129
  663. package/src/node/messaging/frontend-connection-service.ts +24 -24
  664. package/src/node/messaging/index.ts +19 -19
  665. package/src/node/messaging/ipc-bootstrap.ts +27 -27
  666. package/src/node/messaging/ipc-channel.ts +77 -77
  667. package/src/node/messaging/ipc-connection-provider.ts +107 -107
  668. package/src/node/messaging/ipc-protocol.ts +76 -76
  669. package/src/node/messaging/messaging-backend-module.ts +52 -52
  670. package/src/node/messaging/messaging-listeners.ts +52 -52
  671. package/src/node/messaging/messaging-service.ts +46 -46
  672. package/src/node/messaging/test/test-web-socket-channel.ts +61 -61
  673. package/src/node/messaging/websocket-endpoint.ts +79 -79
  674. package/src/node/messaging/websocket-frontend-connection-service.ts +186 -186
  675. package/src/node/os-backend-provider.ts +25 -25
  676. package/src/node/performance/index.ts +18 -18
  677. package/src/node/performance/measurement-backend-bindings.ts +35 -35
  678. package/src/node/performance/node-stopwatch.ts +40 -40
  679. package/src/node/process-utils.spec.ts +48 -48
  680. package/src/node/process-utils.ts +102 -102
  681. package/src/node/remote/backend-remote-service.ts +25 -25
  682. package/src/node/remote/remote-cli-contribution.ts +34 -34
  683. package/src/node/remote/remote-copy-contribution.ts +45 -45
  684. package/src/node/request/backend-request-facade.ts +39 -39
  685. package/src/node/request/backend-request-module.ts +25 -25
  686. package/src/node/request/proxy-cli-contribution.ts +65 -65
  687. package/src/node/ws-request-validators.ts +56 -56
  688. package/src/typings/native-keymap.d.ts +108 -108
  689. package/i18n/nls.pt-pt.json +0 -552
@@ -1,278 +1,278 @@
1
- // *****************************************************************************
2
- // Copyright (C) 2017 TypeFox and others.
3
- //
4
- // This program and the accompanying materials are made available under the
5
- // terms of the Eclipse Public License v. 2.0 which is available at
6
- // http://www.eclipse.org/legal/epl-2.0.
7
- //
8
- // This Source Code may also be made available under the following Secondary
9
- // Licenses when the conditions for such availability set forth in the Eclipse
10
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
- // with the GNU Classpath Exception which is available at
12
- // https://www.gnu.org/software/classpath/license.html.
13
- //
14
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
- // *****************************************************************************
16
-
17
- import * as chai from 'chai';
18
- import { Path } from './path';
19
- import URI from './uri';
20
-
21
- const expect = chai.expect;
22
-
23
- describe('uri', () => {
24
-
25
- describe('#getAllLocations', () => {
26
-
27
- it('of /foo/bar/file.txt', () => {
28
- expect(new URI('/foo/bar/file.txt').allLocations.map(x => x.toString()))
29
- .deep.equals([
30
- new URI('/foo/bar/file.txt').toString(),
31
- new URI('/foo/bar').toString(),
32
- new URI('/foo').toString(),
33
- new URI('/').toString()
34
- ]);
35
- });
36
-
37
- it('of foo', () => {
38
- expect(new URI('foo').allLocations.map(x => x.toString()))
39
- .deep.equals([
40
- new URI('foo').toString(),
41
- new URI('/').toString()
42
- ]);
43
- });
44
-
45
- it('of foo:bar.txt', () => {
46
- expect(new URI().withScheme('foo').withPath('bar.txt').allLocations.map(x => x.toString()))
47
- .deep.equals([
48
- 'foo:bar.txt'
49
- ]);
50
- });
51
-
52
- it('of foo:bar/foobar.txt', () => {
53
- expect(new URI().withScheme('foo').withPath('bar/foobar.txt').allLocations.map(x => x.toString()))
54
- .deep.equals([
55
- new URI().withScheme('foo').withPath('bar/foobar.txt').toString(),
56
- new URI().withScheme('foo').withPath('bar').toString()
57
- ]);
58
- });
59
- });
60
-
61
- describe('#getParent', () => {
62
-
63
- it('of file:///foo/bar.txt', () => {
64
- expect(new URI('file:///foo/bar.txt').parent.toString()).equals('file:///foo');
65
- });
66
-
67
- it('of file:///foo/', () => {
68
- expect(new URI('file:///foo/').parent.toString()).equals('file:///foo');
69
- });
70
-
71
- it('of file:///foo', () => {
72
- expect(new URI('file:///foo').parent.toString()).equals('file:///');
73
- });
74
-
75
- it('of file:///', () => {
76
- expect(new URI('file:///').parent.toString()).equals('file:///');
77
- });
78
-
79
- it('of file://', () => {
80
- expect(new URI('file://').parent.toString()).equals('file:///');
81
- });
82
-
83
- });
84
-
85
- describe('#lastSegment', () => {
86
-
87
- it('of file:///foo/bar.txt', () => {
88
- expect(new URI('file:///foo/bar.txt').path.base).equals('bar.txt');
89
- });
90
-
91
- it('of file:///foo', () => {
92
- expect(new URI('file:///foo').path.base).equals('foo');
93
- });
94
-
95
- it('of file:///', () => {
96
- expect(new URI('file:///').path.base).equals('');
97
- });
98
-
99
- it('of file://', () => {
100
- expect(new URI('file://').path.base).equals('');
101
- });
102
-
103
- });
104
-
105
- describe('#appendPath', () => {
106
-
107
- it("'' to file:///foo", () => {
108
- const uri = new URI('file:///foo');
109
- expect(uri.resolve('').toString()).to.be.equal(uri.toString());
110
- });
111
-
112
- it('bar to file:///foo', () => {
113
- expect(new URI('file:///foo').resolve('bar').toString()).to.be.equal('file:///foo/bar');
114
- });
115
-
116
- it('bar/baz to file:///foo', () => {
117
- expect(new URI('file:///foo').resolve('bar/baz').toString()).to.be.equal('file:///foo/bar/baz');
118
- });
119
-
120
- it("'' to file:///", () => {
121
- const uri = new URI('file:///');
122
- expect(uri.resolve('').toString()).to.be.equal(uri.toString());
123
- });
124
-
125
- it('bar to file:///', () => {
126
- expect(new URI('file:///').resolve('bar').toString()).to.be.equal('file:///bar');
127
- });
128
-
129
- it('bar/baz to file:///', () => {
130
- expect(new URI('file:///').resolve('bar/baz').toString()).to.be.equal('file:///bar/baz');
131
- });
132
-
133
- });
134
-
135
- describe('#path', () => {
136
-
137
- it('Should return with the FS path from the URI.', () => {
138
- expect(new URI('file:///foo/bar/baz.txt').path.toString()).equals('/foo/bar/baz.txt');
139
- });
140
-
141
- it('Should not return the encoded path', () => {
142
- expect(new URI('file:///foo 3/bar 4/baz 4.txt').path.toString()).equals('/foo 3/bar 4/baz 4.txt');
143
- });
144
- });
145
-
146
- describe('#withFragment', () => {
147
-
148
- it('Should replace the fragment.', () => {
149
- expect(new URI('file:///foo/bar/baz.txt#345345').withFragment('foo').toString()).equals('file:///foo/bar/baz.txt#foo');
150
- expect(new URI('file:///foo/bar/baz.txt?foo=2#345345').withFragment('foo').toString(true)).equals('file:///foo/bar/baz.txt?foo=2#foo');
151
- });
152
-
153
- it('Should remove the fragment.', () => {
154
- expect(new URI('file:///foo/bar/baz.txt#345345').withFragment('').toString()).equals('file:///foo/bar/baz.txt');
155
- });
156
- });
157
-
158
- describe('#toString()', () => {
159
- it('should produce the non encoded string', () => {
160
- function check(uri: string): void {
161
- expect(new URI(uri).toString(true)).equals(uri);
162
- }
163
- check('file:///X?test=32');
164
- check('file:///X?test=32#345');
165
- check('file:///X test/ddd?test=32#345');
166
- });
167
- });
168
-
169
- describe('#Uri.with...()', () => {
170
- it('produce proper URIs', () => {
171
- const uri = new URI('').withScheme('file').withPath('/foo/bar.txt').withQuery('x=12').withFragment('baz');
172
- expect(uri.toString(true)).equals('file:///foo/bar.txt?x=12#baz');
173
-
174
- expect(uri.withScheme('http').toString(true)).equals('http:/foo/bar.txt?x=12#baz');
175
-
176
- expect(uri.withoutQuery().toString(true)).equals('file:///foo/bar.txt#baz');
177
-
178
- expect(uri.withoutFragment().toString(true)).equals(uri.withFragment('').toString(true));
179
-
180
- expect(uri.withPath('hubba-bubba').toString(true)).equals('file:///hubba-bubba?x=12#baz');
181
- });
182
- });
183
-
184
- describe('#relative()', () => {
185
- it('drive letters should be in lowercase', () => {
186
- const uri = new URI('file:///C:/projects/theia');
187
- const path = uri.relative(new URI(uri.resolve('node_modules/typescript/lib').toString()));
188
- expect(String(path)).equals('node_modules/typescript/lib');
189
- });
190
- });
191
-
192
- describe('#isEqualOrParent()', () => {
193
- it('should return `true` for `uris` which are equal', () => {
194
- const a = new URI('file:///C:/projects/theia/foo/a.ts');
195
- const b = new URI('file:///C:/projects/theia/foo/a.ts');
196
- expect(a.isEqualOrParent(b)).equals(true);
197
- });
198
- it('should return `false` for `uris` which are not equal', () => {
199
- const a = new URI('file:///C:/projects/theia/foo/a.ts');
200
- const b = new URI('file:///C:/projects/theia/foo/b.ts');
201
- expect(a.isEqualOrParent(b)).equals(false);
202
- });
203
-
204
- it('should return `false` for `uris` which are not the same scheme', () => {
205
- const a = new URI('a:///C:/projects/theia/foo/a.ts');
206
- const b = new URI('b:///C:/projects/theia/foo/a.ts');
207
- expect(a.isEqualOrParent(b)).equals(false);
208
- });
209
-
210
- it('should return `true` for `uris` that are not case-sensitive equal, with case-sensitivity `off`', () => {
211
- const a = new URI('file:///C:/projects/theia/foo/a.ts');
212
- const b = new URI('file:///C:/projects/theia/foo/A.ts');
213
- expect(a.isEqualOrParent(b, false)).equals(true);
214
- });
215
- it('should return `false` for `uris` that are not case-sensitive equal, with case-sensitivity `on`', () => {
216
- const a = new URI('file:///C:/projects/theia/foo/a.ts');
217
- const b = new URI('file:///C:/projects/theia/foo/A.ts');
218
- expect(a.isEqualOrParent(b, true)).equals(false);
219
- });
220
-
221
- it('should return `true` for parent paths', () => {
222
- const a = new URI('file:///C:/projects/'); // parent uri.
223
- const b = new URI('file:///C:/projects/theia/foo');
224
- expect(a.isEqualOrParent(b)).equals(true);
225
- });
226
- it('should return `false` for non-parent paths', () => {
227
- const a = new URI('file:///C:/projects/a/'); // non-parent uri.
228
- const b = new URI('file:///C:/projects/theia/foo');
229
- expect(a.isEqualOrParent(b)).equals(false);
230
- });
231
- });
232
-
233
- describe('#isEqual', () => {
234
- it('should return `true` for `uris` which are equal', () => {
235
- const a = new URI('file:///C:/projects/theia/foo/a.ts');
236
- const b = new URI('file:///C:/projects/theia/foo/a.ts');
237
- expect(a.isEqual(b)).equals(true);
238
- });
239
- it('should return `false` for `uris` which are not equal', () => {
240
- const a = new URI('file:///C:/projects/theia/foo/a.ts');
241
- const b = new URI('file:///C:/projects/theia/foo/b.ts');
242
- expect(a.isEqual(b)).equals(false);
243
- });
244
- it('should return `true` for `uris` that are not case-sensitive equal, with case-sensitivity `off`', () => {
245
- const a = new URI('file:///C:/projects/theia/foo/a.ts');
246
- const b = new URI('file:///C:/projects/theia/foo/A.ts');
247
- expect(a.isEqual(b, false)).equals(true);
248
- });
249
- it('should return `false` for `uris` that are not case-sensitive equal, with case-sensitivity `on`', () => {
250
- const a = new URI('file:///C:/projects/theia/foo/a.ts');
251
- const b = new URI('file:///C:/projects/theia/foo/A.ts');
252
- expect(a.isEqual(b, true)).equals(false);
253
- });
254
- it('should return `false` for parent paths', () => {
255
- const a = new URI('file:///C:/projects/'); // parent uri.
256
- const b = new URI('file:///C:/projects/theia/foo');
257
- expect(a.isEqual(b)).equals(false);
258
- });
259
- it('should return `false` for different schemes', () => {
260
- const a = new URI('a:///C:/projects/theia/foo/a.ts');
261
- const b = new URI('b:///C:/projects/theia/foo/a.ts');
262
- expect(a.isEqual(b)).equals(false);
263
- });
264
- });
265
-
266
- describe('#resolveToAbsolute', () => {
267
- function checkResolution(original: string, segments: Array<Path | string>, expected: string | undefined): void {
268
- it(`should resolve ${original.toString()} and ${segments.map(segment => segment.toString()).join(', ')} to ${expected}`, () => {
269
- const start = new URI(original);
270
- const result = start.resolveToAbsolute(...segments);
271
- expect(result?.toString()).equals(expected);
272
- });
273
- }
274
- checkResolution('file:///home/hello/', ['some-segment'], 'file:///home/hello/some-segment');
275
- checkResolution('file:///home/hello', ['/this/is-already/absolute'], 'file:///this/is-already/absolute');
276
- });
277
-
278
- });
1
+ // *****************************************************************************
2
+ // Copyright (C) 2017 TypeFox and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import * as chai from 'chai';
18
+ import { Path } from './path';
19
+ import URI from './uri';
20
+
21
+ const expect = chai.expect;
22
+
23
+ describe('uri', () => {
24
+
25
+ describe('#getAllLocations', () => {
26
+
27
+ it('of /foo/bar/file.txt', () => {
28
+ expect(new URI('/foo/bar/file.txt').allLocations.map(x => x.toString()))
29
+ .deep.equals([
30
+ new URI('/foo/bar/file.txt').toString(),
31
+ new URI('/foo/bar').toString(),
32
+ new URI('/foo').toString(),
33
+ new URI('/').toString()
34
+ ]);
35
+ });
36
+
37
+ it('of foo', () => {
38
+ expect(new URI('foo').allLocations.map(x => x.toString()))
39
+ .deep.equals([
40
+ new URI('foo').toString(),
41
+ new URI('/').toString()
42
+ ]);
43
+ });
44
+
45
+ it('of foo:bar.txt', () => {
46
+ expect(new URI().withScheme('foo').withPath('bar.txt').allLocations.map(x => x.toString()))
47
+ .deep.equals([
48
+ 'foo:bar.txt'
49
+ ]);
50
+ });
51
+
52
+ it('of foo:bar/foobar.txt', () => {
53
+ expect(new URI().withScheme('foo').withPath('bar/foobar.txt').allLocations.map(x => x.toString()))
54
+ .deep.equals([
55
+ new URI().withScheme('foo').withPath('bar/foobar.txt').toString(),
56
+ new URI().withScheme('foo').withPath('bar').toString()
57
+ ]);
58
+ });
59
+ });
60
+
61
+ describe('#getParent', () => {
62
+
63
+ it('of file:///foo/bar.txt', () => {
64
+ expect(new URI('file:///foo/bar.txt').parent.toString()).equals('file:///foo');
65
+ });
66
+
67
+ it('of file:///foo/', () => {
68
+ expect(new URI('file:///foo/').parent.toString()).equals('file:///foo');
69
+ });
70
+
71
+ it('of file:///foo', () => {
72
+ expect(new URI('file:///foo').parent.toString()).equals('file:///');
73
+ });
74
+
75
+ it('of file:///', () => {
76
+ expect(new URI('file:///').parent.toString()).equals('file:///');
77
+ });
78
+
79
+ it('of file://', () => {
80
+ expect(new URI('file://').parent.toString()).equals('file:///');
81
+ });
82
+
83
+ });
84
+
85
+ describe('#lastSegment', () => {
86
+
87
+ it('of file:///foo/bar.txt', () => {
88
+ expect(new URI('file:///foo/bar.txt').path.base).equals('bar.txt');
89
+ });
90
+
91
+ it('of file:///foo', () => {
92
+ expect(new URI('file:///foo').path.base).equals('foo');
93
+ });
94
+
95
+ it('of file:///', () => {
96
+ expect(new URI('file:///').path.base).equals('');
97
+ });
98
+
99
+ it('of file://', () => {
100
+ expect(new URI('file://').path.base).equals('');
101
+ });
102
+
103
+ });
104
+
105
+ describe('#appendPath', () => {
106
+
107
+ it("'' to file:///foo", () => {
108
+ const uri = new URI('file:///foo');
109
+ expect(uri.resolve('').toString()).to.be.equal(uri.toString());
110
+ });
111
+
112
+ it('bar to file:///foo', () => {
113
+ expect(new URI('file:///foo').resolve('bar').toString()).to.be.equal('file:///foo/bar');
114
+ });
115
+
116
+ it('bar/baz to file:///foo', () => {
117
+ expect(new URI('file:///foo').resolve('bar/baz').toString()).to.be.equal('file:///foo/bar/baz');
118
+ });
119
+
120
+ it("'' to file:///", () => {
121
+ const uri = new URI('file:///');
122
+ expect(uri.resolve('').toString()).to.be.equal(uri.toString());
123
+ });
124
+
125
+ it('bar to file:///', () => {
126
+ expect(new URI('file:///').resolve('bar').toString()).to.be.equal('file:///bar');
127
+ });
128
+
129
+ it('bar/baz to file:///', () => {
130
+ expect(new URI('file:///').resolve('bar/baz').toString()).to.be.equal('file:///bar/baz');
131
+ });
132
+
133
+ });
134
+
135
+ describe('#path', () => {
136
+
137
+ it('Should return with the FS path from the URI.', () => {
138
+ expect(new URI('file:///foo/bar/baz.txt').path.toString()).equals('/foo/bar/baz.txt');
139
+ });
140
+
141
+ it('Should not return the encoded path', () => {
142
+ expect(new URI('file:///foo 3/bar 4/baz 4.txt').path.toString()).equals('/foo 3/bar 4/baz 4.txt');
143
+ });
144
+ });
145
+
146
+ describe('#withFragment', () => {
147
+
148
+ it('Should replace the fragment.', () => {
149
+ expect(new URI('file:///foo/bar/baz.txt#345345').withFragment('foo').toString()).equals('file:///foo/bar/baz.txt#foo');
150
+ expect(new URI('file:///foo/bar/baz.txt?foo=2#345345').withFragment('foo').toString(true)).equals('file:///foo/bar/baz.txt?foo=2#foo');
151
+ });
152
+
153
+ it('Should remove the fragment.', () => {
154
+ expect(new URI('file:///foo/bar/baz.txt#345345').withFragment('').toString()).equals('file:///foo/bar/baz.txt');
155
+ });
156
+ });
157
+
158
+ describe('#toString()', () => {
159
+ it('should produce the non encoded string', () => {
160
+ function check(uri: string): void {
161
+ expect(new URI(uri).toString(true)).equals(uri);
162
+ }
163
+ check('file:///X?test=32');
164
+ check('file:///X?test=32#345');
165
+ check('file:///X test/ddd?test=32#345');
166
+ });
167
+ });
168
+
169
+ describe('#Uri.with...()', () => {
170
+ it('produce proper URIs', () => {
171
+ const uri = new URI('').withScheme('file').withPath('/foo/bar.txt').withQuery('x=12').withFragment('baz');
172
+ expect(uri.toString(true)).equals('file:///foo/bar.txt?x=12#baz');
173
+
174
+ expect(uri.withScheme('http').toString(true)).equals('http:/foo/bar.txt?x=12#baz');
175
+
176
+ expect(uri.withoutQuery().toString(true)).equals('file:///foo/bar.txt#baz');
177
+
178
+ expect(uri.withoutFragment().toString(true)).equals(uri.withFragment('').toString(true));
179
+
180
+ expect(uri.withPath('hubba-bubba').toString(true)).equals('file:///hubba-bubba?x=12#baz');
181
+ });
182
+ });
183
+
184
+ describe('#relative()', () => {
185
+ it('drive letters should be in lowercase', () => {
186
+ const uri = new URI('file:///C:/projects/theia');
187
+ const path = uri.relative(new URI(uri.resolve('node_modules/typescript/lib').toString()));
188
+ expect(String(path)).equals('node_modules/typescript/lib');
189
+ });
190
+ });
191
+
192
+ describe('#isEqualOrParent()', () => {
193
+ it('should return `true` for `uris` which are equal', () => {
194
+ const a = new URI('file:///C:/projects/theia/foo/a.ts');
195
+ const b = new URI('file:///C:/projects/theia/foo/a.ts');
196
+ expect(a.isEqualOrParent(b)).equals(true);
197
+ });
198
+ it('should return `false` for `uris` which are not equal', () => {
199
+ const a = new URI('file:///C:/projects/theia/foo/a.ts');
200
+ const b = new URI('file:///C:/projects/theia/foo/b.ts');
201
+ expect(a.isEqualOrParent(b)).equals(false);
202
+ });
203
+
204
+ it('should return `false` for `uris` which are not the same scheme', () => {
205
+ const a = new URI('a:///C:/projects/theia/foo/a.ts');
206
+ const b = new URI('b:///C:/projects/theia/foo/a.ts');
207
+ expect(a.isEqualOrParent(b)).equals(false);
208
+ });
209
+
210
+ it('should return `true` for `uris` that are not case-sensitive equal, with case-sensitivity `off`', () => {
211
+ const a = new URI('file:///C:/projects/theia/foo/a.ts');
212
+ const b = new URI('file:///C:/projects/theia/foo/A.ts');
213
+ expect(a.isEqualOrParent(b, false)).equals(true);
214
+ });
215
+ it('should return `false` for `uris` that are not case-sensitive equal, with case-sensitivity `on`', () => {
216
+ const a = new URI('file:///C:/projects/theia/foo/a.ts');
217
+ const b = new URI('file:///C:/projects/theia/foo/A.ts');
218
+ expect(a.isEqualOrParent(b, true)).equals(false);
219
+ });
220
+
221
+ it('should return `true` for parent paths', () => {
222
+ const a = new URI('file:///C:/projects/'); // parent uri.
223
+ const b = new URI('file:///C:/projects/theia/foo');
224
+ expect(a.isEqualOrParent(b)).equals(true);
225
+ });
226
+ it('should return `false` for non-parent paths', () => {
227
+ const a = new URI('file:///C:/projects/a/'); // non-parent uri.
228
+ const b = new URI('file:///C:/projects/theia/foo');
229
+ expect(a.isEqualOrParent(b)).equals(false);
230
+ });
231
+ });
232
+
233
+ describe('#isEqual', () => {
234
+ it('should return `true` for `uris` which are equal', () => {
235
+ const a = new URI('file:///C:/projects/theia/foo/a.ts');
236
+ const b = new URI('file:///C:/projects/theia/foo/a.ts');
237
+ expect(a.isEqual(b)).equals(true);
238
+ });
239
+ it('should return `false` for `uris` which are not equal', () => {
240
+ const a = new URI('file:///C:/projects/theia/foo/a.ts');
241
+ const b = new URI('file:///C:/projects/theia/foo/b.ts');
242
+ expect(a.isEqual(b)).equals(false);
243
+ });
244
+ it('should return `true` for `uris` that are not case-sensitive equal, with case-sensitivity `off`', () => {
245
+ const a = new URI('file:///C:/projects/theia/foo/a.ts');
246
+ const b = new URI('file:///C:/projects/theia/foo/A.ts');
247
+ expect(a.isEqual(b, false)).equals(true);
248
+ });
249
+ it('should return `false` for `uris` that are not case-sensitive equal, with case-sensitivity `on`', () => {
250
+ const a = new URI('file:///C:/projects/theia/foo/a.ts');
251
+ const b = new URI('file:///C:/projects/theia/foo/A.ts');
252
+ expect(a.isEqual(b, true)).equals(false);
253
+ });
254
+ it('should return `false` for parent paths', () => {
255
+ const a = new URI('file:///C:/projects/'); // parent uri.
256
+ const b = new URI('file:///C:/projects/theia/foo');
257
+ expect(a.isEqual(b)).equals(false);
258
+ });
259
+ it('should return `false` for different schemes', () => {
260
+ const a = new URI('a:///C:/projects/theia/foo/a.ts');
261
+ const b = new URI('b:///C:/projects/theia/foo/a.ts');
262
+ expect(a.isEqual(b)).equals(false);
263
+ });
264
+ });
265
+
266
+ describe('#resolveToAbsolute', () => {
267
+ function checkResolution(original: string, segments: Array<Path | string>, expected: string | undefined): void {
268
+ it(`should resolve ${original.toString()} and ${segments.map(segment => segment.toString()).join(', ')} to ${expected}`, () => {
269
+ const start = new URI(original);
270
+ const result = start.resolveToAbsolute(...segments);
271
+ expect(result?.toString()).equals(expected);
272
+ });
273
+ }
274
+ checkResolution('file:///home/hello/', ['some-segment'], 'file:///home/hello/some-segment');
275
+ checkResolution('file:///home/hello', ['/this/is-already/absolute'], 'file:///this/is-already/absolute');
276
+ });
277
+
278
+ });