@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.
- package/README.md +7 -7
- package/i18n/nls.cs.json +582 -552
- package/i18n/nls.de.json +582 -552
- package/i18n/nls.es.json +582 -552
- package/i18n/nls.fr.json +582 -552
- package/i18n/nls.hu.json +582 -552
- package/i18n/nls.it.json +582 -552
- package/i18n/nls.ja.json +582 -552
- package/i18n/nls.json +582 -552
- package/i18n/nls.ko.json +582 -0
- package/i18n/nls.pl.json +582 -552
- package/i18n/nls.pt-br.json +582 -552
- package/i18n/nls.ru.json +582 -552
- package/i18n/nls.tr.json +582 -0
- package/i18n/nls.zh-cn.json +582 -552
- package/i18n/nls.zh-tw.json +582 -0
- package/lib/browser/authentication-service.d.ts +15 -14
- package/lib/browser/authentication-service.d.ts.map +1 -1
- package/lib/browser/authentication-service.js +5 -5
- package/lib/browser/authentication-service.js.map +1 -1
- package/lib/browser/catalog.json +6889 -0
- package/lib/browser/common-frontend-contribution.js +3 -3
- package/lib/browser/common-styling-participants.js +166 -166
- package/lib/browser/context-key-service.d.ts +3 -2
- package/lib/browser/context-key-service.d.ts.map +1 -1
- package/lib/browser/context-key-service.js.map +1 -1
- package/lib/browser/core-preferences.d.ts.map +1 -1
- package/lib/browser/core-preferences.js +9 -0
- package/lib/browser/core-preferences.js.map +1 -1
- package/lib/browser/frontend-application-module.d.ts.map +1 -1
- package/lib/browser/frontend-application-module.js.map +1 -1
- package/lib/browser/json-schema-store.d.ts +0 -3
- package/lib/browser/json-schema-store.d.ts.map +1 -1
- package/lib/browser/json-schema-store.js +2 -12
- package/lib/browser/json-schema-store.js.map +1 -1
- package/lib/browser/open-with-service.d.ts +13 -1
- package/lib/browser/open-with-service.d.ts.map +1 -1
- package/lib/browser/open-with-service.js +48 -9
- package/lib/browser/open-with-service.js.map +1 -1
- package/lib/browser/opener-service.d.ts +8 -0
- package/lib/browser/opener-service.d.ts.map +1 -1
- package/lib/browser/opener-service.js +18 -3
- package/lib/browser/opener-service.js.map +1 -1
- package/lib/browser/progress-location-service.spec.js +7 -7
- package/lib/browser/saveable-service.d.ts.map +1 -1
- package/lib/browser/saveable-service.js +6 -2
- package/lib/browser/saveable-service.js.map +1 -1
- package/lib/browser/saveable.d.ts +17 -1
- package/lib/browser/saveable.d.ts.map +1 -1
- package/lib/browser/saveable.js +62 -1
- package/lib/browser/saveable.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts +5 -4
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js +2 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-menu-adapters.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts +6 -16
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +12 -29
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts +43 -78
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js +8 -39
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +10 -10
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +43 -32
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
- package/lib/browser/storage-service.js +3 -3
- package/lib/browser/tree/tree.spec.js +75 -75
- package/lib/browser/view-container.d.ts +2 -2
- package/lib/browser/view-container.d.ts.map +1 -1
- package/lib/browser/view-container.js.map +1 -1
- package/lib/browser/widget-open-handler.d.ts +4 -1
- package/lib/browser/widget-open-handler.d.ts.map +1 -1
- package/lib/browser/widget-open-handler.js.map +1 -1
- package/lib/browser/widgets/extractable-widget.js +1 -1
- package/lib/browser/widgets/extractable-widget.js.map +1 -1
- package/lib/browser/widgets/index.d.ts +1 -0
- package/lib/browser/widgets/index.d.ts.map +1 -1
- package/lib/browser/widgets/index.js +1 -0
- package/lib/browser/widgets/index.js.map +1 -1
- package/lib/browser/widgets/split-widget.d.ts +45 -0
- package/lib/browser/widgets/split-widget.d.ts.map +1 -0
- package/lib/browser/widgets/split-widget.js +126 -0
- package/lib/browser/widgets/split-widget.js.map +1 -0
- package/lib/common/event.d.ts +2 -0
- package/lib/common/event.d.ts.map +1 -1
- package/lib/common/event.js +4 -0
- package/lib/common/event.js.map +1 -1
- package/lib/common/glob.d.ts +4 -4
- package/lib/common/json-schema.d.ts +2 -0
- package/lib/common/json-schema.d.ts.map +1 -1
- package/lib/common/menu/menu-types.d.ts.map +1 -1
- package/lib/common/menu/menu-types.js.map +1 -1
- package/lib/electron-browser/electron-uri-handler.d.ts +6 -0
- package/lib/electron-browser/electron-uri-handler.d.ts.map +1 -0
- package/lib/electron-browser/electron-uri-handler.js +49 -0
- package/lib/electron-browser/electron-uri-handler.js.map +1 -0
- package/lib/electron-browser/menu/electron-main-menu-factory.d.ts +1 -1
- package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-main-menu-factory.js +6 -6
- package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
- package/lib/electron-browser/preload.d.ts.map +1 -1
- package/lib/electron-browser/preload.js +12 -0
- package/lib/electron-browser/preload.js.map +1 -1
- package/lib/electron-browser/window/electron-window-module.d.ts.map +1 -1
- package/lib/electron-browser/window/electron-window-module.js +3 -0
- package/lib/electron-browser/window/electron-window-module.js.map +1 -1
- package/lib/electron-browser/window/external-app-open-handler.js +1 -1
- package/lib/electron-browser/window/external-app-open-handler.js.map +1 -1
- package/lib/electron-common/electron-api.d.ts +2 -0
- package/lib/electron-common/electron-api.d.ts.map +1 -1
- package/lib/electron-common/electron-api.js +2 -1
- package/lib/electron-common/electron-api.js.map +1 -1
- package/lib/electron-main/electron-api-main.d.ts +2 -0
- package/lib/electron-main/electron-api-main.d.ts.map +1 -1
- package/lib/electron-main/electron-api-main.js +27 -3
- package/lib/electron-main/electron-api-main.js.map +1 -1
- package/lib/electron-main/electron-main-application.d.ts +5 -3
- package/lib/electron-main/electron-main-application.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.js +57 -14
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/lib/electron-main/theia-electron-window.d.ts +1 -0
- package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
- package/lib/electron-main/theia-electron-window.js +3 -0
- package/lib/electron-main/theia-electron-window.js.map +1 -1
- package/lib/node/i18n/theia-localization-contribution.d.ts.map +1 -1
- package/lib/node/i18n/theia-localization-contribution.js +12 -8
- package/lib/node/i18n/theia-localization-contribution.js.map +1 -1
- package/lib/node/process-utils.spec.js +8 -8
- package/package.json +10 -8
- 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 -468
- 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 -334
- 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 -475
- 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 -127
- 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 -93
- package/src/browser/opener-service.spec.ts +49 -49
- package/src/browser/opener-service.ts +169 -146
- 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 -328
- package/src/browser/saveable.ts +395 -327
- 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 -256
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts +149 -207
- 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 -428
- 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 -351
- 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 -0
- package/src/browser/style/status-bar.css +127 -127
- package/src/browser/style/tabs.css +647 -658
- 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 -194
- 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 -165
- 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 -20
- 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 -0
- 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 -487
- 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 -106
- 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 -219
- 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 -0
- 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 -338
- 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 -249
- 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 -45
- 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 -154
- 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 -347
- package/src/electron-main/electron-main-application-module.ts +65 -65
- package/src/electron-main/electron-main-application.ts +860 -818
- 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 -214
- 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 -36
- 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/i18n/nls.pt-pt.json +0 -552
package/src/browser/browser.ts
CHANGED
|
@@ -1,239 +1,239 @@
|
|
|
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
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
18
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
19
|
-
*--------------------------------------------------------------------------------------------*/
|
|
20
|
-
|
|
21
|
-
import { Disposable, environment } from '../common';
|
|
22
|
-
|
|
23
|
-
const userAgent = typeof navigator !== 'undefined' ? navigator.userAgent : '';
|
|
24
|
-
|
|
25
|
-
export const isIE = (userAgent.indexOf('Trident') >= 0);
|
|
26
|
-
export const isEdge = (userAgent.indexOf('Edge/') >= 0);
|
|
27
|
-
export const isEdgeOrIE = isIE || isEdge;
|
|
28
|
-
|
|
29
|
-
export const isOpera = (userAgent.indexOf('Opera') >= 0);
|
|
30
|
-
export const isFirefox = (userAgent.indexOf('Firefox') >= 0);
|
|
31
|
-
export const isWebKit = (userAgent.indexOf('AppleWebKit') >= 0);
|
|
32
|
-
export const isChrome = (userAgent.indexOf('Chrome') >= 0);
|
|
33
|
-
export const isSafari = (userAgent.indexOf('Chrome') === -1) && (userAgent.indexOf('Safari') >= 0);
|
|
34
|
-
export const isIPad = (userAgent.indexOf('iPad') >= 0);
|
|
35
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
-
/**
|
|
37
|
-
* @deprecated use Environment.electron.is
|
|
38
|
-
*/
|
|
39
|
-
export const isNative = environment.electron.is();
|
|
40
|
-
/**
|
|
41
|
-
* Determines whether the backend is running in a remote environment.
|
|
42
|
-
* I.e. we use the browser version or connect to a remote Theia instance in Electron.
|
|
43
|
-
*/
|
|
44
|
-
export const isRemote = !environment.electron.is() || new URL(location.href).searchParams.has('localPort');
|
|
45
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
46
|
-
export const isBasicWasmSupported = typeof (window as any).WebAssembly !== 'undefined';
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Resolves after the next animation frame if no parameter is given,
|
|
50
|
-
* or after the given number of animation frames.
|
|
51
|
-
*/
|
|
52
|
-
export function animationFrame(n: number = 1): Promise<void> {
|
|
53
|
-
return new Promise(resolve => {
|
|
54
|
-
function frameFunc(): void {
|
|
55
|
-
if (n <= 0) {
|
|
56
|
-
resolve();
|
|
57
|
-
} else {
|
|
58
|
-
n--;
|
|
59
|
-
requestAnimationFrame(frameFunc);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
frameFunc();
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Parse a magnitude value (e.g. width, height, left, top) from a CSS attribute value.
|
|
68
|
-
* Returns the given default value (or undefined) if the value cannot be determined,
|
|
69
|
-
* e.g. because it is a relative value like `50%` or `auto`.
|
|
70
|
-
*/
|
|
71
|
-
export function parseCssMagnitude(value: string | null, defaultValue: number): number;
|
|
72
|
-
export function parseCssMagnitude(value: string | null, defaultValue?: number): number | undefined {
|
|
73
|
-
if (value) {
|
|
74
|
-
let parsed: number;
|
|
75
|
-
if (value.endsWith('px')) {
|
|
76
|
-
parsed = parseFloat(value.substring(0, value.length - 2));
|
|
77
|
-
} else {
|
|
78
|
-
parsed = parseFloat(value);
|
|
79
|
-
}
|
|
80
|
-
if (!isNaN(parsed)) {
|
|
81
|
-
return parsed;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return defaultValue;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Parse the number of milliseconds from a CSS time value.
|
|
89
|
-
* Returns the given default value (or undefined) if the value cannot be determined.
|
|
90
|
-
*/
|
|
91
|
-
export function parseCssTime(time: string | null, defaultValue: number): number;
|
|
92
|
-
export function parseCssTime(time: string | null, defaultValue?: number): number | undefined {
|
|
93
|
-
if (time) {
|
|
94
|
-
let parsed: number;
|
|
95
|
-
if (time.endsWith('ms')) {
|
|
96
|
-
parsed = parseFloat(time.substring(0, time.length - 2));
|
|
97
|
-
} else if (time.endsWith('s')) {
|
|
98
|
-
parsed = parseFloat(time.substring(0, time.length - 1)) * 1000;
|
|
99
|
-
} else {
|
|
100
|
-
parsed = parseFloat(time);
|
|
101
|
-
}
|
|
102
|
-
if (!isNaN(parsed)) {
|
|
103
|
-
return parsed;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return defaultValue;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
interface ElementScroll {
|
|
110
|
-
left: number
|
|
111
|
-
top: number
|
|
112
|
-
maxLeft: number
|
|
113
|
-
maxTop: number
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
function getMonacoEditorScroll(elem: HTMLElement): ElementScroll | undefined {
|
|
117
|
-
const linesContent = elem.querySelector('.lines-content') as HTMLElement;
|
|
118
|
-
const viewLines = elem.querySelector('.view-lines') as HTMLElement;
|
|
119
|
-
// eslint-disable-next-line no-null/no-null
|
|
120
|
-
if (linesContent === null || viewLines === null) {
|
|
121
|
-
return undefined;
|
|
122
|
-
}
|
|
123
|
-
const linesContentStyle = linesContent.style;
|
|
124
|
-
const elemStyle = elem.style;
|
|
125
|
-
const viewLinesStyle = viewLines.style;
|
|
126
|
-
return {
|
|
127
|
-
left: -parseCssMagnitude(linesContentStyle.left, 0),
|
|
128
|
-
top: -parseCssMagnitude(linesContentStyle.top, 0),
|
|
129
|
-
maxLeft: parseCssMagnitude(viewLinesStyle.width, 0) - parseCssMagnitude(elemStyle.width, 0),
|
|
130
|
-
maxTop: parseCssMagnitude(viewLinesStyle.height, 0) - parseCssMagnitude(elemStyle.height, 0)
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Prevent browser back/forward navigation of a mouse wheel event.
|
|
136
|
-
*/
|
|
137
|
-
export function preventNavigation(event: WheelEvent): void {
|
|
138
|
-
const { currentTarget, deltaX, deltaY } = event;
|
|
139
|
-
const absDeltaX = Math.abs(deltaX);
|
|
140
|
-
const absDeltaY = Math.abs(deltaY);
|
|
141
|
-
let elem = event.target as Element | null;
|
|
142
|
-
|
|
143
|
-
while (elem && elem !== currentTarget) {
|
|
144
|
-
let scroll: ElementScroll | undefined;
|
|
145
|
-
if (elem.classList.contains('monaco-scrollable-element')) {
|
|
146
|
-
scroll = getMonacoEditorScroll(elem as HTMLElement);
|
|
147
|
-
} else {
|
|
148
|
-
scroll = {
|
|
149
|
-
left: elem.scrollLeft,
|
|
150
|
-
top: elem.scrollTop,
|
|
151
|
-
maxLeft: elem.scrollWidth - elem.clientWidth,
|
|
152
|
-
maxTop: elem.scrollHeight - elem.clientHeight
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
if (scroll) {
|
|
156
|
-
const scrollH = scroll.maxLeft > 0 && (deltaX < 0 && scroll.left > 0 || deltaX > 0 && scroll.left < scroll.maxLeft);
|
|
157
|
-
const scrollV = scroll.maxTop > 0 && (deltaY < 0 && scroll.top > 0 || deltaY > 0 && scroll.top < scroll.maxTop);
|
|
158
|
-
if (scrollH && scrollV || scrollH && absDeltaX > absDeltaY || scrollV && absDeltaY > absDeltaX) {
|
|
159
|
-
// The event is consumed by the scrollable child element
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
elem = elem.parentElement;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
event.preventDefault();
|
|
167
|
-
event.stopPropagation();
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
export type PartialCSSStyle = Omit<Partial<CSSStyleDeclaration>,
|
|
171
|
-
'visibility' |
|
|
172
|
-
'display' |
|
|
173
|
-
'parentRule' |
|
|
174
|
-
'getPropertyPriority' |
|
|
175
|
-
'getPropertyValue' |
|
|
176
|
-
'item' |
|
|
177
|
-
'removeProperty' |
|
|
178
|
-
'setProperty'>;
|
|
179
|
-
|
|
180
|
-
export function measureTextWidth(text: string | string[], style?: PartialCSSStyle): number {
|
|
181
|
-
const measureElement = getMeasurementElement(style);
|
|
182
|
-
text = Array.isArray(text) ? text : [text];
|
|
183
|
-
let width = 0;
|
|
184
|
-
for (const item of text) {
|
|
185
|
-
measureElement.textContent = item;
|
|
186
|
-
width = Math.max(measureElement.getBoundingClientRect().width, width);
|
|
187
|
-
}
|
|
188
|
-
return width;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
export function measureTextHeight(text: string | string[], style?: PartialCSSStyle): number {
|
|
192
|
-
const measureElement = getMeasurementElement(style);
|
|
193
|
-
text = Array.isArray(text) ? text : [text];
|
|
194
|
-
let height = 0;
|
|
195
|
-
for (const item of text) {
|
|
196
|
-
measureElement.textContent = item;
|
|
197
|
-
height = Math.max(measureElement.getBoundingClientRect().height, height);
|
|
198
|
-
}
|
|
199
|
-
return height;
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
const defaultStyle = document.createElement('div').style;
|
|
203
|
-
defaultStyle.fontFamily = 'var(--theia-ui-font-family)';
|
|
204
|
-
defaultStyle.fontSize = 'var(--theia-ui-font-size1)';
|
|
205
|
-
defaultStyle.visibility = 'hidden';
|
|
206
|
-
|
|
207
|
-
function getMeasurementElement(style?: PartialCSSStyle): HTMLElement {
|
|
208
|
-
let measureElement = document.getElementById('measure');
|
|
209
|
-
if (!measureElement) {
|
|
210
|
-
measureElement = document.createElement('span');
|
|
211
|
-
measureElement.id = 'measure';
|
|
212
|
-
measureElement.style.fontFamily = defaultStyle.fontFamily;
|
|
213
|
-
measureElement.style.fontSize = defaultStyle.fontSize;
|
|
214
|
-
measureElement.style.visibility = defaultStyle.visibility;
|
|
215
|
-
document.body.appendChild(measureElement);
|
|
216
|
-
}
|
|
217
|
-
const measureStyle = measureElement.style;
|
|
218
|
-
// Reset styling first
|
|
219
|
-
for (let i = 0; i < measureStyle.length; i++) {
|
|
220
|
-
const property = measureStyle[i];
|
|
221
|
-
measureStyle.setProperty(property, defaultStyle.getPropertyValue(property));
|
|
222
|
-
}
|
|
223
|
-
// Apply new styling
|
|
224
|
-
if (style) {
|
|
225
|
-
for (const [key, value] of Object.entries(style)) {
|
|
226
|
-
measureStyle.setProperty(key, value as string);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
return measureElement;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
export function onDomEvent<K extends keyof HTMLElementEventMap>(
|
|
233
|
-
element: Node,
|
|
234
|
-
type: K,
|
|
235
|
-
listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => unknown,
|
|
236
|
-
options?: boolean | AddEventListenerOptions): Disposable {
|
|
237
|
-
element.addEventListener(type, listener, options);
|
|
238
|
-
return { dispose: () => element.removeEventListener(type, listener, options) };
|
|
239
|
-
}
|
|
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
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
18
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
19
|
+
*--------------------------------------------------------------------------------------------*/
|
|
20
|
+
|
|
21
|
+
import { Disposable, environment } from '../common';
|
|
22
|
+
|
|
23
|
+
const userAgent = typeof navigator !== 'undefined' ? navigator.userAgent : '';
|
|
24
|
+
|
|
25
|
+
export const isIE = (userAgent.indexOf('Trident') >= 0);
|
|
26
|
+
export const isEdge = (userAgent.indexOf('Edge/') >= 0);
|
|
27
|
+
export const isEdgeOrIE = isIE || isEdge;
|
|
28
|
+
|
|
29
|
+
export const isOpera = (userAgent.indexOf('Opera') >= 0);
|
|
30
|
+
export const isFirefox = (userAgent.indexOf('Firefox') >= 0);
|
|
31
|
+
export const isWebKit = (userAgent.indexOf('AppleWebKit') >= 0);
|
|
32
|
+
export const isChrome = (userAgent.indexOf('Chrome') >= 0);
|
|
33
|
+
export const isSafari = (userAgent.indexOf('Chrome') === -1) && (userAgent.indexOf('Safari') >= 0);
|
|
34
|
+
export const isIPad = (userAgent.indexOf('iPad') >= 0);
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated use Environment.electron.is
|
|
38
|
+
*/
|
|
39
|
+
export const isNative = environment.electron.is();
|
|
40
|
+
/**
|
|
41
|
+
* Determines whether the backend is running in a remote environment.
|
|
42
|
+
* I.e. we use the browser version or connect to a remote Theia instance in Electron.
|
|
43
|
+
*/
|
|
44
|
+
export const isRemote = !environment.electron.is() || new URL(location.href).searchParams.has('localPort');
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
46
|
+
export const isBasicWasmSupported = typeof (window as any).WebAssembly !== 'undefined';
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Resolves after the next animation frame if no parameter is given,
|
|
50
|
+
* or after the given number of animation frames.
|
|
51
|
+
*/
|
|
52
|
+
export function animationFrame(n: number = 1): Promise<void> {
|
|
53
|
+
return new Promise(resolve => {
|
|
54
|
+
function frameFunc(): void {
|
|
55
|
+
if (n <= 0) {
|
|
56
|
+
resolve();
|
|
57
|
+
} else {
|
|
58
|
+
n--;
|
|
59
|
+
requestAnimationFrame(frameFunc);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
frameFunc();
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Parse a magnitude value (e.g. width, height, left, top) from a CSS attribute value.
|
|
68
|
+
* Returns the given default value (or undefined) if the value cannot be determined,
|
|
69
|
+
* e.g. because it is a relative value like `50%` or `auto`.
|
|
70
|
+
*/
|
|
71
|
+
export function parseCssMagnitude(value: string | null, defaultValue: number): number;
|
|
72
|
+
export function parseCssMagnitude(value: string | null, defaultValue?: number): number | undefined {
|
|
73
|
+
if (value) {
|
|
74
|
+
let parsed: number;
|
|
75
|
+
if (value.endsWith('px')) {
|
|
76
|
+
parsed = parseFloat(value.substring(0, value.length - 2));
|
|
77
|
+
} else {
|
|
78
|
+
parsed = parseFloat(value);
|
|
79
|
+
}
|
|
80
|
+
if (!isNaN(parsed)) {
|
|
81
|
+
return parsed;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return defaultValue;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Parse the number of milliseconds from a CSS time value.
|
|
89
|
+
* Returns the given default value (or undefined) if the value cannot be determined.
|
|
90
|
+
*/
|
|
91
|
+
export function parseCssTime(time: string | null, defaultValue: number): number;
|
|
92
|
+
export function parseCssTime(time: string | null, defaultValue?: number): number | undefined {
|
|
93
|
+
if (time) {
|
|
94
|
+
let parsed: number;
|
|
95
|
+
if (time.endsWith('ms')) {
|
|
96
|
+
parsed = parseFloat(time.substring(0, time.length - 2));
|
|
97
|
+
} else if (time.endsWith('s')) {
|
|
98
|
+
parsed = parseFloat(time.substring(0, time.length - 1)) * 1000;
|
|
99
|
+
} else {
|
|
100
|
+
parsed = parseFloat(time);
|
|
101
|
+
}
|
|
102
|
+
if (!isNaN(parsed)) {
|
|
103
|
+
return parsed;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return defaultValue;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
interface ElementScroll {
|
|
110
|
+
left: number
|
|
111
|
+
top: number
|
|
112
|
+
maxLeft: number
|
|
113
|
+
maxTop: number
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
function getMonacoEditorScroll(elem: HTMLElement): ElementScroll | undefined {
|
|
117
|
+
const linesContent = elem.querySelector('.lines-content') as HTMLElement;
|
|
118
|
+
const viewLines = elem.querySelector('.view-lines') as HTMLElement;
|
|
119
|
+
// eslint-disable-next-line no-null/no-null
|
|
120
|
+
if (linesContent === null || viewLines === null) {
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
const linesContentStyle = linesContent.style;
|
|
124
|
+
const elemStyle = elem.style;
|
|
125
|
+
const viewLinesStyle = viewLines.style;
|
|
126
|
+
return {
|
|
127
|
+
left: -parseCssMagnitude(linesContentStyle.left, 0),
|
|
128
|
+
top: -parseCssMagnitude(linesContentStyle.top, 0),
|
|
129
|
+
maxLeft: parseCssMagnitude(viewLinesStyle.width, 0) - parseCssMagnitude(elemStyle.width, 0),
|
|
130
|
+
maxTop: parseCssMagnitude(viewLinesStyle.height, 0) - parseCssMagnitude(elemStyle.height, 0)
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Prevent browser back/forward navigation of a mouse wheel event.
|
|
136
|
+
*/
|
|
137
|
+
export function preventNavigation(event: WheelEvent): void {
|
|
138
|
+
const { currentTarget, deltaX, deltaY } = event;
|
|
139
|
+
const absDeltaX = Math.abs(deltaX);
|
|
140
|
+
const absDeltaY = Math.abs(deltaY);
|
|
141
|
+
let elem = event.target as Element | null;
|
|
142
|
+
|
|
143
|
+
while (elem && elem !== currentTarget) {
|
|
144
|
+
let scroll: ElementScroll | undefined;
|
|
145
|
+
if (elem.classList.contains('monaco-scrollable-element')) {
|
|
146
|
+
scroll = getMonacoEditorScroll(elem as HTMLElement);
|
|
147
|
+
} else {
|
|
148
|
+
scroll = {
|
|
149
|
+
left: elem.scrollLeft,
|
|
150
|
+
top: elem.scrollTop,
|
|
151
|
+
maxLeft: elem.scrollWidth - elem.clientWidth,
|
|
152
|
+
maxTop: elem.scrollHeight - elem.clientHeight
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
if (scroll) {
|
|
156
|
+
const scrollH = scroll.maxLeft > 0 && (deltaX < 0 && scroll.left > 0 || deltaX > 0 && scroll.left < scroll.maxLeft);
|
|
157
|
+
const scrollV = scroll.maxTop > 0 && (deltaY < 0 && scroll.top > 0 || deltaY > 0 && scroll.top < scroll.maxTop);
|
|
158
|
+
if (scrollH && scrollV || scrollH && absDeltaX > absDeltaY || scrollV && absDeltaY > absDeltaX) {
|
|
159
|
+
// The event is consumed by the scrollable child element
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
elem = elem.parentElement;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
event.preventDefault();
|
|
167
|
+
event.stopPropagation();
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
export type PartialCSSStyle = Omit<Partial<CSSStyleDeclaration>,
|
|
171
|
+
'visibility' |
|
|
172
|
+
'display' |
|
|
173
|
+
'parentRule' |
|
|
174
|
+
'getPropertyPriority' |
|
|
175
|
+
'getPropertyValue' |
|
|
176
|
+
'item' |
|
|
177
|
+
'removeProperty' |
|
|
178
|
+
'setProperty'>;
|
|
179
|
+
|
|
180
|
+
export function measureTextWidth(text: string | string[], style?: PartialCSSStyle): number {
|
|
181
|
+
const measureElement = getMeasurementElement(style);
|
|
182
|
+
text = Array.isArray(text) ? text : [text];
|
|
183
|
+
let width = 0;
|
|
184
|
+
for (const item of text) {
|
|
185
|
+
measureElement.textContent = item;
|
|
186
|
+
width = Math.max(measureElement.getBoundingClientRect().width, width);
|
|
187
|
+
}
|
|
188
|
+
return width;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export function measureTextHeight(text: string | string[], style?: PartialCSSStyle): number {
|
|
192
|
+
const measureElement = getMeasurementElement(style);
|
|
193
|
+
text = Array.isArray(text) ? text : [text];
|
|
194
|
+
let height = 0;
|
|
195
|
+
for (const item of text) {
|
|
196
|
+
measureElement.textContent = item;
|
|
197
|
+
height = Math.max(measureElement.getBoundingClientRect().height, height);
|
|
198
|
+
}
|
|
199
|
+
return height;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
const defaultStyle = document.createElement('div').style;
|
|
203
|
+
defaultStyle.fontFamily = 'var(--theia-ui-font-family)';
|
|
204
|
+
defaultStyle.fontSize = 'var(--theia-ui-font-size1)';
|
|
205
|
+
defaultStyle.visibility = 'hidden';
|
|
206
|
+
|
|
207
|
+
function getMeasurementElement(style?: PartialCSSStyle): HTMLElement {
|
|
208
|
+
let measureElement = document.getElementById('measure');
|
|
209
|
+
if (!measureElement) {
|
|
210
|
+
measureElement = document.createElement('span');
|
|
211
|
+
measureElement.id = 'measure';
|
|
212
|
+
measureElement.style.fontFamily = defaultStyle.fontFamily;
|
|
213
|
+
measureElement.style.fontSize = defaultStyle.fontSize;
|
|
214
|
+
measureElement.style.visibility = defaultStyle.visibility;
|
|
215
|
+
document.body.appendChild(measureElement);
|
|
216
|
+
}
|
|
217
|
+
const measureStyle = measureElement.style;
|
|
218
|
+
// Reset styling first
|
|
219
|
+
for (let i = 0; i < measureStyle.length; i++) {
|
|
220
|
+
const property = measureStyle[i];
|
|
221
|
+
measureStyle.setProperty(property, defaultStyle.getPropertyValue(property));
|
|
222
|
+
}
|
|
223
|
+
// Apply new styling
|
|
224
|
+
if (style) {
|
|
225
|
+
for (const [key, value] of Object.entries(style)) {
|
|
226
|
+
measureStyle.setProperty(key, value as string);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return measureElement;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export function onDomEvent<K extends keyof HTMLElementEventMap>(
|
|
233
|
+
element: Node,
|
|
234
|
+
type: K,
|
|
235
|
+
listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => unknown,
|
|
236
|
+
options?: boolean | AddEventListenerOptions): Disposable {
|
|
237
|
+
element.addEventListener(type, listener, options);
|
|
238
|
+
return { dispose: () => element.removeEventListener(type, listener, options) };
|
|
239
|
+
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2019 RedHat 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 { MaybePromise } from '../common/types';
|
|
18
|
-
|
|
19
|
-
export const ClipboardService = Symbol('ClipboardService');
|
|
20
|
-
export interface ClipboardService {
|
|
21
|
-
readText(): MaybePromise<string>;
|
|
22
|
-
writeText(value: string): MaybePromise<void>;
|
|
23
|
-
}
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2019 RedHat 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 { MaybePromise } from '../common/types';
|
|
18
|
+
|
|
19
|
+
export const ClipboardService = Symbol('ClipboardService');
|
|
20
|
+
export interface ClipboardService {
|
|
21
|
+
readText(): MaybePromise<string>;
|
|
22
|
+
writeText(value: string): MaybePromise<void>;
|
|
23
|
+
}
|