Skip to content

Enhanced "ls" alternative in Rust

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

brendon-codes/els

Repository files navigation

els

Enhanced directory listing utility for Unix systems.

Dependencies

Requires less for paged output. Falls back to stdout if unavailable.

Usage

els [OPTIONS] [PATH]

Options:

  • -f, --full - Full output mode (includes ACLs, owner, file type, preview)
  • -g, --filter <pattern> - Filter results by substring (case-insensitive)
  • -h, --help - Show help

Examples:

els                  # List current directory
els /home/user       # List specific directory
els -f .             # Full output mode
els -g test          # Filter files containing "test"

Building

cargo build --release

Binary is output to target/release/els.

Testing

Run the test suite:

cargo test

Run tests with output visible:

cargo test -- --nocapture

Run tests for a specific module:

cargo test utils::tests
cargo test colors::tests

Cross-Compilation Release Builds

Build Linux release binaries via cross:

  • x86_64-unknown-linux-musl (Linux x86_64)
  • aarch64-unknown-linux-musl (Linux ARM64)

Prerequisites

cargo install cross --git https://github.com/cross-rs/cross
rustup target add x86_64-unknown-linux-musl aarch64-unknown-linux-musl

Docker must be installed and running.

Build

make release

Binaries are output to dist/.

macOS

macOS binaries must be built natively on a Mac:

cargo build --release --target aarch64-apple-darwin
cargo build --release --target x86_64-apple-darwin

License

Licensed under either of:

at your option.

About

Enhanced "ls" alternative in Rust

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks