Sync upstream Gemini-CLI v0.8.2 (#838)

This commit is contained in:
tanzhenxin
2025-10-23 09:27:04 +08:00
committed by GitHub
parent 096fabb5d6
commit eb95c131be
644 changed files with 70389 additions and 23709 deletions

View File

@@ -32,7 +32,7 @@ describe('crawler', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: true,
useQwenignore: true,
ignoreDirs: [],
});
@@ -66,7 +66,7 @@ describe('crawler', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: true,
useQwenignore: true,
ignoreDirs: [],
});
@@ -98,7 +98,7 @@ describe('crawler', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: ['logs'],
});
@@ -130,7 +130,7 @@ describe('crawler', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
});
@@ -165,7 +165,7 @@ describe('crawler', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
});
@@ -203,7 +203,7 @@ describe('crawler', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
});
@@ -237,7 +237,7 @@ describe('crawler', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
});
@@ -269,7 +269,7 @@ describe('crawler', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: true,
useQwenignore: true,
ignoreDirs: [],
});
@@ -294,7 +294,7 @@ describe('crawler', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
});
@@ -320,7 +320,7 @@ describe('crawler', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
});
@@ -352,7 +352,7 @@ describe('crawler', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
});
const options = {
@@ -390,7 +390,7 @@ describe('crawler', () => {
loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
});
const getOptions = (ignore: Ignore) => ({
@@ -424,7 +424,7 @@ describe('crawler', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
});
const options = {
@@ -455,7 +455,7 @@ describe('crawler', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
});
const getOptions = (maxDepth?: number) => ({
@@ -507,7 +507,7 @@ describe('crawler', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
});
return crawl({

View File

@@ -27,7 +27,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: true,
useQwenignore: true,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -53,7 +53,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: true,
useQwenignore: true,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -81,7 +81,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: ['logs'],
cache: false,
cacheTtl: 0,
@@ -110,7 +110,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -143,7 +143,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -167,7 +167,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -202,7 +202,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -232,7 +232,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -262,7 +262,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: true,
useQwenignore: true,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -289,7 +289,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -315,7 +315,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -341,7 +341,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -367,7 +367,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -391,7 +391,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -422,7 +422,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -444,7 +444,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -467,7 +467,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false, // Explicitly disable .gitignore to isolate this rule
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -491,7 +491,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -528,7 +528,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: true, // Enable caching for this test
cacheTtl: 0,
@@ -568,7 +568,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -612,7 +612,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: true, // Ensure caching is enabled
cacheTtl: 10000,
@@ -650,7 +650,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -680,7 +680,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -705,7 +705,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -730,7 +730,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,
@@ -753,7 +753,7 @@ describe('FileSearch', () => {
const fileSearch = FileSearchFactory.create({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
cache: false,
cacheTtl: 0,

View File

@@ -18,7 +18,7 @@ export interface FileSearchOptions {
projectRoot: string;
ignoreDirs: string[];
useGitignore: boolean;
useGeminiignore: boolean;
useQwenignore: boolean;
cache: boolean;
cacheTtl: number;
enableRecursiveFileSearch: boolean;

View File

@@ -81,7 +81,7 @@ describe('loadIgnoreRules', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
});
const fileFilter = ignore.getFileFilter();
@@ -96,7 +96,7 @@ describe('loadIgnoreRules', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: true,
useQwenignore: true,
ignoreDirs: [],
});
const fileFilter = ignore.getFileFilter();
@@ -112,7 +112,7 @@ describe('loadIgnoreRules', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: true,
useQwenignore: true,
ignoreDirs: [],
});
const fileFilter = ignore.getFileFilter();
@@ -126,7 +126,7 @@ describe('loadIgnoreRules', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: ['logs/'],
});
const dirFilter = ignore.getDirectoryFilter();
@@ -139,7 +139,7 @@ describe('loadIgnoreRules', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: true,
useGeminiignore: true,
useQwenignore: true,
ignoreDirs: [],
});
const fileFilter = ignore.getFileFilter();
@@ -151,7 +151,7 @@ describe('loadIgnoreRules', () => {
const ignore = loadIgnoreRules({
projectRoot: tmpDir,
useGitignore: false,
useGeminiignore: false,
useQwenignore: false,
ignoreDirs: [],
});
const dirFilter = ignore.getDirectoryFilter();

View File

@@ -14,7 +14,7 @@ const hasFileExtension = picomatch('**/*[*.]*');
export interface LoadIgnoreRulesOptions {
projectRoot: string;
useGitignore: boolean;
useGeminiignore: boolean;
useQwenignore: boolean;
ignoreDirs: string[];
}
@@ -27,10 +27,10 @@ export function loadIgnoreRules(options: LoadIgnoreRulesOptions): Ignore {
}
}
if (options.useGeminiignore) {
const geminiignorePath = path.join(options.projectRoot, '.qwenignore');
if (fs.existsSync(geminiignorePath)) {
ignorer.add(fs.readFileSync(geminiignorePath, 'utf8'));
if (options.useQwenignore) {
const qwenignorePath = path.join(options.projectRoot, '.qwenignore');
if (fs.existsSync(qwenignorePath)) {
ignorer.add(fs.readFileSync(qwenignorePath, 'utf8'));
}
}