import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
import { Extensions } from '../../../../platform/configuration/common/configurationRegistry.js';
import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
import { Registry } from '../../../../platform/registry/common/platform.js';
import { Extensions as Extensions$1 } from '../../../common/contributions.js';
import { codeActionsExtensionPointDescriptor } from '../common/codeActionsExtensionPoint.js';
import { documentationExtensionPointDescriptor } from '../common/documentationExtensionPoint.js';
import { ExtensionsRegistry } from '../../../services/extensions/common/extensionsRegistry.js';
import { LifecyclePhase } from '../../../services/lifecycle/common/lifecycle.js';
import { editorConfiguration, CodeActionsContribution } from './codeActionsContribution.js';
import { CodeActionDocumentationContribution } from './documentationContribution.js';
const codeActionsExtensionPoint = ExtensionsRegistry.registerExtensionPoint(codeActionsExtensionPointDescriptor);
const documentationExtensionPoint = ExtensionsRegistry.registerExtensionPoint(documentationExtensionPointDescriptor);
( Registry.as(Extensions.Configuration))
    .registerConfiguration(editorConfiguration);
let WorkbenchConfigurationContribution = class WorkbenchConfigurationContribution {
    constructor(instantiationService) {
        instantiationService.createInstance(CodeActionsContribution, codeActionsExtensionPoint);
        instantiationService.createInstance(CodeActionDocumentationContribution, documentationExtensionPoint);
    }
};
WorkbenchConfigurationContribution = ( __decorate([
    ( __param(0, IInstantiationService))
], WorkbenchConfigurationContribution));
( Registry.as(Extensions$1.Workbench))
    .registerWorkbenchContribution(WorkbenchConfigurationContribution, LifecyclePhase.Eventually);
