48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
export interface AutocompleteItem {
|
|
value: string;
|
|
label: string;
|
|
description?: string;
|
|
}
|
|
export interface SlashCommand {
|
|
name: string;
|
|
description?: string;
|
|
getArgumentCompletions?(argumentPrefix: string): AutocompleteItem[] | null;
|
|
}
|
|
export interface AutocompleteProvider {
|
|
getSuggestions(lines: string[], cursorLine: number, cursorCol: number): {
|
|
items: AutocompleteItem[];
|
|
prefix: string;
|
|
} | null;
|
|
applyCompletion(lines: string[], cursorLine: number, cursorCol: number, item: AutocompleteItem, prefix: string): {
|
|
lines: string[];
|
|
cursorLine: number;
|
|
cursorCol: number;
|
|
};
|
|
}
|
|
export declare class CombinedAutocompleteProvider implements AutocompleteProvider {
|
|
private commands;
|
|
private basePath;
|
|
private fdPath;
|
|
constructor(commands?: (SlashCommand | AutocompleteItem)[], basePath?: string, fdPath?: string | null);
|
|
getSuggestions(lines: string[], cursorLine: number, cursorCol: number): {
|
|
items: AutocompleteItem[];
|
|
prefix: string;
|
|
} | null;
|
|
applyCompletion(lines: string[], cursorLine: number, cursorCol: number, item: AutocompleteItem, prefix: string): {
|
|
lines: string[];
|
|
cursorLine: number;
|
|
cursorCol: number;
|
|
};
|
|
private extractAtPrefix;
|
|
private extractPathPrefix;
|
|
private expandHomePath;
|
|
private getFileSuggestions;
|
|
private scoreEntry;
|
|
private getFuzzyFileSuggestions;
|
|
getForceFileSuggestions(lines: string[], cursorLine: number, cursorCol: number): {
|
|
items: AutocompleteItem[];
|
|
prefix: string;
|
|
} | null;
|
|
shouldTriggerFileCompletion(lines: string[], cursorLine: number, cursorCol: number): boolean;
|
|
}
|
|
//# sourceMappingURL=autocomplete.d.ts.map
|