vscode-markdown-notes icon indicating copy to clipboard operation
vscode-markdown-notes copied to clipboard

findNonIgnoredFiles-git-exec-error Error: spawn ENAMETOOLONG

Open fpopineau opened this issue 4 years ago • 1 comments

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,

fpopineau avatar Nov 11 '21 10:11 fpopineau

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.

kortina avatar Nov 16 '21 14:11 kortina