- ⚡ Blazing Fast: Built with Rust for maximum performance.
- 🎨 Smart Icons: Automatically detects file types (Rust, Python, Images, etc.).
- 🛠️ Zero Dependencies: A single static binary.
cargo install fstreeOr build from source:
git clone https://github.com/your-username/fstree.git
cd fstree
cargo install --path .# List current directory
$ fstree
.
├── 📂 src
│ ├── 🦀 main.rs
│ ├── 🦀 lib.rs
│ └── 📂 utils
├── 📄 Cargo.toml
├── 📝 README.md
├── 📂 tests
│ └── 🧪 test_basic.rs
└── 📦 target# Show only 2 levels deep
$ fstree -d 2
.
├── 📂 src
│ ├── 📂 config
│ │ └── 📋 settings.json
│ ├── 📄 main.rs
│ └── 🦀 lib.rs
├── 📄 Cargo.toml
├── 📝 README.md
└── 📦 targetExample 3: Show Hidden Files
# Include files starting with .
$ fstree -a
.
├── 📂 .git
│ ├── 📦 HEAD
│ ├── 📦 config
│ └── 📂 hooks
├── 📂 .vscode
│ └── ⚙️ settings.json
├── 📄 .gitignore
├── 📂 src
│ └── 🦀 main.rs
└── 📝 README.md# List another directory
$ fstree -p ./my-project
my-project
├── 🌐 index.html
├── 🎨 style.css
├── 📜 app.js
├── 📂 api
│ └── 🦀 main.rs
└── 📄 package.json# Exclude single folder
$ fstree -e node_modules
.
├── 📂 src
│ └── 🦀 main.rs
├── 📄 package.json
└── 📝 README.md
# Exclude multiple items
$ fstree -e node_modules -e .git -e dist
.
├── 📂 src
├── 📄 Cargo.toml
└── 📝 README.md
# Exclude with other options
$ fstree -d 2 -a -e .vscode -e .github| Option | Description | Example |
|---|---|---|
-p, --path PATH |
Target directory | fstree -p ./src |
-d, --depth NUM |
Limit depth levels | fstree -d 3 |
-a, --all |
Show hidden files | fstree -a |
-e, --exclude PATTERN |
Exclude files/folders | fstree -e node_modules |
-h, --help |
Show help | fstree --help |
-V, --version |
Show version | fstree --version |
MIT License
Made with ❤️ and 🦀