@theia/core 1.29.0-next.9 → 1.29.0
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 +10 -9
- package/i18n/nls.cs.json +80 -1
- package/i18n/nls.de.json +80 -1
- package/i18n/nls.es.json +80 -1
- package/i18n/nls.fr.json +80 -1
- package/i18n/nls.hu.json +80 -1
- package/i18n/nls.it.json +80 -1
- package/i18n/nls.ja.json +80 -1
- package/i18n/nls.json +80 -1
- package/i18n/nls.pl.json +80 -1
- package/i18n/nls.pt-br.json +80 -1
- package/i18n/nls.pt-pt.json +80 -1
- package/i18n/nls.ru.json +80 -1
- package/i18n/nls.zh-cn.json +80 -1
- package/lib/browser/authentication-service.d.ts +18 -6
- package/lib/browser/authentication-service.d.ts.map +1 -1
- package/lib/browser/authentication-service.js +4 -4
- package/lib/browser/authentication-service.js.map +1 -1
- package/lib/browser/breadcrumbs/breadcrumbs-renderer.d.ts +0 -2
- package/lib/browser/breadcrumbs/breadcrumbs-renderer.d.ts.map +1 -1
- package/lib/browser/breadcrumbs/breadcrumbs-renderer.js +0 -2
- package/lib/browser/breadcrumbs/breadcrumbs-renderer.js.map +1 -1
- package/lib/browser/common-frontend-contribution.d.ts +4 -0
- package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/common-frontend-contribution.js +37 -0
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/core-preferences.d.ts.map +1 -1
- package/lib/browser/core-preferences.js +2 -1
- package/lib/browser/core-preferences.js.map +1 -1
- package/lib/browser/decorations-service.d.ts.map +1 -1
- package/lib/browser/decorations-service.js +2 -6
- package/lib/browser/decorations-service.js.map +1 -1
- package/lib/browser/dialogs/react-dialog.d.ts +2 -2
- package/lib/browser/dialogs/react-dialog.d.ts.map +1 -1
- package/lib/browser/dialogs/react-dialog.js +4 -6
- package/lib/browser/dialogs/react-dialog.js.map +1 -1
- package/lib/browser/keybinding.spec.js +0 -1
- package/lib/browser/keybinding.spec.js.map +1 -1
- package/lib/browser/keyboard/keys.spec.js +0 -1
- package/lib/browser/keyboard/keys.spec.js.map +1 -1
- package/lib/browser/label-parser.spec.js +0 -1
- package/lib/browser/label-parser.spec.js.map +1 -1
- package/lib/browser/label-provider.d.ts +1 -1
- package/lib/browser/label-provider.d.ts.map +1 -1
- package/lib/browser/label-provider.js +1 -2
- package/lib/browser/label-provider.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 +0 -1
- package/lib/browser/menu/browser-context-menu-renderer.js.map +1 -1
- package/lib/browser/menu/browser-menu-plugin.d.ts +0 -1
- package/lib/browser/menu/browser-menu-plugin.d.ts.map +1 -1
- package/lib/browser/menu/browser-menu-plugin.js +3 -2
- package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
- package/lib/browser/navigatable-types.d.ts +3 -3
- package/lib/browser/navigatable-types.d.ts.map +1 -1
- package/lib/browser/navigatable-types.js +2 -3
- package/lib/browser/navigatable-types.js.map +1 -1
- package/lib/browser/preferences/injectable-preference-proxy.js +1 -1
- package/lib/browser/preferences/injectable-preference-proxy.js.map +1 -1
- package/lib/browser/preferences/preference-contribution.js +3 -3
- package/lib/browser/preferences/preference-contribution.js.map +1 -1
- package/lib/browser/preferences/preference-language-override-service.d.ts +2 -2
- package/lib/browser/preferences/preference-language-override-service.d.ts.map +1 -1
- package/lib/browser/preferences/preference-language-override-service.js +0 -2
- package/lib/browser/preferences/preference-language-override-service.js.map +1 -1
- package/lib/browser/preferences/preference-proxy.spec.js +0 -1
- package/lib/browser/preferences/preference-proxy.spec.js.map +1 -1
- package/lib/browser/preferences/preference-service.spec.js +0 -1
- package/lib/browser/preferences/preference-service.spec.js.map +1 -1
- package/lib/browser/preferences/preference-validation-service.spec.js +1 -1
- package/lib/browser/preferences/preference-validation-service.spec.js.map +1 -1
- package/lib/browser/saveable.d.ts +6 -6
- package/lib/browser/saveable.d.ts.map +1 -1
- package/lib/browser/saveable.js +2 -8
- package/lib/browser/saveable.js.map +1 -1
- package/lib/browser/shell/application-shell.d.ts +3 -3
- package/lib/browser/shell/application-shell.d.ts.map +1 -1
- package/lib/browser/shell/application-shell.js +2 -4
- package/lib/browser/shell/application-shell.js.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.d.ts +1 -1
- package/lib/browser/shell/shell-layout-restorer.d.ts.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.js +1 -2
- package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts +1 -1
- 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 +1 -2
- 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 +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 +3 -6
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
- package/lib/browser/shell/tab-bars.d.ts.map +1 -1
- package/lib/browser/shell/tab-bars.js +0 -1
- package/lib/browser/shell/tab-bars.js.map +1 -1
- package/lib/browser/shell/view-contribution.d.ts +1 -1
- package/lib/browser/shell/view-contribution.d.ts.map +1 -1
- package/lib/browser/shell/view-contribution.js +0 -1
- package/lib/browser/shell/view-contribution.js.map +1 -1
- package/lib/browser/source-tree/tree-source.d.ts +2 -2
- package/lib/browser/source-tree/tree-source.d.ts.map +1 -1
- package/lib/browser/source-tree/tree-source.js +1 -2
- package/lib/browser/source-tree/tree-source.js.map +1 -1
- package/lib/browser/tooltip-service.d.ts +0 -2
- package/lib/browser/tooltip-service.d.ts.map +1 -1
- package/lib/browser/tooltip-service.js +0 -2
- package/lib/browser/tooltip-service.js.map +1 -1
- package/lib/browser/tree/tree-decorator.spec.js +0 -1
- package/lib/browser/tree/tree-decorator.spec.js.map +1 -1
- package/lib/browser/tree/tree-expansion.d.ts +2 -2
- package/lib/browser/tree/tree-expansion.d.ts.map +1 -1
- package/lib/browser/tree/tree-expansion.js.map +1 -1
- package/lib/browser/tree/tree-expansion.spec.js +0 -1
- package/lib/browser/tree/tree-expansion.spec.js.map +1 -1
- package/lib/browser/tree/tree-iterator.spec.js +0 -2
- package/lib/browser/tree/tree-iterator.spec.js.map +1 -1
- package/lib/browser/tree/tree-selection-state.d.ts +1 -1
- package/lib/browser/tree/tree-selection-state.d.ts.map +1 -1
- package/lib/browser/tree/tree-selection-state.js.map +1 -1
- package/lib/browser/tree/tree-selection-state.spec.js.map +1 -1
- package/lib/browser/tree/tree-selection.d.ts +3 -3
- package/lib/browser/tree/tree-selection.d.ts.map +1 -1
- package/lib/browser/tree/tree-selection.js +2 -2
- package/lib/browser/tree/tree-selection.js.map +1 -1
- package/lib/browser/tree/tree-widget-selection.d.ts +3 -3
- package/lib/browser/tree/tree-widget-selection.d.ts.map +1 -1
- package/lib/browser/tree/tree-widget-selection.js +1 -2
- package/lib/browser/tree/tree-widget-selection.js.map +1 -1
- package/lib/browser/tree/tree-widget.d.ts +7 -25
- package/lib/browser/tree/tree-widget.d.ts.map +1 -1
- package/lib/browser/tree/tree-widget.js +29 -46
- package/lib/browser/tree/tree-widget.js.map +1 -1
- package/lib/browser/tree/tree.d.ts +1 -1
- package/lib/browser/tree/tree.d.ts.map +1 -1
- package/lib/browser/tree/tree.js.map +1 -1
- package/lib/browser/tree/tree.spec.js +0 -1
- package/lib/browser/tree/tree.spec.js.map +1 -1
- package/lib/browser/view-container.d.ts +5 -5
- package/lib/browser/view-container.d.ts.map +1 -1
- package/lib/browser/view-container.js +2 -4
- package/lib/browser/view-container.js.map +1 -1
- package/lib/browser/widget-manager.d.ts +3 -1
- package/lib/browser/widget-manager.d.ts.map +1 -1
- package/lib/browser/widget-manager.js +6 -8
- package/lib/browser/widget-manager.js.map +1 -1
- package/lib/browser/widget-manager.spec.js +37 -18
- package/lib/browser/widget-manager.spec.js.map +1 -1
- package/lib/browser/widgets/alert-message.d.ts +1 -0
- package/lib/browser/widgets/alert-message.d.ts.map +1 -1
- package/lib/browser/widgets/alert-message.js.map +1 -1
- package/lib/browser/widgets/react-renderer.d.ts +4 -1
- package/lib/browser/widgets/react-renderer.d.ts.map +1 -1
- package/lib/browser/widgets/react-renderer.js +7 -3
- package/lib/browser/widgets/react-renderer.js.map +1 -1
- package/lib/browser/widgets/react-widget.d.ts +2 -2
- package/lib/browser/widgets/react-widget.d.ts.map +1 -1
- package/lib/browser/widgets/react-widget.js +4 -6
- package/lib/browser/widgets/react-widget.js.map +1 -1
- package/lib/browser/widgets/select-component.d.ts +3 -7
- package/lib/browser/widgets/select-component.d.ts.map +1 -1
- package/lib/browser/widgets/select-component.js +10 -12
- package/lib/browser/widgets/select-component.js.map +1 -1
- package/lib/browser/widgets/widget.d.ts +1 -1
- package/lib/browser/widgets/widget.d.ts.map +1 -1
- package/lib/browser/widgets/widget.js +1 -2
- package/lib/browser/widgets/widget.js.map +1 -1
- package/lib/common/cancellation.d.ts +1 -1
- package/lib/common/cancellation.d.ts.map +1 -1
- package/lib/common/cancellation.js +0 -1
- package/lib/common/cancellation.js.map +1 -1
- package/lib/common/command.d.ts +1 -1
- package/lib/common/command.d.ts.map +1 -1
- package/lib/common/command.js +1 -2
- package/lib/common/command.js.map +1 -1
- package/lib/common/command.spec.js +0 -1
- package/lib/common/command.spec.js.map +1 -1
- package/lib/common/disposable.d.ts +1 -1
- package/lib/common/disposable.d.ts.map +1 -1
- package/lib/common/disposable.js +1 -2
- package/lib/common/disposable.js.map +1 -1
- package/lib/common/disposable.spec.js +0 -1
- package/lib/common/disposable.spec.js.map +1 -1
- package/lib/common/glob.d.ts +1 -1
- package/lib/common/glob.d.ts.map +1 -1
- package/lib/common/glob.js +1 -2
- package/lib/common/glob.js.map +1 -1
- package/lib/common/keybinding.d.ts +1 -1
- package/lib/common/keybinding.d.ts.map +1 -1
- package/lib/common/keybinding.js +1 -2
- package/lib/common/keybinding.js.map +1 -1
- package/lib/common/keys.d.ts +1 -1
- package/lib/common/keys.d.ts.map +1 -1
- package/lib/common/keys.js +1 -2
- package/lib/common/keys.js.map +1 -1
- package/lib/common/logger.spec.js +0 -1
- package/lib/common/logger.spec.js.map +1 -1
- package/lib/common/lsp-types.d.ts +1 -1
- package/lib/common/lsp-types.d.ts.map +1 -1
- package/lib/common/lsp-types.js +6 -2
- package/lib/common/lsp-types.js.map +1 -1
- package/lib/common/menu/menu-types.d.ts +1 -1
- package/lib/common/menu/menu-types.d.ts.map +1 -1
- package/lib/common/menu/menu-types.js +1 -2
- package/lib/common/menu/menu-types.js.map +1 -1
- package/lib/common/menu/menu.spec.js +0 -1
- package/lib/common/menu/menu.spec.js.map +1 -1
- package/lib/common/message-rpc/channel.d.ts +17 -8
- package/lib/common/message-rpc/channel.d.ts.map +1 -1
- package/lib/common/message-rpc/channel.js +37 -10
- package/lib/common/message-rpc/channel.js.map +1 -1
- package/lib/common/message-rpc/index.d.ts +1 -1
- package/lib/common/message-rpc/index.d.ts.map +1 -1
- package/lib/common/message-rpc/index.js +3 -1
- package/lib/common/message-rpc/index.js.map +1 -1
- package/lib/common/message-rpc/rpc-message-encoder.d.ts +23 -92
- package/lib/common/message-rpc/rpc-message-encoder.d.ts.map +1 -1
- package/lib/common/message-rpc/rpc-message-encoder.js +47 -359
- package/lib/common/message-rpc/rpc-message-encoder.js.map +1 -1
- package/lib/common/message-rpc/rpc-message-encoder.spec.js +24 -14
- package/lib/common/message-rpc/rpc-message-encoder.spec.js.map +1 -1
- package/lib/common/message-rpc/rpc-protocol.d.ts.map +1 -1
- package/lib/common/message-rpc/rpc-protocol.js +2 -2
- package/lib/common/message-rpc/rpc-protocol.js.map +1 -1
- package/lib/common/messaging/web-socket-channel.d.ts +2 -12
- package/lib/common/messaging/web-socket-channel.d.ts.map +1 -1
- package/lib/common/messaging/web-socket-channel.js +4 -22
- package/lib/common/messaging/web-socket-channel.js.map +1 -1
- package/lib/common/preferences/preference-schema.d.ts +3 -2
- package/lib/common/preferences/preference-schema.d.ts.map +1 -1
- package/lib/common/preferences/preference-schema.js +1 -1
- package/lib/common/preferences/preference-schema.js.map +1 -1
- package/lib/common/preferences/preference-scope.d.ts +1 -1
- package/lib/common/preferences/preference-scope.d.ts.map +1 -1
- package/lib/common/preferences/preference-scope.js +6 -10
- package/lib/common/preferences/preference-scope.js.map +1 -1
- package/lib/common/preferences/preference-scope.spec.d.ts +2 -0
- package/lib/common/preferences/preference-scope.spec.d.ts.map +1 -0
- package/lib/common/preferences/preference-scope.spec.js +45 -0
- package/lib/common/preferences/preference-scope.spec.js.map +1 -0
- package/lib/common/promise-util.d.ts +1 -0
- package/lib/common/promise-util.d.ts.map +1 -1
- package/lib/common/promise-util.js +5 -1
- package/lib/common/promise-util.js.map +1 -1
- package/lib/common/quick-pick-service.d.ts +4 -1
- package/lib/common/quick-pick-service.d.ts.map +1 -1
- package/lib/common/selection.d.ts +3 -3
- package/lib/common/selection.d.ts.map +1 -1
- package/lib/common/selection.js +1 -2
- package/lib/common/selection.js.map +1 -1
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.d.ts +5 -1
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.d.ts.map +1 -1
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.js +16 -16
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.js.map +1 -1
- package/lib/electron-main/electron-main-application.js +1 -1
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-contribution.d.ts +3 -9
- package/lib/electron-main/messaging/electron-messaging-contribution.d.ts.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-contribution.js +2 -17
- package/lib/electron-main/messaging/electron-messaging-contribution.js.map +1 -1
- package/lib/node/i18n/localization-backend-contribution.d.ts +3 -0
- package/lib/node/i18n/localization-backend-contribution.d.ts.map +1 -1
- package/lib/node/i18n/localization-backend-contribution.js +10 -1
- package/lib/node/i18n/localization-backend-contribution.js.map +1 -1
- package/lib/node/messaging/ipc-channel.d.ts +2 -10
- package/lib/node/messaging/ipc-channel.d.ts.map +1 -1
- package/lib/node/messaging/ipc-channel.js +2 -18
- package/lib/node/messaging/ipc-channel.js.map +1 -1
- package/lib/node/messaging/ipc-connection-provider.d.ts.map +1 -1
- package/lib/node/messaging/ipc-connection-provider.js +5 -1
- package/lib/node/messaging/ipc-connection-provider.js.map +1 -1
- package/package.json +14 -13
- package/shared/react-dom/client/index.d.ts +1 -0
- package/shared/react-dom/client/index.js +1 -0
- package/shared/react-virtuoso/index.d.ts +1 -0
- package/shared/react-virtuoso/index.js +1 -0
- package/src/browser/authentication-service.ts +23 -12
- package/src/browser/breadcrumbs/breadcrumbs-renderer.tsx +0 -2
- package/src/browser/common-frontend-contribution.ts +41 -1
- package/src/browser/core-preferences.ts +2 -1
- package/src/browser/decorations-service.ts +1 -6
- package/src/browser/dialogs/react-dialog.tsx +6 -7
- package/src/browser/keybinding.spec.ts +0 -2
- package/src/browser/keyboard/keys.spec.ts +0 -2
- package/src/browser/label-parser.spec.ts +0 -2
- package/src/browser/label-provider.ts +2 -3
- package/src/browser/menu/browser-context-menu-renderer.ts +0 -2
- package/src/browser/menu/browser-menu-plugin.ts +3 -3
- package/src/browser/navigatable-types.ts +5 -6
- package/src/browser/preferences/injectable-preference-proxy.ts +1 -1
- package/src/browser/preferences/preference-contribution.ts +3 -3
- package/src/browser/preferences/preference-language-override-service.ts +2 -4
- package/src/browser/preferences/preference-proxy.spec.ts +0 -1
- package/src/browser/preferences/preference-service.spec.ts +0 -1
- package/src/browser/preferences/preference-validation-service.spec.ts +1 -1
- package/src/browser/saveable.ts +9 -15
- package/src/browser/shell/application-shell.ts +6 -7
- package/src/browser/shell/shell-layout-restorer.ts +2 -3
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts +2 -3
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +4 -5
- package/src/browser/shell/tab-bars.ts +0 -1
- package/src/browser/shell/view-contribution.ts +1 -2
- package/src/browser/source-tree/tree-source.ts +3 -4
- package/src/browser/style/index.css +5 -1
- package/src/browser/tooltip-service.tsx +0 -2
- package/src/browser/tree/tree-decorator.spec.ts +0 -2
- package/src/browser/tree/tree-expansion.spec.ts +0 -1
- package/src/browser/tree/tree-expansion.ts +2 -2
- package/src/browser/tree/tree-iterator.spec.ts +0 -3
- package/src/browser/tree/tree-selection-state.spec.ts +0 -2
- package/src/browser/tree/tree-selection-state.ts +1 -1
- package/src/browser/tree/tree-selection.ts +5 -5
- package/src/browser/tree/tree-widget-selection.ts +4 -5
- package/src/browser/tree/tree-widget.tsx +33 -68
- package/src/browser/tree/tree.spec.ts +0 -1
- package/src/browser/tree/tree.ts +1 -1
- package/src/browser/view-container.ts +7 -9
- package/src/browser/widget-manager.spec.ts +40 -18
- package/src/browser/widget-manager.ts +6 -8
- package/src/browser/widgets/alert-message.tsx +1 -0
- package/src/browser/widgets/react-renderer.tsx +9 -4
- package/src/browser/widgets/react-widget.tsx +6 -7
- package/src/browser/widgets/select-component.tsx +13 -19
- package/src/browser/widgets/widget.ts +2 -3
- package/src/common/cancellation.ts +1 -2
- package/src/common/command.spec.ts +0 -2
- package/src/common/command.ts +2 -3
- package/src/common/disposable.spec.ts +0 -1
- package/src/common/disposable.ts +2 -3
- package/src/common/glob.ts +2 -3
- package/src/common/keybinding.ts +2 -3
- package/src/common/keys.ts +2 -3
- package/src/common/logger.spec.ts +0 -2
- package/src/common/lsp-types.ts +7 -3
- package/src/common/menu/menu-types.ts +2 -3
- package/src/common/menu/menu.spec.ts +0 -1
- package/src/common/message-rpc/channel.ts +31 -10
- package/src/common/message-rpc/index.ts +1 -1
- package/src/common/message-rpc/rpc-message-encoder.spec.ts +26 -16
- package/src/common/message-rpc/rpc-message-encoder.ts +54 -429
- package/src/common/message-rpc/rpc-protocol.ts +3 -3
- package/src/common/messaging/web-socket-channel.ts +5 -28
- package/src/common/preferences/preference-schema.ts +4 -3
- package/src/common/preferences/preference-scope.spec.ts +48 -0
- package/src/common/preferences/preference-scope.ts +7 -12
- package/src/common/promise-util.ts +4 -0
- package/src/common/quick-pick-service.ts +1 -1
- package/src/common/selection.ts +4 -5
- package/src/electron-browser/messaging/electron-ipc-connection-provider.ts +21 -19
- package/src/electron-main/electron-main-application.ts +1 -1
- package/src/electron-main/messaging/electron-messaging-contribution.ts +6 -21
- package/src/node/i18n/localization-backend-contribution.ts +9 -2
- package/src/node/messaging/ipc-channel.ts +3 -23
- package/src/node/messaging/ipc-connection-provider.ts +5 -1
- package/shared/react-virtualized/index.d.ts +0 -1
- package/shared/react-virtualized/index.js +0 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2022 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 WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import { expect } from 'chai';
|
|
18
|
+
import { PreferenceScope } from './preference-scope';
|
|
19
|
+
|
|
20
|
+
describe('PreferenceScope', () => {
|
|
21
|
+
|
|
22
|
+
it('getScopes() should return numbers from broadest to narrowest', () => {
|
|
23
|
+
expect(PreferenceScope.getScopes()).deep.equal([0, 1, 2, 3]);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it('getReversedScopes() should return numbers from narrowest to broadest', () => {
|
|
27
|
+
expect(PreferenceScope.getReversedScopes()).deep.equal([3, 2, 1, 0]);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it('getScopeNames() should return the names of scopes broader than the current one', () => {
|
|
31
|
+
expect(PreferenceScope.getScopeNames(PreferenceScope.Workspace)).deep.equal(['Default', 'User', 'Workspace']);
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
it('is() returns whether a value is a preference scope', () => {
|
|
35
|
+
expect(PreferenceScope.is(PreferenceScope.Default)).to.be.true;
|
|
36
|
+
expect(PreferenceScope.is(PreferenceScope.User)).to.be.true;
|
|
37
|
+
expect(PreferenceScope.is(PreferenceScope.Workspace)).to.be.true;
|
|
38
|
+
expect(PreferenceScope.is(PreferenceScope.Folder)).to.be.true;
|
|
39
|
+
expect(PreferenceScope.is(0)).to.be.true;
|
|
40
|
+
expect(PreferenceScope.is(1)).to.be.true;
|
|
41
|
+
expect(PreferenceScope.is(2)).to.be.true;
|
|
42
|
+
expect(PreferenceScope.is(3)).to.be.true;
|
|
43
|
+
expect(PreferenceScope.is(4)).to.be.false;
|
|
44
|
+
expect(PreferenceScope.is(-1)).to.be.false;
|
|
45
|
+
expect(PreferenceScope.is({})).to.be.false;
|
|
46
|
+
expect(PreferenceScope.is('Default')).to.be.false;
|
|
47
|
+
});
|
|
48
|
+
});
|
|
@@ -14,8 +14,6 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
18
|
-
|
|
19
17
|
export enum PreferenceScope {
|
|
20
18
|
Default,
|
|
21
19
|
User,
|
|
@@ -24,17 +22,15 @@ export enum PreferenceScope {
|
|
|
24
22
|
}
|
|
25
23
|
|
|
26
24
|
export namespace PreferenceScope {
|
|
27
|
-
export function is(scope:
|
|
28
|
-
return typeof scope === 'number' && getScopes().
|
|
25
|
+
export function is(scope: unknown): scope is PreferenceScope {
|
|
26
|
+
return typeof scope === 'number' && getScopes().includes(scope);
|
|
29
27
|
}
|
|
30
28
|
|
|
31
29
|
/**
|
|
32
30
|
* @returns preference scopes from broadest to narrowest: Default -> Folder.
|
|
33
31
|
*/
|
|
34
32
|
export function getScopes(): PreferenceScope[] {
|
|
35
|
-
return Object.
|
|
36
|
-
.filter(k => typeof PreferenceScope[k as any] === 'string')
|
|
37
|
-
.map(v => <PreferenceScope>Number(v));
|
|
33
|
+
return Object.values(PreferenceScope).filter(nameOrIndex => !isNaN(Number(nameOrIndex))) as PreferenceScope[];
|
|
38
34
|
}
|
|
39
35
|
|
|
40
36
|
/**
|
|
@@ -46,12 +42,11 @@ export namespace PreferenceScope {
|
|
|
46
42
|
|
|
47
43
|
export function getScopeNames(scope?: PreferenceScope): string[] {
|
|
48
44
|
const names: string[] = [];
|
|
49
|
-
const
|
|
50
|
-
.filter(k => typeof PreferenceScope[k as any] === 'number');
|
|
45
|
+
const scopes = getScopes();
|
|
51
46
|
if (scope) {
|
|
52
|
-
for (const
|
|
53
|
-
if (
|
|
54
|
-
names.push(
|
|
47
|
+
for (const scopeIndex of scopes) {
|
|
48
|
+
if (scopeIndex <= scope) {
|
|
49
|
+
names.push(PreferenceScope[scopeIndex]);
|
|
55
50
|
}
|
|
56
51
|
}
|
|
57
52
|
}
|
|
@@ -124,3 +124,7 @@ export function waitForEvent<T>(event: Event<T>, ms: number, thisArg?: any, disp
|
|
|
124
124
|
|
|
125
125
|
});
|
|
126
126
|
}
|
|
127
|
+
|
|
128
|
+
export function isThenable<T>(obj: unknown): obj is Promise<T> {
|
|
129
|
+
return typeof obj === 'object' && !!obj && typeof (obj as Promise<unknown>).then === 'function';
|
|
130
|
+
}
|
|
@@ -216,7 +216,7 @@ export interface InputOptions {
|
|
|
216
216
|
placeHolder?: string;
|
|
217
217
|
password?: boolean;
|
|
218
218
|
ignoreFocusLost?: boolean;
|
|
219
|
-
validateInput?(input: string): Promise<string | null | undefined> | undefined;
|
|
219
|
+
validateInput?(input: string): Promise<string | { content: string; severity: number; } | null | undefined> | undefined;
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
export interface QuickPickItemButtonEvent<T extends QuickPickItemOrSeparator> {
|
package/src/common/selection.ts
CHANGED
|
@@ -22,12 +22,11 @@ export interface UriSelection {
|
|
|
22
22
|
|
|
23
23
|
export namespace UriSelection {
|
|
24
24
|
|
|
25
|
-
export function is(arg:
|
|
26
|
-
|
|
27
|
-
return typeof arg === 'object' && ('uri' in arg) && (<any>arg)['uri'] instanceof URI;
|
|
25
|
+
export function is(arg: unknown): arg is UriSelection {
|
|
26
|
+
return !!arg && typeof arg === 'object' && ('uri' in arg) && (arg as UriSelection).uri instanceof URI;
|
|
28
27
|
}
|
|
29
28
|
|
|
30
|
-
export function getUri(selection:
|
|
29
|
+
export function getUri(selection: unknown): URI | undefined {
|
|
31
30
|
if (is(selection)) {
|
|
32
31
|
return selection.uri;
|
|
33
32
|
}
|
|
@@ -37,7 +36,7 @@ export namespace UriSelection {
|
|
|
37
36
|
return undefined;
|
|
38
37
|
}
|
|
39
38
|
|
|
40
|
-
export function getUris(selection:
|
|
39
|
+
export function getUris(selection: unknown): URI[] {
|
|
41
40
|
if (is(selection)) {
|
|
42
41
|
return [selection.uri];
|
|
43
42
|
}
|
|
@@ -19,9 +19,8 @@ import { injectable, interfaces } from 'inversify';
|
|
|
19
19
|
import { JsonRpcProxy } from '../../common/messaging';
|
|
20
20
|
import { AbstractConnectionProvider } from '../../common/messaging/abstract-connection-provider';
|
|
21
21
|
import { THEIA_ELECTRON_IPC_CHANNEL_NAME } from '../../electron-common/messaging/electron-connection-handler';
|
|
22
|
-
import {
|
|
22
|
+
import { AbstractChannel, Channel, Disposable, WriteBuffer } from '../../common';
|
|
23
23
|
import { Uint8ArrayReadBuffer, Uint8ArrayWriteBuffer } from '../../common/message-rpc/uint8-array-message-buffer';
|
|
24
|
-
import { Channel, MessageProvider } from '../../common/message-rpc/channel';
|
|
25
24
|
|
|
26
25
|
export interface ElectronIpcOptions {
|
|
27
26
|
}
|
|
@@ -42,23 +41,26 @@ export class ElectronIpcConnectionProvider extends AbstractConnectionProvider<El
|
|
|
42
41
|
}
|
|
43
42
|
|
|
44
43
|
protected createMainChannel(): Channel {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
44
|
+
return new ElectronIpcRendererChannel();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export class ElectronIpcRendererChannel extends AbstractChannel {
|
|
50
|
+
|
|
51
|
+
constructor() {
|
|
52
|
+
super();
|
|
53
|
+
const ipcMessageHandler = (_event: ElectronEvent, data: Uint8Array) => this.onMessageEmitter.fire(() => new Uint8ArrayReadBuffer(data));
|
|
54
|
+
ipcRenderer.on(THEIA_ELECTRON_IPC_CHANNEL_NAME, ipcMessageHandler);
|
|
55
|
+
this.toDispose.push(Disposable.create(() => ipcRenderer.removeListener(THEIA_ELECTRON_IPC_CHANNEL_NAME, ipcMessageHandler)));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
getWriteBuffer(): WriteBuffer {
|
|
59
|
+
const writer = new Uint8ArrayWriteBuffer();
|
|
60
|
+
writer.onCommit(buffer =>
|
|
61
|
+
ipcRenderer.send(THEIA_ELECTRON_IPC_CHANNEL_NAME, buffer)
|
|
62
|
+
);
|
|
63
|
+
return writer;
|
|
62
64
|
}
|
|
63
65
|
|
|
64
66
|
}
|
|
@@ -500,7 +500,7 @@ export class ElectronMainApplication {
|
|
|
500
500
|
app.on('window-all-closed', this.onWindowAllClosed.bind(this));
|
|
501
501
|
|
|
502
502
|
ipcMain.on(TitleBarStyleChanged, ({ sender }, titleBarStyle: string) => {
|
|
503
|
-
this.useNativeWindowFrame = titleBarStyle === 'native';
|
|
503
|
+
this.useNativeWindowFrame = isOSX || titleBarStyle === 'native';
|
|
504
504
|
const browserWindow = BrowserWindow.fromId(sender.id);
|
|
505
505
|
if (browserWindow) {
|
|
506
506
|
this.saveWindowState(browserWindow);
|
|
@@ -21,8 +21,8 @@ import { MessagingContribution } from '../../node/messaging/messaging-contributi
|
|
|
21
21
|
import { ElectronConnectionHandler, THEIA_ELECTRON_IPC_CHANNEL_NAME } from '../../electron-common/messaging/electron-connection-handler';
|
|
22
22
|
import { ElectronMainApplicationContribution } from '../electron-main-application';
|
|
23
23
|
import { ElectronMessagingService } from './electron-messaging-service';
|
|
24
|
-
import {
|
|
25
|
-
import { Emitter,
|
|
24
|
+
import { AbstractChannel, Channel, ChannelMultiplexer, MessageProvider } from '../../common/message-rpc/channel';
|
|
25
|
+
import { Emitter, WriteBuffer } from '../../common';
|
|
26
26
|
import { Uint8ArrayReadBuffer, Uint8ArrayWriteBuffer } from '../../common/message-rpc/uint8-array-message-buffer';
|
|
27
27
|
|
|
28
28
|
/**
|
|
@@ -114,24 +114,13 @@ export class ElectronMessagingContribution implements ElectronMainApplicationCon
|
|
|
114
114
|
* Used to establish a connection between the ipcMain and the Electron frontend (window).
|
|
115
115
|
* Messages a transferred via electron IPC.
|
|
116
116
|
*/
|
|
117
|
-
export class ElectronWebContentChannel
|
|
118
|
-
protected readonly onCloseEmitter: Emitter<ChannelCloseEvent> = new Emitter();
|
|
119
|
-
get onClose(): Event<ChannelCloseEvent> {
|
|
120
|
-
return this.onCloseEmitter.event;
|
|
121
|
-
}
|
|
117
|
+
export class ElectronWebContentChannel extends AbstractChannel {
|
|
122
118
|
|
|
123
119
|
// Make the message emitter public so that we can easily forward messages received from the ipcMain.
|
|
124
|
-
readonly onMessageEmitter: Emitter<MessageProvider> = new Emitter();
|
|
125
|
-
get onMessage(): Event<MessageProvider> {
|
|
126
|
-
return this.onMessageEmitter.event;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
protected readonly onErrorEmitter: Emitter<unknown> = new Emitter();
|
|
130
|
-
get onError(): Event<unknown> {
|
|
131
|
-
return this.onErrorEmitter.event;
|
|
132
|
-
}
|
|
120
|
+
override readonly onMessageEmitter: Emitter<MessageProvider> = new Emitter();
|
|
133
121
|
|
|
134
122
|
constructor(protected readonly sender: Electron.WebContents) {
|
|
123
|
+
super();
|
|
135
124
|
}
|
|
136
125
|
|
|
137
126
|
getWriteBuffer(): WriteBuffer {
|
|
@@ -145,9 +134,5 @@ export class ElectronWebContentChannel implements Channel {
|
|
|
145
134
|
|
|
146
135
|
return writer;
|
|
147
136
|
}
|
|
148
|
-
|
|
149
|
-
this.onCloseEmitter.dispose();
|
|
150
|
-
this.onMessageEmitter.dispose();
|
|
151
|
-
this.onErrorEmitter.dispose();
|
|
152
|
-
}
|
|
137
|
+
|
|
153
138
|
}
|
|
@@ -16,12 +16,14 @@
|
|
|
16
16
|
|
|
17
17
|
import * as express from 'express';
|
|
18
18
|
import { inject, injectable } from 'inversify';
|
|
19
|
+
import { Deferred } from '../../common/promise-util';
|
|
19
20
|
import { BackendApplicationContribution } from '../backend-application';
|
|
20
21
|
import { LocalizationRegistry } from './localization-contribution';
|
|
21
22
|
import { LocalizationProvider } from './localization-provider';
|
|
22
23
|
|
|
23
24
|
@injectable()
|
|
24
25
|
export class LocalizationBackendContribution implements BackendApplicationContribution {
|
|
26
|
+
protected readonly initialized = new Deferred<void>();
|
|
25
27
|
|
|
26
28
|
@inject(LocalizationRegistry)
|
|
27
29
|
protected readonly localizationRegistry: LocalizationRegistry;
|
|
@@ -31,15 +33,20 @@ export class LocalizationBackendContribution implements BackendApplicationContri
|
|
|
31
33
|
|
|
32
34
|
async initialize(): Promise<void> {
|
|
33
35
|
await this.localizationRegistry.initialize();
|
|
36
|
+
this.initialized.resolve();
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
waitForInitialization(): Promise<void> {
|
|
40
|
+
return this.initialized.promise;
|
|
34
41
|
}
|
|
35
42
|
|
|
36
43
|
configure(app: express.Application): void {
|
|
37
|
-
app.get('/i18n/:locale', (req, res) => {
|
|
44
|
+
app.get('/i18n/:locale', async (req, res) => {
|
|
45
|
+
await this.waitForInitialization();
|
|
38
46
|
let locale = req.params.locale;
|
|
39
47
|
locale = this.localizationProvider.getAvailableLanguages().some(e => e.languageId === locale) ? locale : 'en';
|
|
40
48
|
this.localizationProvider.setCurrentLanguage(locale);
|
|
41
49
|
res.send(this.localizationProvider.loadLocalization(locale));
|
|
42
50
|
});
|
|
43
51
|
}
|
|
44
|
-
|
|
45
52
|
}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
import * as cp from 'child_process';
|
|
19
19
|
import { Socket } from 'net';
|
|
20
20
|
import { Duplex } from 'stream';
|
|
21
|
-
import {
|
|
21
|
+
import { AbstractChannel, Disposable, WriteBuffer } from '../../common';
|
|
22
22
|
import { Uint8ArrayReadBuffer, Uint8ArrayWriteBuffer } from '../../common/message-rpc/uint8-array-message-buffer';
|
|
23
23
|
import { BinaryMessagePipe } from './binary-message-pipe';
|
|
24
24
|
|
|
@@ -27,29 +27,14 @@ import { BinaryMessagePipe } from './binary-message-pipe';
|
|
|
27
27
|
* This fd is opened as 5th channel in addition to the default stdios (stdin, stdout, stderr, ipc). This means the default channels
|
|
28
28
|
* are not blocked and can be used by the respective process for additional custom message handling.
|
|
29
29
|
*/
|
|
30
|
-
export class IPCChannel
|
|
31
|
-
|
|
32
|
-
protected readonly onCloseEmitter: Emitter<ChannelCloseEvent> = new Emitter();
|
|
33
|
-
get onClose(): Event<ChannelCloseEvent> {
|
|
34
|
-
return this.onCloseEmitter.event;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
protected readonly onMessageEmitter: Emitter<MessageProvider> = new Emitter();
|
|
38
|
-
get onMessage(): Event<MessageProvider> {
|
|
39
|
-
return this.onMessageEmitter.event;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
protected readonly onErrorEmitter: Emitter<unknown> = new Emitter();
|
|
43
|
-
get onError(): Event<unknown> {
|
|
44
|
-
return this.onErrorEmitter.event;
|
|
45
|
-
}
|
|
30
|
+
export class IPCChannel extends AbstractChannel {
|
|
46
31
|
|
|
47
32
|
protected messagePipe: BinaryMessagePipe;
|
|
48
|
-
protected toDispose = new DisposableCollection();
|
|
49
33
|
|
|
50
34
|
protected ipcErrorListener: (error: Error) => void = error => this.onErrorEmitter.fire(error);
|
|
51
35
|
|
|
52
36
|
constructor(childProcess?: cp.ChildProcess) {
|
|
37
|
+
super();
|
|
53
38
|
if (childProcess) {
|
|
54
39
|
this.setupChildProcess(childProcess);
|
|
55
40
|
} else {
|
|
@@ -58,7 +43,6 @@ export class IPCChannel implements Channel {
|
|
|
58
43
|
this.messagePipe.onMessage(message => {
|
|
59
44
|
this.onMessageEmitter.fire(() => new Uint8ArrayReadBuffer(message));
|
|
60
45
|
});
|
|
61
|
-
this.toDispose.pushAll([this.onCloseEmitter, this.onMessageEmitter, this.onErrorEmitter]);
|
|
62
46
|
}
|
|
63
47
|
|
|
64
48
|
protected setupChildProcess(childProcess: cp.ChildProcess): void {
|
|
@@ -90,8 +74,4 @@ export class IPCChannel implements Channel {
|
|
|
90
74
|
return result;
|
|
91
75
|
}
|
|
92
76
|
|
|
93
|
-
close(): void {
|
|
94
|
-
this.toDispose.dispose();
|
|
95
|
-
}
|
|
96
|
-
|
|
97
77
|
}
|
|
@@ -81,7 +81,11 @@ export class IPCConnectionProvider {
|
|
|
81
81
|
const forkOptions: cp.ForkOptions = {
|
|
82
82
|
env: createIpcEnv(options),
|
|
83
83
|
execArgv: [],
|
|
84
|
-
|
|
84
|
+
// 5th element MUST be 'overlapped' for it to work properly on Windows.
|
|
85
|
+
// 'overlapped' works just like 'pipe' on non-Windows platforms.
|
|
86
|
+
// See: https://nodejs.org/docs/latest-v14.x/api/child_process.html#child_process_options_stdio
|
|
87
|
+
// Note: For some reason `@types/node` does not know about 'overlapped'.
|
|
88
|
+
stdio: ['pipe', 'pipe', 'pipe', 'ipc', 'overlapped' as 'pipe']
|
|
85
89
|
};
|
|
86
90
|
const inspectArgPrefix = `--${options.serverName}-inspect`;
|
|
87
91
|
const inspectArg = process.argv.find(v => v.startsWith(inspectArgPrefix));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from 'react-virtualized';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require('react-virtualized');
|