diff options
Diffstat (limited to 'packages/cli/src/config')
| -rw-r--r-- | packages/cli/src/config/config.test.ts | 12 | ||||
| -rw-r--r-- | packages/cli/src/config/config.ts | 13 | ||||
| -rw-r--r-- | packages/cli/src/config/settings.ts | 1 |
3 files changed, 26 insertions, 0 deletions
diff --git a/packages/cli/src/config/config.test.ts b/packages/cli/src/config/config.test.ts index cc0f112a..0c0761cc 100644 --- a/packages/cli/src/config/config.test.ts +++ b/packages/cli/src/config/config.test.ts @@ -43,6 +43,14 @@ vi.mock('@google/gemini-cli-core', async () => { fileCount: extensionPaths?.length || 0, }), ), + DEFAULT_MEMORY_FILE_FILTERING_OPTIONS: { + respectGitIgnore: false, + respectGeminiIgnore: true, + }, + DEFAULT_FILE_FILTERING_OPTIONS: { + respectGitIgnore: true, + respectGeminiIgnore: true, + }, }; }); @@ -479,6 +487,10 @@ describe('Hierarchical Memory Loading (config.ts) - Placeholder Suite', () => { '/path/to/ext3/context1.md', '/path/to/ext3/context2.md', ], + { + respectGitIgnore: false, + respectGeminiIgnore: true, + }, ); }); diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index 2d33daa3..fd4907d0 100644 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -15,8 +15,10 @@ import { ApprovalMode, DEFAULT_GEMINI_MODEL, DEFAULT_GEMINI_EMBEDDING_MODEL, + DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, FileDiscoveryService, TelemetryTarget, + FileFilteringOptions, MCPServerConfig, IDE_SERVER_NAME, } from '@google/gemini-cli-core'; @@ -219,12 +221,14 @@ export async function loadHierarchicalGeminiMemory( debugMode: boolean, fileService: FileDiscoveryService, extensionContextFilePaths: string[] = [], + fileFilteringOptions?: FileFilteringOptions, ): Promise<{ memoryContent: string; fileCount: number }> { if (debugMode) { logger.debug( `CLI: Delegating hierarchical memory load to server for CWD: ${currentWorkingDirectory}`, ); } + // Directly call the server function. // The server function will use its own homedir() for the global path. return loadServerHierarchicalMemory( @@ -232,6 +236,7 @@ export async function loadHierarchicalGeminiMemory( debugMode, fileService, extensionContextFilePaths, + fileFilteringOptions, ); } @@ -277,12 +282,19 @@ export async function loadCliConfig( ); const fileService = new FileDiscoveryService(process.cwd()); + + const fileFiltering = { + ...DEFAULT_MEMORY_FILE_FILTERING_OPTIONS, + ...settings.fileFiltering, + }; + // Call the (now wrapper) loadHierarchicalGeminiMemory which calls the server's version const { memoryContent, fileCount } = await loadHierarchicalGeminiMemory( process.cwd(), debugMode, fileService, extensionContextFilePaths, + fileFiltering, ); let mcpServers = mergeMcpServers(settings, activeExtensions); @@ -405,6 +417,7 @@ export async function loadCliConfig( // Git-aware file filtering settings fileFiltering: { respectGitIgnore: settings.fileFiltering?.respectGitIgnore, + respectGeminiIgnore: settings.fileFiltering?.respectGeminiIgnore, enableRecursiveFileSearch: settings.fileFiltering?.enableRecursiveFileSearch, }, diff --git a/packages/cli/src/config/settings.ts b/packages/cli/src/config/settings.ts index 24b9e9e6..3cbfe22d 100644 --- a/packages/cli/src/config/settings.ts +++ b/packages/cli/src/config/settings.ts @@ -81,6 +81,7 @@ export interface Settings { // Git-aware file filtering settings fileFiltering?: { respectGitIgnore?: boolean; + respectGeminiIgnore?: boolean; enableRecursiveFileSearch?: boolean; }; |
