/******************************************************************************** * Copyright (C) 2017 TypeFox and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. * * This Source Code may also be made available under the following Secondary * Licenses when the conditions for such availability set forth in the Eclipse * Public License v. 2.0 are satisfied: GNU General Public License, version 2 * with the GNU Classpath Exception which is available at * https://www.gnu.org/software/classpath/license.html. * * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ /// import { MessageType } from '@devpodio/core/lib/common/message-service-protocol'; import { QuickOpenService, QuickOpenModel, QuickOpenOptions, QuickOpenItem, QuickOpenGroupItem, KeySequence, QuickOpenActionProvider, QuickOpenAction, ResolvedKeybinding, KeyCode, Key, KeybindingRegistry } from '@devpodio/core/lib/browser'; import { ContextKey } from '@devpodio/core/lib/browser/context-key-service'; import { MonacoContextKeyService } from './monaco-context-key-service'; export interface MonacoQuickOpenControllerOpts extends monaco.quickOpen.IQuickOpenControllerOpts { readonly prefix?: string; readonly password?: boolean; readonly ignoreFocusOut?: boolean; onType?(lookFor: string, acceptor: (model: monaco.quickOpen.QuickOpenModel) => void): void; onClose?(canceled: boolean): void; } export declare class MonacoQuickOpenService extends QuickOpenService { protected readonly container: HTMLElement; protected _widget: monaco.quickOpen.QuickOpenWidget | undefined; protected opts: MonacoQuickOpenControllerOpts | undefined; protected previousActiveElement: Element | undefined; protected readonly contextKeyService: MonacoContextKeyService; protected readonly keybindingRegistry: KeybindingRegistry; protected inQuickOpenKey: ContextKey; constructor(); protected init(): void; open(model: QuickOpenModel, options?: QuickOpenOptions): void; showDecoration(type: MessageType): void; hideDecoration(): void; internalOpen(opts: MonacoQuickOpenControllerOpts): void; setPlaceHolder(placeHolder: string): void; setPassword(isPassword: boolean): void; showInputDecoration(decoration: monaco.MarkerSeverity): void; clearInputDecoration(): void; protected readonly widget: monaco.quickOpen.QuickOpenWidget; protected attachQuickOpenStyler(): void; protected onClose(cancelled: boolean): void; protected onType(lookFor: string): Promise; } export declare class MonacoQuickOpenControllerOptsImpl implements MonacoQuickOpenControllerOpts { protected readonly model: QuickOpenModel; protected readonly keybindingService: TheiaKeybindingService; protected readonly options: QuickOpenOptions.Resolved; readonly password?: boolean; constructor(model: QuickOpenModel, keybindingService: TheiaKeybindingService, options?: QuickOpenOptions); readonly prefix: string; readonly ignoreFocusOut: boolean; readonly inputAriaLabel: string; onClose(cancelled: boolean): void; private toOpenModel; getModel(lookFor: string): monaco.quickOpen.QuickOpenModel; onType(lookFor: string, acceptor: (model: monaco.quickOpen.QuickOpenModel) => void): void; protected createEntry(item: QuickOpenItem, lookFor: string): monaco.quickOpen.QuickOpenEntry | undefined; protected matchesFuzzy(lookFor: string, value: string | undefined, options?: QuickOpenOptions.FuzzyMatchOptions | boolean): monaco.quickOpen.IHighlight[] | undefined; getAutoFocus(lookFor: string): monaco.quickOpen.IAutoFocus; } export declare class QuickOpenEntry extends monaco.quickOpen.QuickOpenEntry { readonly item: QuickOpenItem; protected readonly keybindingService: TheiaKeybindingService; constructor(item: QuickOpenItem, keybindingService: TheiaKeybindingService); getLabel(): string | undefined; getAriaLabel(): string | undefined; getDetail(): string | undefined; getDescription(): string | undefined; isHidden(): boolean; getResource(): monaco.Uri | undefined; getIcon(): string | undefined; getKeybinding(): monaco.keybindings.ResolvedKeybinding | undefined; run(mode: monaco.quickOpen.Mode): boolean; } export declare class QuickOpenEntryGroup extends monaco.quickOpen.QuickOpenEntryGroup { readonly item: QuickOpenGroupItem; protected readonly keybindingService: TheiaKeybindingService; constructor(item: QuickOpenGroupItem, keybindingService: TheiaKeybindingService); getGroupLabel(): string; showBorder(): boolean; } export declare class MonacoQuickOpenAction implements monaco.quickOpen.IAction { readonly action: QuickOpenAction; constructor(action: QuickOpenAction); readonly id: string; readonly label: string; readonly tooltip: string; readonly class: string | undefined; readonly enabled: boolean; readonly checked: boolean; readonly radio: boolean; run(entry: QuickOpenEntry | QuickOpenEntryGroup): PromiseLike; dispose(): void; } export declare class MonacoQuickOpenActionProvider implements monaco.quickOpen.IActionProvider { readonly provider: QuickOpenActionProvider; constructor(provider: QuickOpenActionProvider); hasActions(element: any, entry: QuickOpenEntry | QuickOpenEntryGroup): boolean; getActions(element: any, entry: QuickOpenEntry | QuickOpenEntryGroup): monaco.Promise; hasSecondaryActions(): boolean; getSecondaryActions(): monaco.Promise; getActionItem(): undefined; } interface TheiaKeybindingService { resolveKeybinding(binding: ResolvedKeybinding): KeyCode[]; acceleratorForKey(key: Key): string; acceleratorForKeyCode(keyCode: KeyCode, separator?: string): string; acceleratorForSequence(keySequence: KeySequence, separator?: string): string[]; } export {}; //# sourceMappingURL=monaco-quick-open-service.d.ts.map