"use strict";
/*
 * Copyright (C) 2017 TypeFox and others.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
 */
Object.defineProperty(exports, "__esModule", { value: true });
var inversify_1 = require("inversify");
var common_1 = require("@wiptheia/core/lib/common");
var browser_1 = require("@wiptheia/core/lib/browser");
var browser_2 = require("@wiptheia/languages/lib/browser");
var label_provider_1 = require("@wiptheia/core/lib/browser/label-provider");
var java_client_contribution_1 = require("./java-client-contribution");
var java_commands_1 = require("./java-commands");
var java_label_provider_1 = require("./java-label-provider");
var java_resource_1 = require("./java-resource");
var java_keybinding_contexts_1 = require("./java-keybinding-contexts");
require("./monaco-contribution");
exports.default = new inversify_1.ContainerModule(function (bind) {
    bind(java_commands_1.JavaCommandContribution).toSelf().inSingletonScope();
    bind(common_1.CommandContribution).toDynamicValue(function (ctx) { return ctx.container.get(java_commands_1.JavaCommandContribution); }).inSingletonScope();
    bind(browser_1.KeybindingContribution).toDynamicValue(function (ctx) { return ctx.container.get(java_commands_1.JavaCommandContribution); }).inSingletonScope();
    bind(common_1.MenuContribution).toDynamicValue(function (ctx) { return ctx.container.get(java_commands_1.JavaCommandContribution); }).inSingletonScope();
    bind(java_client_contribution_1.JavaClientContribution).toSelf().inSingletonScope();
    bind(browser_2.LanguageClientContribution).toDynamicValue(function (ctx) { return ctx.container.get(java_client_contribution_1.JavaClientContribution); });
    bind(browser_1.KeybindingContext).to(java_keybinding_contexts_1.JavaEditorTextFocusContext).inSingletonScope();
    bind(java_resource_1.JavaResourceResolver).toSelf().inSingletonScope();
    bind(common_1.ResourceResolver).toDynamicValue(function (ctx) { return ctx.container.get(java_resource_1.JavaResourceResolver); });
    bind(label_provider_1.LabelProviderContribution).to(java_label_provider_1.JavaLabelProviderContribution).inSingletonScope();
});
//# sourceMappingURL=java-frontend-module.js.map