2 unstable releases
Uses new Rust 2024
| 0.2.0 | Dec 10, 2025 |
|---|---|
| 0.1.0 | Dec 10, 2025 |
#62 in Value formatting
1MB
829 lines
nuls
NuShell-inspired ls with a colorful, table-based layout: directory/file type tagging, human-readable sizes, relative “modified” times with recency-driven colors, and familiar flags.
Features
- Box-drawn table with colored borders and headers
- Directory-first sorting by default; optional
-t/--sort-modified(newest first) and-r/--reverse - Relative modified column with recency-aware colors (seconds → years, plus future)
- Human-readable sizes (
KB,MB,GB,TB) - Hidden files toggled via
-a/--all - Colored help output for quick scanning
- Optional git info (
-g) shown inline after the name, e.g.,main.rs (+15 -2)
Install
From crates.io:
cargo install nuls
Building locally:
cargo install --path . --bin nuls --force
# optional: cargo install --path . --bin nuls --force --root ~/.local
Usage
# basic listing
nuls
# include hidden files
nuls -a
# sort by modified (newest first), reverse for oldest first
nuls -t
nuls -tr
# show git status/counts inline
nuls -g
nuls -lag
# combine with hidden and long muscle-memory flag
nuls -la
Flags
-a, --all— show dotfiles-l, --long— accepted for familiarity (output is already long-form)-t, --sort-modified— sort by modified time (newest first)-r, --reverse— reverse sort order-g, --git— show git status inline (+added/-deleted,(clean)when unchanged)--color=always/auto/never— control ANSI color (default: auto; help is forced color)
Palette
- Borders/header: teal/green highlights
- Names: dirs blue, files light gray, executables red, dotfiles amber, config/docs yellow
- Modified: green → yellow → orange → red → gray as timestamps get older; blue for future
Notes
- Directories sort before files unless you use
-t(modified), in which case recency wins.
Aliases
Drop one of these in your shell config for muscle-memory:
# replace ls entirely
alias ls="nuls"
# or keep both
alias nls="nuls"
# with defaults you like
alias lst="nuls -t"
alias lsa="nuls -a"
alias lsat="nuls -at"