I like using
tree to get a visual from
the command line of a project’s directory structure, but I don’t want that
visual polluted by dependencies, temporary build artifacts, etc.
-I command-line option to exclude files and directories matching the given
glob pattern, or patterns if they are separated with
|. For patterns I always want to
exclude, I can use an alias for
alias tree='tree -I node_modules|__pycache__'
This will start to grow hairy as I add more patterns. I’d really like to use
an ignore file, a la
.gitignore. With the help of
paste, it’s easy:
alias tree='tree -I "$(paste -d\| -s ~/.treeignore)"'
Now I can list my glob patterns on separate lines in
~/.treeignore and get
the behavior I want in a way that’s easier to maintain.