lla
Modern ls replacement with multiple specialized views, a plugin system, and built-in git integration.
Website: https://lla.chaqchase.com
Project: https://github.com/chaqchase/lla
Author: Mohamed Achaq
Alternative to: ls
Language: Rust
Works with: git
This page last updated:
lla is a modern ls replacement built in Rust with a focus on extensibility. It adds
specialized views for git repos, timelines, and disk usage, plus a plugin system that
lets you attach custom metadata to any listing.
Views
- Default: clean, distraction-free listing
- Long format (
-l): permissions, size, date, owner, and icons - Tree (
-t): hierarchical directory exploration with configurable depth - Table (
-T): structured grid optimized for comparison - Grid (
-g): compact multi-column layout - Git (
-G): per-file commit hash, author, time, and change status - Timeline (
--timeline): files grouped chronologically - Size map (
-S): visual disk usage breakdown - Diff (
lla diff): compare two directories or files, or diff against a git ref
Git integration
- Git view shows last commit info (hash, author, time, status) for every file
- Diff mode supports local-to-local and working-tree-vs-git comparisons
- Respects
.gitignorevia--respect-gitignore
Filtering and search
- Boolean filter logic: OR, AND, NOT, XOR across filename patterns
- Regex support and content search inside files
- Range-based filters for size and modification time
- Reusable named filter presets
Plugin system
- 16+ first-party plugins covering git status, code complexity, tags, clipboard ops, and more
- Plugins can add extra columns to any view via the
field:<name>column syntax - Managed with
lla install,lla use, andlla update
Other features
- Jump navigation: bookmarked and recently visited directories with an interactive prompt
- Machine-readable output: JSON, NDJSON, and CSV
- Theme manager and configurable column order
- Smart sorting: multiple criteria, natural number order, dirs-first
Availability
Available on Linux, macOS, and NetBSD.