.github/readme | ||
.run | ||
lib/slab-tree | ||
scripts | ||
src | ||
.dockerignore | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
Dockerfile | ||
LICENSE | ||
README.md |
Bark
bark
is a tree-based terminal filesystem browser and file manager with vim
-style key bindings.
Features
ls
-style file listingvim
-style navigation adapted for tree hierarchies- Basic file management (create, rename, edit, delete)
- Support for Linux and Windows
See action/mod.rs for an up-to-date list of all key bindings.
Roadmap
- Settings
- File search
- Visual mode for selecting multiple files
- Ex commands for more complex operations
- Directory statistics (total size, number of files, etc.)
- Tree filtering (views that only include certain files)
- Rebindable keys and macros
Building
- Install Rust.
- Run
cargo run
to launch the application. - Run
scripts/build.sh
orscripts/build.bat
to build a release binary into theout/
folder.
Windows Subsystem for Linux
Run scripts/wsl.sh
from a Debian-based WSL environment to quickly install Rust and CMake into WSL.
Docker
Run docker build --output out .
to build a release binary into the out/
folder on the host. BuildKit is required.
Contributing
This project exists 1) because I couldn't find any tree-based file manager I liked and 2) because I wanted to have fun writing Rust, and I don't really want to spend time reading and reviewing pull requests.
For now, issues are closed, and I'm not accepting any major contributions — especially ones related to the roadmap. If you have a small idea, issue, or pull request, feel free to start a discussion.
Dependencies
For a full list of dependencies, see Cargo.toml.
This repository includes the sources of slab-tree (by iwburns) with a bug fix for set_root
(by jsinger67) and additional modifications from me.