Alternatively, it could detect and use VCS ignore files like `.gitignore` and `.hgignore` in addition to or instead of what's listed in the preferences dialog. This has the advantage of not requiring to shell-out to a subprocess, and will also keep listing files/directories which are not excluded by main ignore file but which are excluded by others like the `.git/info/exclude` ignore file.