@pierre/diffs
Version:
41 lines (40 loc) • 1.25 kB
TypeScript
import { ResolvedTextEdit } from "./types.js";
import { TextDocument } from "./textDocument.js";
//#region src/editor/searchPanel.d.ts
type MatchRange = [startOffset: number, endOffset: number];
type SearchPanelMode = 'find' | 'replace';
interface SearchParams {
text: string;
replaceText: string;
caseSensitive: boolean;
wholeWord: boolean;
regex: boolean;
}
interface SearchPanelOptions {
textDocument: TextDocument;
containerElement: HTMLElement;
defaultQuery: string;
mode?: SearchPanelMode;
initialMatch?: MatchRange;
scrollToMatch: (nextMatch: MatchRange, retainFocus: boolean) => void;
applyReplace: (edits: ResolvedTextEdit[]) => void;
onUpdate: (matches: MatchRange[], options?: {
syncSelection?: boolean;
}) => MatchRange | undefined;
onClose: () => void;
}
declare class SearchPanelWidget {
#private;
constructor(options: SearchPanelOptions);
focus(): void;
navigate(findPrevious: boolean): void;
updateMatches(options?: {
syncSelection?: boolean;
}): void;
setMode(mode: SearchPanelMode): void;
close(): void;
cleanup(): void;
}
//#endregion
export { MatchRange, SearchPanelMode, SearchPanelOptions, SearchPanelWidget, SearchParams };
//# sourceMappingURL=searchPanel.d.ts.map