Don't exclude all unless there are no includes at all

This commit is contained in:
Jackson Kearl 2021-01-28 12:28:39 -08:00
parent 791930308f
commit de3b3ac549

View file

@ -205,6 +205,7 @@ export class QueryBuilder {
const folderQueries: IFolderQuery[] = [];
const foldersToSearch: ResourceMap<IFolderQuery> = new ResourceMap();
const includePattern: glob.IExpression = {};
let hasIncludedFile = false;
files.forEach(file => {
if (file.scheme === Schemas.walkThrough) { return; }
@ -216,6 +217,7 @@ export class QueryBuilder {
let folderQuery = foldersToSearch.get(searchRoot);
if (!folderQuery) {
hasIncludedFile = true;
folderQuery = { folder: searchRoot, includePattern: {} };
folderQueries.push(folderQuery);
foldersToSearch.set(searchRoot, folderQuery);
@ -225,6 +227,7 @@ export class QueryBuilder {
assertIsDefined(folderQuery.includePattern)[relPath.replace(/\\/g, '/')] = true;
} else {
if (file.fsPath) {
hasIncludedFile = true;
includePattern[file.fsPath] = true;
}
}
@ -234,7 +237,7 @@ export class QueryBuilder {
folderQueries,
includePattern,
usingSearchPaths: true,
excludePattern: folderQueries.length ? undefined : { '**/*': true }
excludePattern: hasIncludedFile ? undefined : { '**/*': true }
};
}