@codebrainz and @elextr
Yes, the intention is to avoid duplicating the same information, the [DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) principle. And also the .gitignore allows for quite advanced file inclusion/exclusion rules that is hard to replicate in the project files list anyway as well. So I think it would be very beneficial to leverage this functionality from git / libgit2 instead of parsing the .gitignore ourself.
And, I really like the idea to also get untracked files via the "git status" command. This way it would also be possible to color code or otherwise mark files in the tree depending on their git status like Modified/Untracked.
This is a feature available in atom and vscode but it is very helpful because you get an immediate visual overview of the project when you are working. The terminal and git status commands are just some clicks away but a colormarker in the tree is just a glance and some milliseconds away.