@theia/core 1.45.1 → 1.46.0-next.137
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 +24 -3
- package/i18n/nls.de.json +24 -3
- package/i18n/nls.es.json +24 -3
- package/i18n/nls.fr.json +24 -3
- package/i18n/nls.hu.json +24 -3
- package/i18n/nls.it.json +24 -3
- package/i18n/nls.ja.json +24 -3
- package/i18n/nls.json +24 -3
- package/i18n/nls.pl.json +24 -3
- package/i18n/nls.pt-br.json +24 -3
- package/i18n/nls.pt-pt.json +24 -3
- package/i18n/nls.ru.json +24 -3
- package/i18n/nls.zh-cn.json +24 -3
- package/lib/browser/about-dialog.js +13 -24
- package/lib/browser/about-dialog.js.map +1 -1
- package/lib/browser/authentication-service.js +12 -20
- package/lib/browser/authentication-service.js.map +1 -1
- package/lib/browser/breadcrumbs/breadcrumb-popup-container.js +12 -20
- package/lib/browser/breadcrumbs/breadcrumb-popup-container.js.map +1 -1
- package/lib/browser/breadcrumbs/breadcrumb-renderer.js +2 -7
- package/lib/browser/breadcrumbs/breadcrumb-renderer.js.map +1 -1
- package/lib/browser/breadcrumbs/breadcrumbs-renderer.js +14 -22
- package/lib/browser/breadcrumbs/breadcrumbs-renderer.js.map +1 -1
- package/lib/browser/breadcrumbs/breadcrumbs-service.js +10 -18
- package/lib/browser/breadcrumbs/breadcrumbs-service.js.map +1 -1
- package/lib/browser/breadcrumbs/index.js +6 -15
- package/lib/browser/breadcrumbs/index.js.map +1 -1
- package/lib/browser/browser-clipboard-service.js +6 -14
- package/lib/browser/browser-clipboard-service.js.map +1 -1
- package/lib/browser/browser.d.ts +3 -0
- package/lib/browser/browser.d.ts.map +1 -1
- package/lib/browser/browser.js +5 -1
- package/lib/browser/browser.js.map +1 -1
- package/lib/browser/color-application-contribution.d.ts +4 -2
- package/lib/browser/color-application-contribution.d.ts.map +1 -1
- package/lib/browser/color-application-contribution.js +19 -17
- package/lib/browser/color-application-contribution.js.map +1 -1
- package/lib/browser/color-registry.js +2 -7
- package/lib/browser/color-registry.js.map +1 -1
- package/lib/browser/command-open-handler.js +5 -13
- package/lib/browser/command-open-handler.js.map +1 -1
- package/lib/browser/common-frontend-contribution.d.ts +6 -0
- package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/common-frontend-contribution.js +92 -61
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/common-styling-participants.js +9 -14
- package/lib/browser/common-styling-participants.js.map +1 -1
- package/lib/browser/connection-status-service.js +22 -33
- package/lib/browser/connection-status-service.js.map +1 -1
- package/lib/browser/context-key-service.d.ts +1 -2
- package/lib/browser/context-key-service.d.ts.map +1 -1
- package/lib/browser/context-key-service.js +2 -7
- package/lib/browser/context-key-service.js.map +1 -1
- package/lib/browser/context-menu-renderer.d.ts +0 -1
- package/lib/browser/context-menu-renderer.d.ts.map +1 -1
- package/lib/browser/context-menu-renderer.js +3 -12
- package/lib/browser/context-menu-renderer.js.map +1 -1
- package/lib/browser/core-preferences.d.ts +1 -0
- package/lib/browser/core-preferences.d.ts.map +1 -1
- package/lib/browser/core-preferences.js +5 -0
- package/lib/browser/core-preferences.js.map +1 -1
- package/lib/browser/credentials-service.js +4 -15
- package/lib/browser/credentials-service.js.map +1 -1
- package/lib/browser/decorations-service.js +6 -12
- package/lib/browser/decorations-service.js.map +1 -1
- package/lib/browser/dialogs/react-dialog.js +4 -15
- package/lib/browser/dialogs/react-dialog.js.map +1 -1
- package/lib/browser/dialogs.js +18 -29
- package/lib/browser/dialogs.js.map +1 -1
- package/lib/browser/diff-uris.js +4 -15
- package/lib/browser/diff-uris.js.map +1 -1
- package/lib/browser/encoding-registry.js +6 -14
- package/lib/browser/encoding-registry.js.map +1 -1
- package/lib/browser/external-uri-service.js +2 -7
- package/lib/browser/external-uri-service.js.map +1 -1
- package/lib/browser/frontend-application-contribution.js +2 -7
- package/lib/browser/frontend-application-contribution.js.map +1 -1
- package/lib/browser/frontend-application-module.d.ts.map +1 -1
- package/lib/browser/frontend-application-module.js +4 -2
- package/lib/browser/frontend-application-module.js.map +1 -1
- package/lib/browser/frontend-application-state.js +4 -12
- package/lib/browser/frontend-application-state.js.map +1 -1
- package/lib/browser/frontend-application.js +21 -32
- package/lib/browser/frontend-application.js.map +1 -1
- package/lib/browser/hover-service.js +6 -14
- package/lib/browser/hover-service.js.map +1 -1
- package/lib/browser/http-open-handler.js +6 -14
- package/lib/browser/http-open-handler.js.map +1 -1
- package/lib/browser/i18n/language-quick-pick-service.js +8 -16
- package/lib/browser/i18n/language-quick-pick-service.js.map +1 -1
- package/lib/browser/icon-registry.d.ts +1 -7
- package/lib/browser/icon-registry.d.ts.map +1 -1
- package/lib/browser/icon-registry.js.map +1 -1
- package/lib/browser/icon-theme-contribution.js +7 -15
- package/lib/browser/icon-theme-contribution.js.map +1 -1
- package/lib/browser/icon-theme-service.js +13 -21
- package/lib/browser/icon-theme-service.js.map +1 -1
- package/lib/browser/index.js +32 -41
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/json-schema-store.js +7 -15
- package/lib/browser/json-schema-store.js.map +1 -1
- package/lib/browser/keybinding.d.ts.map +1 -1
- package/lib/browser/keybinding.js +21 -26
- package/lib/browser/keybinding.js.map +1 -1
- package/lib/browser/keybinding.spec.js +4 -9
- package/lib/browser/keybinding.spec.js.map +1 -1
- package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js +6 -14
- package/lib/browser/keyboard/browser-keyboard-frontend-contribution.js.map +1 -1
- package/lib/browser/keyboard/browser-keyboard-layout-provider.js +10 -18
- package/lib/browser/keyboard/browser-keyboard-layout-provider.js.map +1 -1
- package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js +2 -7
- package/lib/browser/keyboard/browser-keyboard-layout-provider.spec.js.map +1 -1
- package/lib/browser/keyboard/index.js +5 -14
- package/lib/browser/keyboard/index.js.map +1 -1
- package/lib/browser/keyboard/keyboard-layout-service.js +8 -16
- package/lib/browser/keyboard/keyboard-layout-service.js.map +1 -1
- package/lib/browser/keyboard/keyboard-layout-service.spec.js +2 -7
- package/lib/browser/keyboard/keyboard-layout-service.spec.js.map +1 -1
- package/lib/browser/keyboard/keys.js +2 -11
- package/lib/browser/keyboard/keys.js.map +1 -1
- package/lib/browser/label-parser.js +2 -7
- package/lib/browser/label-parser.js.map +1 -1
- package/lib/browser/label-provider.js +11 -19
- package/lib/browser/label-provider.js.map +1 -1
- package/lib/browser/language-icon-provider.js +10 -18
- package/lib/browser/language-icon-provider.js.map +1 -1
- package/lib/browser/language-service.js +2 -7
- package/lib/browser/language-service.js.map +1 -1
- package/lib/browser/markdown-rendering/markdown-renderer.d.ts +1 -1
- package/lib/browser/markdown-rendering/markdown-renderer.d.ts.map +1 -1
- package/lib/browser/markdown-rendering/markdown-renderer.js +8 -16
- package/lib/browser/markdown-rendering/markdown-renderer.js.map +1 -1
- package/lib/browser/menu/browser-context-menu-renderer.d.ts.map +1 -1
- package/lib/browser/menu/browser-context-menu-renderer.js +6 -16
- package/lib/browser/menu/browser-context-menu-renderer.js.map +1 -1
- package/lib/browser/menu/browser-menu-plugin.d.ts +1 -1
- package/lib/browser/menu/browser-menu-plugin.d.ts.map +1 -1
- package/lib/browser/menu/browser-menu-plugin.js +25 -36
- package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
- package/lib/browser/menu/context-menu-context.js +3 -11
- package/lib/browser/menu/context-menu-context.js.map +1 -1
- package/lib/browser/messaging/frontend-id-provider.js +2 -7
- package/lib/browser/messaging/frontend-id-provider.js.map +1 -1
- package/lib/browser/messaging/index.js +2 -11
- package/lib/browser/messaging/index.js.map +1 -1
- package/lib/browser/messaging/service-connection-provider.js +8 -16
- package/lib/browser/messaging/service-connection-provider.js.map +1 -1
- package/lib/browser/messaging/ws-connection-provider.js +4 -12
- package/lib/browser/messaging/ws-connection-provider.js.map +1 -1
- package/lib/browser/messaging/ws-connection-source.js +9 -17
- package/lib/browser/messaging/ws-connection-source.js.map +1 -1
- package/lib/browser/mime-service.js +2 -7
- package/lib/browser/mime-service.js.map +1 -1
- package/lib/browser/navigatable.js +2 -11
- package/lib/browser/navigatable.js.map +1 -1
- package/lib/browser/opener-service.js +5 -16
- package/lib/browser/opener-service.js.map +1 -1
- package/lib/browser/performance/frontend-stopwatch.js +3 -11
- package/lib/browser/performance/frontend-stopwatch.js.map +1 -1
- package/lib/browser/performance/index.js +3 -12
- package/lib/browser/performance/index.js.map +1 -1
- package/lib/browser/preferences/index.js +8 -17
- package/lib/browser/preferences/index.js.map +1 -1
- package/lib/browser/preferences/injectable-preference-proxy.js +14 -22
- package/lib/browser/preferences/injectable-preference-proxy.js.map +1 -1
- package/lib/browser/preferences/preference-configurations.js +4 -12
- package/lib/browser/preferences/preference-configurations.js.map +1 -1
- package/lib/browser/preferences/preference-contribution.js +10 -18
- package/lib/browser/preferences/preference-contribution.js.map +1 -1
- package/lib/browser/preferences/preference-language-override-service.js +2 -7
- package/lib/browser/preferences/preference-language-override-service.js.map +1 -1
- package/lib/browser/preferences/preference-provider.js +5 -13
- package/lib/browser/preferences/preference-provider.js.map +1 -1
- package/lib/browser/preferences/preference-service.js +14 -22
- package/lib/browser/preferences/preference-service.js.map +1 -1
- package/lib/browser/preferences/preference-validation-service.js +6 -14
- package/lib/browser/preferences/preference-validation-service.js.map +1 -1
- package/lib/browser/preferences/test/index.js +4 -13
- package/lib/browser/preferences/test/index.js.map +1 -1
- package/lib/browser/preferences/test/mock-preference-service.js +3 -11
- package/lib/browser/preferences/test/mock-preference-service.js.map +1 -1
- package/lib/browser/preload/i18n-preload-contribution.js +4 -12
- package/lib/browser/preload/i18n-preload-contribution.js.map +1 -1
- package/lib/browser/preload/os-preload-contribution.js +4 -12
- package/lib/browser/preload/os-preload-contribution.js.map +1 -1
- package/lib/browser/preload/preloader.js +4 -12
- package/lib/browser/preload/preloader.js.map +1 -1
- package/lib/browser/preload/theme-preload-contribution.js +2 -7
- package/lib/browser/preload/theme-preload-contribution.js.map +1 -1
- package/lib/browser/progress-bar.js +11 -19
- package/lib/browser/progress-bar.js.map +1 -1
- package/lib/browser/progress-client.js +6 -14
- package/lib/browser/progress-client.js.map +1 -1
- package/lib/browser/progress-location-service.js +2 -7
- package/lib/browser/progress-location-service.js.map +1 -1
- package/lib/browser/progress-status-bar-item.js +4 -12
- package/lib/browser/progress-status-bar-item.js.map +1 -1
- package/lib/browser/quick-input/index.js +9 -18
- package/lib/browser/quick-input/index.js.map +1 -1
- package/lib/browser/quick-input/quick-command-frontend-contribution.js +6 -14
- package/lib/browser/quick-input/quick-command-frontend-contribution.js.map +1 -1
- package/lib/browser/quick-input/quick-command-service.js +12 -20
- package/lib/browser/quick-input/quick-command-service.js.map +1 -1
- package/lib/browser/quick-input/quick-help-service.js +6 -14
- package/lib/browser/quick-input/quick-help-service.js.map +1 -1
- package/lib/browser/quick-input/quick-input-frontend-contribution.js +4 -12
- package/lib/browser/quick-input/quick-input-frontend-contribution.js.map +1 -1
- package/lib/browser/quick-input/quick-input-service.js +2 -11
- package/lib/browser/quick-input/quick-input-service.js.map +1 -1
- package/lib/browser/quick-input/quick-pick-service-impl.js +4 -12
- package/lib/browser/quick-input/quick-pick-service-impl.js.map +1 -1
- package/lib/browser/quick-input/quick-view-service.js +6 -14
- package/lib/browser/quick-input/quick-view-service.js.map +1 -1
- package/lib/browser/request/browser-request-service.js +12 -20
- package/lib/browser/request/browser-request-service.js.map +1 -1
- package/lib/browser/resource-context-key.js +10 -18
- package/lib/browser/resource-context-key.js.map +1 -1
- package/lib/browser/save-resource-service.d.ts +3 -3
- package/lib/browser/save-resource-service.d.ts.map +1 -1
- package/lib/browser/save-resource-service.js +6 -13
- package/lib/browser/save-resource-service.js.map +1 -1
- package/lib/browser/secondary-window-handler.d.ts +12 -11
- package/lib/browser/secondary-window-handler.d.ts.map +1 -1
- package/lib/browser/secondary-window-handler.js +24 -39
- package/lib/browser/secondary-window-handler.js.map +1 -1
- package/lib/browser/shell/additional-views-menu-widget.js +6 -14
- package/lib/browser/shell/additional-views-menu-widget.js.map +1 -1
- package/lib/browser/shell/application-shell-mouse-tracker.js +4 -12
- package/lib/browser/shell/application-shell-mouse-tracker.js.map +1 -1
- package/lib/browser/shell/application-shell.d.ts +3 -1
- package/lib/browser/shell/application-shell.d.ts.map +1 -1
- package/lib/browser/shell/application-shell.js +68 -66
- package/lib/browser/shell/application-shell.js.map +1 -1
- package/lib/browser/shell/index.js +8 -17
- package/lib/browser/shell/index.js.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.js +12 -23
- package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
- package/lib/browser/shell/side-panel-handler.js +22 -30
- package/lib/browser/shell/side-panel-handler.js.map +1 -1
- package/lib/browser/shell/sidebar-bottom-menu-widget.js +2 -7
- package/lib/browser/shell/sidebar-bottom-menu-widget.js.map +1 -1
- package/lib/browser/shell/sidebar-menu-widget.js +7 -15
- package/lib/browser/shell/sidebar-menu-widget.js.map +1 -1
- package/lib/browser/shell/sidebar-top-menu-widget.js +2 -7
- package/lib/browser/shell/sidebar-top-menu-widget.js.map +1 -1
- package/lib/browser/shell/split-panels.js +2 -7
- package/lib/browser/shell/split-panels.js.map +1 -1
- package/lib/browser/shell/tab-bar-decorator.d.ts +7 -2
- package/lib/browser/shell/tab-bar-decorator.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-decorator.js +39 -16
- package/lib/browser/shell/tab-bar-decorator.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/index.js +4 -13
- package/lib/browser/shell/tab-bar-toolbar/index.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-registry.js +10 -18
- 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.d.ts +1 -0
- 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 +35 -38
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
- package/lib/browser/shell/tab-bars.d.ts +4 -1
- package/lib/browser/shell/tab-bars.d.ts.map +1 -1
- package/lib/browser/shell/tab-bars.js +39 -4
- package/lib/browser/shell/tab-bars.js.map +1 -1
- package/lib/browser/shell/view-contribution.js +9 -17
- package/lib/browser/shell/view-contribution.js.map +1 -1
- package/lib/browser/source-tree/index.js +4 -13
- package/lib/browser/source-tree/index.js.map +1 -1
- package/lib/browser/source-tree/source-tree-widget.js +6 -14
- package/lib/browser/source-tree/source-tree-widget.js.map +1 -1
- package/lib/browser/source-tree/source-tree.js +2 -7
- package/lib/browser/source-tree/source-tree.js.map +1 -1
- package/lib/browser/source-tree/tree-source.js +4 -15
- package/lib/browser/source-tree/tree-source.js.map +1 -1
- package/lib/browser/status-bar/index.js +4 -13
- package/lib/browser/status-bar/index.js.map +1 -1
- package/lib/browser/status-bar/status-bar-view-model.js +2 -7
- package/lib/browser/status-bar/status-bar-view-model.js.map +1 -1
- package/lib/browser/status-bar/status-bar.js +9 -20
- package/lib/browser/status-bar/status-bar.js.map +1 -1
- package/lib/browser/storage-service.js +12 -20
- package/lib/browser/storage-service.js.map +1 -1
- package/lib/browser/styling-service.d.ts +3 -2
- package/lib/browser/styling-service.d.ts.map +1 -1
- package/lib/browser/styling-service.js +19 -18
- package/lib/browser/styling-service.js.map +1 -1
- package/lib/browser/test/mock-opener-service.js +2 -7
- package/lib/browser/test/mock-opener-service.js.map +1 -1
- package/lib/browser/test/mock-storage-service.js +2 -7
- package/lib/browser/test/mock-storage-service.js.map +1 -1
- package/lib/browser/theming.js +10 -18
- package/lib/browser/theming.js.map +1 -1
- package/lib/browser/tooltip-service.js +13 -24
- package/lib/browser/tooltip-service.js.map +1 -1
- package/lib/browser/tree/fuzzy-search.js +2 -7
- package/lib/browser/tree/fuzzy-search.js.map +1 -1
- package/lib/browser/tree/index.d.ts +1 -0
- package/lib/browser/tree/index.d.ts.map +1 -1
- package/lib/browser/tree/index.js +14 -22
- package/lib/browser/tree/index.js.map +1 -1
- package/lib/browser/tree/test/mock-selectable-tree-model.d.ts +15 -0
- package/lib/browser/tree/test/mock-selectable-tree-model.d.ts.map +1 -0
- package/lib/browser/tree/test/mock-selectable-tree-model.js +103 -0
- package/lib/browser/tree/test/mock-selectable-tree-model.js.map +1 -0
- package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.js +6 -14
- package/lib/browser/tree/tree-compression/compressed-tree-expansion-service.js.map +1 -1
- package/lib/browser/tree/tree-compression/compressed-tree-model.js +6 -14
- package/lib/browser/tree/tree-compression/compressed-tree-model.js.map +1 -1
- package/lib/browser/tree/tree-compression/compressed-tree-widget.js +10 -21
- package/lib/browser/tree/tree-compression/compressed-tree-widget.js.map +1 -1
- package/lib/browser/tree/tree-compression/index.js +5 -14
- package/lib/browser/tree/tree-compression/index.js.map +1 -1
- package/lib/browser/tree/tree-compression/tree-compression-service.js +2 -7
- package/lib/browser/tree/tree-compression/tree-compression-service.js.map +1 -1
- package/lib/browser/tree/tree-consistency.spec.js +2 -7
- package/lib/browser/tree/tree-consistency.spec.js.map +1 -1
- package/lib/browser/tree/tree-decorator.js +4 -12
- package/lib/browser/tree/tree-decorator.js.map +1 -1
- package/lib/browser/tree/tree-expansion.js +8 -16
- package/lib/browser/tree/tree-expansion.js.map +1 -1
- package/lib/browser/tree/tree-focus-service.js +4 -12
- package/lib/browser/tree/tree-focus-service.js.map +1 -1
- package/lib/browser/tree/tree-label-provider.js +2 -7
- package/lib/browser/tree/tree-label-provider.js.map +1 -1
- package/lib/browser/tree/tree-model.d.ts +24 -0
- package/lib/browser/tree/tree-model.d.ts.map +1 -1
- package/lib/browser/tree/tree-model.js +66 -28
- package/lib/browser/tree/tree-model.js.map +1 -1
- package/lib/browser/tree/tree-navigation.js +2 -7
- package/lib/browser/tree/tree-navigation.js.map +1 -1
- package/lib/browser/tree/tree-preference.d.ts +11 -0
- package/lib/browser/tree/tree-preference.d.ts.map +1 -0
- package/lib/browser/tree/tree-preference.js +47 -0
- package/lib/browser/tree/tree-preference.js.map +1 -0
- package/lib/browser/tree/tree-search.js +12 -20
- package/lib/browser/tree/tree-search.js.map +1 -1
- package/lib/browser/tree/tree-selectable.spec.d.ts +2 -0
- package/lib/browser/tree/tree-selectable.spec.d.ts.map +1 -0
- package/lib/browser/tree/tree-selectable.spec.js +147 -0
- package/lib/browser/tree/tree-selectable.spec.js.map +1 -0
- package/lib/browser/tree/tree-selection-impl.js +10 -18
- package/lib/browser/tree/tree-selection-impl.js.map +1 -1
- package/lib/browser/tree/tree-view-welcome-widget.js +8 -16
- package/lib/browser/tree/tree-view-welcome-widget.js.map +1 -1
- package/lib/browser/tree/tree-widget.d.ts +6 -3
- package/lib/browser/tree/tree-widget.d.ts.map +1 -1
- package/lib/browser/tree/tree-widget.js +48 -38
- package/lib/browser/tree/tree-widget.js.map +1 -1
- package/lib/browser/tree/tree.d.ts.map +1 -1
- package/lib/browser/tree/tree.js +7 -12
- package/lib/browser/tree/tree.js.map +1 -1
- package/lib/browser/user-working-directory-provider.js +6 -14
- package/lib/browser/user-working-directory-provider.js.map +1 -1
- package/lib/browser/view-container.js +31 -39
- package/lib/browser/view-container.js.map +1 -1
- package/lib/browser/widget-manager.d.ts +9 -0
- package/lib/browser/widget-manager.d.ts.map +1 -1
- package/lib/browser/widget-manager.js +29 -14
- package/lib/browser/widget-manager.js.map +1 -1
- package/lib/browser/widget-open-handler.js +10 -18
- package/lib/browser/widget-open-handler.js.map +1 -1
- package/lib/browser/widgets/index.js +5 -14
- package/lib/browser/widgets/index.js.map +1 -1
- package/lib/browser/widgets/react-renderer.js +5 -16
- package/lib/browser/widgets/react-renderer.js.map +1 -1
- package/lib/browser/widgets/react-widget.js +4 -15
- package/lib/browser/widgets/react-widget.js.map +1 -1
- package/lib/browser/widgets/select-component.d.ts.map +1 -1
- package/lib/browser/widgets/select-component.js +1 -0
- package/lib/browser/widgets/select-component.js.map +1 -1
- package/lib/browser/widgets/widget.d.ts +2 -0
- package/lib/browser/widgets/widget.d.ts.map +1 -1
- package/lib/browser/widgets/widget.js +14 -24
- package/lib/browser/widgets/widget.js.map +1 -1
- package/lib/browser/window/default-secondary-window-service.d.ts +1 -1
- package/lib/browser/window/default-secondary-window-service.d.ts.map +1 -1
- package/lib/browser/window/default-secondary-window-service.js +32 -43
- package/lib/browser/window/default-secondary-window-service.js.map +1 -1
- package/lib/browser/window/default-window-service.d.ts +1 -0
- package/lib/browser/window/default-window-service.d.ts.map +1 -1
- package/lib/browser/window/default-window-service.js +9 -14
- package/lib/browser/window/default-window-service.js.map +1 -1
- package/lib/browser/window/test/mock-window-service.d.ts +1 -0
- package/lib/browser/window/test/mock-window-service.d.ts.map +1 -1
- package/lib/browser/window/test/mock-window-service.js +3 -7
- package/lib/browser/window/test/mock-window-service.js.map +1 -1
- package/lib/browser/window/window-service.d.ts +10 -2
- package/lib/browser/window/window-service.d.ts.map +1 -1
- package/lib/browser/window/window-service.js.map +1 -1
- package/lib/browser/window/window-title-service.js +8 -16
- package/lib/browser/window/window-title-service.js.map +1 -1
- package/lib/browser/window/window-title-updater.js +6 -14
- package/lib/browser/window/window-title-updater.js.map +1 -1
- package/lib/browser/window-contribution.js +4 -12
- package/lib/browser/window-contribution.js.map +1 -1
- package/lib/browser-only/frontend-only-application-module.d.ts +5 -0
- package/lib/browser-only/frontend-only-application-module.d.ts.map +1 -0
- package/lib/browser-only/frontend-only-application-module.js +115 -0
- package/lib/browser-only/frontend-only-application-module.js.map +1 -0
- package/lib/browser-only/i18n/i18n-frontend-only-module.d.ts +4 -0
- package/lib/browser-only/i18n/i18n-frontend-only-module.d.ts.map +1 -0
- package/lib/browser-only/i18n/i18n-frontend-only-module.js +35 -0
- package/lib/browser-only/i18n/i18n-frontend-only-module.js.map +1 -0
- package/lib/browser-only/logger-frontend-only-module.d.ts +3 -0
- package/lib/browser-only/logger-frontend-only-module.d.ts.map +1 -0
- package/lib/browser-only/logger-frontend-only-module.js +61 -0
- package/lib/browser-only/logger-frontend-only-module.js.map +1 -0
- package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts +14 -0
- package/lib/browser-only/messaging/frontend-only-service-connection-provider.d.ts.map +1 -0
- package/lib/browser-only/messaging/frontend-only-service-connection-provider.js +52 -0
- package/lib/browser-only/messaging/frontend-only-service-connection-provider.js.map +1 -0
- package/lib/browser-only/messaging/messaging-frontend-only-module.d.ts +3 -0
- package/lib/browser-only/messaging/messaging-frontend-only-module.d.ts.map +1 -0
- package/lib/browser-only/messaging/messaging-frontend-only-module.js +48 -0
- package/lib/browser-only/messaging/messaging-frontend-only-module.js.map +1 -0
- package/lib/browser-only/preload/frontend-only-preload-module.d.ts +4 -0
- package/lib/browser-only/preload/frontend-only-preload-module.d.ts.map +1 -0
- package/lib/browser-only/preload/frontend-only-preload-module.js +52 -0
- package/lib/browser-only/preload/frontend-only-preload-module.js.map +1 -0
- package/lib/common/application-protocol.d.ts +1 -0
- package/lib/common/application-protocol.d.ts.map +1 -1
- package/lib/common/command.js +5 -16
- package/lib/common/command.js.map +1 -1
- package/lib/common/contribution-filter/contribution-filter-registry.js +5 -16
- package/lib/common/contribution-filter/contribution-filter-registry.js.map +1 -1
- package/lib/common/contribution-filter/index.js +4 -13
- package/lib/common/contribution-filter/index.js.map +1 -1
- package/lib/common/disposable.d.ts +37 -0
- package/lib/common/disposable.d.ts.map +1 -1
- package/lib/common/disposable.js +54 -1
- package/lib/common/disposable.js.map +1 -1
- package/lib/common/disposable.spec.js +51 -0
- package/lib/common/disposable.spec.js.map +1 -1
- package/lib/common/encoding-service.js +2 -7
- package/lib/common/encoding-service.js.map +1 -1
- package/lib/common/env-variables/index.js +2 -11
- package/lib/common/env-variables/index.js.map +1 -1
- package/lib/common/event.d.ts +5 -0
- package/lib/common/event.d.ts.map +1 -1
- package/lib/common/event.js +14 -1
- package/lib/common/event.js.map +1 -1
- package/lib/{node → common}/file-uri.d.ts +1 -1
- package/lib/common/file-uri.d.ts.map +1 -0
- package/lib/{node → common}/file-uri.js +2 -2
- package/lib/common/file-uri.js.map +1 -0
- package/lib/common/index.d.ts +1 -0
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +34 -42
- package/lib/common/index.js.map +1 -1
- package/lib/common/logger-protocol.js +2 -7
- package/lib/common/logger-protocol.js.map +1 -1
- package/lib/common/logger-watcher.js +2 -7
- package/lib/common/logger-watcher.js.map +1 -1
- package/lib/common/logger.js +14 -22
- package/lib/common/logger.js.map +1 -1
- package/lib/common/markdown-rendering/index.js +3 -12
- package/lib/common/markdown-rendering/index.js.map +1 -1
- package/lib/common/markdown-rendering/markdown-string.d.ts +5 -2
- package/lib/common/markdown-rendering/markdown-string.d.ts.map +1 -1
- package/lib/common/markdown-rendering/markdown-string.js.map +1 -1
- package/lib/common/menu/composite-menu-node.js +5 -5
- package/lib/common/menu/composite-menu-node.js.map +1 -1
- package/lib/common/menu/composite-menu-node.spec.d.ts +2 -0
- package/lib/common/menu/composite-menu-node.spec.d.ts.map +1 -0
- package/lib/common/menu/composite-menu-node.spec.js +68 -0
- package/lib/common/menu/composite-menu-node.spec.js.map +1 -0
- package/lib/common/menu/index.js +6 -15
- package/lib/common/menu/index.js.map +1 -1
- package/lib/common/menu/menu-adapter.js +7 -15
- package/lib/common/menu/menu-adapter.js.map +1 -1
- package/lib/common/menu/menu-model-registry.d.ts +2 -2
- package/lib/common/menu/menu-model-registry.d.ts.map +1 -1
- package/lib/common/menu/menu-model-registry.js +22 -19
- package/lib/common/menu/menu-model-registry.js.map +1 -1
- package/lib/common/menu/menu.spec.js +28 -1
- package/lib/common/menu/menu.spec.js.map +1 -1
- package/lib/common/message-rpc/msg-pack-extension-manager.d.ts +1 -1
- package/lib/common/message-rpc/msg-pack-extension-manager.js +1 -1
- package/lib/common/message-rpc/rpc-protocol.d.ts +3 -1
- package/lib/common/message-rpc/rpc-protocol.d.ts.map +1 -1
- package/lib/common/message-rpc/rpc-protocol.js +19 -1
- package/lib/common/message-rpc/rpc-protocol.js.map +1 -1
- package/lib/common/message-service-protocol.js +2 -7
- package/lib/common/message-service-protocol.js.map +1 -1
- package/lib/common/message-service.js +4 -15
- package/lib/common/message-service.js.map +1 -1
- package/lib/common/messaging/index.js +4 -13
- package/lib/common/messaging/index.js.map +1 -1
- package/lib/common/messaging/proxy-factory.d.ts.map +1 -1
- package/lib/common/messaging/proxy-factory.js +1 -8
- package/lib/common/messaging/proxy-factory.js.map +1 -1
- package/lib/common/nls.js +3 -1
- package/lib/common/nls.js.map +1 -1
- package/lib/common/performance/index.js +4 -13
- package/lib/common/performance/index.js.map +1 -1
- package/lib/common/performance/measurement-protocol.js +5 -13
- package/lib/common/performance/measurement-protocol.js.map +1 -1
- package/lib/common/performance/stopwatch.js +5 -13
- package/lib/common/performance/stopwatch.js.map +1 -1
- package/lib/common/progress-service.js +6 -14
- package/lib/common/progress-service.js.map +1 -1
- package/lib/common/promise-util.spec.js +31 -6
- package/lib/common/promise-util.spec.js.map +1 -1
- package/lib/common/quick-pick-service.d.ts +16 -26
- package/lib/common/quick-pick-service.d.ts.map +1 -1
- package/lib/common/quick-pick-service.js +1 -26
- package/lib/common/quick-pick-service.js.map +1 -1
- package/lib/common/reference.d.ts +55 -0
- package/lib/common/reference.d.ts.map +1 -1
- package/lib/common/reference.js +55 -0
- package/lib/common/reference.js.map +1 -1
- package/lib/common/resource.d.ts +3 -1
- package/lib/common/resource.d.ts.map +1 -1
- package/lib/common/resource.js +8 -19
- package/lib/common/resource.js.map +1 -1
- package/lib/common/selection-service.js +2 -7
- package/lib/common/selection-service.js.map +1 -1
- package/lib/common/test/mock-logger.js +2 -7
- package/lib/common/test/mock-logger.js.map +1 -1
- package/lib/common/test/mock-resource-provider.js +3 -11
- package/lib/common/test/mock-resource-provider.js.map +1 -1
- package/lib/common/theme.d.ts +25 -0
- package/lib/common/theme.d.ts.map +1 -1
- package/lib/common/theme.js.map +1 -1
- package/lib/common/uri.d.ts +1 -0
- package/lib/common/uri.d.ts.map +1 -1
- package/lib/common/uri.js +1 -1
- package/lib/common/uri.js.map +1 -1
- package/lib/common/uuid.d.ts +7 -1
- package/lib/common/uuid.d.ts.map +1 -1
- package/lib/common/uuid.js +17 -58
- package/lib/common/uuid.js.map +1 -1
- package/lib/electron-browser/electron-clipboard-service.js +2 -7
- package/lib/electron-browser/electron-clipboard-service.js.map +1 -1
- package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js +6 -14
- package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js.map +1 -1
- package/lib/electron-browser/menu/electron-context-menu-renderer.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-context-menu-renderer.js +18 -27
- package/lib/electron-browser/menu/electron-context-menu-renderer.js.map +1 -1
- package/lib/electron-browser/menu/electron-main-menu-factory.js +8 -16
- package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.d.ts +2 -1
- package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
- package/lib/electron-browser/menu/electron-menu-contribution.js +33 -35
- package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
- package/lib/electron-browser/messaging/electron-frontend-id-provider.js +2 -7
- package/lib/electron-browser/messaging/electron-frontend-id-provider.js.map +1 -1
- package/lib/electron-browser/messaging/electron-ipc-connection-source.js +2 -7
- package/lib/electron-browser/messaging/electron-ipc-connection-source.js.map +1 -1
- package/lib/electron-browser/messaging/electron-local-ws-connection-source.js +2 -7
- package/lib/electron-browser/messaging/electron-local-ws-connection-source.js.map +1 -1
- package/lib/electron-browser/messaging/electron-messaging-frontend-module.js +3 -3
- package/lib/electron-browser/messaging/electron-messaging-frontend-module.js.map +1 -1
- package/lib/electron-browser/messaging/electron-ws-connection-source.js +3 -11
- package/lib/electron-browser/messaging/electron-ws-connection-source.js.map +1 -1
- package/lib/electron-browser/preload.js +2 -2
- package/lib/electron-browser/preload.js.map +1 -1
- package/lib/electron-browser/window/electron-frontend-application-state.js +2 -7
- package/lib/electron-browser/window/electron-frontend-application-state.js.map +1 -1
- package/lib/electron-browser/window/electron-secondary-window-service.d.ts +1 -1
- package/lib/electron-browser/window/electron-secondary-window-service.d.ts.map +1 -1
- package/lib/electron-browser/window/electron-secondary-window-service.js +6 -15
- package/lib/electron-browser/window/electron-secondary-window-service.js.map +1 -1
- package/lib/electron-browser/window/electron-window-service.d.ts +3 -1
- package/lib/electron-browser/window/electron-window-service.d.ts.map +1 -1
- package/lib/electron-browser/window/electron-window-service.js +26 -24
- package/lib/electron-browser/window/electron-window-service.js.map +1 -1
- package/lib/electron-common/electron-api.d.ts +2 -2
- package/lib/electron-common/electron-api.d.ts.map +1 -1
- package/lib/electron-main/electron-api-main.d.ts.map +1 -1
- package/lib/electron-main/electron-api-main.js +16 -14
- package/lib/electron-main/electron-api-main.js.map +1 -1
- package/lib/electron-main/electron-main-application-module.js +2 -2
- package/lib/electron-main/electron-main-application-module.js.map +1 -1
- package/lib/electron-main/electron-main-application.js +16 -24
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/lib/electron-main/electron-main-window-service-impl.js +4 -12
- package/lib/electron-main/electron-main-window-service-impl.js.map +1 -1
- package/lib/electron-main/electron-security-token-service.js +4 -12
- package/lib/electron-main/electron-security-token-service.js.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-contribution.js +10 -18
- package/lib/electron-main/messaging/electron-messaging-contribution.js.map +1 -1
- package/lib/electron-main/theia-electron-window.js +13 -21
- package/lib/electron-main/theia-electron-window.js.map +1 -1
- package/lib/electron-node/hosting/electron-ws-origin-validator.js +4 -12
- package/lib/electron-node/hosting/electron-ws-origin-validator.js.map +1 -1
- package/lib/electron-node/keyboard/electron-keyboard-layout-provider.js +2 -7
- package/lib/electron-node/keyboard/electron-keyboard-layout-provider.js.map +1 -1
- package/lib/electron-node/request/electron-backend-request-service.js +2 -7
- package/lib/electron-node/request/electron-backend-request-service.js.map +1 -1
- package/lib/electron-node/token/electron-token-backend-contribution.js +4 -12
- package/lib/electron-node/token/electron-token-backend-contribution.js.map +1 -1
- package/lib/electron-node/token/electron-token-validator.js +6 -14
- package/lib/electron-node/token/electron-token-validator.js.map +1 -1
- package/lib/node/application-server.d.ts +1 -0
- package/lib/node/application-server.d.ts.map +1 -1
- package/lib/node/application-server.js +11 -13
- package/lib/node/application-server.js.map +1 -1
- package/lib/node/backend-application.js +17 -28
- package/lib/node/backend-application.js.map +1 -1
- package/lib/node/backend-remote-service.js +2 -7
- package/lib/node/backend-remote-service.js.map +1 -1
- package/lib/node/cli.js +5 -16
- package/lib/node/cli.js.map +1 -1
- package/lib/node/console-logger-server.js +10 -18
- package/lib/node/console-logger-server.js.map +1 -1
- package/lib/node/console-logger-server.spec.js +6 -14
- package/lib/node/console-logger-server.spec.js.map +1 -1
- package/lib/node/env-variables/env-variables-server.js +4 -12
- package/lib/node/env-variables/env-variables-server.js.map +1 -1
- package/lib/node/env-variables/index.js +2 -11
- package/lib/node/env-variables/index.js.map +1 -1
- package/lib/node/environment-utils.js +2 -7
- package/lib/node/environment-utils.js.map +1 -1
- package/lib/node/file-uri.spec.js +1 -1
- package/lib/node/file-uri.spec.js.map +1 -1
- package/lib/node/filesystem-locking.js +2 -7
- package/lib/node/filesystem-locking.js.map +1 -1
- package/lib/node/hosting/backend-application-hosts.js +6 -14
- package/lib/node/hosting/backend-application-hosts.js.map +1 -1
- package/lib/node/hosting/ws-origin-validator.js +4 -12
- package/lib/node/hosting/ws-origin-validator.js.map +1 -1
- package/lib/node/i18n/localization-contribution.js +6 -14
- package/lib/node/i18n/localization-contribution.js.map +1 -1
- package/lib/node/i18n/localization-provider.js +2 -7
- package/lib/node/i18n/localization-provider.js.map +1 -1
- package/lib/node/i18n/localization-server.js +6 -14
- package/lib/node/i18n/localization-server.js.map +1 -1
- package/lib/node/i18n/theia-localization-contribution.js +2 -7
- package/lib/node/i18n/theia-localization-contribution.js.map +1 -1
- package/lib/node/index.d.ts +1 -1
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +6 -15
- package/lib/node/index.js.map +1 -1
- package/lib/node/key-store-server.js +2 -7
- package/lib/node/key-store-server.js.map +1 -1
- package/lib/node/logger-cli-contribution.js +2 -7
- package/lib/node/logger-cli-contribution.js.map +1 -1
- package/lib/node/messaging/default-messaging-service.js +10 -18
- package/lib/node/messaging/default-messaging-service.js.map +1 -1
- package/lib/node/messaging/index.js +4 -13
- package/lib/node/messaging/index.js.map +1 -1
- package/lib/node/messaging/ipc-connection-provider.js +4 -12
- package/lib/node/messaging/ipc-connection-provider.js.map +1 -1
- package/lib/node/messaging/messaging-listeners.js +4 -12
- package/lib/node/messaging/messaging-listeners.js.map +1 -1
- package/lib/node/messaging/test/test-web-socket-channel.js +3 -11
- package/lib/node/messaging/test/test-web-socket-channel.js.map +1 -1
- package/lib/node/messaging/websocket-endpoint.js +6 -14
- package/lib/node/messaging/websocket-endpoint.js.map +1 -1
- package/lib/node/messaging/websocket-frontend-connection-service.js +4 -12
- package/lib/node/messaging/websocket-frontend-connection-service.js.map +1 -1
- package/lib/node/os-backend-provider.js +2 -7
- package/lib/node/os-backend-provider.js.map +1 -1
- package/lib/node/performance/index.js +3 -12
- package/lib/node/performance/index.js.map +1 -1
- package/lib/node/performance/node-stopwatch.js +3 -11
- package/lib/node/performance/node-stopwatch.js.map +1 -1
- package/lib/node/process-utils.js +2 -7
- package/lib/node/process-utils.js.map +1 -1
- package/lib/node/request/backend-request-facade.js +4 -12
- package/lib/node/request/backend-request-facade.js.map +1 -1
- package/lib/node/request/proxy-cli-contribution.js +4 -12
- package/lib/node/request/proxy-cli-contribution.js.map +1 -1
- package/lib/node/ws-request-validators.js +4 -12
- package/lib/node/ws-request-validators.js.map +1 -1
- package/package.json +14 -8
- package/src/browser/browser.ts +6 -1
- package/src/browser/color-application-contribution.ts +11 -2
- package/src/browser/command-open-handler.ts +1 -1
- package/src/browser/common-frontend-contribution.ts +47 -4
- package/src/browser/context-key-service.ts +1 -2
- package/src/browser/context-menu-renderer.ts +0 -4
- package/src/browser/core-preferences.ts +6 -0
- package/src/browser/decorations-service.ts +4 -4
- package/src/browser/frontend-application-module.ts +5 -2
- package/src/browser/icon-registry.ts +1 -10
- package/src/browser/keybinding.ts +3 -0
- package/src/browser/markdown-rendering/markdown-renderer.ts +1 -1
- package/src/browser/menu/browser-context-menu-renderer.ts +2 -1
- package/src/browser/menu/browser-menu-plugin.ts +2 -2
- package/src/browser/save-resource-service.ts +5 -4
- package/src/browser/secondary-window-handler.ts +21 -22
- package/src/browser/shell/application-shell.ts +33 -21
- package/src/browser/shell/tab-bar-decorator.ts +36 -6
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +15 -10
- package/src/browser/shell/tab-bars.ts +41 -5
- package/src/browser/style/index.css +153 -148
- package/src/browser/style/select-component.css +12 -13
- package/src/browser/style/tabs.css +6 -0
- package/src/browser/styling-service.ts +12 -3
- package/src/browser/tooltip-service.tsx +2 -2
- package/src/browser/tree/index.ts +1 -0
- package/src/browser/tree/test/mock-selectable-tree-model.ts +109 -0
- package/src/browser/tree/tree-model.ts +74 -0
- package/src/browser/tree/tree-preference.ts +50 -0
- package/src/browser/tree/tree-selectable.spec.ts +152 -0
- package/src/browser/tree/tree-widget.tsx +24 -5
- package/src/browser/tree/tree.ts +2 -1
- package/src/browser/widget-manager.ts +25 -0
- package/src/browser/widgets/select-component.tsx +1 -0
- package/src/browser/widgets/widget.ts +8 -0
- package/src/browser/window/default-secondary-window-service.ts +24 -26
- package/src/browser/window/default-window-service.ts +4 -0
- package/src/browser/window/test/mock-window-service.ts +1 -0
- package/src/browser/window/window-service.ts +12 -2
- package/src/browser-only/frontend-only-application-module.ts +115 -0
- package/src/browser-only/i18n/i18n-frontend-only-module.ts +37 -0
- package/src/browser-only/logger-frontend-only-module.ts +63 -0
- package/src/browser-only/messaging/frontend-only-service-connection-provider.ts +39 -0
- package/src/browser-only/messaging/messaging-frontend-only-module.ts +42 -0
- package/src/browser-only/preload/frontend-only-preload-module.ts +49 -0
- package/src/common/application-protocol.ts +1 -0
- package/src/common/disposable.spec.ts +66 -1
- package/src/common/disposable.ts +53 -0
- package/src/common/event.ts +18 -0
- package/src/{node → common}/file-uri.ts +2 -2
- package/src/common/index.ts +1 -0
- package/src/common/markdown-rendering/markdown-string.ts +6 -3
- package/src/common/menu/composite-menu-node.spec.ts +67 -0
- package/src/common/menu/composite-menu-node.ts +5 -5
- package/src/common/menu/menu-model-registry.ts +22 -5
- package/src/common/menu/menu.spec.ts +30 -2
- package/src/common/message-rpc/msg-pack-extension-manager.ts +1 -1
- package/src/common/message-rpc/rpc-protocol.ts +22 -2
- package/src/common/messaging/proxy-factory.ts +1 -8
- package/src/common/nls.ts +3 -1
- package/src/common/promise-util.spec.ts +48 -18
- package/src/common/quick-pick-service.ts +13 -34
- package/src/common/reference.ts +55 -0
- package/src/common/resource.ts +5 -1
- package/src/common/theme.ts +32 -0
- package/src/common/uri.ts +4 -2
- package/src/common/uuid.ts +15 -69
- package/src/electron-browser/menu/electron-context-menu-renderer.ts +3 -1
- package/src/electron-browser/menu/electron-menu-contribution.ts +9 -1
- package/src/electron-browser/messaging/electron-messaging-frontend-module.ts +1 -1
- package/src/electron-browser/preload.ts +3 -3
- package/src/electron-browser/window/electron-secondary-window-service.ts +4 -8
- package/src/electron-browser/window/electron-window-service.ts +15 -3
- package/src/electron-common/electron-api.ts +2 -2
- package/src/electron-main/electron-api-main.ts +11 -2
- package/src/electron-main/electron-main-application-module.ts +2 -2
- package/src/electron-main/electron-main-application.ts +1 -1
- package/src/electron-main/theia-electron-window.ts +1 -1
- package/src/node/application-server.ts +8 -1
- package/src/node/env-variables/env-variables-server.ts +1 -1
- package/src/node/file-uri.spec.ts +1 -1
- package/src/node/index.ts +1 -1
- package/lib/node/file-uri.d.ts.map +0 -1
- package/lib/node/file-uri.js.map +0 -1
package/src/browser/browser.ts
CHANGED
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
19
19
|
*--------------------------------------------------------------------------------------------*/
|
|
20
20
|
|
|
21
|
+
import { environment } from '../common';
|
|
22
|
+
|
|
21
23
|
const userAgent = typeof navigator !== 'undefined' ? navigator.userAgent : '';
|
|
22
24
|
|
|
23
25
|
export const isIE = (userAgent.indexOf('Trident') >= 0);
|
|
@@ -31,7 +33,10 @@ export const isChrome = (userAgent.indexOf('Chrome') >= 0);
|
|
|
31
33
|
export const isSafari = (userAgent.indexOf('Chrome') === -1) && (userAgent.indexOf('Safari') >= 0);
|
|
32
34
|
export const isIPad = (userAgent.indexOf('iPad') >= 0);
|
|
33
35
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
34
|
-
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated us Environment.electron.is
|
|
38
|
+
*/
|
|
39
|
+
export const isNative = environment.electron.is();
|
|
35
40
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
41
|
export const isBasicWasmSupported = typeof (window as any).WebAssembly !== 'undefined';
|
|
37
42
|
|
|
@@ -22,6 +22,7 @@ import { FrontendApplicationContribution } from './frontend-application-contribu
|
|
|
22
22
|
import { ContributionProvider } from '../common/contribution-provider';
|
|
23
23
|
import { Disposable, DisposableCollection } from '../common/disposable';
|
|
24
24
|
import { DEFAULT_BACKGROUND_COLOR_STORAGE_KEY } from './frontend-application-config-provider';
|
|
25
|
+
import { SecondaryWindowHandler } from './secondary-window-handler';
|
|
25
26
|
|
|
26
27
|
export const ColorContribution = Symbol('ColorContribution');
|
|
27
28
|
export interface ColorContribution {
|
|
@@ -43,6 +44,9 @@ export class ColorApplicationContribution implements FrontendApplicationContribu
|
|
|
43
44
|
|
|
44
45
|
@inject(ThemeService) protected readonly themeService: ThemeService;
|
|
45
46
|
|
|
47
|
+
@inject(SecondaryWindowHandler)
|
|
48
|
+
protected readonly secondaryWindowHandler: SecondaryWindowHandler;
|
|
49
|
+
|
|
46
50
|
onStart(): void {
|
|
47
51
|
for (const contribution of this.colorContributions.getContributions()) {
|
|
48
52
|
contribution.registerColors(this.colors);
|
|
@@ -55,13 +59,18 @@ export class ColorApplicationContribution implements FrontendApplicationContribu
|
|
|
55
59
|
this.colors.onDidChange(() => this.update());
|
|
56
60
|
|
|
57
61
|
this.registerWindow(window);
|
|
62
|
+
this.secondaryWindowHandler.onWillAddWidget(([widget, window]) => {
|
|
63
|
+
this.registerWindow(window);
|
|
64
|
+
});
|
|
65
|
+
this.secondaryWindowHandler.onWillRemoveWidget(([widget, window]) => {
|
|
66
|
+
this.windows.delete(window);
|
|
67
|
+
});
|
|
58
68
|
}
|
|
59
69
|
|
|
60
|
-
registerWindow(win: Window):
|
|
70
|
+
registerWindow(win: Window): void {
|
|
61
71
|
this.windows.add(win);
|
|
62
72
|
this.updateWindow(win);
|
|
63
73
|
this.onDidChangeEmitter.fire();
|
|
64
|
-
return Disposable.create(() => this.windows.delete(win));
|
|
65
74
|
}
|
|
66
75
|
|
|
67
76
|
protected readonly toUpdate = new DisposableCollection();
|
|
@@ -280,6 +280,15 @@ export namespace CommonCommands {
|
|
|
280
280
|
category: VIEW_CATEGORY,
|
|
281
281
|
label: 'Toggle Menu Bar'
|
|
282
282
|
});
|
|
283
|
+
/**
|
|
284
|
+
* Command Parameters:
|
|
285
|
+
* - `fileName`: string
|
|
286
|
+
* - `directory`: URI
|
|
287
|
+
*/
|
|
288
|
+
export const NEW_FILE = Command.toDefaultLocalizedCommand({
|
|
289
|
+
id: 'workbench.action.files.newFile',
|
|
290
|
+
category: FILE_CATEGORY
|
|
291
|
+
});
|
|
283
292
|
export const NEW_UNTITLED_TEXT_FILE = Command.toDefaultLocalizedCommand({
|
|
284
293
|
id: 'workbench.action.files.newUntitledTextFile',
|
|
285
294
|
category: FILE_CATEGORY,
|
|
@@ -351,12 +360,12 @@ export namespace CommonCommands {
|
|
|
351
360
|
});
|
|
352
361
|
}
|
|
353
362
|
|
|
354
|
-
export const supportCut =
|
|
355
|
-
export const supportCopy =
|
|
363
|
+
export const supportCut = environment.electron.is() || document.queryCommandSupported('cut');
|
|
364
|
+
export const supportCopy = environment.electron.is() || document.queryCommandSupported('copy');
|
|
356
365
|
// Chrome incorrectly returns true for document.queryCommandSupported('paste')
|
|
357
366
|
// when the paste feature is available but the calling script has insufficient
|
|
358
367
|
// privileges to actually perform the action
|
|
359
|
-
export const supportPaste =
|
|
368
|
+
export const supportPaste = environment.electron.is() || (!browser.isChrome && document.queryCommandSupported('paste'));
|
|
360
369
|
|
|
361
370
|
export const RECENT_COMMANDS_STORAGE_KEY = 'commands';
|
|
362
371
|
|
|
@@ -1424,6 +1433,7 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
|
|
|
1424
1433
|
const items: QuickPickItemOrSeparator[] = [
|
|
1425
1434
|
{
|
|
1426
1435
|
label: nls.localizeByDefault('New Text File'),
|
|
1436
|
+
description: nls.localizeByDefault('Built-in'),
|
|
1427
1437
|
execute: async () => this.commandRegistry.executeCommand(CommonCommands.NEW_UNTITLED_TEXT_FILE.id)
|
|
1428
1438
|
},
|
|
1429
1439
|
...newFileContributions.children
|
|
@@ -1446,10 +1456,43 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
|
|
|
1446
1456
|
|
|
1447
1457
|
})
|
|
1448
1458
|
];
|
|
1459
|
+
|
|
1460
|
+
const CREATE_NEW_FILE_ITEM_ID = 'create-new-file';
|
|
1461
|
+
const hasNewFileHandler = this.commandRegistry.getActiveHandler(CommonCommands.NEW_FILE.id) !== undefined;
|
|
1462
|
+
// Create a "Create New File" item only if there is a NEW_FILE command handler.
|
|
1463
|
+
const createNewFileItem: QuickPickItem & { value?: string } | undefined = hasNewFileHandler ? {
|
|
1464
|
+
id: CREATE_NEW_FILE_ITEM_ID,
|
|
1465
|
+
label: nls.localizeByDefault('Create New File ({0})'),
|
|
1466
|
+
description: nls.localizeByDefault('Built-in'),
|
|
1467
|
+
execute: async () => {
|
|
1468
|
+
if (createNewFileItem?.value) {
|
|
1469
|
+
const parent = await this.workingDirProvider.getUserWorkingDir();
|
|
1470
|
+
// Exec NEW_FILE command with the file name and parent dir as arguments
|
|
1471
|
+
return this.commandRegistry.executeCommand(CommonCommands.NEW_FILE.id, createNewFileItem.value, parent);
|
|
1472
|
+
}
|
|
1473
|
+
}
|
|
1474
|
+
} : undefined;
|
|
1475
|
+
|
|
1449
1476
|
this.quickInputService.showQuickPick(items, {
|
|
1450
1477
|
title: nls.localizeByDefault('New File...'),
|
|
1451
1478
|
placeholder: nls.localizeByDefault('Select File Type or Enter File Name...'),
|
|
1452
|
-
canSelectMany: false
|
|
1479
|
+
canSelectMany: false,
|
|
1480
|
+
onDidChangeValue: picker => {
|
|
1481
|
+
if (createNewFileItem === undefined) {
|
|
1482
|
+
return;
|
|
1483
|
+
}
|
|
1484
|
+
// Dynamically show or hide the "Create New File" item based on the input value.
|
|
1485
|
+
if (picker.value) {
|
|
1486
|
+
createNewFileItem.alwaysShow = true;
|
|
1487
|
+
createNewFileItem.value = picker.value;
|
|
1488
|
+
createNewFileItem.label = nls.localizeByDefault('Create New File ({0})', picker.value);
|
|
1489
|
+
picker.items = [...items, createNewFileItem];
|
|
1490
|
+
} else {
|
|
1491
|
+
createNewFileItem.alwaysShow = false;
|
|
1492
|
+
createNewFileItem.value = undefined;
|
|
1493
|
+
picker.items = items.filter(item => item !== createNewFileItem);
|
|
1494
|
+
}
|
|
1495
|
+
}
|
|
1453
1496
|
});
|
|
1454
1497
|
}
|
|
1455
1498
|
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable } from 'inversify';
|
|
18
|
-
import { Disposable } from '../common';
|
|
19
18
|
import { Emitter, Event } from '../common/event';
|
|
20
19
|
|
|
21
20
|
export type ContextKeyValue = null | undefined | boolean | number | string
|
|
@@ -43,7 +42,7 @@ export interface ContextKeyChangeEvent {
|
|
|
43
42
|
|
|
44
43
|
export const ContextKeyService = Symbol('ContextKeyService');
|
|
45
44
|
|
|
46
|
-
export interface ContextMatcher
|
|
45
|
+
export interface ContextMatcher {
|
|
47
46
|
/**
|
|
48
47
|
* Whether the expression is satisfied. If `context` provided, the service will attempt to retrieve a context object associated with that element.
|
|
49
48
|
*/
|
|
@@ -26,10 +26,6 @@ export const Coordinate = Symbol('Coordinate');
|
|
|
26
26
|
|
|
27
27
|
export type Anchor = MouseEvent | Coordinate;
|
|
28
28
|
|
|
29
|
-
export function toAnchor(anchor: HTMLElement | Coordinate): Anchor {
|
|
30
|
-
return anchor instanceof HTMLElement ? { x: anchor.offsetLeft, y: anchor.offsetTop } : anchor;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
29
|
export function coordinateFromAnchor(anchor: Anchor): Coordinate {
|
|
34
30
|
const { x, y } = anchor instanceof MouseEvent ? { x: anchor.clientX, y: anchor.clientY } : anchor;
|
|
35
31
|
return { x, y };
|
|
@@ -200,6 +200,11 @@ export const corePreferenceSchema: PreferenceSchema = {
|
|
|
200
200
|
'description': nls.localizeByDefault('Controls whether an editor is revealed in any of the visible groups if opened. If disabled, an editor will prefer to open in the currently active editor group. If enabled, an already opened editor will be revealed instead of opened again in the currently active editor group. Note that there are some cases where this setting is ignored, such as when forcing an editor to open in a specific group or to the side of the currently active group.'),
|
|
201
201
|
'default': false
|
|
202
202
|
},
|
|
203
|
+
'workbench.editor.decorations.badges': {
|
|
204
|
+
'type': 'boolean',
|
|
205
|
+
'description': nls.localizeByDefault('Controls whether editor file decorations should use badges.'),
|
|
206
|
+
'default': true
|
|
207
|
+
},
|
|
203
208
|
'workbench.commandPalette.history': {
|
|
204
209
|
type: 'number',
|
|
205
210
|
default: 50,
|
|
@@ -295,6 +300,7 @@ export interface CoreConfiguration {
|
|
|
295
300
|
'workbench.editor.mouseBackForwardToNavigate': boolean;
|
|
296
301
|
'workbench.editor.closeOnFileDelete': boolean;
|
|
297
302
|
'workbench.editor.revealIfOpen': boolean;
|
|
303
|
+
'workbench.editor.decorations.badges': boolean;
|
|
298
304
|
'workbench.colorTheme': string;
|
|
299
305
|
'workbench.iconTheme': string;
|
|
300
306
|
'workbench.silentNotifications': boolean;
|
|
@@ -78,7 +78,7 @@ class DecorationProviderWrapper {
|
|
|
78
78
|
this.data.clear();
|
|
79
79
|
} else {
|
|
80
80
|
for (const uri of uris) {
|
|
81
|
-
this.fetchData(
|
|
81
|
+
this.fetchData(uri);
|
|
82
82
|
const decoration = await provider.provideDecorations(uri, CancellationToken.None);
|
|
83
83
|
if (decoration) {
|
|
84
84
|
this.decorations.set(uri.toString(), decoration);
|
|
@@ -131,14 +131,14 @@ class DecorationProviderWrapper {
|
|
|
131
131
|
private fetchData(uri: URI): Decoration | undefined {
|
|
132
132
|
|
|
133
133
|
// check for pending request and cancel it
|
|
134
|
-
const pendingRequest = this.data.get(
|
|
134
|
+
const pendingRequest = this.data.get(uri);
|
|
135
135
|
if (pendingRequest instanceof DecorationDataRequest) {
|
|
136
136
|
pendingRequest.source.cancel();
|
|
137
137
|
this.data.delete(uri);
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
const source = new CancellationTokenSource();
|
|
141
|
-
const dataOrThenable = this.provider.provideDecorations(
|
|
141
|
+
const dataOrThenable = this.provider.provideDecorations(uri, source.token);
|
|
142
142
|
if (!isThenable<Decoration | Promise<Decoration | undefined> | undefined>(dataOrThenable)) {
|
|
143
143
|
// sync -> we have a result now
|
|
144
144
|
return this.keepItem(uri, dataOrThenable);
|
|
@@ -197,7 +197,7 @@ export class DecorationsServiceImpl implements DecorationsService {
|
|
|
197
197
|
const data: Decoration[] = [];
|
|
198
198
|
let containsChildren: boolean = false;
|
|
199
199
|
for (const wrapper of this.data) {
|
|
200
|
-
wrapper.getOrRetrieve(
|
|
200
|
+
wrapper.getOrRetrieve(uri, includeChildren, (deco, isChild) => {
|
|
201
201
|
if (!isChild || deco.bubble) {
|
|
202
202
|
data.push(deco);
|
|
203
203
|
containsChildren = isChild || containsChildren;
|
|
@@ -139,6 +139,7 @@ import { bindCommonStylingParticipants } from './common-styling-participants';
|
|
|
139
139
|
import { HoverService } from './hover-service';
|
|
140
140
|
import { AdditionalViewsMenuWidget, AdditionalViewsMenuWidgetFactory } from './shell/additional-views-menu-widget';
|
|
141
141
|
import { LanguageIconLabelProvider } from './language-icon-provider';
|
|
142
|
+
import { bindTreePreferences } from './tree';
|
|
142
143
|
|
|
143
144
|
export { bindResourceProvider, bindMessageService, bindPreferenceService };
|
|
144
145
|
|
|
@@ -199,7 +200,9 @@ export const frontendApplicationModule = new ContainerModule((bind, _unbind, _is
|
|
|
199
200
|
const commandService = container.get<CommandService>(CommandService);
|
|
200
201
|
const corePreferences = container.get<CorePreferences>(CorePreferences);
|
|
201
202
|
const hoverService = container.get(HoverService);
|
|
202
|
-
|
|
203
|
+
const contextKeyService: ContextKeyService = container.get(ContextKeyService);
|
|
204
|
+
return new TabBarRenderer(contextMenuRenderer, tabBarDecoratorService, iconThemeService,
|
|
205
|
+
selectionService, commandService, corePreferences, hoverService, contextKeyService);
|
|
203
206
|
});
|
|
204
207
|
bind(TheiaDockPanel.Factory).toFactory(({ container }) => (options?: DockPanel.IOptions) => {
|
|
205
208
|
const corePreferences = container.get<CorePreferences>(CorePreferences);
|
|
@@ -346,7 +349,6 @@ export const frontendApplicationModule = new ContainerModule((bind, _unbind, _is
|
|
|
346
349
|
});
|
|
347
350
|
bind(FrontendConnectionStatusService).toSelf().inSingletonScope();
|
|
348
351
|
bind(ConnectionStatusService).toService(FrontendConnectionStatusService);
|
|
349
|
-
bind(FrontendApplicationContribution).toService(FrontendConnectionStatusService);
|
|
350
352
|
bind(ApplicationConnectionStatusContribution).toSelf().inSingletonScope();
|
|
351
353
|
bind(FrontendApplicationContribution).toService(ApplicationConnectionStatusContribution);
|
|
352
354
|
|
|
@@ -366,6 +368,7 @@ export const frontendApplicationModule = new ContainerModule((bind, _unbind, _is
|
|
|
366
368
|
bind(ThemeService).toSelf().inSingletonScope();
|
|
367
369
|
|
|
368
370
|
bindCorePreferences(bind);
|
|
371
|
+
bindTreePreferences(bind);
|
|
369
372
|
|
|
370
373
|
bind(MimeService).toSelf().inSingletonScope();
|
|
371
374
|
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
*--------------------------------------------------------------------------------------------*/
|
|
20
20
|
// code copied and modified from https://github.com/Microsoft/vscode/blob/main/src/vs/platform/theme/common/iconRegistry.ts
|
|
21
21
|
|
|
22
|
+
import { ThemeIcon } from '../common/theme';
|
|
22
23
|
import { URI } from 'vscode-uri';
|
|
23
24
|
|
|
24
25
|
export interface IconDefinition {
|
|
@@ -48,16 +49,6 @@ export interface IconFontSource {
|
|
|
48
49
|
readonly location: URI;
|
|
49
50
|
readonly format: string;
|
|
50
51
|
}
|
|
51
|
-
|
|
52
|
-
export interface ThemeIcon {
|
|
53
|
-
readonly id: string;
|
|
54
|
-
readonly color?: ThemeColor;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export interface ThemeColor {
|
|
58
|
-
id: string;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
52
|
export const IconRegistry = Symbol('IconRegistry');
|
|
62
53
|
export interface IconRegistry {
|
|
63
54
|
/**
|
|
@@ -497,6 +497,9 @@ export class KeybindingRegistry {
|
|
|
497
497
|
|
|
498
498
|
isEnabledInScope(binding: common.Keybinding, target: HTMLElement | undefined): boolean {
|
|
499
499
|
const context = binding.context && this.contexts[binding.context];
|
|
500
|
+
if (binding.command && (!this.isPseudoCommand(binding.command) && !this.commandRegistry.isEnabled(binding.command, binding.args))) {
|
|
501
|
+
return false;
|
|
502
|
+
}
|
|
500
503
|
if (context && !context.isEnabled(binding)) {
|
|
501
504
|
return false;
|
|
502
505
|
}
|
|
@@ -24,7 +24,7 @@ import { codicon } from '../widgets';
|
|
|
24
24
|
|
|
25
25
|
// #region Copied from Copied from https://github.com/microsoft/vscode/blob/7d9b1c37f8e5ae3772782ba3b09d827eb3fdd833/src/vs/base/browser/formattedTextRenderer.ts
|
|
26
26
|
export interface ContentActionHandler {
|
|
27
|
-
callback: (content: string, event?: MouseEvent) => void;
|
|
27
|
+
callback: (content: string, event?: MouseEvent | KeyboardEvent) => void;
|
|
28
28
|
readonly disposables: DisposableGroup;
|
|
29
29
|
}
|
|
30
30
|
|
|
@@ -40,7 +40,8 @@ export class BrowserContextMenuRenderer extends ContextMenuRenderer {
|
|
|
40
40
|
if (onHide) {
|
|
41
41
|
contextMenu.aboutToClose.connect(() => onHide!());
|
|
42
42
|
}
|
|
43
|
-
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
44
|
+
contextMenu.open(x, y, undefined, context);
|
|
44
45
|
return new BrowserContextMenuAccess(contextMenu);
|
|
45
46
|
}
|
|
46
47
|
|
|
@@ -267,14 +267,14 @@ export class DynamicMenuWidget extends MenuWidget {
|
|
|
267
267
|
});
|
|
268
268
|
}
|
|
269
269
|
|
|
270
|
-
public override open(x: number, y: number, options?: MenuWidget.IOpenOptions): void {
|
|
270
|
+
public override open(x: number, y: number, options?: MenuWidget.IOpenOptions, anchor?: HTMLElement): void {
|
|
271
271
|
const cb = () => {
|
|
272
272
|
this.restoreFocusedElement();
|
|
273
273
|
this.aboutToClose.disconnect(cb);
|
|
274
274
|
};
|
|
275
275
|
this.aboutToClose.connect(cb);
|
|
276
276
|
this.preserveFocusedElement();
|
|
277
|
-
super.open(x, y, options);
|
|
277
|
+
super.open(x, y, options, anchor);
|
|
278
278
|
}
|
|
279
279
|
|
|
280
280
|
protected updateSubMenus(parent: MenuWidget, menu: CompoundMenuNode, commands: MenuCommandRegistry): void {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
|
-
import { MessageService, UNTITLED_SCHEME } from '../common';
|
|
18
|
+
import { MessageService, UNTITLED_SCHEME, URI } from '../common';
|
|
19
19
|
import { Navigatable, NavigatableWidget } from './navigatable-types';
|
|
20
20
|
import { Saveable, SaveableSource, SaveOptions } from './saveable';
|
|
21
21
|
import { Widget } from './widgets';
|
|
@@ -41,11 +41,12 @@ export class SaveResourceService {
|
|
|
41
41
|
*
|
|
42
42
|
* No op if the widget is not saveable.
|
|
43
43
|
*/
|
|
44
|
-
async save(widget: Widget | undefined, options?: SaveOptions): Promise<
|
|
44
|
+
async save(widget: Widget | undefined, options?: SaveOptions): Promise<URI | undefined> {
|
|
45
45
|
if (this.canSaveNotSaveAs(widget)) {
|
|
46
46
|
await Saveable.save(widget, options);
|
|
47
|
+
return NavigatableWidget.getUri(widget);
|
|
47
48
|
} else if (this.canSaveAs(widget)) {
|
|
48
|
-
|
|
49
|
+
return this.saveAs(widget, options);
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
|
|
@@ -53,7 +54,7 @@ export class SaveResourceService {
|
|
|
53
54
|
return false;
|
|
54
55
|
}
|
|
55
56
|
|
|
56
|
-
saveAs(sourceWidget: Widget & SaveableSource & Navigatable, options?: SaveOptions): Promise<
|
|
57
|
+
saveAs(sourceWidget: Widget & SaveableSource & Navigatable, options?: SaveOptions): Promise<URI | undefined> {
|
|
57
58
|
return Promise.reject('Unsupported: The base SaveResourceService does not support saveAs action.');
|
|
58
59
|
}
|
|
59
60
|
}
|
|
@@ -22,8 +22,6 @@ import { ApplicationShell } from './shell/application-shell';
|
|
|
22
22
|
import { Emitter } from '../common/event';
|
|
23
23
|
import { SecondaryWindowService } from './window/secondary-window-service';
|
|
24
24
|
import { KeybindingRegistry } from './keybinding';
|
|
25
|
-
import { ColorApplicationContribution } from './color-application-contribution';
|
|
26
|
-
import { StylingService } from './styling-service';
|
|
27
25
|
|
|
28
26
|
/** Widget to be contained directly in a secondary window. */
|
|
29
27
|
class SecondaryWindowRootWidget extends Widget {
|
|
@@ -47,7 +45,6 @@ class SecondaryWindowRootWidget extends Widget {
|
|
|
47
45
|
* This handler manages the opened secondary windows and sets up messaging between them and the Theia main window.
|
|
48
46
|
* In addition, it provides access to the extracted widgets and provides notifications when widgets are added to or removed from this handler.
|
|
49
47
|
*
|
|
50
|
-
* @experimental The functionality provided by this handler is experimental and has known issues in Electron apps.
|
|
51
48
|
*/
|
|
52
49
|
@injectable()
|
|
53
50
|
export class SecondaryWindowHandler {
|
|
@@ -59,17 +56,19 @@ export class SecondaryWindowHandler {
|
|
|
59
56
|
@inject(KeybindingRegistry)
|
|
60
57
|
protected keybindings: KeybindingRegistry;
|
|
61
58
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
@inject(StylingService)
|
|
66
|
-
protected stylingService: StylingService;
|
|
59
|
+
protected readonly onWillAddWidgetEmitter = new Emitter<[Widget, Window]>();
|
|
60
|
+
/** Subscribe to get notified when a widget is added to this handler, i.e. the widget was moved to an secondary window . */
|
|
61
|
+
readonly onWillAddWidget = this.onWillAddWidgetEmitter.event;
|
|
67
62
|
|
|
68
|
-
protected readonly onDidAddWidgetEmitter = new Emitter<Widget>();
|
|
63
|
+
protected readonly onDidAddWidgetEmitter = new Emitter<[Widget, Window]>();
|
|
69
64
|
/** Subscribe to get notified when a widget is added to this handler, i.e. the widget was moved to an secondary window . */
|
|
70
65
|
readonly onDidAddWidget = this.onDidAddWidgetEmitter.event;
|
|
71
66
|
|
|
72
|
-
protected readonly
|
|
67
|
+
protected readonly onWillRemoveWidgetEmitter = new Emitter<[Widget, Window]>();
|
|
68
|
+
/** Subscribe to get notified when a widget is removed from this handler, i.e. the widget's window was closed or the widget was disposed. */
|
|
69
|
+
readonly onWillRemoveWidget = this.onWillRemoveWidgetEmitter.event;
|
|
70
|
+
|
|
71
|
+
protected readonly onDidRemoveWidgetEmitter = new Emitter<[Widget, Window]>();
|
|
73
72
|
/** Subscribe to get notified when a widget is removed from this handler, i.e. the widget's window was closed or the widget was disposed. */
|
|
74
73
|
readonly onDidRemoveWidget = this.onDidRemoveWidgetEmitter.event;
|
|
75
74
|
|
|
@@ -122,7 +121,8 @@ export class SecondaryWindowHandler {
|
|
|
122
121
|
}
|
|
123
122
|
|
|
124
123
|
const mainWindowTitle = document.title;
|
|
125
|
-
|
|
124
|
+
|
|
125
|
+
newWindow.addEventListener('load', () => {
|
|
126
126
|
this.keybindings.registerEventListeners(newWindow);
|
|
127
127
|
// Use the widget's title as the window title
|
|
128
128
|
// Even if the widget's label were malicious, this should be safe against XSS because the HTML standard defines this is inserted via a text node.
|
|
@@ -134,8 +134,8 @@ export class SecondaryWindowHandler {
|
|
|
134
134
|
console.error('Could not find dom element to attach to in secondary window');
|
|
135
135
|
return;
|
|
136
136
|
}
|
|
137
|
-
|
|
138
|
-
|
|
137
|
+
|
|
138
|
+
this.onWillAddWidgetEmitter.fire([widget, newWindow]);
|
|
139
139
|
|
|
140
140
|
widget.secondaryWindow = newWindow;
|
|
141
141
|
const rootWidget = new SecondaryWindowRootWidget();
|
|
@@ -145,13 +145,12 @@ export class SecondaryWindowHandler {
|
|
|
145
145
|
widget.show();
|
|
146
146
|
widget.update();
|
|
147
147
|
|
|
148
|
-
this.addWidget(widget);
|
|
148
|
+
this.addWidget(widget, newWindow);
|
|
149
149
|
|
|
150
150
|
// Close the window if the widget is disposed, e.g. by a command closing all widgets.
|
|
151
151
|
widget.disposed.connect(() => {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
this.removeWidget(widget);
|
|
152
|
+
this.onWillRemoveWidgetEmitter.fire([widget, newWindow]);
|
|
153
|
+
this.removeWidget(widget, newWindow);
|
|
155
154
|
if (!newWindow.closed) {
|
|
156
155
|
newWindow.close();
|
|
157
156
|
}
|
|
@@ -165,7 +164,7 @@ export class SecondaryWindowHandler {
|
|
|
165
164
|
updateWidget();
|
|
166
165
|
});
|
|
167
166
|
widget.activate();
|
|
168
|
-
};
|
|
167
|
+
});
|
|
169
168
|
}
|
|
170
169
|
|
|
171
170
|
/**
|
|
@@ -195,18 +194,18 @@ export class SecondaryWindowHandler {
|
|
|
195
194
|
return undefined;
|
|
196
195
|
}
|
|
197
196
|
|
|
198
|
-
protected addWidget(widget: ExtractableWidget): void {
|
|
197
|
+
protected addWidget(widget: ExtractableWidget, win: Window): void {
|
|
199
198
|
if (!this._widgets.includes(widget)) {
|
|
200
199
|
this._widgets.push(widget);
|
|
201
|
-
this.onDidAddWidgetEmitter.fire(widget);
|
|
200
|
+
this.onDidAddWidgetEmitter.fire([widget, win]);
|
|
202
201
|
}
|
|
203
202
|
}
|
|
204
203
|
|
|
205
|
-
protected removeWidget(widget: ExtractableWidget): void {
|
|
204
|
+
protected removeWidget(widget: ExtractableWidget, win: Window): void {
|
|
206
205
|
const index = this._widgets.indexOf(widget);
|
|
207
206
|
if (index > -1) {
|
|
208
207
|
this._widgets.splice(index, 1);
|
|
209
|
-
this.onDidRemoveWidgetEmitter.fire(widget);
|
|
208
|
+
this.onDidRemoveWidgetEmitter.fire([widget, win]);
|
|
210
209
|
}
|
|
211
210
|
}
|
|
212
211
|
}
|
|
@@ -44,6 +44,7 @@ import { SecondaryWindowHandler } from '../secondary-window-handler';
|
|
|
44
44
|
import URI from '../../common/uri';
|
|
45
45
|
import { OpenerService } from '../opener-service';
|
|
46
46
|
import { PreviewableWidget } from '../widgets/previewable-widget';
|
|
47
|
+
import { WindowService } from '../window/window-service';
|
|
47
48
|
|
|
48
49
|
/** The class name added to ApplicationShell instances. */
|
|
49
50
|
const APPLICATION_SHELL_CLASS = 'theia-ApplicationShell';
|
|
@@ -132,16 +133,19 @@ export class DockPanelRenderer implements DockLayout.IRenderer {
|
|
|
132
133
|
getDynamicTabOptions());
|
|
133
134
|
this.tabBarClasses.forEach(c => tabBar.addClass(c));
|
|
134
135
|
renderer.tabBar = tabBar;
|
|
135
|
-
tabBar.disposed.connect(() => renderer.dispose());
|
|
136
136
|
renderer.contextMenuPath = SHELL_TABBAR_CONTEXT_MENU;
|
|
137
137
|
tabBar.currentChanged.connect(this.onCurrentTabChanged, this);
|
|
138
|
-
this.corePreferences.onPreferenceChanged(change => {
|
|
138
|
+
const prefChangeDisposable = this.corePreferences.onPreferenceChanged(change => {
|
|
139
139
|
if (change.preferenceName === 'workbench.tab.shrinkToFit.enabled' ||
|
|
140
140
|
change.preferenceName === 'workbench.tab.shrinkToFit.minimumSize' ||
|
|
141
141
|
change.preferenceName === 'workbench.tab.shrinkToFit.defaultSize') {
|
|
142
142
|
tabBar.dynamicTabOptions = getDynamicTabOptions();
|
|
143
143
|
}
|
|
144
144
|
});
|
|
145
|
+
tabBar.disposed.connect(() => {
|
|
146
|
+
prefChangeDisposable.dispose();
|
|
147
|
+
renderer.dispose();
|
|
148
|
+
});
|
|
145
149
|
this.onDidCreateTabBarEmitter.fire(tabBar);
|
|
146
150
|
return tabBar;
|
|
147
151
|
}
|
|
@@ -270,6 +274,7 @@ export class ApplicationShell extends Widget {
|
|
|
270
274
|
@inject(CorePreferences) protected readonly corePreferences: CorePreferences,
|
|
271
275
|
@inject(SaveResourceService) protected readonly saveResourceService: SaveResourceService,
|
|
272
276
|
@inject(SecondaryWindowHandler) protected readonly secondaryWindowHandler: SecondaryWindowHandler,
|
|
277
|
+
@inject(WindowService) protected readonly windowService: WindowService
|
|
273
278
|
) {
|
|
274
279
|
super(options as Widget.IOptions);
|
|
275
280
|
|
|
@@ -335,8 +340,8 @@ export class ApplicationShell extends Widget {
|
|
|
335
340
|
this.rightPanelHandler.dockPanel.widgetRemoved.connect((_, widget) => this.fireDidRemoveWidget(widget));
|
|
336
341
|
|
|
337
342
|
this.secondaryWindowHandler.init(this);
|
|
338
|
-
this.secondaryWindowHandler.onDidAddWidget(widget => this.fireDidAddWidget(widget));
|
|
339
|
-
this.secondaryWindowHandler.onDidRemoveWidget(widget => this.fireDidRemoveWidget(widget));
|
|
343
|
+
this.secondaryWindowHandler.onDidAddWidget(([widget, window]) => this.fireDidAddWidget(widget));
|
|
344
|
+
this.secondaryWindowHandler.onDidRemoveWidget(([widget, window]) => this.fireDidRemoveWidget(widget));
|
|
340
345
|
|
|
341
346
|
this.layout = this.createLayout();
|
|
342
347
|
|
|
@@ -1229,7 +1234,9 @@ export class ApplicationShell extends Widget {
|
|
|
1229
1234
|
Saveable.apply(
|
|
1230
1235
|
widget,
|
|
1231
1236
|
() => this.widgets.filter((maybeSaveable): maybeSaveable is Widget & SaveableSource => !!Saveable.get(maybeSaveable)),
|
|
1232
|
-
(toSave, options) =>
|
|
1237
|
+
async (toSave, options) => {
|
|
1238
|
+
await this.saveResourceService.save(toSave, options);
|
|
1239
|
+
},
|
|
1233
1240
|
);
|
|
1234
1241
|
if (ApplicationShell.TrackableWidgetProvider.is(widget)) {
|
|
1235
1242
|
for (const toTrack of widget.getTrackableWidgets()) {
|
|
@@ -1318,20 +1325,23 @@ export class ApplicationShell extends Widget {
|
|
|
1318
1325
|
let widget = find(this.mainPanel.widgets(), w => w.id === id);
|
|
1319
1326
|
if (widget) {
|
|
1320
1327
|
this.mainPanel.activateWidget(widget);
|
|
1321
|
-
return widget;
|
|
1322
1328
|
}
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1329
|
+
if (!widget) {
|
|
1330
|
+
widget = find(this.bottomPanel.widgets(), w => w.id === id);
|
|
1331
|
+
if (widget) {
|
|
1332
|
+
this.expandBottomPanel();
|
|
1333
|
+
this.bottomPanel.activateWidget(widget);
|
|
1334
|
+
}
|
|
1328
1335
|
}
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1336
|
+
if (!widget) {
|
|
1337
|
+
widget = this.leftPanelHandler.activate(id);
|
|
1338
|
+
}
|
|
1339
|
+
|
|
1340
|
+
if (!widget) {
|
|
1341
|
+
widget = this.rightPanelHandler.activate(id);
|
|
1332
1342
|
}
|
|
1333
|
-
widget = this.rightPanelHandler.activate(id);
|
|
1334
1343
|
if (widget) {
|
|
1344
|
+
this.windowService.focus();
|
|
1335
1345
|
return widget;
|
|
1336
1346
|
}
|
|
1337
1347
|
return this.secondaryWindowHandler.activateWidget(id);
|
|
@@ -1428,17 +1438,19 @@ export class ApplicationShell extends Widget {
|
|
|
1428
1438
|
if (tabBar) {
|
|
1429
1439
|
tabBar.currentTitle = widget.title;
|
|
1430
1440
|
}
|
|
1431
|
-
return widget;
|
|
1432
1441
|
}
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1442
|
+
if (!widget) {
|
|
1443
|
+
widget = this.leftPanelHandler.expand(id);
|
|
1444
|
+
}
|
|
1445
|
+
if (!widget) {
|
|
1446
|
+
widget = this.rightPanelHandler.expand(id);
|
|
1436
1447
|
}
|
|
1437
|
-
widget = this.rightPanelHandler.expand(id);
|
|
1438
1448
|
if (widget) {
|
|
1449
|
+
this.windowService.focus();
|
|
1439
1450
|
return widget;
|
|
1451
|
+
} else {
|
|
1452
|
+
return this.secondaryWindowHandler.revealWidget(id);
|
|
1440
1453
|
}
|
|
1441
|
-
return this.secondaryWindowHandler.revealWidget(id);
|
|
1442
1454
|
}
|
|
1443
1455
|
|
|
1444
1456
|
/**
|