summaryrefslogtreecommitdiff
path: root/packages/core/src
diff options
context:
space:
mode:
authorBilly Biggs <[email protected]>2025-06-21 18:23:35 -0700
committerGitHub <[email protected]>2025-06-22 01:23:35 +0000
commit0779697da6caeae09b67a146013612a34f369b74 (patch)
tree665d2b22773b28843648b01fd74b5f0dcb392c6f /packages/core/src
parent63f6a497cba61299a1c24aa96795a55479740ac6 (diff)
Add setting enableRecursiveFileSearch to control @-file completion (#1290)
Diffstat (limited to 'packages/core/src')
-rw-r--r--packages/core/src/config/config.test.ts4
-rw-r--r--packages/core/src/config/config.ts23
2 files changed, 21 insertions, 6 deletions
diff --git a/packages/core/src/config/config.test.ts b/packages/core/src/config/config.test.ts
index 8a9f038c..9b576b96 100644
--- a/packages/core/src/config/config.test.ts
+++ b/packages/core/src/config/config.test.ts
@@ -163,7 +163,9 @@ describe('Server Config (config.ts)', () => {
it('should set custom file filtering settings when provided', () => {
const paramsWithFileFiltering: ConfigParameters = {
...baseParams,
- fileFilteringRespectGitIgnore: false,
+ fileFiltering: {
+ respectGitIgnore: false,
+ },
};
const config = new Config(paramsWithFileFiltering);
expect(config.getFileFilteringRespectGitIgnore()).toBe(false);
diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts
index 514fc717..be21ac8c 100644
--- a/packages/core/src/config/config.ts
+++ b/packages/core/src/config/config.ts
@@ -104,7 +104,10 @@ export interface ConfigParameters {
contextFileName?: string | string[];
accessibility?: AccessibilitySettings;
telemetry?: TelemetrySettings;
- fileFilteringRespectGitIgnore?: boolean;
+ fileFiltering?: {
+ respectGitIgnore?: boolean;
+ enableRecursiveFileSearch?: boolean;
+ };
checkpointing?: boolean;
proxy?: string;
cwd: string;
@@ -136,7 +139,10 @@ export class Config {
private readonly accessibility: AccessibilitySettings;
private readonly telemetrySettings: TelemetrySettings;
private geminiClient!: GeminiClient;
- private readonly fileFilteringRespectGitIgnore: boolean;
+ private readonly fileFiltering: {
+ respectGitIgnore: boolean;
+ enableRecursiveFileSearch: boolean;
+ };
private fileDiscoveryService: FileDiscoveryService | null = null;
private gitService: GitService | undefined = undefined;
private readonly checkpointing: boolean;
@@ -172,8 +178,11 @@ export class Config {
logPrompts: params.telemetry?.logPrompts ?? true,
};
- this.fileFilteringRespectGitIgnore =
- params.fileFilteringRespectGitIgnore ?? true;
+ this.fileFiltering = {
+ respectGitIgnore: params.fileFiltering?.respectGitIgnore ?? true,
+ enableRecursiveFileSearch:
+ params.fileFiltering?.enableRecursiveFileSearch ?? true,
+ };
this.checkpointing = params.checkpointing ?? false;
this.proxy = params.proxy;
this.cwd = params.cwd ?? process.cwd();
@@ -330,8 +339,12 @@ export class Config {
return getProjectTempDir(this.getProjectRoot());
}
+ getEnableRecursiveFileSearch(): boolean {
+ return this.fileFiltering.enableRecursiveFileSearch;
+ }
+
getFileFilteringRespectGitIgnore(): boolean {
- return this.fileFilteringRespectGitIgnore;
+ return this.fileFiltering.respectGitIgnore;
}
getCheckpointingEnabled(): boolean {