sussudio
Version:
An unofficial VS Code Internal API
91 lines (90 loc) • 3.86 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { IKeyboardEvent } from "../../keyboardEvent.mjs";
import { IMouseEvent } from "../../mouseEvent.mjs";
import { IToggleStyles, Toggle } from "../toggle/toggle.mjs";
import { IContextViewProvider } from "../contextview/contextview.mjs";
import { CaseSensitiveToggle, RegexToggle, WholeWordsToggle } from "./findInputToggles.mjs";
import { HistoryInputBox, IInputBoxStyles, IInputValidator, IMessage as InputBoxMessage } from "../inputbox/inputBox.mjs";
import { Widget } from "../widget.mjs";
import { Event } from "../../../common/event.mjs";
import "../../../../css!./findInput.mjs";
export interface IFindInputOptions {
readonly placeholder?: string;
readonly width?: number;
readonly validation?: IInputValidator;
readonly label: string;
readonly flexibleHeight?: boolean;
readonly flexibleWidth?: boolean;
readonly flexibleMaxHeight?: number;
readonly showCommonFindToggles?: boolean;
readonly appendCaseSensitiveLabel?: string;
readonly appendWholeWordsLabel?: string;
readonly appendRegexLabel?: string;
readonly history?: string[];
readonly additionalToggles?: Toggle[];
readonly showHistoryHint?: () => boolean;
readonly toggleStyles: IToggleStyles;
readonly inputBoxStyles: IInputBoxStyles;
}
export declare class FindInput extends Widget {
static readonly OPTION_CHANGE: string;
private placeholder;
private validation?;
private label;
private readonly showCommonFindToggles;
private fixFocusOnOptionClickEnabled;
private imeSessionInProgress;
private additionalTogglesDisposables;
protected readonly controls: HTMLDivElement;
protected readonly regex?: RegexToggle;
protected readonly wholeWords?: WholeWordsToggle;
protected readonly caseSensitive?: CaseSensitiveToggle;
protected additionalToggles: Toggle[];
readonly domNode: HTMLElement;
readonly inputBox: HistoryInputBox;
private readonly _onDidOptionChange;
readonly onDidOptionChange: Event<boolean>;
private readonly _onKeyDown;
readonly onKeyDown: Event<IKeyboardEvent>;
private readonly _onMouseDown;
readonly onMouseDown: Event<IMouseEvent>;
private readonly _onInput;
readonly onInput: Event<void>;
private readonly _onKeyUp;
readonly onKeyUp: Event<IKeyboardEvent>;
private _onCaseSensitiveKeyDown;
readonly onCaseSensitiveKeyDown: Event<IKeyboardEvent>;
private _onRegexKeyDown;
readonly onRegexKeyDown: Event<IKeyboardEvent>;
constructor(parent: HTMLElement | null, contextViewProvider: IContextViewProvider | undefined, options: IFindInputOptions);
get isImeSessionInProgress(): boolean;
get onDidChange(): Event<string>;
enable(): void;
disable(): void;
setFocusInputOnOptionClick(value: boolean): void;
setEnabled(enabled: boolean): void;
setAdditionalToggles(toggles: Toggle[] | undefined): void;
clear(): void;
getValue(): string;
setValue(value: string): void;
onSearchSubmit(): void;
select(): void;
focus(): void;
getCaseSensitive(): boolean;
setCaseSensitive(value: boolean): void;
getWholeWords(): boolean;
setWholeWords(value: boolean): void;
getRegex(): boolean;
setRegex(value: boolean): void;
focusOnCaseSensitive(): void;
focusOnRegex(): void;
private _lastHighlightFindOptions;
highlightFindOptions(): void;
validate(): void;
showMessage(message: InputBoxMessage): void;
clearMessage(): void;
private clearValidation;
}