diff options
| author | DeWitt Clinton <[email protected]> | 2025-06-12 07:09:38 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-12 07:09:38 -0700 |
| commit | f2ab6d08c4cd0ca9a5b3900a6bb66a083c0577ee (patch) | |
| tree | db2083848fc070f0de6ac4fe385f59e71a04fc46 /packages/core/src/services/fileDiscoveryService.ts | |
| parent | 9072a4e5ee5d6a8b524be40b0465b66e5d3dceba (diff) | |
Improve the performance of filename completion over large repositories. (#938)
Diffstat (limited to 'packages/core/src/services/fileDiscoveryService.ts')
| -rw-r--r-- | packages/core/src/services/fileDiscoveryService.ts | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/core/src/services/fileDiscoveryService.ts b/packages/core/src/services/fileDiscoveryService.ts index 3874e752..f117813d 100644 --- a/packages/core/src/services/fileDiscoveryService.ts +++ b/packages/core/src/services/fileDiscoveryService.ts @@ -7,6 +7,7 @@ import { GitIgnoreParser, GitIgnoreFilter } from '../utils/gitIgnoreParser.js'; import { isGitRepository } from '../utils/gitUtils.js'; import * as path from 'path'; +import fg from 'fast-glob'; export interface FileDiscoveryOptions { respectGitIgnore?: boolean; @@ -32,6 +33,17 @@ export class FileDiscoveryService { } } + async glob( + pattern: string | string[], + options: fg.Options = {}, + ): Promise<string[]> { + const files = await fg(pattern, { + ...options, + caseSensitiveMatch: false, + }); + return this.filterFiles(files); + } + /** * Filters a list of file paths based on git ignore rules */ |
