@theia/core 1.53.0-next.55 → 1.53.0-next.64
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.
- package/README.md +6 -6
- package/i18n/nls.cs.json +582 -582
- package/i18n/nls.de.json +582 -582
- package/i18n/nls.es.json +582 -582
- package/i18n/nls.fr.json +582 -582
- package/i18n/nls.hu.json +582 -582
- package/i18n/nls.it.json +582 -582
- package/i18n/nls.ja.json +582 -582
- package/i18n/nls.json +582 -582
- package/i18n/nls.ko.json +582 -582
- package/i18n/nls.pl.json +582 -582
- package/i18n/nls.pt-br.json +582 -582
- package/i18n/nls.ru.json +582 -582
- package/i18n/nls.tr.json +582 -582
- package/i18n/nls.zh-cn.json +582 -582
- package/i18n/nls.zh-tw.json +582 -582
- package/lib/browser/catalog.json +54 -6
- package/lib/browser/common-frontend-contribution.js +3 -3
- package/lib/browser/common-styling-participants.js +166 -166
- package/lib/browser/progress-location-service.spec.js +7 -7
- package/lib/browser/storage-service.js +3 -3
- package/lib/browser/tree/tree.spec.js +75 -75
- package/lib/node/process-utils.spec.js +8 -8
- package/package.json +4 -4
- package/shared/ajv/index.d.ts +2 -2
- package/shared/markdown-it.d.ts +2 -2
- package/shared/markdown-it.js +1 -1
- package/shared/reflect-metadata/index.d.ts +1 -1
- package/shared/reflect-metadata/index.js +1 -1
- package/shared/vscode-languageserver-types/index.d.ts +1 -1
- package/src/browser/about-dialog.tsx +137 -137
- package/src/browser/authentication-service.ts +467 -467
- package/src/browser/breadcrumbs/breadcrumb-popup-container.ts +101 -101
- package/src/browser/breadcrumbs/breadcrumb-renderer.tsx +41 -41
- package/src/browser/breadcrumbs/breadcrumbs-constants.ts +79 -79
- package/src/browser/breadcrumbs/breadcrumbs-renderer.tsx +185 -185
- package/src/browser/breadcrumbs/breadcrumbs-service.ts +108 -108
- package/src/browser/breadcrumbs/index.ts +21 -21
- package/src/browser/browser-clipboard-service.ts +122 -122
- package/src/browser/browser.ts +239 -239
- package/src/browser/clipboard-service.ts +23 -23
- package/src/browser/color-application-contribution.ts +110 -110
- package/src/browser/color-registry.ts +60 -60
- package/src/browser/command-open-handler.ts +54 -54
- package/src/browser/common-frontend-contribution.ts +2680 -2680
- package/src/browser/common-styling-participants.ts +361 -361
- package/src/browser/connection-status-service.spec.ts +200 -200
- package/src/browser/connection-status-service.ts +216 -216
- package/src/browser/context-key-service.ts +142 -142
- package/src/browser/context-menu-renderer.ts +124 -124
- package/src/browser/core-preferences.ts +343 -343
- package/src/browser/credentials-service.ts +106 -106
- package/src/browser/decoration-style.ts +65 -65
- package/src/browser/decorations-service.ts +209 -209
- package/src/browser/dialogs/react-dialog.tsx +56 -56
- package/src/browser/dialogs.ts +534 -534
- package/src/browser/diff-uris.ts +117 -117
- package/src/browser/encoding-registry.ts +97 -97
- package/src/browser/endpoint.spec.ts +148 -148
- package/src/browser/endpoint.ts +136 -136
- package/src/browser/external-uri-service.ts +79 -79
- package/src/browser/file-icons-js.d.ts +20 -20
- package/src/browser/frontend-application-bindings.ts +62 -62
- package/src/browser/frontend-application-config-provider.spec.ts +45 -45
- package/src/browser/frontend-application-config-provider.ts +50 -50
- package/src/browser/frontend-application-contribution.ts +110 -110
- package/src/browser/frontend-application-module.ts +474 -474
- package/src/browser/frontend-application-state.ts +74 -74
- package/src/browser/frontend-application.ts +326 -326
- package/src/browser/hover-service.ts +218 -218
- package/src/browser/http-open-handler.ts +49 -49
- package/src/browser/i18n/i18n-frontend-module.ts +27 -27
- package/src/browser/i18n/language-quick-pick-service.ts +130 -130
- package/src/browser/icon-registry.ts +87 -87
- package/src/browser/icon-theme-contribution.ts +64 -64
- package/src/browser/icon-theme-service.ts +217 -217
- package/src/browser/icons/CollapseAll.svg +7 -7
- package/src/browser/icons/CollapseAll_inverse.svg +7 -7
- package/src/browser/icons/Refresh.svg +7 -7
- package/src/browser/icons/Refresh_inverse.svg +7 -7
- package/src/browser/icons/add-inverse.svg +4 -4
- package/src/browser/icons/add.svg +4 -4
- package/src/browser/icons/arrow-down-bright.svg +6 -6
- package/src/browser/icons/arrow-down-dark.svg +6 -6
- package/src/browser/icons/arrow-up-bright.svg +6 -6
- package/src/browser/icons/arrow-up-dark.svg +6 -6
- package/src/browser/icons/case-sensitive-dark.svg +16 -16
- package/src/browser/icons/case-sensitive.svg +16 -16
- package/src/browser/icons/chevron-right-dark.svg +5 -5
- package/src/browser/icons/chevron-right-light.svg +6 -6
- package/src/browser/icons/circle-bright.svg +7 -7
- package/src/browser/icons/circle-dark.svg +7 -7
- package/src/browser/icons/clear-search-results-dark.svg +7 -7
- package/src/browser/icons/clear-search-results.svg +7 -7
- package/src/browser/icons/close-all-bright.svg +7 -7
- package/src/browser/icons/close-all-dark.svg +7 -7
- package/src/browser/icons/close-bright.svg +7 -7
- package/src/browser/icons/close-dark.svg +7 -7
- package/src/browser/icons/collapse.svg +4 -4
- package/src/browser/icons/edit-json-dark.svg +6 -6
- package/src/browser/icons/edit-json.svg +6 -6
- package/src/browser/icons/expand.svg +4 -4
- package/src/browser/icons/loading-dark.svg +6 -6
- package/src/browser/icons/loading-light.svg +6 -6
- package/src/browser/icons/open-change-bright.svg +3 -3
- package/src/browser/icons/open-change-dark.svg +4 -4
- package/src/browser/icons/open-file-bright.svg +4 -4
- package/src/browser/icons/open-file-dark.svg +4 -4
- package/src/browser/icons/preview-bright.svg +3 -3
- package/src/browser/icons/preview-dark.svg +3 -3
- package/src/browser/icons/regex-dark.svg +10 -10
- package/src/browser/icons/regex.svg +10 -10
- package/src/browser/icons/remove-all-inverse.svg +4 -4
- package/src/browser/icons/remove-all.svg +4 -4
- package/src/browser/icons/replace-all-inverse.svg +13 -13
- package/src/browser/icons/replace-all.svg +13 -13
- package/src/browser/icons/replace-inverse.svg +15 -15
- package/src/browser/icons/replace.svg +15 -15
- package/src/browser/icons/whole-word-dark.svg +19 -19
- package/src/browser/icons/whole-word.svg +19 -19
- package/src/browser/index.ts +50 -50
- package/src/browser/json-schema-store.ts +118 -118
- package/src/browser/keybinding.spec.ts +554 -554
- package/src/browser/keybinding.ts +759 -759
- package/src/browser/keyboard/browser-keyboard-frontend-contribution.ts +108 -108
- package/src/browser/keyboard/browser-keyboard-layout-provider.spec.ts +171 -171
- package/src/browser/keyboard/browser-keyboard-layout-provider.ts +469 -469
- package/src/browser/keyboard/browser-keyboard-module.ts +30 -30
- package/src/browser/keyboard/index.ts +20 -20
- package/src/browser/keyboard/keyboard-layout-service.spec.ts +121 -121
- package/src/browser/keyboard/keyboard-layout-service.ts +455 -455
- package/src/browser/keyboard/keys.spec.ts +258 -258
- package/src/browser/keyboard/keys.ts +20 -20
- package/src/browser/keys.ts +21 -21
- package/src/browser/label-parser.spec.ts +165 -165
- package/src/browser/label-parser.ts +108 -108
- package/src/browser/label-provider.spec.ts +62 -62
- package/src/browser/label-provider.ts +385 -385
- package/src/browser/language-icon-provider.ts +55 -55
- package/src/browser/language-service.ts +77 -77
- package/src/browser/logger-frontend-module.ts +65 -65
- package/src/browser/markdown-rendering/markdown-renderer.ts +98 -98
- package/src/browser/menu/browser-context-menu-renderer.ts +48 -48
- package/src/browser/menu/browser-menu-module.ts +28 -28
- package/src/browser/menu/browser-menu-plugin.ts +491 -491
- package/src/browser/menu/context-menu-context.ts +41 -41
- package/src/browser/messaging/connection-source.ts +26 -26
- package/src/browser/messaging/frontend-id-provider.ts +37 -37
- package/src/browser/messaging/index.ts +18 -18
- package/src/browser/messaging/messaging-frontend-module.ts +41 -41
- package/src/browser/messaging/service-connection-provider.ts +140 -140
- package/src/browser/messaging/ws-connection-provider.ts +49 -49
- package/src/browser/messaging/ws-connection-source.ts +230 -230
- package/src/browser/mime-service.ts +30 -30
- package/src/browser/navigatable-types.ts +81 -81
- package/src/browser/navigatable.ts +39 -39
- package/src/browser/open-with-service.ts +140 -140
- package/src/browser/opener-service.spec.ts +49 -49
- package/src/browser/opener-service.ts +169 -169
- package/src/browser/performance/frontend-stopwatch.ts +65 -65
- package/src/browser/performance/index.ts +18 -18
- package/src/browser/performance/measurement-frontend-bindings.ts +31 -31
- package/src/browser/preferences/index.ts +23 -23
- package/src/browser/preferences/injectable-preference-proxy.ts +283 -283
- package/src/browser/preferences/preference-configurations.ts +82 -82
- package/src/browser/preferences/preference-contribution.ts +436 -436
- package/src/browser/preferences/preference-language-override-service.ts +111 -111
- package/src/browser/preferences/preference-provider.spec.ts +36 -36
- package/src/browser/preferences/preference-provider.ts +277 -277
- package/src/browser/preferences/preference-proxy.spec.ts +367 -367
- package/src/browser/preferences/preference-proxy.ts +367 -367
- package/src/browser/preferences/preference-schema-provider.spec.ts +130 -130
- package/src/browser/preferences/preference-scope.ts +18 -18
- package/src/browser/preferences/preference-service.spec.ts +613 -613
- package/src/browser/preferences/preference-service.ts +594 -594
- package/src/browser/preferences/preference-validation-service.spec.ts +334 -334
- package/src/browser/preferences/preference-validation-service.ts +358 -358
- package/src/browser/preferences/test/index.ts +19 -19
- package/src/browser/preferences/test/mock-preference-provider.ts +50 -50
- package/src/browser/preferences/test/mock-preference-proxy.ts +48 -48
- package/src/browser/preferences/test/mock-preference-service.ts +63 -63
- package/src/browser/preload/i18n-preload-contribution.ts +50 -50
- package/src/browser/preload/os-preload-contribution.ts +37 -37
- package/src/browser/preload/preload-module.ts +45 -45
- package/src/browser/preload/preloader.ts +37 -37
- package/src/browser/preload/theme-preload-contribution.ts +31 -31
- package/src/browser/progress-bar-factory.ts +29 -29
- package/src/browser/progress-bar.ts +76 -76
- package/src/browser/progress-client.ts +53 -53
- package/src/browser/progress-location-service.spec.ts +50 -50
- package/src/browser/progress-location-service.ts +96 -96
- package/src/browser/progress-status-bar-item.ts +83 -83
- package/src/browser/quick-input/index.ts +23 -23
- package/src/browser/quick-input/quick-access.ts +75 -75
- package/src/browser/quick-input/quick-command-frontend-contribution.ts +89 -89
- package/src/browser/quick-input/quick-command-service.ts +246 -246
- package/src/browser/quick-input/quick-help-service.ts +87 -87
- package/src/browser/quick-input/quick-input-frontend-contribution.ts +33 -33
- package/src/browser/quick-input/quick-input-service.spec.ts +176 -176
- package/src/browser/quick-input/quick-input-service.ts +17 -17
- package/src/browser/quick-input/quick-pick-service-impl.ts +69 -69
- package/src/browser/quick-input/quick-view-service.ts +83 -83
- package/src/browser/request/browser-request-module.ts +23 -23
- package/src/browser/request/browser-request-service.ts +172 -172
- package/src/browser/resource-context-key.ts +77 -77
- package/src/browser/saveable-service.ts +332 -332
- package/src/browser/saveable.ts +395 -395
- package/src/browser/secondary-window-handler.ts +211 -211
- package/src/browser/shell/additional-views-menu-widget.tsx +71 -71
- package/src/browser/shell/application-shell-mouse-tracker.ts +103 -103
- package/src/browser/shell/application-shell.ts +2271 -2271
- package/src/browser/shell/current-widget-command-adapter.ts +57 -57
- package/src/browser/shell/index.ts +23 -23
- package/src/browser/shell/shell-layout-restorer.ts +399 -399
- package/src/browser/shell/side-panel-handler.ts +794 -794
- package/src/browser/shell/side-panel-toolbar.ts +111 -111
- package/src/browser/shell/sidebar-bottom-menu-widget.tsx +39 -39
- package/src/browser/shell/sidebar-menu-widget.tsx +183 -183
- package/src/browser/shell/sidebar-top-menu-widget.tsx +26 -26
- package/src/browser/shell/split-panels.ts +191 -191
- package/src/browser/shell/tab-bar-decorator.ts +106 -106
- package/src/browser/shell/tab-bar-toolbar/index.ts +19 -19
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.ts +31 -31
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.ts +242 -242
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts +149 -149
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.spec.ts +62 -62
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +443 -443
- package/src/browser/shell/tab-bars.spec.ts +63 -63
- package/src/browser/shell/tab-bars.ts +1468 -1468
- package/src/browser/shell/theia-dock-panel.ts +265 -265
- package/src/browser/shell/view-column-service.ts +125 -125
- package/src/browser/shell/view-contribution.ts +178 -178
- package/src/browser/source-tree/index.ts +19 -19
- package/src/browser/source-tree/source-tree-widget.tsx +107 -107
- package/src/browser/source-tree/source-tree.ts +146 -146
- package/src/browser/source-tree/tree-source.ts +73 -73
- package/src/browser/status-bar/index.ts +29 -29
- package/src/browser/status-bar/status-bar-types.ts +97 -97
- package/src/browser/status-bar/status-bar-view-model.ts +209 -209
- package/src/browser/status-bar/status-bar.tsx +189 -189
- package/src/browser/storage-service.spec.ts +76 -76
- package/src/browser/storage-service.ts +129 -129
- package/src/browser/style/about.css +36 -36
- package/src/browser/style/alert-messages.css +62 -62
- package/src/browser/style/ansi.css +88 -88
- package/src/browser/style/breadcrumbs.css +130 -130
- package/src/browser/style/dialog.css +126 -126
- package/src/browser/style/dockpanel.css +76 -76
- package/src/browser/style/hover-service.css +101 -101
- package/src/browser/style/icons.css +61 -61
- package/src/browser/style/index.css +353 -353
- package/src/browser/style/materialcolors.css +278 -278
- package/src/browser/style/menus.css +230 -230
- package/src/browser/style/notification.css +39 -39
- package/src/browser/style/os.css +87 -87
- package/src/browser/style/progress-bar.css +43 -43
- package/src/browser/style/quick-title-bar.css +45 -45
- package/src/browser/style/scrollbars.css +172 -172
- package/src/browser/style/search-box.css +123 -123
- package/src/browser/style/select-component.css +107 -107
- package/src/browser/style/sidepanel.css +367 -367
- package/src/browser/style/split-widget.css +38 -38
- package/src/browser/style/status-bar.css +127 -127
- package/src/browser/style/tabs.css +647 -647
- package/src/browser/style/tooltip.css +28 -28
- package/src/browser/style/tree-decorators.css +81 -81
- package/src/browser/style/tree.css +232 -232
- package/src/browser/style/view-container.css +187 -187
- package/src/browser/style/widget.css +19 -19
- package/src/browser/styling-service.ts +96 -96
- package/src/browser/supported-encodings.ts +262 -262
- package/src/browser/test/jsdom.ts +69 -69
- package/src/browser/test/mock-connection-status-service.ts +33 -33
- package/src/browser/test/mock-env-variables-server.ts +47 -47
- package/src/browser/test/mock-opener-service.ts +34 -34
- package/src/browser/test/mock-storage-service.ts +49 -49
- package/src/browser/theming.ts +206 -206
- package/src/browser/tooltip-service.tsx +96 -96
- package/src/browser/tree/fuzzy-search.spec.ts +99 -99
- package/src/browser/tree/fuzzy-search.ts +136 -136
- package/src/browser/tree/index.ts +29 -29
- package/src/browser/tree/search-box-debounce.ts +96 -96
- package/src/browser/tree/search-box.ts +355 -355
- package/src/browser/tree/test/mock-selectable-tree-model.ts +109 -109
- package/src/browser/tree/test/mock-tree-model.ts +136 -136
- package/src/browser/tree/test/tree-test-container.ts +50 -50
- package/src/browser/tree/tree-compression/compressed-tree-expansion-service.ts +46 -46
- package/src/browser/tree/tree-compression/compressed-tree-model.ts +88 -88
- package/src/browser/tree/tree-compression/compressed-tree-widget.tsx +203 -203
- package/src/browser/tree/tree-compression/index.ts +20 -20
- package/src/browser/tree/tree-compression/tree-compression-service.ts +125 -125
- package/src/browser/tree/tree-compression/tree-compression.css +28 -28
- package/src/browser/tree/tree-consistency.spec.ts +105 -105
- package/src/browser/tree/tree-container.spec.ts +45 -45
- package/src/browser/tree/tree-container.ts +155 -155
- package/src/browser/tree/tree-decorator.spec.ts +162 -162
- package/src/browser/tree/tree-decorator.ts +238 -238
- package/src/browser/tree/tree-expansion.spec.ts +173 -173
- package/src/browser/tree/tree-expansion.ts +165 -165
- package/src/browser/tree/tree-focus-service.ts +55 -55
- package/src/browser/tree/tree-iterator.spec.ts +170 -170
- package/src/browser/tree/tree-iterator.ts +256 -256
- package/src/browser/tree/tree-label-provider.ts +40 -40
- package/src/browser/tree/tree-model.ts +562 -562
- package/src/browser/tree/tree-navigation.ts +58 -58
- package/src/browser/tree/tree-preference.ts +50 -50
- package/src/browser/tree/tree-search.ts +128 -128
- package/src/browser/tree/tree-selectable.spec.ts +152 -152
- package/src/browser/tree/tree-selection-impl.ts +176 -176
- package/src/browser/tree/tree-selection-state.spec.ts +462 -462
- package/src/browser/tree/tree-selection-state.ts +245 -245
- package/src/browser/tree/tree-selection.ts +159 -159
- package/src/browser/tree/tree-view-welcome-widget.tsx +263 -263
- package/src/browser/tree/tree-widget-selection.ts +45 -45
- package/src/browser/tree/tree-widget.tsx +1591 -1591
- package/src/browser/tree/tree.spec.ts +241 -241
- package/src/browser/tree/tree.ts +425 -425
- package/src/browser/undo-redo-handler.ts +85 -85
- package/src/browser/user-working-directory-provider.ts +77 -77
- package/src/browser/view-container.ts +1640 -1640
- package/src/browser/widget-decoration.ts +358 -358
- package/src/browser/widget-manager.spec.ts +102 -102
- package/src/browser/widget-manager.ts +318 -318
- package/src/browser/widget-open-handler.ts +168 -168
- package/src/browser/widgets/alert-message.tsx +56 -56
- package/src/browser/widgets/enhanced-preview-widget.ts +27 -27
- package/src/browser/widgets/extractable-widget.ts +33 -33
- package/src/browser/widgets/index.ts +21 -21
- package/src/browser/widgets/previewable-widget.ts +31 -31
- package/src/browser/widgets/react-renderer.tsx +53 -53
- package/src/browser/widgets/react-widget.tsx +51 -51
- package/src/browser/widgets/select-component.tsx +367 -367
- package/src/browser/widgets/split-widget.ts +163 -163
- package/src/browser/widgets/widget.ts +406 -406
- package/src/browser/window/browser-window-module.ts +32 -32
- package/src/browser/window/default-secondary-window-service.ts +189 -189
- package/src/browser/window/default-window-service.spec.ts +78 -78
- package/src/browser/window/default-window-service.ts +171 -171
- package/src/browser/window/secondary-window-service.ts +39 -39
- package/src/browser/window/test/mock-window-service.ts +29 -29
- package/src/browser/window/window-service.ts +78 -78
- package/src/browser/window/window-title-service.ts +107 -107
- package/src/browser/window/window-title-updater.ts +95 -95
- package/src/browser/window-contribution.ts +64 -64
- package/src/browser-only/frontend-only-application-module.ts +116 -116
- package/src/browser-only/i18n/i18n-frontend-only-module.ts +37 -37
- package/src/browser-only/logger-frontend-only-module.ts +63 -63
- package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +39 -39
- package/src/browser-only/messaging/messaging-frontend-only-module.ts +42 -42
- package/src/browser-only/preload/frontend-only-preload-module.ts +49 -49
- package/src/common/accessibility.ts +33 -33
- package/src/common/application-error.spec.ts +27 -27
- package/src/common/application-error.ts +76 -76
- package/src/common/application-protocol.ts +42 -42
- package/src/common/array-utils.ts +129 -129
- package/src/common/buffer.ts +228 -228
- package/src/common/cancellation.ts +163 -163
- package/src/common/char-code.ts +438 -438
- package/src/common/collections.ts +125 -125
- package/src/common/color.ts +103 -103
- package/src/common/command.spec.ts +208 -208
- package/src/common/command.ts +489 -489
- package/src/common/contribution-filter/contribution-filter-registry.ts +79 -79
- package/src/common/contribution-filter/contribution-filter.ts +64 -64
- package/src/common/contribution-filter/filter.ts +23 -23
- package/src/common/contribution-filter/index.ts +19 -19
- package/src/common/contribution-provider.ts +96 -96
- package/src/common/disposable.spec.ts +94 -94
- package/src/common/disposable.ts +188 -188
- package/src/common/encoding-service.ts +380 -380
- package/src/common/encodings.ts +24 -24
- package/src/common/env-variables/env-variables-protocol.ts +38 -38
- package/src/common/env-variables/index.ts +17 -17
- package/src/common/event.spec.ts +32 -32
- package/src/common/event.ts +493 -493
- package/src/common/file-uri.ts +61 -61
- package/src/common/frontend-application-state.ts +38 -38
- package/src/common/glob.ts +741 -741
- package/src/common/hash.ts +85 -85
- package/src/common/i18n/localization-server.ts +25 -25
- package/src/common/i18n/localization.ts +80 -80
- package/src/common/i18n/nls.metadata.json +34112 -34112
- package/src/common/index.ts +51 -51
- package/src/common/json-schema.ts +108 -108
- package/src/common/key-store.ts +26 -26
- package/src/common/keybinding.ts +152 -152
- package/src/common/keyboard/keyboard-layout-provider.ts +51 -51
- package/src/common/keys.ts +694 -694
- package/src/common/label-protocol.ts +35 -35
- package/src/common/logger-protocol.ts +119 -119
- package/src/common/logger-watcher.ts +48 -48
- package/src/common/logger.spec.ts +46 -46
- package/src/common/logger.ts +389 -389
- package/src/common/lsp-types.ts +34 -34
- package/src/common/markdown-rendering/icon-utilities.ts +30 -30
- package/src/common/markdown-rendering/index.ts +18 -18
- package/src/common/markdown-rendering/markdown-string.ts +152 -152
- package/src/common/menu/action-menu-node.ts +65 -65
- package/src/common/menu/composite-menu-node.spec.ts +67 -67
- package/src/common/menu/composite-menu-node.ts +114 -114
- package/src/common/menu/index.ts +21 -21
- package/src/common/menu/menu-adapter.ts +103 -103
- package/src/common/menu/menu-model-registry.ts +374 -374
- package/src/common/menu/menu-types.ts +220 -220
- package/src/common/menu/menu.spec.ts +101 -101
- package/src/common/message-rpc/channel.spec.ts +88 -88
- package/src/common/message-rpc/channel.ts +300 -300
- package/src/common/message-rpc/index.ts +22 -22
- package/src/common/message-rpc/message-buffer.ts +105 -105
- package/src/common/message-rpc/msg-pack-extension-manager.ts +70 -70
- package/src/common/message-rpc/rpc-message-encoder.spec.ts +65 -65
- package/src/common/message-rpc/rpc-message-encoder.ts +190 -190
- package/src/common/message-rpc/rpc-protocol.ts +255 -255
- package/src/common/message-rpc/uint8-array-message-buffer.spec.ts +41 -41
- package/src/common/message-rpc/uint8-array-message-buffer.ts +213 -213
- package/src/common/message-service-protocol.ts +148 -148
- package/src/common/message-service.ts +226 -226
- package/src/common/messaging/connection-error-handler.ts +73 -73
- package/src/common/messaging/connection-management.ts +43 -43
- package/src/common/messaging/handler.ts +26 -26
- package/src/common/messaging/index.ts +19 -19
- package/src/common/messaging/proxy-factory.spec.ts +108 -108
- package/src/common/messaging/proxy-factory.ts +336 -336
- package/src/common/messaging/socket-write-buffer.ts +52 -52
- package/src/common/messaging/web-socket-channel.ts +76 -76
- package/src/common/nls.ts +151 -151
- package/src/common/numbers.ts +21 -21
- package/src/common/objects.spec.ts +112 -112
- package/src/common/objects.ts +123 -123
- package/src/common/os.ts +82 -82
- package/src/common/path.spec.ts +415 -415
- package/src/common/path.ts +334 -334
- package/src/common/paths.ts +250 -250
- package/src/common/performance/index.ts +19 -19
- package/src/common/performance/measurement-protocol.ts +104 -104
- package/src/common/performance/measurement.ts +130 -130
- package/src/common/performance/stopwatch.ts +183 -183
- package/src/common/preferences/preference-schema.ts +101 -101
- package/src/common/preferences/preference-scope.spec.ts +48 -48
- package/src/common/preferences/preference-scope.ts +68 -68
- package/src/common/prioritizeable.ts +58 -58
- package/src/common/progress-service-protocol.ts +35 -35
- package/src/common/progress-service.ts +82 -82
- package/src/common/promise-util.spec.ts +102 -102
- package/src/common/promise-util.ts +143 -143
- package/src/common/quick-pick-service.ts +353 -353
- package/src/common/reference.spec.ts +145 -145
- package/src/common/reference.ts +230 -230
- package/src/common/resource.ts +430 -430
- package/src/common/selection-command-handler.ts +101 -101
- package/src/common/selection-service.spec.ts +43 -43
- package/src/common/selection-service.ts +49 -49
- package/src/common/selection.ts +50 -50
- package/src/common/severity.ts +111 -111
- package/src/common/stream.ts +718 -718
- package/src/common/strings.ts +231 -231
- package/src/common/telemetry.ts +45 -45
- package/src/common/ternary-search-tree.ts +417 -417
- package/src/common/test/expect.ts +34 -34
- package/src/common/test/mock-logger.ts +118 -118
- package/src/common/test/mock-menu.ts +35 -35
- package/src/common/test/mock-resource-provider.ts +33 -33
- package/src/common/theme.ts +68 -68
- package/src/common/types.spec.ts +86 -86
- package/src/common/types.ts +140 -140
- package/src/common/uri-command-handler.spec.ts +90 -90
- package/src/common/uri-command-handler.ts +148 -148
- package/src/common/uri.spec.ts +278 -278
- package/src/common/uri.ts +279 -279
- package/src/common/uuid.ts +45 -45
- package/src/common/version.ts +17 -17
- package/src/common/view-column.ts +33 -33
- package/src/common/window.ts +34 -34
- package/src/electron-browser/electron-clipboard-service.ts +32 -32
- package/src/electron-browser/electron-uri-handler.ts +42 -42
- package/src/electron-browser/keyboard/electron-keyboard-layout-change-notifier.ts +39 -39
- package/src/electron-browser/keyboard/electron-keyboard-module.ts +28 -28
- package/src/electron-browser/menu/electron-context-menu-renderer.ts +122 -122
- package/src/electron-browser/menu/electron-main-menu-factory.ts +339 -339
- package/src/electron-browser/menu/electron-menu-contribution.ts +506 -506
- package/src/electron-browser/menu/electron-menu-module.ts +40 -40
- package/src/electron-browser/menu/electron-menu-style.css +110 -110
- package/src/electron-browser/messaging/electron-frontend-id-provider.ts +25 -25
- package/src/electron-browser/messaging/electron-ipc-connection-source.ts +65 -65
- package/src/electron-browser/messaging/electron-local-ws-connection-source.ts +45 -45
- package/src/electron-browser/messaging/electron-messaging-frontend-module.ts +78 -78
- package/src/electron-browser/messaging/electron-ws-connection-source.ts +38 -38
- package/src/electron-browser/preload.ts +264 -264
- package/src/electron-browser/request/electron-browser-request-module.ts +26 -26
- package/src/electron-browser/token/electron-token-frontend-module.ts +22 -22
- package/src/electron-browser/window/electron-frontend-application-state.ts +26 -26
- package/src/electron-browser/window/electron-secondary-window-service.ts +35 -35
- package/src/electron-browser/window/electron-window-module.ts +48 -48
- package/src/electron-browser/window/electron-window-preferences.ts +76 -76
- package/src/electron-browser/window/electron-window-service.ts +109 -109
- package/src/electron-browser/window/external-app-open-handler.ts +42 -42
- package/src/electron-common/electron-api.ts +157 -157
- package/src/electron-common/electron-main-window-service.ts +24 -24
- package/src/electron-common/electron-token.ts +27 -27
- package/src/electron-main/electron-api-main.ts +373 -373
- package/src/electron-main/electron-main-application-module.ts +65 -65
- package/src/electron-main/electron-main-application.ts +860 -860
- package/src/electron-main/electron-main-constants.ts +23 -23
- package/src/electron-main/electron-main-window-service-impl.ts +44 -44
- package/src/electron-main/electron-security-token-service.ts +36 -36
- package/src/electron-main/event-utils.ts +36 -36
- package/src/electron-main/messaging/electron-connection-handler.ts +21 -21
- package/src/electron-main/messaging/electron-messaging-contribution.ts +143 -143
- package/src/electron-main/messaging/electron-messaging-service.ts +35 -35
- package/src/electron-main/theia-electron-window.ts +219 -219
- package/src/electron-node/cli/electron-backend-cli-module.ts +24 -24
- package/src/electron-node/cli/electron-cli-contribution.ts +35 -35
- package/src/electron-node/hosting/electron-backend-hosting-module.ts +24 -24
- package/src/electron-node/hosting/electron-ws-origin-validator.ts +37 -37
- package/src/electron-node/keyboard/electron-backend-keyboard-module.ts +30 -30
- package/src/electron-node/keyboard/electron-keyboard-layout-provider.ts +35 -35
- package/src/electron-node/request/electron-backend-request-module.ts +23 -23
- package/src/electron-node/request/electron-backend-request-service.ts +78 -78
- package/src/electron-node/token/electron-token-backend-contribution.ts +48 -48
- package/src/electron-node/token/electron-token-backend-module.ts +28 -28
- package/src/electron-node/token/electron-token-validator.ts +93 -93
- package/src/node/application-server.ts +59 -59
- package/src/node/backend-application-config-provider.spec.ts +29 -29
- package/src/node/backend-application-config-provider.ts +48 -48
- package/src/node/backend-application-module.ts +139 -139
- package/src/node/backend-application.ts +374 -374
- package/src/node/cli.spec.ts +94 -94
- package/src/node/cli.ts +63 -63
- package/src/node/console-logger-server.spec.ts +59 -59
- package/src/node/console-logger-server.ts +76 -76
- package/src/node/debug.ts +30 -30
- package/src/node/dynamic-require.ts +56 -56
- package/src/node/env-variables/env-variables-server.ts +123 -123
- package/src/node/env-variables/index.ts +17 -17
- package/src/node/environment-utils.spec.ts +92 -92
- package/src/node/environment-utils.ts +66 -66
- package/src/node/file-uri.spec.ts +76 -76
- package/src/node/filesystem-locking.ts +77 -77
- package/src/node/hosting/backend-application-hosts.ts +60 -60
- package/src/node/hosting/backend-hosting-module.ts +26 -26
- package/src/node/hosting/ws-origin-validator.ts +36 -36
- package/src/node/i18n/i18n-backend-module.ts +42 -42
- package/src/node/i18n/localization-contribution.ts +112 -112
- package/src/node/i18n/localization-provider.ts +125 -125
- package/src/node/i18n/localization-server.ts +52 -52
- package/src/node/i18n/theia-localization-contribution.ts +40 -40
- package/src/node/index.ts +22 -22
- package/src/node/key-store-server.ts +162 -162
- package/src/node/logger-backend-module.ts +88 -88
- package/src/node/logger-cli-contribution.spec.ts +245 -245
- package/src/node/logger-cli-contribution.ts +168 -168
- package/src/node/main.ts +33 -33
- package/src/node/messaging/binary-message-pipe.ts +168 -168
- package/src/node/messaging/connection-container-module.ts +96 -96
- package/src/node/messaging/default-messaging-service.ts +129 -129
- package/src/node/messaging/frontend-connection-service.ts +24 -24
- package/src/node/messaging/index.ts +19 -19
- package/src/node/messaging/ipc-bootstrap.ts +27 -27
- package/src/node/messaging/ipc-channel.ts +77 -77
- package/src/node/messaging/ipc-connection-provider.ts +107 -107
- package/src/node/messaging/ipc-protocol.ts +76 -76
- package/src/node/messaging/messaging-backend-module.ts +52 -52
- package/src/node/messaging/messaging-listeners.ts +52 -52
- package/src/node/messaging/messaging-service.ts +46 -46
- package/src/node/messaging/test/test-web-socket-channel.ts +61 -61
- package/src/node/messaging/websocket-endpoint.ts +79 -79
- package/src/node/messaging/websocket-frontend-connection-service.ts +186 -186
- package/src/node/os-backend-provider.ts +25 -25
- package/src/node/performance/index.ts +18 -18
- package/src/node/performance/measurement-backend-bindings.ts +35 -35
- package/src/node/performance/node-stopwatch.ts +40 -40
- package/src/node/process-utils.spec.ts +48 -48
- package/src/node/process-utils.ts +102 -102
- package/src/node/remote/backend-remote-service.ts +25 -25
- package/src/node/remote/remote-cli-contribution.ts +34 -34
- package/src/node/remote/remote-copy-contribution.ts +45 -45
- package/src/node/request/backend-request-facade.ts +39 -39
- package/src/node/request/backend-request-module.ts +25 -25
- package/src/node/request/proxy-cli-contribution.ts +65 -65
- package/src/node/ws-request-validators.ts +56 -56
- package/src/typings/native-keymap.d.ts +108 -108
package/src/common/uri.ts
CHANGED
|
@@ -1,279 +1,279 @@
|
|
|
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 { URI as Uri } from 'vscode-uri';
|
|
18
|
-
import { Path } from './path';
|
|
19
|
-
|
|
20
|
-
export class URI {
|
|
21
|
-
|
|
22
|
-
public static fromComponents(components: UriComponents): URI;
|
|
23
|
-
public static fromComponents(components: undefined): undefined;
|
|
24
|
-
public static fromComponents(components: UriComponents | undefined): URI | undefined {
|
|
25
|
-
return components ? new URI(Uri.revive(components)) : undefined;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
public static fromFilePath(path: string): URI {
|
|
29
|
-
return new URI(Uri.file(path));
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
private readonly codeUri: Uri;
|
|
33
|
-
private _path: Path | undefined;
|
|
34
|
-
|
|
35
|
-
constructor(uri: string | Uri = '') {
|
|
36
|
-
if (uri instanceof Uri) {
|
|
37
|
-
this.codeUri = uri;
|
|
38
|
-
} else {
|
|
39
|
-
this.codeUri = Uri.parse(uri);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* TODO move implementation to `DefaultUriLabelProviderContribution.getName`
|
|
45
|
-
*
|
|
46
|
-
* @deprecated use `LabelProvider.getName` instead
|
|
47
|
-
*/
|
|
48
|
-
get displayName(): string {
|
|
49
|
-
const base = this.path.base;
|
|
50
|
-
if (base) {
|
|
51
|
-
return base;
|
|
52
|
-
}
|
|
53
|
-
if (this.path.isRoot) {
|
|
54
|
-
return this.path.fsPath();
|
|
55
|
-
}
|
|
56
|
-
return '';
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Return all uri from the current to the top most.
|
|
61
|
-
*/
|
|
62
|
-
get allLocations(): URI[] {
|
|
63
|
-
const locations = [];
|
|
64
|
-
let location: URI = this;
|
|
65
|
-
while (!location.path.isRoot && location.path.hasDir) {
|
|
66
|
-
locations.push(location);
|
|
67
|
-
location = location.parent;
|
|
68
|
-
}
|
|
69
|
-
locations.push(location);
|
|
70
|
-
return locations;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
get parent(): URI {
|
|
74
|
-
if (this.path.isRoot) {
|
|
75
|
-
return this;
|
|
76
|
-
}
|
|
77
|
-
return this.withPath(this.path.dir);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
relative(uri: URI): Path | undefined {
|
|
81
|
-
if (this.authority !== uri.authority || this.scheme !== uri.scheme) {
|
|
82
|
-
return undefined;
|
|
83
|
-
}
|
|
84
|
-
return this.path.relative(uri.path);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
resolve(path: string | Path): URI {
|
|
88
|
-
return this.withPath(this.path.join(path.toString()));
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* @returns a new, absolute URI if one can be computed from the path segments passed in.
|
|
93
|
-
*/
|
|
94
|
-
resolveToAbsolute(...pathSegments: Array<string | Path>): URI | undefined {
|
|
95
|
-
const absolutePath = this.path.resolve(...pathSegments.map(path => path.toString()));
|
|
96
|
-
if (absolutePath) {
|
|
97
|
-
return this.withPath(absolutePath);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* return a new URI replacing the current with the given scheme
|
|
103
|
-
*/
|
|
104
|
-
withScheme(scheme: string): URI {
|
|
105
|
-
const newCodeUri = Uri.from({
|
|
106
|
-
...this.codeUri.toJSON(),
|
|
107
|
-
scheme
|
|
108
|
-
});
|
|
109
|
-
return new URI(newCodeUri);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* return a new URI replacing the current with the given authority
|
|
114
|
-
*/
|
|
115
|
-
withAuthority(authority: string): URI {
|
|
116
|
-
const newCodeUri = Uri.from({
|
|
117
|
-
...this.codeUri.toJSON(),
|
|
118
|
-
scheme: this.codeUri.scheme,
|
|
119
|
-
authority
|
|
120
|
-
});
|
|
121
|
-
return new URI(newCodeUri);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* return this URI without a authority
|
|
126
|
-
*/
|
|
127
|
-
withoutAuthority(): URI {
|
|
128
|
-
return this.withAuthority('');
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* return a new URI replacing the current with the given path
|
|
133
|
-
*/
|
|
134
|
-
withPath(path: string | Path): URI {
|
|
135
|
-
const newCodeUri = Uri.from({
|
|
136
|
-
...this.codeUri.toJSON(),
|
|
137
|
-
scheme: this.codeUri.scheme,
|
|
138
|
-
path: path.toString()
|
|
139
|
-
});
|
|
140
|
-
return new URI(newCodeUri);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* return this URI without a path
|
|
145
|
-
*/
|
|
146
|
-
withoutPath(): URI {
|
|
147
|
-
return this.withPath('');
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* return a new URI replacing the current with the given query
|
|
152
|
-
*/
|
|
153
|
-
withQuery(query: string): URI {
|
|
154
|
-
const newCodeUri = Uri.from({
|
|
155
|
-
...this.codeUri.toJSON(),
|
|
156
|
-
scheme: this.codeUri.scheme,
|
|
157
|
-
query
|
|
158
|
-
});
|
|
159
|
-
return new URI(newCodeUri);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* return this URI without a query
|
|
164
|
-
*/
|
|
165
|
-
withoutQuery(): URI {
|
|
166
|
-
return this.withQuery('');
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* return a new URI replacing the current with the given fragment
|
|
171
|
-
*/
|
|
172
|
-
withFragment(fragment: string): URI {
|
|
173
|
-
const newCodeUri = Uri.from({
|
|
174
|
-
...this.codeUri.toJSON(),
|
|
175
|
-
scheme: this.codeUri.scheme,
|
|
176
|
-
fragment
|
|
177
|
-
});
|
|
178
|
-
return new URI(newCodeUri);
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* return this URI without a fragment
|
|
183
|
-
*/
|
|
184
|
-
withoutFragment(): URI {
|
|
185
|
-
return this.withFragment('');
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* return a new URI replacing the current with its normalized path, resolving '..' and '.' segments
|
|
190
|
-
*/
|
|
191
|
-
normalizePath(): URI {
|
|
192
|
-
return this.withPath(this.path.normalize());
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
get scheme(): string {
|
|
196
|
-
return this.codeUri.scheme;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
get authority(): string {
|
|
200
|
-
return this.codeUri.authority;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
get path(): Path {
|
|
204
|
-
if (this._path === undefined) {
|
|
205
|
-
this._path = new Path(this.codeUri.path);
|
|
206
|
-
}
|
|
207
|
-
return this._path;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
get query(): string {
|
|
211
|
-
return this.codeUri.query;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
get fragment(): string {
|
|
215
|
-
return this.codeUri.fragment;
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
toString(skipEncoding?: boolean): string {
|
|
219
|
-
return this.codeUri.toString(skipEncoding);
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
isEqual(uri: URI, caseSensitive: boolean = true): boolean {
|
|
223
|
-
if (!this.hasSameOrigin(uri)) {
|
|
224
|
-
return false;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
return caseSensitive
|
|
228
|
-
? this.toString() === uri.toString()
|
|
229
|
-
: this.toString().toLowerCase() === uri.toString().toLowerCase();
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
isEqualOrParent(uri: URI, caseSensitive: boolean = true): boolean {
|
|
233
|
-
if (!this.hasSameOrigin(uri)) {
|
|
234
|
-
return false;
|
|
235
|
-
}
|
|
236
|
-
let left = this.path;
|
|
237
|
-
let right = uri.path;
|
|
238
|
-
if (!caseSensitive) {
|
|
239
|
-
left = new Path(left.toString().toLowerCase());
|
|
240
|
-
right = new Path(right.toString().toLowerCase());
|
|
241
|
-
}
|
|
242
|
-
return left.isEqualOrParent(right);
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
static getDistinctParents(uris: URI[]): URI[] {
|
|
246
|
-
const result: URI[] = [];
|
|
247
|
-
uris.forEach((uri, i) => {
|
|
248
|
-
if (!uris.some((otherUri, index) => index !== i && otherUri.isEqualOrParent(uri))) {
|
|
249
|
-
result.push(uri);
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
|
-
return result;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
private hasSameOrigin(uri: URI): boolean {
|
|
256
|
-
return (this.authority === uri.authority) && (this.scheme === uri.scheme);
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
toComponents(): UriComponents {
|
|
260
|
-
return {
|
|
261
|
-
scheme: this.scheme,
|
|
262
|
-
authority: this.authority,
|
|
263
|
-
path: this.path.toString(),
|
|
264
|
-
query: this.query,
|
|
265
|
-
fragment: this.fragment
|
|
266
|
-
};
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
export interface UriComponents {
|
|
271
|
-
scheme: string;
|
|
272
|
-
authority: string;
|
|
273
|
-
path: string;
|
|
274
|
-
query: string;
|
|
275
|
-
fragment: string;
|
|
276
|
-
external?: string;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
export default URI;
|
|
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 { URI as Uri } from 'vscode-uri';
|
|
18
|
+
import { Path } from './path';
|
|
19
|
+
|
|
20
|
+
export class URI {
|
|
21
|
+
|
|
22
|
+
public static fromComponents(components: UriComponents): URI;
|
|
23
|
+
public static fromComponents(components: undefined): undefined;
|
|
24
|
+
public static fromComponents(components: UriComponents | undefined): URI | undefined {
|
|
25
|
+
return components ? new URI(Uri.revive(components)) : undefined;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public static fromFilePath(path: string): URI {
|
|
29
|
+
return new URI(Uri.file(path));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
private readonly codeUri: Uri;
|
|
33
|
+
private _path: Path | undefined;
|
|
34
|
+
|
|
35
|
+
constructor(uri: string | Uri = '') {
|
|
36
|
+
if (uri instanceof Uri) {
|
|
37
|
+
this.codeUri = uri;
|
|
38
|
+
} else {
|
|
39
|
+
this.codeUri = Uri.parse(uri);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* TODO move implementation to `DefaultUriLabelProviderContribution.getName`
|
|
45
|
+
*
|
|
46
|
+
* @deprecated use `LabelProvider.getName` instead
|
|
47
|
+
*/
|
|
48
|
+
get displayName(): string {
|
|
49
|
+
const base = this.path.base;
|
|
50
|
+
if (base) {
|
|
51
|
+
return base;
|
|
52
|
+
}
|
|
53
|
+
if (this.path.isRoot) {
|
|
54
|
+
return this.path.fsPath();
|
|
55
|
+
}
|
|
56
|
+
return '';
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Return all uri from the current to the top most.
|
|
61
|
+
*/
|
|
62
|
+
get allLocations(): URI[] {
|
|
63
|
+
const locations = [];
|
|
64
|
+
let location: URI = this;
|
|
65
|
+
while (!location.path.isRoot && location.path.hasDir) {
|
|
66
|
+
locations.push(location);
|
|
67
|
+
location = location.parent;
|
|
68
|
+
}
|
|
69
|
+
locations.push(location);
|
|
70
|
+
return locations;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
get parent(): URI {
|
|
74
|
+
if (this.path.isRoot) {
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
return this.withPath(this.path.dir);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
relative(uri: URI): Path | undefined {
|
|
81
|
+
if (this.authority !== uri.authority || this.scheme !== uri.scheme) {
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
return this.path.relative(uri.path);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
resolve(path: string | Path): URI {
|
|
88
|
+
return this.withPath(this.path.join(path.toString()));
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* @returns a new, absolute URI if one can be computed from the path segments passed in.
|
|
93
|
+
*/
|
|
94
|
+
resolveToAbsolute(...pathSegments: Array<string | Path>): URI | undefined {
|
|
95
|
+
const absolutePath = this.path.resolve(...pathSegments.map(path => path.toString()));
|
|
96
|
+
if (absolutePath) {
|
|
97
|
+
return this.withPath(absolutePath);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* return a new URI replacing the current with the given scheme
|
|
103
|
+
*/
|
|
104
|
+
withScheme(scheme: string): URI {
|
|
105
|
+
const newCodeUri = Uri.from({
|
|
106
|
+
...this.codeUri.toJSON(),
|
|
107
|
+
scheme
|
|
108
|
+
});
|
|
109
|
+
return new URI(newCodeUri);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* return a new URI replacing the current with the given authority
|
|
114
|
+
*/
|
|
115
|
+
withAuthority(authority: string): URI {
|
|
116
|
+
const newCodeUri = Uri.from({
|
|
117
|
+
...this.codeUri.toJSON(),
|
|
118
|
+
scheme: this.codeUri.scheme,
|
|
119
|
+
authority
|
|
120
|
+
});
|
|
121
|
+
return new URI(newCodeUri);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* return this URI without a authority
|
|
126
|
+
*/
|
|
127
|
+
withoutAuthority(): URI {
|
|
128
|
+
return this.withAuthority('');
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* return a new URI replacing the current with the given path
|
|
133
|
+
*/
|
|
134
|
+
withPath(path: string | Path): URI {
|
|
135
|
+
const newCodeUri = Uri.from({
|
|
136
|
+
...this.codeUri.toJSON(),
|
|
137
|
+
scheme: this.codeUri.scheme,
|
|
138
|
+
path: path.toString()
|
|
139
|
+
});
|
|
140
|
+
return new URI(newCodeUri);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* return this URI without a path
|
|
145
|
+
*/
|
|
146
|
+
withoutPath(): URI {
|
|
147
|
+
return this.withPath('');
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* return a new URI replacing the current with the given query
|
|
152
|
+
*/
|
|
153
|
+
withQuery(query: string): URI {
|
|
154
|
+
const newCodeUri = Uri.from({
|
|
155
|
+
...this.codeUri.toJSON(),
|
|
156
|
+
scheme: this.codeUri.scheme,
|
|
157
|
+
query
|
|
158
|
+
});
|
|
159
|
+
return new URI(newCodeUri);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* return this URI without a query
|
|
164
|
+
*/
|
|
165
|
+
withoutQuery(): URI {
|
|
166
|
+
return this.withQuery('');
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* return a new URI replacing the current with the given fragment
|
|
171
|
+
*/
|
|
172
|
+
withFragment(fragment: string): URI {
|
|
173
|
+
const newCodeUri = Uri.from({
|
|
174
|
+
...this.codeUri.toJSON(),
|
|
175
|
+
scheme: this.codeUri.scheme,
|
|
176
|
+
fragment
|
|
177
|
+
});
|
|
178
|
+
return new URI(newCodeUri);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* return this URI without a fragment
|
|
183
|
+
*/
|
|
184
|
+
withoutFragment(): URI {
|
|
185
|
+
return this.withFragment('');
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* return a new URI replacing the current with its normalized path, resolving '..' and '.' segments
|
|
190
|
+
*/
|
|
191
|
+
normalizePath(): URI {
|
|
192
|
+
return this.withPath(this.path.normalize());
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
get scheme(): string {
|
|
196
|
+
return this.codeUri.scheme;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
get authority(): string {
|
|
200
|
+
return this.codeUri.authority;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
get path(): Path {
|
|
204
|
+
if (this._path === undefined) {
|
|
205
|
+
this._path = new Path(this.codeUri.path);
|
|
206
|
+
}
|
|
207
|
+
return this._path;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
get query(): string {
|
|
211
|
+
return this.codeUri.query;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
get fragment(): string {
|
|
215
|
+
return this.codeUri.fragment;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
toString(skipEncoding?: boolean): string {
|
|
219
|
+
return this.codeUri.toString(skipEncoding);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
isEqual(uri: URI, caseSensitive: boolean = true): boolean {
|
|
223
|
+
if (!this.hasSameOrigin(uri)) {
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
return caseSensitive
|
|
228
|
+
? this.toString() === uri.toString()
|
|
229
|
+
: this.toString().toLowerCase() === uri.toString().toLowerCase();
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
isEqualOrParent(uri: URI, caseSensitive: boolean = true): boolean {
|
|
233
|
+
if (!this.hasSameOrigin(uri)) {
|
|
234
|
+
return false;
|
|
235
|
+
}
|
|
236
|
+
let left = this.path;
|
|
237
|
+
let right = uri.path;
|
|
238
|
+
if (!caseSensitive) {
|
|
239
|
+
left = new Path(left.toString().toLowerCase());
|
|
240
|
+
right = new Path(right.toString().toLowerCase());
|
|
241
|
+
}
|
|
242
|
+
return left.isEqualOrParent(right);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
static getDistinctParents(uris: URI[]): URI[] {
|
|
246
|
+
const result: URI[] = [];
|
|
247
|
+
uris.forEach((uri, i) => {
|
|
248
|
+
if (!uris.some((otherUri, index) => index !== i && otherUri.isEqualOrParent(uri))) {
|
|
249
|
+
result.push(uri);
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
return result;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
private hasSameOrigin(uri: URI): boolean {
|
|
256
|
+
return (this.authority === uri.authority) && (this.scheme === uri.scheme);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
toComponents(): UriComponents {
|
|
260
|
+
return {
|
|
261
|
+
scheme: this.scheme,
|
|
262
|
+
authority: this.authority,
|
|
263
|
+
path: this.path.toString(),
|
|
264
|
+
query: this.query,
|
|
265
|
+
fragment: this.fragment
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export interface UriComponents {
|
|
271
|
+
scheme: string;
|
|
272
|
+
authority: string;
|
|
273
|
+
path: string;
|
|
274
|
+
query: string;
|
|
275
|
+
fragment: string;
|
|
276
|
+
external?: string;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
export default URI;
|
package/src/common/uuid.ts
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2023 Mathieu Bussieres 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
|
-
/*---------------------------------------------------------------------------------------------
|
|
18
|
-
* Copyright (c) Microsoft Corporation and others. All rights reserved.
|
|
19
|
-
* Licensed under the MIT License. See https://github.com/Microsoft/vscode/blob/master/LICENSE.txt for license information.
|
|
20
|
-
*--------------------------------------------------------------------------------------------*/
|
|
21
|
-
|
|
22
|
-
// based on https://github.com/microsoft/vscode/blob/1.72.2/src/vs/base/common/uuid.ts
|
|
23
|
-
|
|
24
|
-
import { v4, v5 } from 'uuid';
|
|
25
|
-
|
|
26
|
-
const _UUIDPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
27
|
-
|
|
28
|
-
export function isUUID(value: string): boolean {
|
|
29
|
-
return _UUIDPattern.test(value);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export function generateUuid(): string {
|
|
33
|
-
return v4();
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const NAMESPACE = '4c90ee4f-d952-44b1-83ca-f04121ab8e05';
|
|
37
|
-
/**
|
|
38
|
-
* This function will hash the given value using SHA1. The result will be a uuid.
|
|
39
|
-
* @param value the string to hash
|
|
40
|
-
* @returns a uuid
|
|
41
|
-
*/
|
|
42
|
-
export function hashValue(value: string): string {
|
|
43
|
-
// as opposed to v4, v5 is deterministic and uses SHA1 hashing
|
|
44
|
-
return v5(value, NAMESPACE);
|
|
45
|
-
}
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2023 Mathieu Bussieres 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
|
+
/*---------------------------------------------------------------------------------------------
|
|
18
|
+
* Copyright (c) Microsoft Corporation and others. All rights reserved.
|
|
19
|
+
* Licensed under the MIT License. See https://github.com/Microsoft/vscode/blob/master/LICENSE.txt for license information.
|
|
20
|
+
*--------------------------------------------------------------------------------------------*/
|
|
21
|
+
|
|
22
|
+
// based on https://github.com/microsoft/vscode/blob/1.72.2/src/vs/base/common/uuid.ts
|
|
23
|
+
|
|
24
|
+
import { v4, v5 } from 'uuid';
|
|
25
|
+
|
|
26
|
+
const _UUIDPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
27
|
+
|
|
28
|
+
export function isUUID(value: string): boolean {
|
|
29
|
+
return _UUIDPattern.test(value);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function generateUuid(): string {
|
|
33
|
+
return v4();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const NAMESPACE = '4c90ee4f-d952-44b1-83ca-f04121ab8e05';
|
|
37
|
+
/**
|
|
38
|
+
* This function will hash the given value using SHA1. The result will be a uuid.
|
|
39
|
+
* @param value the string to hash
|
|
40
|
+
* @returns a uuid
|
|
41
|
+
*/
|
|
42
|
+
export function hashValue(value: string): string {
|
|
43
|
+
// as opposed to v4, v5 is deterministic and uses SHA1 hashing
|
|
44
|
+
return v5(value, NAMESPACE);
|
|
45
|
+
}
|