UNPKG

27.4 kBJavaScriptView Raw
1"use strict";
2// *****************************************************************************
3// Copyright (C) 2017 TypeFox and others.
4//
5// This program and the accompanying materials are made available under the
6// terms of the Eclipse Public License v. 2.0 which is available at
7// http://www.eclipse.org/legal/epl-2.0.
8//
9// This Source Code may also be made available under the following Secondary
10// Licenses when the conditions for such availability set forth in the Eclipse
11// Public License v. 2.0 are satisfied: GNU General Public License, version 2
12// with the GNU Classpath Exception which is available at
13// https://www.gnu.org/software/classpath/license.html.
14//
15// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16// *****************************************************************************
17Object.defineProperty(exports, "__esModule", { value: true });
18exports.frontendApplicationModule = exports.bindPreferenceService = exports.bindMessageService = exports.bindResourceProvider = void 0;
19require("../../src/browser/style/index.css");
20require('../../src/browser/style/materialcolors.css').use();
21require("font-awesome/css/font-awesome.min.css");
22require("file-icons-js/css/style.css");
23require("@vscode/codicons/dist/codicon.css");
24const inversify_1 = require("inversify");
25const common_1 = require("../common");
26const keybinding_1 = require("./keybinding");
27const frontend_application_1 = require("./frontend-application");
28const frontend_application_contribution_1 = require("./frontend-application-contribution");
29const opener_service_1 = require("./opener-service");
30const http_open_handler_1 = require("./http-open-handler");
31const common_frontend_contribution_1 = require("./common-frontend-contribution");
32const storage_service_1 = require("./storage-service");
33const widget_manager_1 = require("./widget-manager");
34const shell_1 = require("./shell");
35const label_parser_1 = require("./label-parser");
36const label_provider_1 = require("./label-provider");
37const preferences_1 = require("./preferences");
38const context_menu_renderer_1 = require("./context-menu-renderer");
39const theming_1 = require("./theming");
40const connection_status_service_1 = require("./connection-status-service");
41const diff_uris_1 = require("./diff-uris");
42const application_protocol_1 = require("../common/application-protocol");
43const messaging_1 = require("./messaging");
44const about_dialog_1 = require("./about-dialog");
45const env_variables_1 = require("./../common/env-variables");
46const frontend_application_state_1 = require("./frontend-application-state");
47const json_schema_store_1 = require("./json-schema-store");
48const tab_bar_toolbar_1 = require("./shell/tab-bar-toolbar");
49const core_preferences_1 = require("./core-preferences");
50const context_key_service_1 = require("./context-key-service");
51const resource_context_key_1 = require("./resource-context-key");
52const keyboard_layout_service_1 = require("./keyboard/keyboard-layout-service");
53const mime_service_1 = require("./mime-service");
54const application_shell_mouse_tracker_1 = require("./shell/application-shell-mouse-tracker");
55const view_container_1 = require("./view-container");
56const quick_view_service_1 = require("./quick-input/quick-view-service");
57const dialogs_1 = require("./dialogs");
58const progress_location_service_1 = require("./progress-location-service");
59const progress_service_protocol_1 = require("../common/progress-service-protocol");
60const progress_service_1 = require("../common/progress-service");
61const progress_client_1 = require("./progress-client");
62const progress_status_bar_item_1 = require("./progress-status-bar-item");
63const tab_bar_decorator_1 = require("./shell/tab-bar-decorator");
64const context_menu_context_1 = require("./menu/context-menu-context");
65const frontend_application_bindings_1 = require("./frontend-application-bindings");
66Object.defineProperty(exports, "bindResourceProvider", { enumerable: true, get: function () { return frontend_application_bindings_1.bindResourceProvider; } });
67Object.defineProperty(exports, "bindMessageService", { enumerable: true, get: function () { return frontend_application_bindings_1.bindMessageService; } });
68Object.defineProperty(exports, "bindPreferenceService", { enumerable: true, get: function () { return frontend_application_bindings_1.bindPreferenceService; } });
69const color_registry_1 = require("./color-registry");
70const color_application_contribution_1 = require("./color-application-contribution");
71const external_uri_service_1 = require("./external-uri-service");
72const icon_theme_service_1 = require("./icon-theme-service");
73const icon_theme_contribution_1 = require("./icon-theme-contribution");
74const tree_label_provider_1 = require("./tree/tree-label-provider");
75const progress_bar_1 = require("./progress-bar");
76const progress_bar_factory_1 = require("./progress-bar-factory");
77const command_open_handler_1 = require("./command-open-handler");
78const language_service_1 = require("./language-service");
79const encoding_registry_1 = require("./encoding-registry");
80const encoding_service_1 = require("../common/encoding-service");
81const authentication_service_1 = require("../browser/authentication-service");
82const decorations_service_1 = require("./decorations-service");
83const key_store_1 = require("../common/key-store");
84const credentials_service_1 = require("./credentials-service");
85const contribution_filter_1 = require("../common/contribution-filter");
86const quick_command_frontend_contribution_1 = require("./quick-input/quick-command-frontend-contribution");
87const quick_pick_service_1 = require("../common/quick-pick-service");
88const quick_input_1 = require("./quick-input");
89const sidebar_bottom_menu_widget_1 = require("./shell/sidebar-bottom-menu-widget");
90const window_contribution_1 = require("./window-contribution");
91const breadcrumbs_1 = require("./breadcrumbs");
92const widgets_1 = require("./widgets");
93const tooltip_service_1 = require("./tooltip-service");
94const request_1 = require("@theia/request");
95const performance_1 = require("./performance");
96const save_resource_service_1 = require("./save-resource-service");
97const secondary_window_handler_1 = require("./secondary-window-handler");
98const user_working_directory_provider_1 = require("./user-working-directory-provider");
99const window_title_service_1 = require("./window/window-title-service");
100const window_title_updater_1 = require("./window/window-title-updater");
101const theia_dock_panel_1 = require("./shell/theia-dock-panel");
102const status_bar_1 = require("./status-bar");
103const markdown_renderer_1 = require("./markdown-rendering/markdown-renderer");
104const styling_service_1 = require("./styling-service");
105const common_styling_participants_1 = require("./common-styling-participants");
106const hover_service_1 = require("./hover-service");
107const additional_views_menu_widget_1 = require("./shell/additional-views-menu-widget");
108const language_icon_provider_1 = require("./language-icon-provider");
109const tree_1 = require("./tree");
110const open_with_service_1 = require("./open-with-service");
111exports.frontendApplicationModule = new inversify_1.ContainerModule((bind, _unbind, _isBound, _rebind) => {
112 bind(icon_theme_service_1.NoneIconTheme).toSelf().inSingletonScope();
113 bind(label_provider_1.LabelProviderContribution).toService(icon_theme_service_1.NoneIconTheme);
114 bind(icon_theme_service_1.IconThemeService).toSelf().inSingletonScope();
115 (0, common_1.bindContributionProvider)(bind, icon_theme_contribution_1.IconThemeContribution);
116 bind(icon_theme_contribution_1.DefaultFileIconThemeContribution).toSelf().inSingletonScope();
117 bind(icon_theme_contribution_1.IconThemeContribution).toService(icon_theme_contribution_1.DefaultFileIconThemeContribution);
118 bind(icon_theme_contribution_1.IconThemeApplicationContribution).toSelf().inSingletonScope();
119 bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(icon_theme_contribution_1.IconThemeApplicationContribution);
120 bind(language_icon_provider_1.LanguageIconLabelProvider).toSelf().inSingletonScope();
121 bind(label_provider_1.LabelProviderContribution).toService(language_icon_provider_1.LanguageIconLabelProvider);
122 bind(color_registry_1.ColorRegistry).toSelf().inSingletonScope();
123 (0, common_1.bindContributionProvider)(bind, color_application_contribution_1.ColorContribution);
124 bind(color_application_contribution_1.ColorApplicationContribution).toSelf().inSingletonScope();
125 bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(color_application_contribution_1.ColorApplicationContribution);
126 bind(frontend_application_1.FrontendApplication).toSelf().inSingletonScope();
127 bind(frontend_application_state_1.FrontendApplicationStateService).toSelf().inSingletonScope();
128 bind(frontend_application_contribution_1.DefaultFrontendApplicationContribution).toSelf();
129 (0, common_1.bindContributionProvider)(bind, frontend_application_contribution_1.FrontendApplicationContribution);
130 bind(shell_1.ApplicationShellOptions).toConstantValue({});
131 bind(shell_1.ApplicationShell).toSelf().inSingletonScope();
132 bind(shell_1.SidePanelHandlerFactory).toAutoFactory(shell_1.SidePanelHandler);
133 bind(shell_1.SidePanelHandler).toSelf();
134 bind(shell_1.SidebarTopMenuWidgetFactory).toAutoFactory(shell_1.SidebarMenuWidget);
135 bind(shell_1.SidebarMenuWidget).toSelf();
136 bind(sidebar_bottom_menu_widget_1.SidebarBottomMenuWidget).toSelf();
137 bind(shell_1.SidebarBottomMenuWidgetFactory).toAutoFactory(sidebar_bottom_menu_widget_1.SidebarBottomMenuWidget);
138 bind(additional_views_menu_widget_1.AdditionalViewsMenuWidget).toSelf();
139 bind(additional_views_menu_widget_1.AdditionalViewsMenuWidgetFactory).toFactory(ctx => (side) => {
140 const widget = ctx.container.resolve(additional_views_menu_widget_1.AdditionalViewsMenuWidget);
141 widget.side = side;
142 return widget;
143 });
144 bind(shell_1.SplitPositionHandler).toSelf().inSingletonScope();
145 (0, common_1.bindContributionProvider)(bind, tab_bar_toolbar_1.TabBarToolbarContribution);
146 bind(tab_bar_toolbar_1.TabBarToolbarRegistry).toSelf().inSingletonScope();
147 bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(tab_bar_toolbar_1.TabBarToolbarRegistry);
148 bind(tab_bar_toolbar_1.TabBarToolbarFactory).toFactory(context => () => {
149 const container = context.container.createChild();
150 container.bind(tab_bar_toolbar_1.TabBarToolbar).toSelf().inSingletonScope();
151 return container.get(tab_bar_toolbar_1.TabBarToolbar);
152 });
153 bind(shell_1.DockPanelRendererFactory).toFactory(context => () => context.container.get(shell_1.DockPanelRenderer));
154 bind(shell_1.DockPanelRenderer).toSelf();
155 bind(shell_1.TabBarRendererFactory).toFactory(({ container }) => () => {
156 const contextMenuRenderer = container.get(context_menu_renderer_1.ContextMenuRenderer);
157 const tabBarDecoratorService = container.get(tab_bar_decorator_1.TabBarDecoratorService);
158 const iconThemeService = container.get(icon_theme_service_1.IconThemeService);
159 const selectionService = container.get(common_1.SelectionService);
160 const commandService = container.get(common_1.CommandService);
161 const corePreferences = container.get(core_preferences_1.CorePreferences);
162 const hoverService = container.get(hover_service_1.HoverService);
163 const contextKeyService = container.get(context_key_service_1.ContextKeyService);
164 return new shell_1.TabBarRenderer(contextMenuRenderer, tabBarDecoratorService, iconThemeService, selectionService, commandService, corePreferences, hoverService, contextKeyService);
165 });
166 bind(theia_dock_panel_1.TheiaDockPanel.Factory).toFactory(({ container }) => (options) => {
167 const corePreferences = container.get(core_preferences_1.CorePreferences);
168 return new theia_dock_panel_1.TheiaDockPanel(options, corePreferences);
169 });
170 (0, common_1.bindContributionProvider)(bind, tab_bar_decorator_1.TabBarDecorator);
171 bind(tab_bar_decorator_1.TabBarDecoratorService).toSelf().inSingletonScope();
172 bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(tab_bar_decorator_1.TabBarDecoratorService);
173 (0, common_1.bindContributionProvider)(bind, opener_service_1.OpenHandler);
174 bind(opener_service_1.DefaultOpenerService).toSelf().inSingletonScope();
175 bind(opener_service_1.OpenerService).toService(opener_service_1.DefaultOpenerService);
176 bind(external_uri_service_1.ExternalUriService).toSelf().inSingletonScope();
177 bind(http_open_handler_1.HttpOpenHandler).toSelf().inSingletonScope();
178 bind(opener_service_1.OpenHandler).toService(http_open_handler_1.HttpOpenHandler);
179 bind(command_open_handler_1.CommandOpenHandler).toSelf().inSingletonScope();
180 bind(opener_service_1.OpenHandler).toService(command_open_handler_1.CommandOpenHandler);
181 bind(open_with_service_1.OpenWithService).toSelf().inSingletonScope();
182 bind(tooltip_service_1.TooltipServiceImpl).toSelf().inSingletonScope();
183 bind(tooltip_service_1.TooltipService).toService(tooltip_service_1.TooltipServiceImpl);
184 (0, common_1.bindContributionProvider)(bind, shell_1.ApplicationShellLayoutMigration);
185 bind(shell_1.ApplicationShellLayoutMigration).toConstantValue({
186 layoutVersion: 2.0,
187 onWillInflateLayout({ layoutVersion }) {
188 throw shell_1.ApplicationShellLayoutMigrationError.create(`It is not possible to migrate layout of version ${layoutVersion} to version ${this.layoutVersion}.`);
189 }
190 });
191 (0, common_1.bindContributionProvider)(bind, widget_manager_1.WidgetFactory);
192 bind(widget_manager_1.WidgetManager).toSelf().inSingletonScope();
193 bind(shell_1.ShellLayoutRestorer).toSelf().inSingletonScope();
194 bind(common_1.CommandContribution).toService(shell_1.ShellLayoutRestorer);
195 (0, frontend_application_bindings_1.bindResourceProvider)(bind);
196 bind(common_1.InMemoryResources).toSelf().inSingletonScope();
197 bind(common_1.ResourceResolver).toService(common_1.InMemoryResources);
198 bind(common_1.InMemoryTextResourceResolver).toSelf().inSingletonScope();
199 bind(common_1.ResourceResolver).toService(common_1.InMemoryTextResourceResolver);
200 bind(common_1.UntitledResourceResolver).toSelf().inSingletonScope();
201 bind(common_1.ResourceResolver).toService(common_1.UntitledResourceResolver);
202 bind(common_1.SelectionService).toSelf().inSingletonScope();
203 bind(common_1.CommandRegistry).toSelf().inSingletonScope().onActivation(({ container }, registry) => {
204 messaging_1.WebSocketConnectionProvider.createHandler(container, common_1.commandServicePath, registry);
205 return registry;
206 });
207 bind(common_1.CommandService).toService(common_1.CommandRegistry);
208 (0, common_1.bindContributionProvider)(bind, common_1.CommandContribution);
209 bind(context_key_service_1.ContextKeyService).to(context_key_service_1.ContextKeyServiceDummyImpl).inSingletonScope();
210 bind(common_1.MenuModelRegistry).toSelf().inSingletonScope();
211 (0, common_1.bindContributionProvider)(bind, common_1.MenuContribution);
212 bind(common_1.MenuCommandAdapterRegistry).to(common_1.MenuCommandAdapterRegistryImpl).inSingletonScope();
213 bind(common_1.MenuCommandExecutor).to(common_1.MenuCommandExecutorImpl).inSingletonScope();
214 bind(keyboard_layout_service_1.KeyboardLayoutService).toSelf().inSingletonScope();
215 bind(keybinding_1.KeybindingRegistry).toSelf().inSingletonScope();
216 (0, common_1.bindContributionProvider)(bind, keybinding_1.KeybindingContext);
217 (0, common_1.bindContributionProvider)(bind, keybinding_1.KeybindingContribution);
218 (0, frontend_application_bindings_1.bindMessageService)(bind).onActivation(({ container }, messages) => {
219 const client = container.get(common_1.MessageClient);
220 messaging_1.WebSocketConnectionProvider.createHandler(container, common_1.messageServicePath, client);
221 return messages;
222 });
223 bind(language_service_1.LanguageService).toSelf().inSingletonScope();
224 bind(encoding_service_1.EncodingService).toSelf().inSingletonScope();
225 bind(encoding_registry_1.EncodingRegistry).toSelf().inSingletonScope();
226 bind(resource_context_key_1.ResourceContextKey).toSelf().inSingletonScope();
227 bind(common_frontend_contribution_1.CommonFrontendContribution).toSelf().inSingletonScope();
228 [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));
229 (0, common_styling_participants_1.bindCommonStylingParticipants)(bind);
230 bind(quick_command_frontend_contribution_1.QuickCommandFrontendContribution).toSelf().inSingletonScope();
231 [common_1.CommandContribution, keybinding_1.KeybindingContribution, common_1.MenuContribution].forEach(serviceIdentifier => bind(serviceIdentifier).toService(quick_command_frontend_contribution_1.QuickCommandFrontendContribution));
232 bind(quick_input_1.QuickCommandService).toSelf().inSingletonScope();
233 bind(quick_input_1.QuickAccessContribution).toService(quick_input_1.QuickCommandService);
234 bind(quick_input_1.QuickHelpService).toSelf().inSingletonScope();
235 bind(quick_input_1.QuickAccessContribution).toService(quick_input_1.QuickHelpService);
236 bind(quick_pick_service_1.QuickPickService).to(quick_input_1.QuickPickServiceImpl).inSingletonScope().onActivation(({ container }, quickPickService) => {
237 messaging_1.WebSocketConnectionProvider.createHandler(container, quick_pick_service_1.quickPickServicePath, quickPickService);
238 return quickPickService;
239 });
240 bind(markdown_renderer_1.MarkdownRenderer).to(markdown_renderer_1.MarkdownRendererImpl).inSingletonScope();
241 bind(markdown_renderer_1.MarkdownRendererFactory).toFactory(({ container }) => () => container.get(markdown_renderer_1.MarkdownRenderer));
242 (0, common_1.bindContributionProvider)(bind, quick_input_1.QuickAccessContribution);
243 bind(quick_input_1.QuickInputFrontendContribution).toSelf().inSingletonScope();
244 bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(quick_input_1.QuickInputFrontendContribution);
245 bind(storage_service_1.LocalStorageService).toSelf().inSingletonScope();
246 bind(storage_service_1.StorageService).toService(storage_service_1.LocalStorageService);
247 (0, status_bar_1.bindStatusBar)(bind);
248 bind(label_parser_1.LabelParser).toSelf().inSingletonScope();
249 (0, common_1.bindContributionProvider)(bind, label_provider_1.LabelProviderContribution);
250 bind(label_provider_1.LabelProvider).toSelf().inSingletonScope();
251 bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(label_provider_1.LabelProvider);
252 bind(label_provider_1.DefaultUriLabelProviderContribution).toSelf().inSingletonScope();
253 bind(label_provider_1.LabelProviderContribution).toService(label_provider_1.DefaultUriLabelProviderContribution);
254 bind(label_provider_1.LabelProviderContribution).to(diff_uris_1.DiffUriLabelProviderContribution).inSingletonScope();
255 bind(tree_label_provider_1.TreeLabelProvider).toSelf().inSingletonScope();
256 bind(label_provider_1.LabelProviderContribution).toService(tree_label_provider_1.TreeLabelProvider);
257 (0, frontend_application_bindings_1.bindPreferenceService)(bind);
258 bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(preferences_1.PreferenceService);
259 (0, common_1.bindContributionProvider)(bind, json_schema_store_1.JsonSchemaContribution);
260 bind(json_schema_store_1.JsonSchemaStore).toSelf().inSingletonScope();
261 bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(json_schema_store_1.JsonSchemaStore);
262 bind(json_schema_store_1.DefaultJsonSchemaContribution).toSelf().inSingletonScope();
263 bind(json_schema_store_1.JsonSchemaContribution).toService(json_schema_store_1.DefaultJsonSchemaContribution);
264 bind(connection_status_service_1.PingService).toDynamicValue(ctx => {
265 // let's reuse a simple and cheap service from this package
266 const envServer = ctx.container.get(env_variables_1.EnvVariablesServer);
267 return {
268 ping() {
269 return envServer.getValue('does_not_matter');
270 }
271 };
272 });
273 bind(connection_status_service_1.FrontendConnectionStatusService).toSelf().inSingletonScope();
274 bind(connection_status_service_1.ConnectionStatusService).toService(connection_status_service_1.FrontendConnectionStatusService);
275 bind(connection_status_service_1.ApplicationConnectionStatusContribution).toSelf().inSingletonScope();
276 bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(connection_status_service_1.ApplicationConnectionStatusContribution);
277 bind(application_protocol_1.ApplicationServer).toDynamicValue(ctx => {
278 const provider = ctx.container.get(messaging_1.WebSocketConnectionProvider);
279 return provider.createProxy(application_protocol_1.applicationPath);
280 }).inSingletonScope();
281 bind(about_dialog_1.AboutDialog).toSelf().inSingletonScope();
282 bind(about_dialog_1.AboutDialogProps).toConstantValue({ title: 'Theia' });
283 bind(env_variables_1.EnvVariablesServer).toDynamicValue(ctx => {
284 const connection = ctx.container.get(messaging_1.WebSocketConnectionProvider);
285 return connection.createProxy(env_variables_1.envVariablesPath);
286 }).inSingletonScope();
287 bind(theming_1.ThemeService).toSelf().inSingletonScope();
288 (0, core_preferences_1.bindCorePreferences)(bind);
289 (0, tree_1.bindTreePreferences)(bind);
290 bind(mime_service_1.MimeService).toSelf().inSingletonScope();
291 bind(application_shell_mouse_tracker_1.ApplicationShellMouseTracker).toSelf().inSingletonScope();
292 bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(application_shell_mouse_tracker_1.ApplicationShellMouseTracker);
293 bind(view_container_1.ViewContainer.Factory).toFactory(context => (options) => {
294 const container = context.container.createChild();
295 container.bind(view_container_1.ViewContainerIdentifier).toConstantValue(options);
296 container.bind(view_container_1.ViewContainer).toSelf().inSingletonScope();
297 return container.get(view_container_1.ViewContainer);
298 });
299 bind(quick_view_service_1.QuickViewService).toSelf().inSingletonScope();
300 bind(quick_input_1.QuickAccessContribution).toService(quick_view_service_1.QuickViewService);
301 bind(dialogs_1.DialogOverlayService).toSelf().inSingletonScope();
302 bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(dialogs_1.DialogOverlayService);
303 bind(progress_client_1.DispatchingProgressClient).toSelf().inSingletonScope();
304 bind(progress_location_service_1.ProgressLocationService).toSelf().inSingletonScope();
305 bind(progress_status_bar_item_1.ProgressStatusBarItem).toSelf().inSingletonScope();
306 bind(progress_service_protocol_1.ProgressClient).toService(progress_client_1.DispatchingProgressClient);
307 bind(progress_service_1.ProgressService).toSelf().inSingletonScope();
308 bind(progress_bar_factory_1.ProgressBarFactory).toFactory(context => (options) => {
309 const childContainer = context.container.createChild();
310 childContainer.bind(progress_bar_factory_1.ProgressBarOptions).toConstantValue(options);
311 childContainer.bind(progress_bar_1.ProgressBar).toSelf().inSingletonScope();
312 return childContainer.get(progress_bar_1.ProgressBar);
313 });
314 bind(context_menu_context_1.ContextMenuContext).toSelf().inSingletonScope();
315 bind(authentication_service_1.AuthenticationService).to(authentication_service_1.AuthenticationServiceImpl).inSingletonScope();
316 bind(decorations_service_1.DecorationsService).to(decorations_service_1.DecorationsServiceImpl).inSingletonScope();
317 bind(key_store_1.KeyStoreService).toDynamicValue(ctx => {
318 const connection = ctx.container.get(messaging_1.WebSocketConnectionProvider);
319 return connection.createProxy(key_store_1.keyStoreServicePath);
320 }).inSingletonScope();
321 bind(credentials_service_1.CredentialsService).to(credentials_service_1.CredentialsServiceImpl);
322 bind(contribution_filter_1.ContributionFilterRegistry).to(contribution_filter_1.ContributionFilterRegistryImpl).inSingletonScope();
323 bind(window_contribution_1.WindowContribution).toSelf().inSingletonScope();
324 for (const contribution of [common_1.CommandContribution, keybinding_1.KeybindingContribution, common_1.MenuContribution]) {
325 bind(contribution).toService(window_contribution_1.WindowContribution);
326 }
327 bind(window_title_service_1.WindowTitleService).toSelf().inSingletonScope();
328 bind(window_title_updater_1.WindowTitleUpdater).toSelf().inSingletonScope();
329 bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(window_title_updater_1.WindowTitleUpdater);
330 (0, common_1.bindContributionProvider)(bind, breadcrumbs_1.BreadcrumbsContribution);
331 bind(breadcrumbs_1.BreadcrumbsService).toSelf().inSingletonScope();
332 bind(breadcrumbs_1.BreadcrumbsRenderer).toSelf();
333 bind(breadcrumbs_1.BreadcrumbsRendererFactory).toFactory(ctx => () => {
334 const childContainer = ctx.container.createChild();
335 childContainer.bind(breadcrumbs_1.BreadcrumbRenderer).to(breadcrumbs_1.DefaultBreadcrumbRenderer).inSingletonScope();
336 return childContainer.get(breadcrumbs_1.BreadcrumbsRenderer);
337 });
338 bind(breadcrumbs_1.BreadcrumbPopupContainer).toSelf();
339 bind(breadcrumbs_1.BreadcrumbPopupContainerFactory).toFactory(({ container }) => (parent, breadcrumbId, position) => {
340 const child = container.createChild();
341 child.bind(widgets_1.RendererHost).toConstantValue(parent);
342 child.bind(breadcrumbs_1.BreadcrumbID).toConstantValue(breadcrumbId);
343 child.bind(context_menu_renderer_1.Coordinate).toConstantValue(position);
344 return child.get(breadcrumbs_1.BreadcrumbPopupContainer);
345 });
346 bind(request_1.BackendRequestService).toDynamicValue(ctx => messaging_1.WebSocketConnectionProvider.createProxy(ctx.container, request_1.REQUEST_SERVICE_PATH)).inSingletonScope();
347 (0, performance_1.bindFrontendStopwatch)(bind);
348 (0, performance_1.bindBackendStopwatch)(bind);
349 bind(save_resource_service_1.SaveResourceService).toSelf().inSingletonScope();
350 bind(user_working_directory_provider_1.UserWorkingDirectoryProvider).toSelf().inSingletonScope();
351 bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(user_working_directory_provider_1.UserWorkingDirectoryProvider);
352 bind(hover_service_1.HoverService).toSelf().inSingletonScope();
353 bind(styling_service_1.StylingService).toSelf().inSingletonScope();
354 (0, common_1.bindContributionProvider)(bind, styling_service_1.StylingParticipant);
355 bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(styling_service_1.StylingService);
356 bind(secondary_window_handler_1.SecondaryWindowHandler).toSelf().inSingletonScope();
357});
358//# sourceMappingURL=frontend-application-module.js.map
\No newline at end of file