bestls-1.3.0 is not a library.
bestls
A fast, colorful, and Rust-powered replacement for the traditional ls command.
bestls provides human-readable file listings in both pretty tables and JSON formats, with powerful filtering, tree view, and modern CLI conveniences built for speed and usability.
âĻ Features
- ðĻ Colorful output - Beautiful colored tables with optional color controls
- ð Multiple formats - Tables, compact JSON, pretty JSON, or single-column compact mode
- ⥠Blazing fast - Parallel metadata fetching with Rayon
- ð Human-readable - File sizes in KB, MB, GB format with conversions
- ð§ Flexible sorting - Sort by name, size, or modification date
- ðģ Tree view - Recursive directory traversal with depth control
- ð Smart filtering - Filter by extension, pattern, and file size
- ðïļ Hidden files - View hidden files with
--allflag - ð File permissions - Unix-style permission display (rwxrwxrwx)
- ðĨ Owner info - File owner and group information
- ðĪ Export data - Save results to files, JSON formats for automation
- ð Shell completion - Tab-completion for Bash, Zsh, and Fish
- ðŠķ Lightweight - Single binary with no runtime dependencies
ðĶ Installation
From crates.io
From source
The binary will be available at target/release/bestls.
ð Quick Start
Basic Usage
# List current directory
# List specific directory
# Include hidden files
# Sort by size
Filtering & Tree View
# Show only Rust files
# Recursive tree view (limit depth to 2)
# Find files between 1KB and 10MB
# Pattern matching
Output Options
# Compact single-column output
# Export as JSON
# Pretty JSON
# No colors (for piping/scripts)
Advanced Examples
# Find large Rust files sorted by size
# Export directory structure as JSON
# Filter markdown files and export
Shell Completions
Enable tab-completion in your shell:
# For Bash
# For Zsh (add to .zshrc: fpath=(~/.zfunc $fpath))
# For Fish
ð Documentation
- EXAMPLES.md - Comprehensive usage examples and workflows
- CHANGELOG.md - Version history and release notes
- CONTRIBUTING.md - Guidelines for contributors
- ROADMAP.md - Planned features and development roadmap
- VERSION_POLICY.md - Version management and release process
- IMPLEMENTATION_SUMMARY.md - Technical implementation details
ð ïļ Command Line Options
Core Options
| Option | Short | Description |
|---|---|---|
--path |
-p |
Directory path to list |
--sort |
-s |
Sort by: name, size, date |
--all |
-a |
Show hidden files (starting with .) |
--help |
-h |
Show help information |
--version |
-V |
Show version information |
Filtering Options
| Option | Description |
|---|---|
--tree |
Recursive directory listing |
--depth N |
Maximum recursion depth |
--filter-ext |
Filter by extensions (comma-separated) |
--filter-name |
Filter by filename pattern (glob-style) |
--min-size |
Minimum file size (e.g., 1KB, 1MB) |
--max-size |
Maximum file size (e.g., 10MB, 1GB) |
Output Options
| Option | Description |
|---|---|
--format |
Output format: table, json, json-pretty |
--compact |
Single-column output mode |
--columns |
Select visible columns |
--out |
Export output to file |
--no-color |
Disable colored output |
--json |
Compact JSON (legacy) |
--json-pretty |
Pretty JSON (legacy) |
Subcommands
| Command | Description |
|---|---|
completion |
Generate shell completions |
ðïļ Building from Source
Prerequisites
- Rust 1.85.0 or later
- Cargo package manager
Build Steps
-
Clone the repository:
-
Build the project:
-
(Optional) Install globally:
ðŽ Community
Join our community discussions! We'd love to hear from you:
- ðĄ Ideas & Feature Requests - Share your ideas for new features
- â Q&A - Get help and ask questions
- ð ïļ Show and Tell - Share how you're using bestls
- ðĒ Announcements - Stay updated with the latest news
ðĪ Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
For more details, see CONTRIBUTING.md.
ð License
This project is licensed under:
- MIT License - See LICENSE for details
ðĻâðŧ Author
Murtaza Nazar
- Email: mkm9284@gmail.com
- GitHub: @MurtadaNazar