@theia/core 1.27.0-next.9 → 1.27.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 +6 -7
- package/i18n/nls.cs.json +52 -6
- package/i18n/nls.de.json +52 -6
- package/i18n/nls.es.json +52 -6
- package/i18n/nls.fr.json +52 -6
- package/i18n/nls.hu.json +55 -9
- package/i18n/nls.it.json +52 -6
- package/i18n/nls.ja.json +52 -6
- package/i18n/nls.json +52 -6
- package/i18n/nls.pl.json +52 -6
- package/i18n/nls.pt-br.json +52 -6
- package/i18n/nls.pt-pt.json +52 -6
- package/i18n/nls.ru.json +52 -6
- package/i18n/nls.zh-cn.json +52 -6
- package/lib/browser/color-application-contribution.d.ts +2 -2
- package/lib/browser/color-application-contribution.d.ts.map +1 -1
- package/lib/browser/color-application-contribution.js +15 -16
- package/lib/browser/color-application-contribution.js.map +1 -1
- package/lib/browser/color-registry.d.ts +0 -4
- package/lib/browser/color-registry.d.ts.map +1 -1
- package/lib/browser/color-registry.js +0 -14
- package/lib/browser/color-registry.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 +157 -163
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/common-styling-participants.d.ts +28 -0
- package/lib/browser/common-styling-participants.d.ts.map +1 -0
- package/lib/browser/common-styling-participants.js +319 -0
- package/lib/browser/common-styling-participants.js.map +1 -0
- package/lib/browser/connection-status-service.d.ts.map +1 -1
- package/lib/browser/connection-status-service.js +2 -2
- package/lib/browser/connection-status-service.js.map +1 -1
- package/lib/browser/connection-status-service.spec.js +1 -2
- package/lib/browser/connection-status-service.spec.js.map +1 -1
- package/lib/browser/context-menu-renderer.d.ts +1 -5
- package/lib/browser/context-menu-renderer.d.ts.map +1 -1
- package/lib/browser/context-menu-renderer.js +10 -30
- 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/decoration-style.d.ts +1 -0
- package/lib/browser/decoration-style.d.ts.map +1 -1
- package/lib/browser/decoration-style.js +6 -2
- package/lib/browser/decoration-style.js.map +1 -1
- package/lib/browser/frontend-application-bindings.d.ts.map +1 -1
- package/lib/browser/frontend-application-bindings.js +1 -3
- package/lib/browser/frontend-application-bindings.js.map +1 -1
- package/lib/browser/frontend-application-config-provider.d.ts +1 -0
- package/lib/browser/frontend-application-config-provider.d.ts.map +1 -1
- package/lib/browser/frontend-application-config-provider.js +2 -1
- package/lib/browser/frontend-application-config-provider.js.map +1 -1
- package/lib/browser/frontend-application-module.d.ts.map +1 -1
- package/lib/browser/frontend-application-module.js +9 -3
- package/lib/browser/frontend-application-module.js.map +1 -1
- package/lib/browser/i18n/i18n-frontend-module.d.ts.map +1 -1
- package/lib/browser/i18n/i18n-frontend-module.js +2 -0
- package/lib/browser/i18n/i18n-frontend-module.js.map +1 -1
- package/lib/browser/i18n/language-quick-pick-service.d.ts +17 -0
- package/lib/browser/i18n/language-quick-pick-service.d.ts.map +1 -0
- package/lib/browser/i18n/language-quick-pick-service.js +142 -0
- package/lib/browser/i18n/language-quick-pick-service.js.map +1 -0
- package/lib/browser/index.d.ts +1 -0
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +1 -0
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/keybinding.d.ts.map +1 -1
- package/lib/browser/keybinding.js +2 -1
- package/lib/browser/keybinding.js.map +1 -1
- package/lib/browser/keybinding.spec.js +18 -21
- package/lib/browser/keybinding.spec.js.map +1 -1
- package/lib/browser/label-provider.d.ts +0 -12
- package/lib/browser/label-provider.d.ts.map +1 -1
- package/lib/browser/label-provider.js +1 -13
- package/lib/browser/label-provider.js.map +1 -1
- package/lib/browser/logger-frontend-module.d.ts.map +1 -1
- package/lib/browser/logger-frontend-module.js +8 -1
- package/lib/browser/logger-frontend-module.js.map +1 -1
- package/lib/browser/messaging/ws-connection-provider.d.ts +5 -4
- package/lib/browser/messaging/ws-connection-provider.d.ts.map +1 -1
- package/lib/browser/messaging/ws-connection-provider.js +30 -23
- package/lib/browser/messaging/ws-connection-provider.js.map +1 -1
- package/lib/browser/preferences/preference-contribution.d.ts +2 -19
- package/lib/browser/preferences/preference-contribution.d.ts.map +1 -1
- package/lib/browser/preferences/preference-contribution.js +1 -24
- package/lib/browser/preferences/preference-contribution.js.map +1 -1
- package/lib/browser/preferences/preference-proxy.d.ts +0 -4
- package/lib/browser/preferences/preference-proxy.d.ts.map +1 -1
- package/lib/browser/preferences/preference-proxy.js.map +1 -1
- package/lib/browser/preferences/preference-proxy.spec.js +3 -102
- package/lib/browser/preferences/preference-proxy.spec.js.map +1 -1
- package/lib/browser/preferences/preference-schema-provider.spec.js +4 -3
- package/lib/browser/preferences/preference-schema-provider.spec.js.map +1 -1
- package/lib/browser/preferences/preference-service.spec.js +1 -2
- package/lib/browser/preferences/preference-service.spec.js.map +1 -1
- package/lib/browser/preferences/preference-validation-service.d.ts +2 -2
- package/lib/browser/preferences/preference-validation-service.d.ts.map +1 -1
- package/lib/browser/preferences/preference-validation-service.spec.js.map +1 -1
- package/lib/browser/preloader.d.ts.map +1 -1
- package/lib/browser/preloader.js +7 -1
- package/lib/browser/preloader.js.map +1 -1
- package/lib/browser/progress-status-bar-item.d.ts +1 -1
- package/lib/browser/progress-status-bar-item.d.ts.map +1 -1
- package/lib/browser/quick-input/quick-command-service.d.ts.map +1 -1
- package/lib/browser/quick-input/quick-command-service.js +2 -2
- package/lib/browser/quick-input/quick-command-service.js.map +1 -1
- package/lib/browser/saveable.d.ts.map +1 -1
- package/lib/browser/saveable.js +5 -4
- package/lib/browser/saveable.js.map +1 -1
- package/lib/browser/shell/application-shell.d.ts +4 -0
- package/lib/browser/shell/application-shell.d.ts.map +1 -1
- package/lib/browser/shell/application-shell.js +42 -36
- package/lib/browser/shell/application-shell.js.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.d.ts +2 -0
- package/lib/browser/shell/shell-layout-restorer.d.ts.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.js +5 -1
- package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
- package/lib/browser/shell/side-panel-handler.d.ts.map +1 -1
- package/lib/browser/shell/side-panel-handler.js +3 -2
- package/lib/browser/shell/side-panel-handler.js.map +1 -1
- package/lib/browser/shell/tab-bars.d.ts +4 -2
- package/lib/browser/shell/tab-bars.d.ts.map +1 -1
- package/lib/browser/shell/tab-bars.js +12 -4
- package/lib/browser/shell/tab-bars.js.map +1 -1
- package/lib/browser/source-tree/source-tree-widget.js +1 -1
- package/lib/browser/source-tree/source-tree-widget.js.map +1 -1
- package/lib/browser/source-tree/tree-source.d.ts +2 -1
- package/lib/browser/source-tree/tree-source.d.ts.map +1 -1
- package/lib/browser/source-tree/tree-source.js.map +1 -1
- package/lib/browser/styling-service.d.ts +26 -0
- package/lib/browser/styling-service.d.ts.map +1 -0
- package/lib/browser/styling-service.js +76 -0
- package/lib/browser/styling-service.js.map +1 -0
- package/lib/browser/theming.d.ts +4 -8
- package/lib/browser/theming.d.ts.map +1 -1
- package/lib/browser/theming.js +38 -53
- package/lib/browser/theming.js.map +1 -1
- package/lib/browser/tree/search-box.d.ts.map +1 -1
- package/lib/browser/tree/search-box.js +5 -4
- package/lib/browser/tree/search-box.js.map +1 -1
- package/lib/browser/tree/test/tree-test-container.d.ts.map +1 -1
- package/lib/browser/tree/test/tree-test-container.js +2 -0
- package/lib/browser/tree/test/tree-test-container.js.map +1 -1
- package/lib/browser/tree/tree-compression/compressed-tree-model.d.ts +1 -1
- package/lib/browser/tree/tree-compression/compressed-tree-model.d.ts.map +1 -1
- package/lib/browser/tree/tree-compression/compressed-tree-model.js +4 -2
- package/lib/browser/tree/tree-compression/compressed-tree-model.js.map +1 -1
- package/lib/browser/tree/tree-compression/compressed-tree-widget.d.ts.map +1 -1
- package/lib/browser/tree/tree-compression/compressed-tree-widget.js +4 -2
- package/lib/browser/tree/tree-compression/compressed-tree-widget.js.map +1 -1
- package/lib/browser/tree/tree-container.d.ts +2 -0
- package/lib/browser/tree/tree-container.d.ts.map +1 -1
- package/lib/browser/tree/tree-container.js +3 -0
- package/lib/browser/tree/tree-container.js.map +1 -1
- package/lib/browser/tree/tree-focus-service.d.ts +20 -0
- package/lib/browser/tree/tree-focus-service.d.ts.map +1 -0
- package/lib/browser/tree/tree-focus-service.js +62 -0
- package/lib/browser/tree/tree-focus-service.js.map +1 -0
- package/lib/browser/tree/tree-model.d.ts +11 -2
- package/lib/browser/tree/tree-model.d.ts.map +1 -1
- package/lib/browser/tree/tree-model.js +29 -8
- package/lib/browser/tree/tree-model.js.map +1 -1
- package/lib/browser/tree/tree-selection-impl.d.ts +4 -1
- package/lib/browser/tree/tree-selection-impl.d.ts.map +1 -1
- package/lib/browser/tree/tree-selection-impl.js +13 -2
- package/lib/browser/tree/tree-selection-impl.js.map +1 -1
- package/lib/browser/tree/tree-selection-state.d.ts +1 -0
- package/lib/browser/tree/tree-selection-state.d.ts.map +1 -1
- package/lib/browser/tree/tree-selection-state.js +8 -2
- package/lib/browser/tree/tree-selection-state.js.map +1 -1
- package/lib/browser/tree/tree-selection.d.ts +9 -0
- package/lib/browser/tree/tree-selection.d.ts.map +1 -1
- package/lib/browser/tree/tree-selection.js +3 -0
- package/lib/browser/tree/tree-selection.js.map +1 -1
- package/lib/browser/tree/tree-widget-selection.d.ts.map +1 -1
- package/lib/browser/tree/tree-widget-selection.js +9 -1
- package/lib/browser/tree/tree-widget-selection.js.map +1 -1
- package/lib/browser/tree/tree-widget.d.ts +14 -0
- package/lib/browser/tree/tree-widget.d.ts.map +1 -1
- package/lib/browser/tree/tree-widget.js +80 -40
- package/lib/browser/tree/tree-widget.js.map +1 -1
- package/lib/browser/tree/tree.d.ts +2 -1
- package/lib/browser/tree/tree.d.ts.map +1 -1
- package/lib/browser/tree/tree.js +12 -2
- package/lib/browser/tree/tree.js.map +1 -1
- package/lib/browser/view-container.d.ts +9 -4
- package/lib/browser/view-container.d.ts.map +1 -1
- package/lib/browser/view-container.js +36 -6
- package/lib/browser/view-container.js.map +1 -1
- package/lib/common/cancellation.d.ts +1 -0
- package/lib/common/cancellation.d.ts.map +1 -1
- package/lib/common/cancellation.js +8 -0
- 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 +13 -16
- package/lib/common/command.js.map +1 -1
- package/lib/common/index.d.ts +1 -0
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +1 -0
- package/lib/common/index.js.map +1 -1
- package/lib/common/message-rpc/channel.d.ts +106 -0
- package/lib/common/message-rpc/channel.d.ts.map +1 -0
- package/lib/common/message-rpc/channel.js +195 -0
- package/lib/common/message-rpc/channel.js.map +1 -0
- package/lib/common/message-rpc/channel.spec.d.ts +9 -0
- package/lib/common/message-rpc/channel.spec.d.ts.map +1 -0
- package/lib/common/message-rpc/channel.spec.js +80 -0
- package/lib/common/message-rpc/channel.spec.js.map +1 -0
- package/lib/common/message-rpc/index.d.ts +4 -0
- package/lib/common/message-rpc/index.d.ts.map +1 -0
- package/lib/{node/messaging/logger.js → common/message-rpc/index.js} +6 -19
- package/lib/common/message-rpc/index.js.map +1 -0
- package/lib/common/message-rpc/message-buffer.d.ts +50 -0
- package/lib/common/message-rpc/message-buffer.d.ts.map +1 -0
- package/lib/common/message-rpc/message-buffer.js +56 -0
- package/lib/common/message-rpc/message-buffer.js.map +1 -0
- package/lib/common/message-rpc/rpc-message-encoder.d.ts +171 -0
- package/lib/common/message-rpc/rpc-message-encoder.d.ts.map +1 -0
- package/lib/common/message-rpc/rpc-message-encoder.js +409 -0
- package/lib/common/message-rpc/rpc-message-encoder.js.map +1 -0
- package/lib/common/message-rpc/rpc-message-encoder.spec.d.ts +2 -0
- package/lib/common/message-rpc/rpc-message-encoder.spec.d.ts.map +1 -0
- package/lib/common/message-rpc/rpc-message-encoder.spec.js +49 -0
- package/lib/common/message-rpc/rpc-message-encoder.spec.js.map +1 -0
- package/lib/common/message-rpc/rpc-protocol.d.ts +61 -0
- package/lib/common/message-rpc/rpc-protocol.d.ts.map +1 -0
- package/lib/common/message-rpc/rpc-protocol.js +183 -0
- package/lib/common/message-rpc/rpc-protocol.js.map +1 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.d.ts +52 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.d.ts.map +1 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.js +169 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.js.map +1 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.spec.d.ts +2 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.spec.d.ts.map +1 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.spec.js +39 -0
- package/lib/common/message-rpc/uint8-array-message-buffer.spec.js.map +1 -0
- package/lib/common/messaging/abstract-connection-provider.d.ts +9 -8
- package/lib/common/messaging/abstract-connection-provider.d.ts.map +1 -1
- package/lib/common/messaging/abstract-connection-provider.js +20 -35
- package/lib/common/messaging/abstract-connection-provider.js.map +1 -1
- package/lib/common/messaging/connection-error-handler.d.ts +1 -2
- package/lib/common/messaging/connection-error-handler.d.ts.map +1 -1
- package/lib/common/messaging/connection-error-handler.js +1 -1
- package/lib/common/messaging/connection-error-handler.js.map +1 -1
- package/lib/common/messaging/handler.d.ts +2 -2
- package/lib/common/messaging/handler.d.ts.map +1 -1
- package/lib/common/messaging/proxy-factory.d.ts +13 -7
- package/lib/common/messaging/proxy-factory.d.ts.map +1 -1
- package/lib/common/messaging/proxy-factory.js +18 -13
- package/lib/common/messaging/proxy-factory.js.map +1 -1
- package/lib/common/messaging/proxy-factory.spec.js +4 -15
- package/lib/common/messaging/proxy-factory.spec.js.map +1 -1
- package/lib/common/messaging/web-socket-channel.d.ts +54 -48
- package/lib/common/messaging/web-socket-channel.d.ts.map +1 -1
- package/lib/common/messaging/web-socket-channel.js +41 -105
- package/lib/common/messaging/web-socket-channel.js.map +1 -1
- package/lib/common/nls.d.ts +2 -0
- package/lib/common/nls.d.ts.map +1 -1
- package/lib/common/nls.js +11 -0
- package/lib/common/nls.js.map +1 -1
- package/lib/common/preferences/preference-schema.d.ts +1 -5
- package/lib/common/preferences/preference-schema.d.ts.map +1 -1
- package/lib/common/preferences/preference-schema.js.map +1 -1
- package/lib/common/promise-util.d.ts +2 -1
- package/lib/common/promise-util.d.ts.map +1 -1
- package/lib/common/promise-util.js +8 -13
- package/lib/common/promise-util.js.map +1 -1
- package/lib/common/resource.d.ts +5 -0
- package/lib/common/resource.d.ts.map +1 -1
- package/lib/common/resource.js +28 -1
- package/lib/common/resource.js.map +1 -1
- package/lib/common/theme.d.ts +3 -2
- package/lib/common/theme.d.ts.map +1 -1
- package/lib/common/theme.js +5 -0
- package/lib/common/theme.js.map +1 -1
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.d.ts +2 -2
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.d.ts.map +1 -1
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.js +18 -7
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.js.map +1 -1
- package/lib/electron-browser/messaging/electron-ws-connection-provider.d.ts +2 -2
- package/lib/electron-browser/messaging/electron-ws-connection-provider.d.ts.map +1 -1
- package/lib/electron-browser/messaging/electron-ws-connection-provider.js +5 -7
- package/lib/electron-browser/messaging/electron-ws-connection-provider.js.map +1 -1
- package/lib/electron-main/event-utils.d.ts +1 -1
- package/lib/electron-main/messaging/electron-messaging-contribution.d.ts +37 -9
- package/lib/electron-main/messaging/electron-messaging-contribution.d.ts.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-contribution.js +83 -68
- package/lib/electron-main/messaging/electron-messaging-contribution.js.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-service.d.ts +2 -8
- package/lib/electron-main/messaging/electron-messaging-service.d.ts.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-service.js.map +1 -1
- package/lib/node/messaging/binary-message-pipe.d.ts +45 -0
- package/lib/node/messaging/binary-message-pipe.d.ts.map +1 -0
- package/lib/node/messaging/binary-message-pipe.js +152 -0
- package/lib/node/messaging/binary-message-pipe.js.map +1 -0
- package/lib/node/messaging/ipc-bootstrap.js +2 -11
- package/lib/node/messaging/ipc-bootstrap.js.map +1 -1
- package/lib/node/messaging/ipc-channel.d.ts +26 -0
- package/lib/node/messaging/ipc-channel.d.ts.map +1 -0
- package/lib/node/messaging/ipc-channel.js +86 -0
- package/lib/node/messaging/ipc-channel.js.map +1 -0
- package/lib/node/messaging/ipc-connection-provider.d.ts +3 -5
- package/lib/node/messaging/ipc-connection-provider.d.ts.map +1 -1
- package/lib/node/messaging/ipc-connection-provider.js +14 -31
- package/lib/node/messaging/ipc-connection-provider.js.map +1 -1
- package/lib/node/messaging/ipc-protocol.d.ts +2 -2
- package/lib/node/messaging/ipc-protocol.d.ts.map +1 -1
- package/lib/node/messaging/messaging-contribution.d.ts +6 -9
- package/lib/node/messaging/messaging-contribution.d.ts.map +1 -1
- package/lib/node/messaging/messaging-contribution.js +23 -68
- package/lib/node/messaging/messaging-contribution.js.map +1 -1
- package/lib/node/messaging/messaging-service.d.ts +4 -23
- package/lib/node/messaging/messaging-service.d.ts.map +1 -1
- package/lib/node/messaging/messaging-service.js +1 -15
- package/lib/node/messaging/messaging-service.js.map +1 -1
- package/lib/node/messaging/test/test-web-socket-channel.d.ts +4 -2
- package/lib/node/messaging/test/test-web-socket-channel.d.ts.map +1 -1
- package/lib/node/messaging/test/test-web-socket-channel.js +25 -12
- package/lib/node/messaging/test/test-web-socket-channel.js.map +1 -1
- package/lib/node/request/proxy-cli-contribution.js +1 -1
- package/lib/node/request/proxy-cli-contribution.js.map +1 -1
- package/package.json +7 -10
- package/src/browser/color-application-contribution.ts +10 -17
- package/src/browser/color-registry.ts +0 -5
- package/src/browser/common-frontend-contribution.ts +26 -33
- package/src/browser/common-styling-participants.ts +307 -0
- package/src/browser/connection-status-service.spec.ts +1 -4
- package/src/browser/connection-status-service.ts +3 -3
- package/src/browser/context-menu-renderer.ts +13 -29
- package/src/browser/core-preferences.ts +6 -0
- package/src/browser/decoration-style.ts +6 -2
- package/src/browser/frontend-application-bindings.ts +1 -3
- package/src/browser/frontend-application-config-provider.ts +2 -0
- package/src/browser/frontend-application-module.ts +11 -4
- package/src/browser/i18n/i18n-frontend-module.ts +2 -0
- package/src/browser/i18n/language-quick-pick-service.ts +128 -0
- package/src/browser/index.ts +1 -0
- package/src/browser/keybinding.spec.ts +22 -27
- package/src/browser/keybinding.ts +2 -1
- package/src/browser/label-provider.ts +0 -13
- package/src/browser/logger-frontend-module.ts +8 -1
- package/src/browser/messaging/ws-connection-provider.ts +34 -25
- package/src/browser/preferences/preference-contribution.ts +3 -28
- package/src/browser/preferences/preference-proxy.spec.ts +3 -113
- package/src/browser/preferences/preference-proxy.ts +0 -4
- package/src/browser/preferences/preference-schema-provider.spec.ts +1 -4
- package/src/browser/preferences/preference-service.spec.ts +1 -5
- package/src/browser/preferences/preference-validation-service.spec.ts +2 -2
- package/src/browser/preferences/preference-validation-service.ts +2 -2
- package/src/browser/preloader.ts +9 -2
- package/src/browser/progress-status-bar-item.ts +1 -1
- package/src/browser/quick-input/quick-command-service.ts +3 -3
- package/src/browser/saveable.ts +5 -4
- package/src/browser/shell/application-shell.ts +42 -35
- package/src/browser/shell/shell-layout-restorer.ts +4 -6
- package/src/browser/shell/side-panel-handler.ts +3 -2
- package/src/browser/shell/tab-bars.ts +14 -4
- package/src/browser/source-tree/source-tree-widget.tsx +1 -1
- package/src/browser/source-tree/tree-source.ts +2 -1
- package/src/browser/style/breadcrumbs.css +0 -1
- package/src/browser/style/index.css +66 -29
- package/src/browser/style/menus.css +4 -2
- package/src/browser/style/select-component.css +2 -0
- package/src/browser/style/sidepanel.css +11 -25
- package/src/browser/style/status-bar.css +8 -17
- package/src/browser/style/tabs.css +0 -16
- package/src/browser/style/tooltip.css +3 -3
- package/src/browser/style/tree.css +27 -11
- package/src/browser/style/view-container.css +4 -0
- package/src/browser/styling-service.ts +76 -0
- package/src/browser/theming.ts +18 -45
- package/src/browser/tree/search-box.ts +5 -4
- package/src/browser/tree/test/tree-test-container.ts +2 -0
- package/src/browser/tree/tree-compression/compressed-tree-model.ts +8 -2
- package/src/browser/tree/tree-compression/compressed-tree-widget.tsx +4 -2
- package/src/browser/tree/tree-container.ts +4 -0
- package/src/browser/tree/tree-focus-service.ts +55 -0
- package/src/browser/tree/tree-model.ts +32 -8
- package/src/browser/tree/tree-selection-impl.ts +13 -4
- package/src/browser/tree/tree-selection-state.ts +7 -2
- package/src/browser/tree/tree-selection.ts +10 -0
- package/src/browser/tree/tree-widget-selection.ts +10 -1
- package/src/browser/tree/tree-widget.tsx +83 -43
- package/src/browser/tree/tree.ts +8 -2
- package/src/browser/view-container.ts +41 -4
- package/src/common/cancellation.ts +8 -0
- package/src/common/command.ts +14 -16
- package/src/common/index.ts +1 -0
- package/src/common/message-rpc/channel.spec.ts +88 -0
- package/src/common/message-rpc/channel.ts +260 -0
- package/src/{node/messaging/logger.ts → common/message-rpc/index.ts} +4 -23
- package/src/common/message-rpc/message-buffer.ts +99 -0
- package/src/common/message-rpc/rpc-message-encoder.spec.ts +55 -0
- package/src/common/message-rpc/rpc-message-encoder.ts +552 -0
- package/src/common/message-rpc/rpc-protocol.ts +217 -0
- package/src/common/message-rpc/uint8-array-message-buffer.spec.ts +41 -0
- package/src/common/message-rpc/uint8-array-message-buffer.ts +206 -0
- package/src/common/messaging/abstract-connection-provider.ts +28 -37
- package/src/common/messaging/connection-error-handler.ts +1 -2
- package/src/common/messaging/handler.ts +2 -2
- package/src/common/messaging/proxy-factory.spec.ts +4 -17
- package/src/common/messaging/proxy-factory.ts +27 -16
- package/src/common/messaging/web-socket-channel.ts +79 -135
- package/src/common/nls.ts +11 -0
- package/src/common/preferences/preference-schema.ts +1 -6
- package/src/common/promise-util.ts +13 -14
- package/src/common/resource.ts +29 -2
- package/src/common/theme.ts +6 -2
- package/src/electron-browser/messaging/electron-ipc-connection-provider.ts +21 -7
- package/src/electron-browser/messaging/electron-ws-connection-provider.ts +5 -8
- package/src/electron-main/messaging/electron-messaging-contribution.ts +87 -65
- package/src/electron-main/messaging/electron-messaging-service.ts +2 -8
- package/src/node/messaging/binary-message-pipe.ts +168 -0
- package/src/node/messaging/ipc-bootstrap.ts +3 -11
- package/src/node/messaging/ipc-channel.ts +97 -0
- package/src/node/messaging/ipc-connection-provider.ts +18 -35
- package/src/node/messaging/ipc-protocol.ts +2 -2
- package/src/node/messaging/messaging-contribution.ts +29 -74
- package/src/node/messaging/messaging-service.ts +4 -31
- package/src/node/messaging/test/test-web-socket-channel.ts +26 -17
- package/src/node/request/proxy-cli-contribution.ts +1 -1
- package/lib/browser/preferences/validated-preference-proxy.d.ts +0 -21
- package/lib/browser/preferences/validated-preference-proxy.d.ts.map +0 -1
- package/lib/browser/preferences/validated-preference-proxy.js +0 -118
- package/lib/browser/preferences/validated-preference-proxy.js.map +0 -1
- package/lib/node/messaging/logger.d.ts +0 -8
- package/lib/node/messaging/logger.d.ts.map +0 -1
- package/lib/node/messaging/logger.js.map +0 -1
- package/shared/vscode-ws-jsonrpc/index.d.ts +0 -1
- package/shared/vscode-ws-jsonrpc/index.js +0 -1
- package/src/browser/preferences/validated-preference-proxy.ts +0 -111
- package/src/browser/style/variables-bright.useable.css +0 -93
- package/src/browser/style/variables-dark.useable.css +0 -93
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as http from 'http';
|
|
3
3
|
import * as https from 'https';
|
|
4
|
-
import {
|
|
5
|
-
export declare class
|
|
4
|
+
import { Channel, ChannelMultiplexer } from '../../../common/message-rpc/channel';
|
|
5
|
+
export declare class TestWebSocketChannelSetup {
|
|
6
|
+
readonly multiplexer: ChannelMultiplexer;
|
|
7
|
+
readonly channel: Channel;
|
|
6
8
|
constructor({ server, path }: {
|
|
7
9
|
server: http.Server | https.Server;
|
|
8
10
|
path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-web-socket-channel.d.ts","sourceRoot":"","sources":["../../../../src/node/messaging/test/test-web-socket-channel.ts"],"names":[],"mappings":";AAgBA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"test-web-socket-channel.d.ts","sourceRoot":"","sources":["../../../../src/node/messaging/test/test-web-socket-channel.ts"],"names":[],"mappings":";AAgBA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGlF,qBAAa,yBAAyB;IAClC,SAAgB,WAAW,EAAE,kBAAkB,CAAC;IAChD,SAAgB,OAAO,EAAE,OAAO,CAAC;gBAErB,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACnC,IAAI,EAAE,MAAM,CAAA;KACf;CASJ"}
|
|
@@ -15,22 +15,35 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
19
|
-
const web_socket_channel_1 = require("../../../common/messaging/web-socket-channel");
|
|
20
|
-
const disposable_1 = require("../../../common/disposable");
|
|
18
|
+
exports.TestWebSocketChannelSetup = void 0;
|
|
21
19
|
const socket_io_client_1 = require("socket.io-client");
|
|
22
|
-
|
|
20
|
+
const channel_1 = require("../../../common/message-rpc/channel");
|
|
21
|
+
const web_socket_channel_1 = require("../../../common/messaging/web-socket-channel");
|
|
22
|
+
class TestWebSocketChannelSetup {
|
|
23
23
|
constructor({ server, path }) {
|
|
24
|
-
super(0, content => socket.send(content));
|
|
25
24
|
const socket = (0, socket_io_client_1.io)(`ws://localhost:${server.address().port}${web_socket_channel_1.WebSocketChannel.wsPath}`);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
socket.on('
|
|
29
|
-
this.
|
|
25
|
+
this.channel = new web_socket_channel_1.WebSocketChannel(toIWebSocket(socket));
|
|
26
|
+
this.multiplexer = new channel_1.ChannelMultiplexer(this.channel);
|
|
27
|
+
socket.on('connect', () => {
|
|
28
|
+
this.multiplexer.open(path);
|
|
30
29
|
});
|
|
31
|
-
socket.
|
|
32
|
-
this.toDispose.push(disposable_1.Disposable.create(() => socket.close()));
|
|
30
|
+
socket.connect();
|
|
33
31
|
}
|
|
34
32
|
}
|
|
35
|
-
exports.
|
|
33
|
+
exports.TestWebSocketChannelSetup = TestWebSocketChannelSetup;
|
|
34
|
+
function toIWebSocket(socket) {
|
|
35
|
+
return {
|
|
36
|
+
close: () => {
|
|
37
|
+
socket.removeAllListeners('disconnect');
|
|
38
|
+
socket.removeAllListeners('error');
|
|
39
|
+
socket.removeAllListeners('message');
|
|
40
|
+
socket.close();
|
|
41
|
+
},
|
|
42
|
+
isConnected: () => socket.connected,
|
|
43
|
+
onClose: cb => socket.on('disconnect', reason => cb(reason)),
|
|
44
|
+
onError: cb => socket.on('error', reason => cb(reason)),
|
|
45
|
+
onMessage: cb => socket.on('message', data => cb(data)),
|
|
46
|
+
send: message => socket.emit('message', message)
|
|
47
|
+
};
|
|
48
|
+
}
|
|
36
49
|
//# sourceMappingURL=test-web-socket-channel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-web-socket-channel.js","sourceRoot":"","sources":["../../../../src/node/messaging/test/test-web-socket-channel.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;
|
|
1
|
+
{"version":3,"file":"test-web-socket-channel.js","sourceRoot":"","sources":["../../../../src/node/messaging/test/test-web-socket-channel.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAKhF,uDAA8C;AAC9C,iEAAkF;AAClF,qFAA4F;AAE5F,MAAa,yBAAyB;IAIlC,YAAY,EAAE,MAAM,EAAE,IAAI,EAGzB;QACG,MAAM,MAAM,GAAG,IAAA,qBAAE,EAAC,kBAAmB,MAAM,CAAC,OAAO,EAAkB,CAAC,IAAI,GAAG,qCAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;QACxG,IAAI,CAAC,OAAO,GAAG,IAAI,qCAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,GAAG,IAAI,4BAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;CACJ;AAhBD,8DAgBC;AAED,SAAS,YAAY,CAAC,MAAc;IAChC,OAAO;QACH,KAAK,EAAE,GAAG,EAAE;YACR,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACxC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS;QACnC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC5D,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QACvD,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;KACnD,CAAC;AACN,CAAC"}
|
|
@@ -41,7 +41,7 @@ let ProxyCliContribution = class ProxyCliContribution {
|
|
|
41
41
|
type: 'string'
|
|
42
42
|
});
|
|
43
43
|
conf.option(exports.StrictSSL, {
|
|
44
|
-
description: '
|
|
44
|
+
description: 'Determines whether SSL is strictly set for outgoing requests.',
|
|
45
45
|
type: 'boolean'
|
|
46
46
|
});
|
|
47
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-cli-contribution.js","sourceRoot":"","sources":["../../../src/node/request/proxy-cli-contribution.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,yCAA+C;AAE/C,4CAAsE;AAIzD,QAAA,QAAQ,GAAG,WAAW,CAAC;AACvB,QAAA,kBAAkB,GAAG,qBAAqB,CAAC;AAC3C,QAAA,SAAS,GAAG,YAAY,CAAC;AAGtC,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAK7B,SAAS,CAAC,IAAU;QAChB,IAAI,CAAC,MAAM,CAAC,gBAAQ,EAAE;YAClB,WAAW,EAAE,2CAA2C;YACxD,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,0BAAkB,EAAE;YAC5B,WAAW,EAAE,4DAA4D;YACzE,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,iBAAS,EAAE;YACnB,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"proxy-cli-contribution.js","sourceRoot":"","sources":["../../../src/node/request/proxy-cli-contribution.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,yCAA+C;AAE/C,4CAAsE;AAIzD,QAAA,QAAQ,GAAG,WAAW,CAAC;AACvB,QAAA,kBAAkB,GAAG,qBAAqB,CAAC;AAC3C,QAAA,SAAS,GAAG,YAAY,CAAC;AAGtC,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAK7B,SAAS,CAAC,IAAU;QAChB,IAAI,CAAC,MAAM,CAAC,gBAAQ,EAAE;YAClB,WAAW,EAAE,2CAA2C;YACxD,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,0BAAkB,EAAE;YAC5B,WAAW,EAAE,4DAA4D;YACzE,IAAI,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,iBAAS,EAAE;YACnB,WAAW,EAAE,+DAA+D;YAC5E,IAAI,EAAE,SAAS;SAClB,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,IAAe;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAQ,CAAC,CAAC;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,0BAAkB,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC9B,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;SACrC;QACD,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;YACnC,MAAM,CAAC,kBAAkB,GAAG,aAAa,CAAC;SAC7C;QACD,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE;YAChC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;SAChC;QACD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;CAEJ,CAAA;AAlCG;IADC,IAAA,kBAAM,EAAC,wBAAc,CAAC;;4DAC2B;AAHzC,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CAqChC;AArCY,oDAAoB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/core",
|
|
3
|
-
"version": "1.27.0
|
|
3
|
+
"version": "1.27.0",
|
|
4
4
|
"description": "Theia is a cloud & desktop IDE framework implemented in TypeScript.",
|
|
5
5
|
"main": "lib/common/index.js",
|
|
6
6
|
"typings": "lib/common/index.d.ts",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"@phosphor/signaling": "1",
|
|
17
17
|
"@phosphor/virtualdom": "1",
|
|
18
18
|
"@phosphor/widgets": "1",
|
|
19
|
-
"@theia/application-package": "1.27.0
|
|
20
|
-
"@theia/request": "1.27.0
|
|
19
|
+
"@theia/application-package": "1.27.0",
|
|
20
|
+
"@theia/request": "1.27.0",
|
|
21
21
|
"@types/body-parser": "^1.16.4",
|
|
22
22
|
"@types/cookie": "^0.3.3",
|
|
23
23
|
"@types/dompurify": "^2.2.2",
|
|
@@ -61,7 +61,6 @@
|
|
|
61
61
|
"react-dom": "^16.8.0",
|
|
62
62
|
"react-tooltip": "^4.2.21",
|
|
63
63
|
"react-virtualized": "^9.20.0",
|
|
64
|
-
"reconnecting-websocket": "^4.2.0",
|
|
65
64
|
"reflect-metadata": "^0.1.10",
|
|
66
65
|
"route-parser": "^0.0.5",
|
|
67
66
|
"safer-buffer": "^2.1.2",
|
|
@@ -70,7 +69,6 @@
|
|
|
70
69
|
"uuid": "^8.3.2",
|
|
71
70
|
"vscode-languageserver-protocol": "~3.15.3",
|
|
72
71
|
"vscode-uri": "^2.1.1",
|
|
73
|
-
"vscode-ws-jsonrpc": "^0.2.0",
|
|
74
72
|
"ws": "^7.1.2",
|
|
75
73
|
"yargs": "^15.3.1"
|
|
76
74
|
},
|
|
@@ -113,8 +111,7 @@
|
|
|
113
111
|
"react-dom",
|
|
114
112
|
"react-virtualized",
|
|
115
113
|
"vscode-languageserver-protocol",
|
|
116
|
-
"vscode-uri"
|
|
117
|
-
"vscode-ws-jsonrpc"
|
|
114
|
+
"vscode-uri"
|
|
118
115
|
],
|
|
119
116
|
"export =": [
|
|
120
117
|
"dompurify as DOMPurify",
|
|
@@ -196,12 +193,12 @@
|
|
|
196
193
|
"watch": "theiaext watch"
|
|
197
194
|
},
|
|
198
195
|
"devDependencies": {
|
|
199
|
-
"@theia/ext-scripts": "1.
|
|
200
|
-
"@theia/re-exports": "1.
|
|
196
|
+
"@theia/ext-scripts": "1.27.0",
|
|
197
|
+
"@theia/re-exports": "1.27.0",
|
|
201
198
|
"minimist": "^1.2.0"
|
|
202
199
|
},
|
|
203
200
|
"nyc": {
|
|
204
201
|
"extends": "../../configs/nyc.json"
|
|
205
202
|
},
|
|
206
|
-
"gitHead": "
|
|
203
|
+
"gitHead": "b952ad743a97821dee94787e946f5a288174d4e8"
|
|
207
204
|
}
|
|
@@ -21,6 +21,7 @@ import { ThemeService } from './theming';
|
|
|
21
21
|
import { FrontendApplicationContribution } from './frontend-application';
|
|
22
22
|
import { ContributionProvider } from '../common/contribution-provider';
|
|
23
23
|
import { Disposable, DisposableCollection } from '../common/disposable';
|
|
24
|
+
import { DEFAULT_BACKGROUND_COLOR_STORAGE_KEY } from './frontend-application-config-provider';
|
|
24
25
|
|
|
25
26
|
export const ColorContribution = Symbol('ColorContribution');
|
|
26
27
|
export interface ColorContribution {
|
|
@@ -39,18 +40,17 @@ export class ColorApplicationContribution implements FrontendApplicationContribu
|
|
|
39
40
|
@inject(ContributionProvider) @named(ColorContribution)
|
|
40
41
|
protected readonly colorContributions: ContributionProvider<ColorContribution>;
|
|
41
42
|
|
|
42
|
-
|
|
43
|
+
@inject(ThemeService) protected readonly themeService: ThemeService;
|
|
43
44
|
|
|
44
45
|
onStart(): void {
|
|
45
46
|
for (const contribution of this.colorContributions.getContributions()) {
|
|
46
47
|
contribution.registerColors(this.colors);
|
|
47
48
|
}
|
|
48
|
-
|
|
49
|
-
this.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
ThemeService.get().onDidColorThemeChange(() => this.update());
|
|
49
|
+
this.themeService.initialized.then(() => this.update());
|
|
50
|
+
this.themeService.onDidColorThemeChange(() => {
|
|
51
|
+
this.update();
|
|
52
|
+
this.updateThemeBackground();
|
|
53
|
+
});
|
|
54
54
|
this.colors.onDidChange(() => this.update());
|
|
55
55
|
}
|
|
56
56
|
|
|
@@ -60,7 +60,7 @@ export class ColorApplicationContribution implements FrontendApplicationContribu
|
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
62
62
|
this.toUpdate.dispose();
|
|
63
|
-
const theme = 'theia-' +
|
|
63
|
+
const theme = 'theia-' + this.themeService.getCurrentTheme().type;
|
|
64
64
|
document.body.classList.add(theme);
|
|
65
65
|
this.toUpdate.push(Disposable.create(() => document.body.classList.remove(theme)));
|
|
66
66
|
|
|
@@ -81,16 +81,9 @@ export class ColorApplicationContribution implements FrontendApplicationContribu
|
|
|
81
81
|
protected updateThemeBackground(): void {
|
|
82
82
|
const color = this.colors.getCurrentColor('editor.background');
|
|
83
83
|
if (color) {
|
|
84
|
-
window.localStorage.setItem(
|
|
84
|
+
window.localStorage.setItem(DEFAULT_BACKGROUND_COLOR_STORAGE_KEY, color);
|
|
85
85
|
} else {
|
|
86
|
-
window.localStorage.removeItem(
|
|
86
|
+
window.localStorage.removeItem(DEFAULT_BACKGROUND_COLOR_STORAGE_KEY);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
|
|
90
|
-
static initBackground(): void {
|
|
91
|
-
const value = window.localStorage.getItem(this.themeBackgroundId) || '#1d1d1d';
|
|
92
|
-
const documentElement = document.documentElement;
|
|
93
|
-
documentElement.style.setProperty('--theia-editor-background', value);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
89
|
}
|
|
@@ -19,11 +19,6 @@ import { DisposableCollection, Disposable } from '../common/disposable';
|
|
|
19
19
|
import { Emitter } from '../common/event';
|
|
20
20
|
import { ColorDefinition, ColorCssVariable } from '../common/color';
|
|
21
21
|
|
|
22
|
-
/**
|
|
23
|
-
* @deprecated since 1.20.0. Import from `@theia/core/lib/common/color` instead.
|
|
24
|
-
*/
|
|
25
|
-
export * from '../common/color';
|
|
26
|
-
|
|
27
22
|
@injectable()
|
|
28
23
|
export class ColorRegistry {
|
|
29
24
|
|
|
@@ -41,7 +41,8 @@ import { QuickViewService } from './quick-input/quick-view-service';
|
|
|
41
41
|
import { environment } from '@theia/application-package/lib/environment';
|
|
42
42
|
import { IconThemeService } from './icon-theme-service';
|
|
43
43
|
import { ColorContribution } from './color-application-contribution';
|
|
44
|
-
import { ColorRegistry
|
|
44
|
+
import { ColorRegistry } from './color-registry';
|
|
45
|
+
import { Color } from '../common/color';
|
|
45
46
|
import { CoreConfiguration, CorePreferences } from './core-preferences';
|
|
46
47
|
import { ThemeService } from './theming';
|
|
47
48
|
import { PreferenceService, PreferenceScope, PreferenceChangeEvent } from './preferences';
|
|
@@ -62,7 +63,8 @@ import { DecorationStyle } from './decoration-style';
|
|
|
62
63
|
import { isPinned, Title, togglePinned, Widget } from './widgets';
|
|
63
64
|
import { SaveResourceService } from './save-resource-service';
|
|
64
65
|
import { UserWorkingDirectoryProvider } from './user-working-directory-provider';
|
|
65
|
-
import {
|
|
66
|
+
import { UntitledResourceResolver } from '../common';
|
|
67
|
+
import { LanguageQuickPickService } from './i18n/language-quick-pick-service';
|
|
66
68
|
|
|
67
69
|
export namespace CommonMenus {
|
|
68
70
|
|
|
@@ -399,6 +401,12 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
|
|
|
399
401
|
@inject(UserWorkingDirectoryProvider)
|
|
400
402
|
protected readonly workingDirProvider: UserWorkingDirectoryProvider;
|
|
401
403
|
|
|
404
|
+
@inject(LanguageQuickPickService)
|
|
405
|
+
protected readonly languageQuickPickService: LanguageQuickPickService;
|
|
406
|
+
|
|
407
|
+
@inject(UntitledResourceResolver)
|
|
408
|
+
protected readonly untitledResourceResolver: UntitledResourceResolver;
|
|
409
|
+
|
|
402
410
|
protected pinnedKey: ContextKey<boolean>;
|
|
403
411
|
|
|
404
412
|
async configure(app: FrontendApplication): Promise<void> {
|
|
@@ -956,7 +964,11 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
|
|
|
956
964
|
execute: () => this.configureDisplayLanguage()
|
|
957
965
|
});
|
|
958
966
|
commandRegistry.registerCommand(CommonCommands.NEW_FILE, {
|
|
959
|
-
execute: async () =>
|
|
967
|
+
execute: async () => {
|
|
968
|
+
const untitledUri = this.untitledResourceResolver.createUntitledURI('', await this.workingDirProvider.getUserWorkingDir());
|
|
969
|
+
this.untitledResourceResolver.resolve(untitledUri);
|
|
970
|
+
return open(this.openerService, untitledUri);
|
|
971
|
+
}
|
|
960
972
|
});
|
|
961
973
|
}
|
|
962
974
|
|
|
@@ -1141,27 +1153,12 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
|
|
|
1141
1153
|
}
|
|
1142
1154
|
|
|
1143
1155
|
protected async configureDisplayLanguage(): Promise<void> {
|
|
1144
|
-
const
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
label: languageId,
|
|
1150
|
-
execute: async () => {
|
|
1151
|
-
if (languageId !== nls.locale && await this.confirmRestart()) {
|
|
1152
|
-
this.windowService.setSafeToShutDown();
|
|
1153
|
-
window.localStorage.setItem(nls.localeId, languageId);
|
|
1154
|
-
this.windowService.reload();
|
|
1155
|
-
}
|
|
1156
|
-
}
|
|
1157
|
-
});
|
|
1158
|
-
}
|
|
1156
|
+
const languageId = await this.languageQuickPickService.pickDisplayLanguage();
|
|
1157
|
+
if (languageId && !nls.isSelectedLocale(languageId) && await this.confirmRestart()) {
|
|
1158
|
+
nls.setLocale(languageId);
|
|
1159
|
+
this.windowService.setSafeToShutDown();
|
|
1160
|
+
this.windowService.reload();
|
|
1159
1161
|
}
|
|
1160
|
-
this.quickInputService?.showQuickPick(items,
|
|
1161
|
-
{
|
|
1162
|
-
placeholder: CommonCommands.CONFIGURE_DISPLAY_LANGUAGE.label,
|
|
1163
|
-
activeItem: items.find(item => item.label === (nls.locale || 'en'))
|
|
1164
|
-
});
|
|
1165
1162
|
}
|
|
1166
1163
|
|
|
1167
1164
|
protected async confirmRestart(): Promise<boolean> {
|
|
@@ -1486,10 +1483,6 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
|
|
|
1486
1483
|
},
|
|
1487
1484
|
{
|
|
1488
1485
|
id: 'tab.hoverBackground',
|
|
1489
|
-
defaults: {
|
|
1490
|
-
dark: 'tab.inactiveBackground',
|
|
1491
|
-
light: 'tab.inactiveBackground'
|
|
1492
|
-
},
|
|
1493
1486
|
description: 'Tab background color when hovering. Tabs are the containers for editors in the editor area. Multiple tabs can be opened in one editor group. There can be multiple editor groups.'
|
|
1494
1487
|
},
|
|
1495
1488
|
{
|
|
@@ -1624,16 +1617,16 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
|
|
|
1624
1617
|
// if not yet contributed by Monaco, check runtime css variables to learn.
|
|
1625
1618
|
{
|
|
1626
1619
|
id: 'quickInput.background', defaults: {
|
|
1627
|
-
dark: '
|
|
1628
|
-
light: '
|
|
1629
|
-
hc: '
|
|
1620
|
+
dark: 'editorWidget.background',
|
|
1621
|
+
light: 'editorWidget.background',
|
|
1622
|
+
hc: 'editorWidget.background'
|
|
1630
1623
|
}, description: 'Quick Input background color. The Quick Input widget is the container for views like the color theme picker.'
|
|
1631
1624
|
},
|
|
1632
1625
|
{
|
|
1633
1626
|
id: 'quickInput.foreground', defaults: {
|
|
1634
|
-
dark: '
|
|
1635
|
-
light: '
|
|
1636
|
-
hc: '
|
|
1627
|
+
dark: 'editorWidget.foreground',
|
|
1628
|
+
light: 'editorWidget.foreground',
|
|
1629
|
+
hc: 'editorWidget.foreground'
|
|
1637
1630
|
}, description: 'Quick Input foreground color. The Quick Input widget is the container for views like the color theme picker.'
|
|
1638
1631
|
},
|
|
1639
1632
|
{
|
|
@@ -0,0 +1,307 @@
|
|
|
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 { injectable, interfaces } from 'inversify';
|
|
18
|
+
import { ColorTheme, CssStyleCollector, StylingParticipant } from './styling-service';
|
|
19
|
+
import { isHighContrast } from '../common/theme';
|
|
20
|
+
|
|
21
|
+
export function bindCommonStylingParticipants(bind: interfaces.Bind): void {
|
|
22
|
+
for (const participant of [
|
|
23
|
+
ActionLabelStylingParticipant,
|
|
24
|
+
BadgeStylingParticipant,
|
|
25
|
+
BreadcrumbStylingParticipant,
|
|
26
|
+
ButtonStylingParticipant,
|
|
27
|
+
MenuStylingParticipant,
|
|
28
|
+
TabbarStylingParticipant,
|
|
29
|
+
TreeStylingParticipant,
|
|
30
|
+
StatusBarStylingParticipant
|
|
31
|
+
]) {
|
|
32
|
+
bind(participant).toSelf().inSingletonScope();
|
|
33
|
+
bind(StylingParticipant).toService(participant);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@injectable()
|
|
38
|
+
export class ActionLabelStylingParticipant implements StylingParticipant {
|
|
39
|
+
registerThemeStyle(theme: ColorTheme, collector: CssStyleCollector): void {
|
|
40
|
+
const focusBorder = theme.getColor('focusBorder');
|
|
41
|
+
|
|
42
|
+
if (isHighContrast(theme.type) && focusBorder) {
|
|
43
|
+
if (focusBorder) {
|
|
44
|
+
collector.addRule(`
|
|
45
|
+
.action-label:hover {
|
|
46
|
+
outline: 1px dashed ${focusBorder};
|
|
47
|
+
}
|
|
48
|
+
`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@injectable()
|
|
55
|
+
export class TreeStylingParticipant implements StylingParticipant {
|
|
56
|
+
registerThemeStyle(theme: ColorTheme, collector: CssStyleCollector): void {
|
|
57
|
+
const focusBorder = theme.getColor('focusBorder');
|
|
58
|
+
|
|
59
|
+
if (isHighContrast(theme.type) && focusBorder) {
|
|
60
|
+
collector.addRule(`
|
|
61
|
+
.theia-TreeNode {
|
|
62
|
+
outline-offset: -1px;
|
|
63
|
+
}
|
|
64
|
+
.theia-TreeNode:hover {
|
|
65
|
+
outline: 1px dashed ${focusBorder};
|
|
66
|
+
}
|
|
67
|
+
.theia-Tree .theia-TreeNode.theia-mod-selected {
|
|
68
|
+
outline: 1px dotted ${focusBorder};
|
|
69
|
+
}
|
|
70
|
+
.theia-Tree:focus .theia-TreeNode.theia-mod-selected,
|
|
71
|
+
.theia-Tree .ReactVirtualized__List:focus .theia-TreeNode.theia-mod-selected {
|
|
72
|
+
outline: 1px solid ${focusBorder};
|
|
73
|
+
}
|
|
74
|
+
`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@injectable()
|
|
80
|
+
export class BreadcrumbStylingParticipant implements StylingParticipant {
|
|
81
|
+
registerThemeStyle(theme: ColorTheme, collector: CssStyleCollector): void {
|
|
82
|
+
const contrastBorder = theme.getColor('contrastBorder');
|
|
83
|
+
|
|
84
|
+
if (isHighContrast(theme.type) && contrastBorder) {
|
|
85
|
+
collector.addRule(`
|
|
86
|
+
.theia-tabBar-breadcrumb-row {
|
|
87
|
+
outline: 1px solid ${contrastBorder};
|
|
88
|
+
}
|
|
89
|
+
`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
@injectable()
|
|
95
|
+
export class StatusBarStylingParticipant implements StylingParticipant {
|
|
96
|
+
registerThemeStyle(theme: ColorTheme, collector: CssStyleCollector): void {
|
|
97
|
+
const focusBorder = theme.getColor('focusBorder');
|
|
98
|
+
|
|
99
|
+
if (isHighContrast(theme.type) && focusBorder) {
|
|
100
|
+
collector.addRule(`
|
|
101
|
+
#theia-statusBar .area .element.hasCommand:hover {
|
|
102
|
+
outline: 1px dashed ${focusBorder};
|
|
103
|
+
}
|
|
104
|
+
#theia-statusBar .area .element.hasCommand:active {
|
|
105
|
+
outline: 1px solid ${focusBorder};
|
|
106
|
+
}
|
|
107
|
+
.theia-mod-offline #theia-statusBar .area .element.hasCommand:hover {
|
|
108
|
+
outline: none;
|
|
109
|
+
}
|
|
110
|
+
.theia-mod-offline #theia-statusBar .area .element.hasCommand:active {
|
|
111
|
+
outline: none;
|
|
112
|
+
}
|
|
113
|
+
`);
|
|
114
|
+
} else {
|
|
115
|
+
collector.addRule(`
|
|
116
|
+
#theia-statusBar .area .element.hasCommand:hover {
|
|
117
|
+
background-color: var(--theia-statusBarItem-hoverBackground);
|
|
118
|
+
}
|
|
119
|
+
#theia-statusBar .area .element.hasCommand:active {
|
|
120
|
+
background-color: var(--theia-statusBarItem-activeBackground);
|
|
121
|
+
}
|
|
122
|
+
.theia-mod-offline #theia-statusBar .area .element.hasCommand:hover {
|
|
123
|
+
background-color: var(--theia-statusBarItem-offlineHoverBackground) !important;
|
|
124
|
+
}
|
|
125
|
+
.theia-mod-offline #theia-statusBar .area .element.hasCommand:active {
|
|
126
|
+
background-color: var(--theia-statusBarItem-offlineActiveBackground) !important;
|
|
127
|
+
}
|
|
128
|
+
`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
@injectable()
|
|
134
|
+
export class MenuStylingParticipant implements StylingParticipant {
|
|
135
|
+
registerThemeStyle(theme: ColorTheme, collector: CssStyleCollector): void {
|
|
136
|
+
const focusBorder = theme.getColor('focusBorder');
|
|
137
|
+
|
|
138
|
+
if (isHighContrast(theme.type) && focusBorder) {
|
|
139
|
+
// Menu items
|
|
140
|
+
collector.addRule(`
|
|
141
|
+
.p-Menu .p-Menu-item.p-mod-active {
|
|
142
|
+
outline: 1px solid ${focusBorder};
|
|
143
|
+
outline-offset: -1px;
|
|
144
|
+
}
|
|
145
|
+
.p-MenuBar .p-MenuBar-item.p-mod-active {
|
|
146
|
+
outline: 1px dashed ${focusBorder};
|
|
147
|
+
}
|
|
148
|
+
.p-MenuBar.p-mod-active .p-MenuBar-item.p-mod-active {
|
|
149
|
+
outline: 1px solid ${focusBorder};
|
|
150
|
+
}
|
|
151
|
+
`);
|
|
152
|
+
// Sidebar items
|
|
153
|
+
collector.addRule(`
|
|
154
|
+
.theia-sidebar-menu > :hover {
|
|
155
|
+
outline: 1px dashed ${focusBorder};
|
|
156
|
+
outline-offset: -7px;
|
|
157
|
+
}
|
|
158
|
+
`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
@injectable()
|
|
164
|
+
export class BadgeStylingParticipant implements StylingParticipant {
|
|
165
|
+
registerThemeStyle(theme: ColorTheme, collector: CssStyleCollector): void {
|
|
166
|
+
const contrastBorder = theme.getColor('contrastBorder');
|
|
167
|
+
|
|
168
|
+
if (isHighContrast(theme.type) && contrastBorder) {
|
|
169
|
+
collector.addRule(`.p-TabBar .theia-badge-decorator-sidebar {
|
|
170
|
+
outline: 1px solid ${contrastBorder};
|
|
171
|
+
}`);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
@injectable()
|
|
177
|
+
export class TabbarStylingParticipant implements StylingParticipant {
|
|
178
|
+
registerThemeStyle(theme: ColorTheme, collector: CssStyleCollector): void {
|
|
179
|
+
const focusBorder = theme.getColor('focusBorder');
|
|
180
|
+
const contrastBorder = theme.getColor('contrastBorder');
|
|
181
|
+
const highContrast = isHighContrast(theme.type);
|
|
182
|
+
|
|
183
|
+
if (highContrast && focusBorder) {
|
|
184
|
+
collector.addRule(`
|
|
185
|
+
#theia-main-content-panel .p-TabBar .p-TabBar-tab {
|
|
186
|
+
outline-offset: -4px;
|
|
187
|
+
}
|
|
188
|
+
#theia-main-content-panel .p-TabBar .p-TabBar-tab.p-mod-current {
|
|
189
|
+
outline: 1px solid ${focusBorder};
|
|
190
|
+
}
|
|
191
|
+
#theia-main-content-panel .p-TabBar .p-TabBar-tab:not(.p-mod-current):hover {
|
|
192
|
+
outline: 1px dashed ${focusBorder};
|
|
193
|
+
}
|
|
194
|
+
`);
|
|
195
|
+
}
|
|
196
|
+
const tabActiveBackground = theme.getColor('tab.activeBackground');
|
|
197
|
+
const tabActiveBorderTop = theme.getColor('tab.activeBorderTop') || (highContrast && contrastBorder) || 'transparent';
|
|
198
|
+
const tabActiveBorder = theme.getColor('tab.activeBorder') || (highContrast && contrastBorder) || 'transparent';
|
|
199
|
+
collector.addRule(`
|
|
200
|
+
#theia-main-content-panel .p-TabBar .p-TabBar-tab.p-mod-current {
|
|
201
|
+
color: var(--theia-tab-activeForeground);
|
|
202
|
+
${tabActiveBackground && `background: ${tabActiveBackground};`}
|
|
203
|
+
box-shadow: 0 1px 0 ${tabActiveBorderTop}, 0 -1px 0 ${tabActiveBorder} inset;
|
|
204
|
+
}
|
|
205
|
+
`);
|
|
206
|
+
// Hover Background
|
|
207
|
+
const tabHoverBackground = theme.getColor('tab.hoverBackground');
|
|
208
|
+
if (tabHoverBackground) {
|
|
209
|
+
collector.addRule(`
|
|
210
|
+
#theia-main-content-panel .p-TabBar .p-TabBar-tab:hover {
|
|
211
|
+
background-color: ${tabHoverBackground};
|
|
212
|
+
}
|
|
213
|
+
`);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
const tabUnfocusedHoverBackground = theme.getColor('tab.unfocusedHoverBackground');
|
|
217
|
+
if (tabUnfocusedHoverBackground) {
|
|
218
|
+
collector.addRule(`
|
|
219
|
+
#theia-main-content-panel .p-TabBar:not(.theia-tabBar-active) .p-TabBar-tab:hover {
|
|
220
|
+
background-color: ${tabUnfocusedHoverBackground};
|
|
221
|
+
}
|
|
222
|
+
`);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// Hover Foreground
|
|
226
|
+
const tabHoverForeground = theme.getColor('tab.hoverForeground');
|
|
227
|
+
if (tabHoverForeground) {
|
|
228
|
+
collector.addRule(`
|
|
229
|
+
#theia-main-content-panel .p-TabBar .p-TabBar-tab:hover {
|
|
230
|
+
color: ${tabHoverForeground};
|
|
231
|
+
}
|
|
232
|
+
`);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
const tabUnfocusedHoverForeground = theme.getColor('tab.unfocusedHoverForeground');
|
|
236
|
+
if (tabUnfocusedHoverForeground) {
|
|
237
|
+
collector.addRule(`
|
|
238
|
+
#theia-main-content-panel .p-TabBar:not(.theia-tabBar-active) .p-TabBar-tab:hover {
|
|
239
|
+
color: ${tabUnfocusedHoverForeground};
|
|
240
|
+
}
|
|
241
|
+
`);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
// Hover Border
|
|
245
|
+
const tabHoverBorder = theme.getColor('tab.hoverBorder');
|
|
246
|
+
if (tabHoverBorder) {
|
|
247
|
+
collector.addRule(`
|
|
248
|
+
#theia-main-content-panel .p-TabBar .p-TabBar-tab:hover {
|
|
249
|
+
box-shadow: 0 1px 0 ${tabHoverBorder} inset;
|
|
250
|
+
}
|
|
251
|
+
`);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
const tabUnfocusedHoverBorder = theme.getColor('tab.unfocusedHoverBorder');
|
|
255
|
+
if (tabUnfocusedHoverBorder) {
|
|
256
|
+
collector.addRule(`
|
|
257
|
+
#theia-main-content-panel .p-TabBar:not(.theia-tabBar-active) .p-TabBar-tab:hover {
|
|
258
|
+
box-shadow: 0 1px 0 ${tabUnfocusedHoverBorder} inset;
|
|
259
|
+
}
|
|
260
|
+
`);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
@injectable()
|
|
266
|
+
export class ButtonStylingParticipant implements StylingParticipant {
|
|
267
|
+
registerThemeStyle(theme: ColorTheme, collector: CssStyleCollector): void {
|
|
268
|
+
const contrastBorder = theme.getColor('contrastBorder');
|
|
269
|
+
|
|
270
|
+
if (isHighContrast(theme.type) && contrastBorder) {
|
|
271
|
+
collector.addRule(`
|
|
272
|
+
.theia-button {
|
|
273
|
+
border: 1px solid ${contrastBorder};
|
|
274
|
+
}
|
|
275
|
+
`);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
const buttonBackground = theme.getColor('button.background');
|
|
279
|
+
collector.addRule(`
|
|
280
|
+
.theia-button {
|
|
281
|
+
background: ${buttonBackground || 'none'};
|
|
282
|
+
}
|
|
283
|
+
`);
|
|
284
|
+
const buttonHoverBackground = theme.getColor('button.hoverBackground');
|
|
285
|
+
if (buttonHoverBackground) {
|
|
286
|
+
collector.addRule(`
|
|
287
|
+
.theia-button:hover {
|
|
288
|
+
background-color: ${buttonHoverBackground};
|
|
289
|
+
}
|
|
290
|
+
`);
|
|
291
|
+
}
|
|
292
|
+
const secondaryButtonBackground = theme.getColor('secondaryButton.background');
|
|
293
|
+
collector.addRule(`
|
|
294
|
+
.theia-button.secondary {
|
|
295
|
+
background: ${secondaryButtonBackground || 'none'};
|
|
296
|
+
}
|
|
297
|
+
`);
|
|
298
|
+
const secondaryButtonHoverBackground = theme.getColor('secondaryButton.hoverBackground');
|
|
299
|
+
if (secondaryButtonHoverBackground) {
|
|
300
|
+
collector.addRule(`
|
|
301
|
+
.theia-button.secondary:hover {
|
|
302
|
+
background-color: ${secondaryButtonHoverBackground};
|
|
303
|
+
}
|
|
304
|
+
`);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|