UNPKG

@theia/core

Version:

Theia is a cloud & desktop IDE framework implemented in TypeScript.

350 lines • 26.8 kB
"use strict"; // ***************************************************************************** // Copyright (C) 2017 TypeFox and others. // // This program and the accompanying materials are made available under the // terms of the Eclipse Public License v. 2.0 which is available at // http://www.eclipse.org/legal/epl-2.0. // // This Source Code may also be made available under the following Secondary // Licenses when the conditions for such availability set forth in the Eclipse // Public License v. 2.0 are satisfied: GNU General Public License, version 2 // with the GNU Classpath Exception which is available at // https://www.gnu.org/software/classpath/license.html. // // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0 // ***************************************************************************** Object.defineProperty(exports, "__esModule", { value: true }); exports.frontendApplicationModule = exports.bindPreferenceService = exports.bindMessageService = exports.bindResourceProvider = void 0; require("../../src/browser/style/index.css"); require('../../src/browser/style/materialcolors.css').use(); require("font-awesome/css/font-awesome.min.css"); require("file-icons-js/css/style.css"); require("@vscode/codicons/dist/codicon.css"); const inversify_1 = require("inversify"); const common_1 = require("../common"); const keybinding_1 = require("./keybinding"); const frontend_application_1 = require("./frontend-application"); const frontend_application_contribution_1 = require("./frontend-application-contribution"); const opener_service_1 = require("./opener-service"); const http_open_handler_1 = require("./http-open-handler"); const common_frontend_contribution_1 = require("./common-frontend-contribution"); const storage_service_1 = require("./storage-service"); const widget_manager_1 = require("./widget-manager"); const shell_1 = require("./shell"); const label_parser_1 = require("./label-parser"); const label_provider_1 = require("./label-provider"); const preferences_1 = require("./preferences"); const context_menu_renderer_1 = require("./context-menu-renderer"); const theming_1 = require("./theming"); const connection_status_service_1 = require("./connection-status-service"); const diff_uris_1 = require("./diff-uris"); const application_protocol_1 = require("../common/application-protocol"); const messaging_1 = require("./messaging"); const about_dialog_1 = require("./about-dialog"); const env_variables_1 = require("./../common/env-variables"); const frontend_application_state_1 = require("./frontend-application-state"); const json_schema_store_1 = require("./json-schema-store"); const tab_bar_toolbar_1 = require("./shell/tab-bar-toolbar"); const core_preferences_1 = require("./core-preferences"); const context_key_service_1 = require("./context-key-service"); const resource_context_key_1 = require("./resource-context-key"); const keyboard_layout_service_1 = require("./keyboard/keyboard-layout-service"); const mime_service_1 = require("./mime-service"); const application_shell_mouse_tracker_1 = require("./shell/application-shell-mouse-tracker"); const view_container_1 = require("./view-container"); const quick_view_service_1 = require("./quick-input/quick-view-service"); const dialogs_1 = require("./dialogs"); const progress_location_service_1 = require("./progress-location-service"); const progress_service_protocol_1 = require("../common/progress-service-protocol"); const progress_service_1 = require("../common/progress-service"); const progress_client_1 = require("./progress-client"); const progress_status_bar_item_1 = require("./progress-status-bar-item"); const tab_bar_decorator_1 = require("./shell/tab-bar-decorator"); const context_menu_context_1 = require("./menu/context-menu-context"); const frontend_application_bindings_1 = require("./frontend-application-bindings"); Object.defineProperty(exports, "bindResourceProvider", { enumerable: true, get: function () { return frontend_application_bindings_1.bindResourceProvider; } }); Object.defineProperty(exports, "bindMessageService", { enumerable: true, get: function () { return frontend_application_bindings_1.bindMessageService; } }); Object.defineProperty(exports, "bindPreferenceService", { enumerable: true, get: function () { return frontend_application_bindings_1.bindPreferenceService; } }); const color_registry_1 = require("./color-registry"); const color_application_contribution_1 = require("./color-application-contribution"); const external_uri_service_1 = require("./external-uri-service"); const icon_theme_service_1 = require("./icon-theme-service"); const icon_theme_contribution_1 = require("./icon-theme-contribution"); const tree_label_provider_1 = require("./tree/tree-label-provider"); const progress_bar_1 = require("./progress-bar"); const progress_bar_factory_1 = require("./progress-bar-factory"); const command_open_handler_1 = require("./command-open-handler"); const language_service_1 = require("./language-service"); const encoding_registry_1 = require("./encoding-registry"); const encoding_service_1 = require("../common/encoding-service"); const authentication_service_1 = require("../browser/authentication-service"); const decorations_service_1 = require("./decorations-service"); const key_store_1 = require("../common/key-store"); const credentials_service_1 = require("./credentials-service"); const contribution_filter_1 = require("../common/contribution-filter"); const quick_command_frontend_contribution_1 = require("./quick-input/quick-command-frontend-contribution"); const quick_pick_service_1 = require("../common/quick-pick-service"); const quick_input_1 = require("./quick-input"); const sidebar_bottom_menu_widget_1 = require("./shell/sidebar-bottom-menu-widget"); const window_contribution_1 = require("./window-contribution"); const breadcrumbs_1 = require("./breadcrumbs"); const widgets_1 = require("./widgets"); const tooltip_service_1 = require("./tooltip-service"); const request_1 = require("@theia/request"); const performance_1 = require("./performance"); const save_resource_service_1 = require("./save-resource-service"); const secondary_window_handler_1 = require("./secondary-window-handler"); const user_working_directory_provider_1 = require("./user-working-directory-provider"); const window_title_service_1 = require("./window/window-title-service"); const window_title_updater_1 = require("./window/window-title-updater"); const theia_dock_panel_1 = require("./shell/theia-dock-panel"); const status_bar_1 = require("./status-bar"); const markdown_renderer_1 = require("./markdown-rendering/markdown-renderer"); const styling_service_1 = require("./styling-service"); const common_styling_participants_1 = require("./common-styling-participants"); const hover_service_1 = require("./hover-service"); const additional_views_menu_widget_1 = require("./shell/additional-views-menu-widget"); exports.frontendApplicationModule = new inversify_1.ContainerModule((bind, _unbind, _isBound, _rebind) => { bind(icon_theme_service_1.NoneIconTheme).toSelf().inSingletonScope(); bind(label_provider_1.LabelProviderContribution).toService(icon_theme_service_1.NoneIconTheme); bind(icon_theme_service_1.IconThemeService).toSelf().inSingletonScope(); (0, common_1.bindContributionProvider)(bind, icon_theme_contribution_1.IconThemeContribution); bind(icon_theme_contribution_1.DefaultFileIconThemeContribution).toSelf().inSingletonScope(); bind(icon_theme_contribution_1.IconThemeContribution).toService(icon_theme_contribution_1.DefaultFileIconThemeContribution); bind(icon_theme_contribution_1.IconThemeApplicationContribution).toSelf().inSingletonScope(); bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(icon_theme_contribution_1.IconThemeApplicationContribution); bind(color_registry_1.ColorRegistry).toSelf().inSingletonScope(); (0, common_1.bindContributionProvider)(bind, color_application_contribution_1.ColorContribution); bind(color_application_contribution_1.ColorApplicationContribution).toSelf().inSingletonScope(); bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(color_application_contribution_1.ColorApplicationContribution); bind(frontend_application_1.FrontendApplication).toSelf().inSingletonScope(); bind(frontend_application_state_1.FrontendApplicationStateService).toSelf().inSingletonScope(); bind(frontend_application_contribution_1.DefaultFrontendApplicationContribution).toSelf(); (0, common_1.bindContributionProvider)(bind, frontend_application_contribution_1.FrontendApplicationContribution); bind(shell_1.ApplicationShellOptions).toConstantValue({}); bind(shell_1.ApplicationShell).toSelf().inSingletonScope(); bind(shell_1.SidePanelHandlerFactory).toAutoFactory(shell_1.SidePanelHandler); bind(shell_1.SidePanelHandler).toSelf(); bind(shell_1.SidebarTopMenuWidgetFactory).toAutoFactory(shell_1.SidebarMenuWidget); bind(shell_1.SidebarMenuWidget).toSelf(); bind(sidebar_bottom_menu_widget_1.SidebarBottomMenuWidget).toSelf(); bind(shell_1.SidebarBottomMenuWidgetFactory).toAutoFactory(sidebar_bottom_menu_widget_1.SidebarBottomMenuWidget); bind(additional_views_menu_widget_1.AdditionalViewsMenuWidget).toSelf(); bind(additional_views_menu_widget_1.AdditionalViewsMenuWidgetFactory).toFactory(ctx => (side) => { const widget = ctx.container.resolve(additional_views_menu_widget_1.AdditionalViewsMenuWidget); widget.side = side; return widget; }); bind(shell_1.SplitPositionHandler).toSelf().inSingletonScope(); (0, common_1.bindContributionProvider)(bind, tab_bar_toolbar_1.TabBarToolbarContribution); bind(tab_bar_toolbar_1.TabBarToolbarRegistry).toSelf().inSingletonScope(); bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(tab_bar_toolbar_1.TabBarToolbarRegistry); bind(tab_bar_toolbar_1.TabBarToolbarFactory).toFactory(context => () => { const container = context.container.createChild(); container.bind(tab_bar_toolbar_1.TabBarToolbar).toSelf().inSingletonScope(); return container.get(tab_bar_toolbar_1.TabBarToolbar); }); bind(shell_1.DockPanelRendererFactory).toFactory(context => () => context.container.get(shell_1.DockPanelRenderer)); bind(shell_1.DockPanelRenderer).toSelf(); bind(shell_1.TabBarRendererFactory).toFactory(({ container }) => () => { const contextMenuRenderer = container.get(context_menu_renderer_1.ContextMenuRenderer); const tabBarDecoratorService = container.get(tab_bar_decorator_1.TabBarDecoratorService); const iconThemeService = container.get(icon_theme_service_1.IconThemeService); const selectionService = container.get(common_1.SelectionService); const commandService = container.get(common_1.CommandService); const corePreferences = container.get(core_preferences_1.CorePreferences); const hoverService = container.get(hover_service_1.HoverService); return new shell_1.TabBarRenderer(contextMenuRenderer, tabBarDecoratorService, iconThemeService, selectionService, commandService, corePreferences, hoverService); }); bind(theia_dock_panel_1.TheiaDockPanel.Factory).toFactory(({ container }) => (options) => { const corePreferences = container.get(core_preferences_1.CorePreferences); return new theia_dock_panel_1.TheiaDockPanel(options, corePreferences); }); (0, common_1.bindContributionProvider)(bind, tab_bar_decorator_1.TabBarDecorator); bind(tab_bar_decorator_1.TabBarDecoratorService).toSelf().inSingletonScope(); bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(tab_bar_decorator_1.TabBarDecoratorService); (0, common_1.bindContributionProvider)(bind, opener_service_1.OpenHandler); bind(opener_service_1.DefaultOpenerService).toSelf().inSingletonScope(); bind(opener_service_1.OpenerService).toService(opener_service_1.DefaultOpenerService); bind(external_uri_service_1.ExternalUriService).toSelf().inSingletonScope(); bind(http_open_handler_1.HttpOpenHandler).toSelf().inSingletonScope(); bind(opener_service_1.OpenHandler).toService(http_open_handler_1.HttpOpenHandler); bind(command_open_handler_1.CommandOpenHandler).toSelf().inSingletonScope(); bind(opener_service_1.OpenHandler).toService(command_open_handler_1.CommandOpenHandler); bind(tooltip_service_1.TooltipServiceImpl).toSelf().inSingletonScope(); bind(tooltip_service_1.TooltipService).toService(tooltip_service_1.TooltipServiceImpl); (0, common_1.bindContributionProvider)(bind, shell_1.ApplicationShellLayoutMigration); bind(shell_1.ApplicationShellLayoutMigration).toConstantValue({ layoutVersion: 2.0, onWillInflateLayout({ layoutVersion }) { throw shell_1.ApplicationShellLayoutMigrationError.create(`It is not possible to migrate layout of version ${layoutVersion} to version ${this.layoutVersion}.`); } }); (0, common_1.bindContributionProvider)(bind, widget_manager_1.WidgetFactory); bind(widget_manager_1.WidgetManager).toSelf().inSingletonScope(); bind(shell_1.ShellLayoutRestorer).toSelf().inSingletonScope(); bind(common_1.CommandContribution).toService(shell_1.ShellLayoutRestorer); (0, frontend_application_bindings_1.bindResourceProvider)(bind); bind(common_1.InMemoryResources).toSelf().inSingletonScope(); bind(common_1.ResourceResolver).toService(common_1.InMemoryResources); bind(common_1.InMemoryTextResourceResolver).toSelf().inSingletonScope(); bind(common_1.ResourceResolver).toService(common_1.InMemoryTextResourceResolver); bind(common_1.UntitledResourceResolver).toSelf().inSingletonScope(); bind(common_1.ResourceResolver).toService(common_1.UntitledResourceResolver); bind(common_1.SelectionService).toSelf().inSingletonScope(); bind(common_1.CommandRegistry).toSelf().inSingletonScope().onActivation(({ container }, registry) => { messaging_1.WebSocketConnectionProvider.createHandler(container, common_1.commandServicePath, registry); return registry; }); bind(common_1.CommandService).toService(common_1.CommandRegistry); (0, common_1.bindContributionProvider)(bind, common_1.CommandContribution); bind(context_key_service_1.ContextKeyService).to(context_key_service_1.ContextKeyServiceDummyImpl).inSingletonScope(); bind(common_1.MenuModelRegistry).toSelf().inSingletonScope(); (0, common_1.bindContributionProvider)(bind, common_1.MenuContribution); bind(common_1.MenuCommandAdapterRegistry).to(common_1.MenuCommandAdapterRegistryImpl).inSingletonScope(); bind(common_1.MenuCommandExecutor).to(common_1.MenuCommandExecutorImpl).inSingletonScope(); bind(keyboard_layout_service_1.KeyboardLayoutService).toSelf().inSingletonScope(); bind(keybinding_1.KeybindingRegistry).toSelf().inSingletonScope(); (0, common_1.bindContributionProvider)(bind, keybinding_1.KeybindingContext); (0, common_1.bindContributionProvider)(bind, keybinding_1.KeybindingContribution); (0, frontend_application_bindings_1.bindMessageService)(bind).onActivation(({ container }, messages) => { const client = container.get(common_1.MessageClient); messaging_1.WebSocketConnectionProvider.createHandler(container, common_1.messageServicePath, client); return messages; }); bind(language_service_1.LanguageService).toSelf().inSingletonScope(); bind(encoding_service_1.EncodingService).toSelf().inSingletonScope(); bind(encoding_registry_1.EncodingRegistry).toSelf().inSingletonScope(); bind(resource_context_key_1.ResourceContextKey).toSelf().inSingletonScope(); bind(common_frontend_contribution_1.CommonFrontendContribution).toSelf().inSingletonScope(); [frontend_application_contribution_1.FrontendApplicationContribution, common_1.CommandContribution, keybinding_1.KeybindingContribution, common_1.MenuContribution, color_application_contribution_1.ColorContribution].forEach(serviceIdentifier => bind(serviceIdentifier).toService(common_frontend_contribution_1.CommonFrontendContribution)); (0, common_styling_participants_1.bindCommonStylingParticipants)(bind); bind(quick_command_frontend_contribution_1.QuickCommandFrontendContribution).toSelf().inSingletonScope(); [common_1.CommandContribution, keybinding_1.KeybindingContribution, common_1.MenuContribution].forEach(serviceIdentifier => bind(serviceIdentifier).toService(quick_command_frontend_contribution_1.QuickCommandFrontendContribution)); bind(quick_input_1.QuickCommandService).toSelf().inSingletonScope(); bind(quick_input_1.QuickAccessContribution).toService(quick_input_1.QuickCommandService); bind(quick_input_1.QuickHelpService).toSelf().inSingletonScope(); bind(quick_input_1.QuickAccessContribution).toService(quick_input_1.QuickHelpService); bind(quick_pick_service_1.QuickPickService).to(quick_input_1.QuickPickServiceImpl).inSingletonScope().onActivation(({ container }, quickPickService) => { messaging_1.WebSocketConnectionProvider.createHandler(container, quick_pick_service_1.quickPickServicePath, quickPickService); return quickPickService; }); bind(markdown_renderer_1.MarkdownRenderer).to(markdown_renderer_1.MarkdownRendererImpl).inSingletonScope(); bind(markdown_renderer_1.MarkdownRendererFactory).toFactory(({ container }) => () => container.get(markdown_renderer_1.MarkdownRenderer)); (0, common_1.bindContributionProvider)(bind, quick_input_1.QuickAccessContribution); bind(quick_input_1.QuickInputFrontendContribution).toSelf().inSingletonScope(); bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(quick_input_1.QuickInputFrontendContribution); bind(storage_service_1.LocalStorageService).toSelf().inSingletonScope(); bind(storage_service_1.StorageService).toService(storage_service_1.LocalStorageService); (0, status_bar_1.bindStatusBar)(bind); bind(label_parser_1.LabelParser).toSelf().inSingletonScope(); (0, common_1.bindContributionProvider)(bind, label_provider_1.LabelProviderContribution); bind(label_provider_1.LabelProvider).toSelf().inSingletonScope(); bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(label_provider_1.LabelProvider); bind(label_provider_1.DefaultUriLabelProviderContribution).toSelf().inSingletonScope(); bind(label_provider_1.LabelProviderContribution).toService(label_provider_1.DefaultUriLabelProviderContribution); bind(label_provider_1.LabelProviderContribution).to(diff_uris_1.DiffUriLabelProviderContribution).inSingletonScope(); bind(tree_label_provider_1.TreeLabelProvider).toSelf().inSingletonScope(); bind(label_provider_1.LabelProviderContribution).toService(tree_label_provider_1.TreeLabelProvider); (0, frontend_application_bindings_1.bindPreferenceService)(bind); bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(preferences_1.PreferenceService); (0, common_1.bindContributionProvider)(bind, json_schema_store_1.JsonSchemaContribution); bind(json_schema_store_1.JsonSchemaStore).toSelf().inSingletonScope(); bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(json_schema_store_1.JsonSchemaStore); bind(json_schema_store_1.DefaultJsonSchemaContribution).toSelf().inSingletonScope(); bind(json_schema_store_1.JsonSchemaContribution).toService(json_schema_store_1.DefaultJsonSchemaContribution); bind(connection_status_service_1.PingService).toDynamicValue(ctx => { // let's reuse a simple and cheap service from this package const envServer = ctx.container.get(env_variables_1.EnvVariablesServer); return { ping() { return envServer.getValue('does_not_matter'); } }; }); bind(connection_status_service_1.FrontendConnectionStatusService).toSelf().inSingletonScope(); bind(connection_status_service_1.ConnectionStatusService).toService(connection_status_service_1.FrontendConnectionStatusService); bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(connection_status_service_1.FrontendConnectionStatusService); bind(connection_status_service_1.ApplicationConnectionStatusContribution).toSelf().inSingletonScope(); bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(connection_status_service_1.ApplicationConnectionStatusContribution); bind(application_protocol_1.ApplicationServer).toDynamicValue(ctx => { const provider = ctx.container.get(messaging_1.WebSocketConnectionProvider); return provider.createProxy(application_protocol_1.applicationPath); }).inSingletonScope(); bind(about_dialog_1.AboutDialog).toSelf().inSingletonScope(); bind(about_dialog_1.AboutDialogProps).toConstantValue({ title: 'Theia' }); bind(env_variables_1.EnvVariablesServer).toDynamicValue(ctx => { const connection = ctx.container.get(messaging_1.WebSocketConnectionProvider); return connection.createProxy(env_variables_1.envVariablesPath); }).inSingletonScope(); bind(theming_1.ThemeService).toSelf().inSingletonScope(); (0, core_preferences_1.bindCorePreferences)(bind); bind(mime_service_1.MimeService).toSelf().inSingletonScope(); bind(application_shell_mouse_tracker_1.ApplicationShellMouseTracker).toSelf().inSingletonScope(); bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(application_shell_mouse_tracker_1.ApplicationShellMouseTracker); bind(view_container_1.ViewContainer.Factory).toFactory(context => (options) => { const container = context.container.createChild(); container.bind(view_container_1.ViewContainerIdentifier).toConstantValue(options); container.bind(view_container_1.ViewContainer).toSelf().inSingletonScope(); return container.get(view_container_1.ViewContainer); }); bind(quick_view_service_1.QuickViewService).toSelf().inSingletonScope(); bind(quick_input_1.QuickAccessContribution).toService(quick_view_service_1.QuickViewService); bind(dialogs_1.DialogOverlayService).toSelf().inSingletonScope(); bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(dialogs_1.DialogOverlayService); bind(progress_client_1.DispatchingProgressClient).toSelf().inSingletonScope(); bind(progress_location_service_1.ProgressLocationService).toSelf().inSingletonScope(); bind(progress_status_bar_item_1.ProgressStatusBarItem).toSelf().inSingletonScope(); bind(progress_service_protocol_1.ProgressClient).toService(progress_client_1.DispatchingProgressClient); bind(progress_service_1.ProgressService).toSelf().inSingletonScope(); bind(progress_bar_factory_1.ProgressBarFactory).toFactory(context => (options) => { const childContainer = context.container.createChild(); childContainer.bind(progress_bar_factory_1.ProgressBarOptions).toConstantValue(options); childContainer.bind(progress_bar_1.ProgressBar).toSelf().inSingletonScope(); return childContainer.get(progress_bar_1.ProgressBar); }); bind(context_menu_context_1.ContextMenuContext).toSelf().inSingletonScope(); bind(authentication_service_1.AuthenticationService).to(authentication_service_1.AuthenticationServiceImpl).inSingletonScope(); bind(decorations_service_1.DecorationsService).to(decorations_service_1.DecorationsServiceImpl).inSingletonScope(); bind(key_store_1.KeyStoreService).toDynamicValue(ctx => { const connection = ctx.container.get(messaging_1.WebSocketConnectionProvider); return connection.createProxy(key_store_1.keyStoreServicePath); }).inSingletonScope(); bind(credentials_service_1.CredentialsService).to(credentials_service_1.CredentialsServiceImpl); bind(contribution_filter_1.ContributionFilterRegistry).to(contribution_filter_1.ContributionFilterRegistryImpl).inSingletonScope(); bind(window_contribution_1.WindowContribution).toSelf().inSingletonScope(); for (const contribution of [common_1.CommandContribution, keybinding_1.KeybindingContribution, common_1.MenuContribution]) { bind(contribution).toService(window_contribution_1.WindowContribution); } bind(window_title_service_1.WindowTitleService).toSelf().inSingletonScope(); bind(window_title_updater_1.WindowTitleUpdater).toSelf().inSingletonScope(); bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(window_title_updater_1.WindowTitleUpdater); (0, common_1.bindContributionProvider)(bind, breadcrumbs_1.BreadcrumbsContribution); bind(breadcrumbs_1.BreadcrumbsService).toSelf().inSingletonScope(); bind(breadcrumbs_1.BreadcrumbsRenderer).toSelf(); bind(breadcrumbs_1.BreadcrumbsRendererFactory).toFactory(ctx => () => { const childContainer = ctx.container.createChild(); childContainer.bind(breadcrumbs_1.BreadcrumbRenderer).to(breadcrumbs_1.DefaultBreadcrumbRenderer).inSingletonScope(); return childContainer.get(breadcrumbs_1.BreadcrumbsRenderer); }); bind(breadcrumbs_1.BreadcrumbPopupContainer).toSelf(); bind(breadcrumbs_1.BreadcrumbPopupContainerFactory).toFactory(({ container }) => (parent, breadcrumbId, position) => { const child = container.createChild(); child.bind(widgets_1.RendererHost).toConstantValue(parent); child.bind(breadcrumbs_1.BreadcrumbID).toConstantValue(breadcrumbId); child.bind(context_menu_renderer_1.Coordinate).toConstantValue(position); return child.get(breadcrumbs_1.BreadcrumbPopupContainer); }); bind(request_1.BackendRequestService).toDynamicValue(ctx => messaging_1.WebSocketConnectionProvider.createProxy(ctx.container, request_1.REQUEST_SERVICE_PATH)).inSingletonScope(); (0, performance_1.bindFrontendStopwatch)(bind); (0, performance_1.bindBackendStopwatch)(bind); bind(save_resource_service_1.SaveResourceService).toSelf().inSingletonScope(); bind(user_working_directory_provider_1.UserWorkingDirectoryProvider).toSelf().inSingletonScope(); bind(hover_service_1.HoverService).toSelf().inSingletonScope(); bind(styling_service_1.StylingService).toSelf().inSingletonScope(); (0, common_1.bindContributionProvider)(bind, styling_service_1.StylingParticipant); bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(styling_service_1.StylingService); bind(secondary_window_handler_1.SecondaryWindowHandler).toSelf().inSingletonScope(); }); //# sourceMappingURL=frontend-application-module.js.map