itree
is an interactively navigable version of the Linux utility tree
, built in Rust. It aims to extend the functionality of tree
, providing an intuitive view of a directory's structure in a manageable, interactively navigable command-line interface.
Whereas tree
can be overwhelming to use on large directories, itree
allows you to inspect a filesystem in an intuitive fashion, at your own pace. It also respects gitignore rules, allowing you to focus on the files you're most interested in!
itree
relies on the FS walker used by ripgrep, bringing you the usefulness of tree
with as little overhead/slowdown as possible!
tree
| itree
:-------------------------:|:-------------------------:
|
|
brew
itree
is available via Homebrew! Simply run:
$ brew install sashaweiss/projects/itree
To build from source, first make sure you have Rust and cargo
installed! (If not, then install via Rustup.) Then:
$ git clone https://github.com/sashaweiss/itree
$ cd itree
$ cargo install
Running itree
will start an interactive CLI. Use itree -h
to see a full list of configurations and UI options!
Up
and Down
move between files in the same directory level, while Left
and Right
move one level higher and lower in the directory tree, respectively.f
to fold/unfold a directory.q
, Ctrl-C
, or Esc
to exit.More commands to come! (E.g. deleting, moving, renaming files.)
~
, vs. tree
and rg --files
tree
offers, e.g. tree -h
cd
-ing to the folder the cursor is currently inparse_args
panics when given stdin input/
), not all subdirectories that I expected appear.