findNonIgnoredFiles-git-exec-error Error: spawn ENAMETOOLONG
Description of the problem I encountered
I tried to setup a scheme for my projects which ended up in opening a very large workdir.
I got this error findNonIgnoredFiles-git-exec-error Error: spawn ENAMETOOLONG related to the fact that the command line spawn is actually too long.
Describe the solution you'd like
I think that the way the findNonIgnoredFiles-git-exec-error the function is written, the limit will be reached quite quickly.
I wonder if there is an alternative option using the vscode API to find these files?
[EDIT] I have found a dirty workaround. I have lengthened the lists files.exclude and search.exclude, but that was not sufficient. I ended up in restricting tightly the places where to look for files, and disabling the check with git. All of this happens in a single call, which could benefit from configurability:
@@ -602,7 +611,7 @@ export class NoteWorkspace {
let that = this;
// let files = await vscode.workspace.findFiles('**/*');
- let files = await findNonIgnoredFiles('**/*');
+ let files = await findNonIgnoredFiles('**/@Drafts/**/*', false);
files = files.filter((f) => f.scheme == 'file' && f.path.match(that.rxFileExtensions()));
this.noteFileCache = files;
return files;
Both the pattern and the git check could be made configurable in the call to findNonIgnoredFiles.
Regards,
At the time of writing, there was no way to use a vscode API that would correctly ignore all the same files as this custom function. I am pretty sure files.exclude and search.exclude existed, but I did not want to duplicate other ignore files (and things like my global ~/.ignore file in those settings files.