From f2ab6d08c4cd0ca9a5b3900a6bb66a083c0577ee Mon Sep 17 00:00:00 2001 From: DeWitt Clinton Date: Thu, 12 Jun 2025 07:09:38 -0700 Subject: Improve the performance of filename completion over large repositories. (#938) --- packages/core/src/services/fileDiscoveryService.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'packages/core/src/services') 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 { + const files = await fg(pattern, { + ...options, + caseSensitiveMatch: false, + }); + return this.filterFiles(files); + } + /** * Filters a list of file paths based on git ignore rules */ -- cgit v1.2.3