@michaelnkomo/cli
Version:
BroCode CLI - AI coding assistant with @ file tagging and multi-language support
69 lines • 1.89 kB
TypeScript
/**
* Autocomplete UI for File Tagging
* Handles the interactive autocomplete experience when user types @
*/
import { EventEmitter } from 'events';
import { FileItem } from './file-tagging.js';
export interface AutocompleteResult {
text: string;
cursorPosition: number;
}
export interface AutocompleteOptions {
maxResults: number;
showFileTypes: boolean;
showFileSizes: boolean;
}
export declare class AutocompleteManager extends EventEmitter {
private options;
private isActive;
private currentQuery;
private results;
private selectedIndex;
constructor(options?: Partial<AutocompleteOptions>);
/**
* Handle user input and manage autocomplete state
*/
handleInput(input: string, cursorPosition: number): Promise<{
shouldShowAutocomplete: boolean;
results: FileItem[];
selectedIndex: number;
}>;
/**
* Navigate autocomplete results
*/
navigateResults(direction: 'up' | 'down'): void;
/**
* Select current autocomplete result
*/
selectResult(input: string, cursorPosition: number): AutocompleteResult | null;
/**
* Format autocomplete results for display
*/
formatResults(results: FileItem[]): string[];
/**
* Get current autocomplete state
*/
getState(): {
isActive: boolean;
query: string;
results: FileItem[];
selectedIndex: number;
};
/**
* Clear autocomplete state
*/
clear(): void;
/**
* Format file size
*/
private formatFileSize;
}
/**
* Global autocomplete manager instance
*/
export declare const autocompleteManager: AutocompleteManager;
/**
* Helper function to render autocomplete popup
*/
export declare function renderAutocompletePopup(results: FileItem[], selectedIndex: number): string;
//# sourceMappingURL=autocomplete.d.ts.map