1
0
Fork 0
Tree-based terminal file manager.
Go to file
chylex aef1a0011b
Refactor construction of filesystem action map
2023-09-07 00:30:23 +02:00
.github/readme Add README 2023-08-05 03:44:55 +02:00
.run Add command line argument for specifying the root path 2023-05-16 00:36:27 +02:00
lib/slab-tree Move custom slab-tree node logic into included sources 2023-08-27 14:46:19 +02:00
scripts Move wsl.sh to scripts folder 2023-08-05 04:19:52 +02:00
src Refactor construction of filesystem action map 2023-09-07 00:30:23 +02:00
.dockerignore Add Dockerfile for building the app 2023-08-03 04:57:52 +02:00
.gitignore Add build scripts 2023-08-03 19:52:21 +02:00
Cargo.lock Include slab-tree package sources in the repository 2023-08-27 13:34:39 +02:00
Cargo.toml Include slab-tree package sources in the repository 2023-08-27 13:34:39 +02:00
Dockerfile Add README 2023-08-05 03:44:55 +02:00
LICENSE Initial commit 2023-05-11 15:02:18 +02:00
README.md Include slab-tree package sources in the repository 2023-08-27 13:34:39 +02:00

README.md

Bark

bark is a tree-based terminal filesystem browser and file manager with vim-style key bindings.

Bark Browser Screenshot

Features

  • ls-style file listing
  • vim-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

  1. Install Rust.
  2. Run cargo run to launch the application.
  3. Run scripts/build.sh or scripts/build.bat to build a release binary into the out/ 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.