
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
import { Codicon } from '../../../../base/common/codicons.js';
import { OS } from '../../../../base/common/platform.js';
import { localize } from '../../../../nls.js';
import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';
import { EditorInput } from '../../../common/editor/editorInput.js';
import { KeybindingsEditorModel } from './keybindingsEditorModel.js';

var KeybindingsEditorInput_1;
const KeybindingsEditorIcon = registerIcon("keybindings-editor-label-icon", Codicon.keyboard, ( localize(16193, "Icon of the keybindings editor label.")));
let KeybindingsEditorInput = class KeybindingsEditorInput extends EditorInput {
    static {
        KeybindingsEditorInput_1 = this;
    }
    static {
        this.ID = "workbench.input.keybindings";
    }
    constructor(instantiationService) {
        super();
        this.searchOptions = null;
        this.resource = undefined;
        this.keybindingsModel = instantiationService.createInstance(KeybindingsEditorModel, OS);
    }
    get typeId() {
        return KeybindingsEditorInput_1.ID;
    }
    getName() {
        return localize(16194, "Keyboard Shortcuts");
    }
    getIcon() {
        return KeybindingsEditorIcon;
    }
    async resolve() {
        return this.keybindingsModel;
    }
    matches(otherInput) {
        return otherInput instanceof KeybindingsEditorInput_1;
    }
    dispose() {
        this.keybindingsModel.dispose();
        super.dispose();
    }
};
KeybindingsEditorInput = KeybindingsEditorInput_1 = ( __decorate([( __param(0, IInstantiationService))], KeybindingsEditorInput));

export { KeybindingsEditorInput };
