UNPKG

sussudio

Version:

An unofficial VS Code Internal API

61 lines (60 loc) 3.75 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { Emitter, Event } from "../../../base/common/event.mjs"; import { ResolvedKeybinding, Keybinding } from "../../../base/common/keybindings.mjs"; import { Disposable } from "../../../base/common/lifecycle.mjs"; import { ICommandService } from "../../commands/common/commands.mjs"; import { IContextKeyService, IContextKeyServiceTarget } from "../../contextkey/common/contextkey.mjs"; import { IKeybindingService, IKeyboardEvent, KeybindingsSchemaContribution } from "./keybinding.mjs"; import { IResolveResult, KeybindingResolver } from "./keybindingResolver.mjs"; import { ResolvedKeybindingItem } from "./resolvedKeybindingItem.mjs"; import { ILogService } from "../../log/common/log.mjs"; import { INotificationService } from "../../notification/common/notification.mjs"; import { ITelemetryService } from "../../telemetry/common/telemetry.mjs"; export declare abstract class AbstractKeybindingService extends Disposable implements IKeybindingService { private _contextKeyService; protected _commandService: ICommandService; protected _telemetryService: ITelemetryService; private _notificationService; protected _logService: ILogService; _serviceBrand: undefined; protected readonly _onDidUpdateKeybindings: Emitter<void>; get onDidUpdateKeybindings(): Event<void>; private _currentChord; private _currentChordChecker; private _currentChordStatusMessage; private _ignoreSingleModifiers; private _currentSingleModifier; private _currentSingleModifierClearTimeout; protected _logging: boolean; get inChordMode(): boolean; constructor(_contextKeyService: IContextKeyService, _commandService: ICommandService, _telemetryService: ITelemetryService, _notificationService: INotificationService, _logService: ILogService); dispose(): void; protected abstract _getResolver(): KeybindingResolver; protected abstract _documentHasFocus(): boolean; abstract resolveKeybinding(keybinding: Keybinding): ResolvedKeybinding[]; abstract resolveKeyboardEvent(keyboardEvent: IKeyboardEvent): ResolvedKeybinding; abstract resolveUserBinding(userBinding: string): ResolvedKeybinding[]; abstract registerSchemaContribution(contribution: KeybindingsSchemaContribution): void; abstract _dumpDebugInfo(): string; abstract _dumpDebugInfoJSON(): string; getDefaultKeybindingsContent(): string; toggleLogging(): boolean; protected _log(str: string): void; getDefaultKeybindings(): readonly ResolvedKeybindingItem[]; getKeybindings(): readonly ResolvedKeybindingItem[]; customKeybindingsCount(): number; lookupKeybindings(commandId: string): ResolvedKeybinding[]; lookupKeybinding(commandId: string, context?: IContextKeyService): ResolvedKeybinding | undefined; dispatchEvent(e: IKeyboardEvent, target: IContextKeyServiceTarget): boolean; softDispatch(e: IKeyboardEvent, target: IContextKeyServiceTarget): IResolveResult | null; private _enterMultiChordMode; private _leaveChordMode; dispatchByUserSettingsLabel(userSettingsLabel: string, target: IContextKeyServiceTarget): void; protected _dispatch(e: IKeyboardEvent, target: IContextKeyServiceTarget): boolean; protected _singleModifierDispatch(e: IKeyboardEvent, target: IContextKeyServiceTarget): boolean; private _doDispatch; mightProducePrintableCharacter(event: IKeyboardEvent): boolean; }