openai-cli-unofficial
Version:
A powerful OpenAI CLI Coding Agent built with TypeScript
136 lines • 3.5 kB
TypeScript
export interface FileSearchResult {
path: string;
name: string;
relativePath: string;
type: 'file' | 'directory';
}
export declare class FileSearchManager {
private cachedFiles;
private currentDirectory;
private lastCacheTime;
private cacheExpiration;
private gitignorePatterns;
private gitignoreLastModified;
private queryCache;
private queryCacheExpiration;
private hotFiles;
private fileAccessCount;
constructor(baseDirectory?: string);
/**
* 搜索文件,支持模糊匹配 - 优化版本,支持早期终止和智能缓存
*/
searchFiles(query: string, maxResults?: number): Promise<FileSearchResult[]>;
/**
* 同步搜索文件,支持模糊匹配(避免异步导致的建议显示问题)
*/
searchFilesSync(query: string, maxResults?: number): FileSearchResult[];
/**
* 模糊匹配算法
*/
private fuzzyMatch;
/**
* 高级 gitignore 解析器 - 支持完整的 gitignore 规范
*/
private loadGitignorePatterns;
/**
* 发现所有相关的 gitignore 文件
*/
private discoverGitignoreFiles;
/**
* 查找全局 gitignore 配置
*/
private findGlobalGitignore;
/**
* 解析 gitignore 文件内容 - 完全兼容 Git 规范
*/
private parseGitignoreContent;
/**
* 处理 gitignore 模式中的转义字符
*/
private unescapeGitignorePattern;
/**
* 获取行业标准的忽略模式
*/
private getIndustryStandardIgnorePatterns;
/**
* 企业级路径忽略检查器 - 支持复杂的 gitignore 语义
*/
private shouldIgnore;
/**
* 检查是否为允许的点文件
*/
private isAllowedDotFile;
/**
* 高级模式匹配引擎 - 完全兼容 Git 规范
*/
private executeAdvancedPatternMatching;
/**
* 相对路径模式匹配
*/
private executeRelativePatternMatching;
/**
* 专业级 Glob 模式匹配引擎
*/
private executeGlobMatching;
/**
* 高性能动态规划 Glob 匹配算法
*/
private advancedGlobMatch;
/**
* 字符类匹配支持(如 [abc], [a-z], [!abc])
*/
private isCharacterClassMatch;
/**
* 字符类内部匹配逻辑
*/
private matchesCharacterClass;
/**
* 确保缓存是最新的 - 优化版本,支持后台更新
*/
private ensureCacheUpdated;
/**
* 同步确保缓存是最新的
*/
private ensureCacheUpdatedSync;
/**
* 同步加载gitignore模式
*/
private loadGitignorePatternsSync;
/**
* 构建文件缓存 - 优化版本,支持增量更新和并发处理
*/
private buildFileCache;
/**
* 同步构建文件缓存
*/
private buildFileCacheSync;
/**
* 递归遍历目录 - 优化版本,支持并发处理
*/
private walkDirectory;
/**
* 将数组分割成指定大小的块
*/
private chunkArray;
/**
* 同步递归遍历目录
*/
private walkDirectorySync;
/**
* 更新工作目录
*/
setWorkingDirectory(directory: string): void;
/**
* 清除缓存
*/
clearCache(): void;
/**
* 获取热门文件列表(用于优化搜索排序)
*/
getHotFiles(): string[];
/**
* 清理过期的查询缓存
*/
private cleanupQueryCache;
}
//# sourceMappingURL=files.d.ts.map