Skip to content

Repository files navigation

lla logo

lla

Modern, customizable, feature-rich and extensible ls replacement.

Website · Documentation · Get started · CLI reference

lla combines familiar directory listings with multiple views, Git-aware output, filtering and content search, interactive navigation, machine-readable formats, themes, shortcuts, and an extensible plugin platform.

lla default view

Install

curl -sSL https://raw.githubusercontent.com/chaqchase/lla/main/install.sh | bash

On Windows PowerShell:

irm https://raw.githubusercontent.com/chaqchase/lla/main/install.ps1 | iex

Or use a package manager:

Platform Command
Cargo cargo install lla
macOS with Homebrew brew install lla
Arch Linux with paru paru -S lla
NetBSD with pkgin pkgin install lla
X-CMD x install lla

Initialize the configuration after installation:

lla init

See Installation and first run for manual downloads, musl limitations, upgrades, and initialization options.

Official releases include lla-netbsd-amd64; the install script selects it on NetBSD amd64. This binary supports native plugins but omits the unsupported embedded WASM runtime.

Windows releases include native AMD64 and ARM64 executables plus matching prebuilt plugin archives. Both Windows executables include native and WASM plugin support; the PowerShell installer verifies the release checksum and installs lla.exe under %LOCALAPPDATA%\Programs\lla. Windows 10 and Windows Server 2016 or newer are supported; 32-bit x86 Windows is not.

Try it

lla                     # default view
lla -l                  # long view with metadata
lla -t -d 3             # tree view, three levels deep
lla -G                   # Git-aware view
lla --timeline          # group entries by time
lla --search "TODO"     # search file contents
lla --json --pretty     # machine-readable output

Highlights

Views for different workflows

  • Everyday listings: start with the compact default view, switch to long view for permissions and metadata, or use table and grid layouts when column comparison or screen density matters.
  • Directory exploration: tree and recursive views reveal nested structure, with configurable depth and safety limits for large directory trees.
  • Repository and time awareness: Git view surfaces repository status, timeline groups entries by age, and sizemap compares storage usage. Archives can be browsed as virtual directories without extracting them first.
  • Interactive discovery: fuzzy view supports searching, multi-selection, opening files, copying paths, editing, and renaming from the terminal.

See Views and display for screenshots, examples, and guidance on choosing a view.

Precise filtering and content search

  • Sort by name, size, or date; reverse the result; place directories first; and choose natural or case-sensitive ordering.
  • Select entries by name, extension, glob, regular expression, file type, size, creation time, modification time, dotfile visibility, or Git ignore rules.
  • Combine compatible name filters with AND, OR, and NOT expressions, save common combinations as presets, and apply sequential refinements.
  • Search file contents with ripgrep-backed literal or regular-expression matching, syntax-highlighted context, and optional plugin action pipelines.

The exact listing and content-search compatibility rules are documented in Filtering and search.

Rich metadata and configurable presentation

  • Long and table views can show permissions, ownership, timestamps, inode and hard-link counts, allocated size, extended attributes, security context, mount information, symlink targets, and plugin-provided fields.
  • Choose symbolic, octal, binary, compact, or verbose permissions; absolute or relative dates; icons; color; hyperlinks; and an explicit column order.
  • Install, preview, and select themes, then keep global defaults in ~/.config/lla/config.toml and repository-specific overrides in .lla.toml.

See Configuration for persistent settings, profiles, themes, exclusions, recursion limits, and shell completion.

Navigation and repeatable workflows

  • The directory jumper combines bookmarks and deduplicated visit history with a generated j shell function for Bash, Zsh, and Fish.
  • Command shortcuts turn frequently used plugin actions into concise top-level lla commands and can be exported or imported as TOML.
  • File and directory diffing supports local-to-local comparison and comparison against Git references, including unified text diffs and size or line deltas.

See Navigation for jump and fuzzy controls.

Automation-friendly output

  • Emit listing data as a JSON array, newline-delimited JSON, or fixed-schema CSV while retaining the selected path, sort, filter, depth, and archive behavior.
  • JSON and NDJSON include typed plugin fields. Content search and plugin actions provide their own documented machine-output contracts.
  • Generate completion scripts for Bash, Zsh, Fish, PowerShell, and Elvish.

See Machine output for schemas and search-output differences, or the command reference for flags.

Extensible Plugin Platform

  • Install official prebuilt plugins, build from a local directory, or install from a Git repository; inspect packages and permissions before running them.
  • Native plugins provide trusted in-process extensions. On builds with the optional wasm-plugins feature, WebAssembly Component Model plugins run with declared, persisted grants and scoped host capabilities. Official Linux and macOS and Windows release binaries enable this feature; the NetBSD binary does not.
  • Plugins can add typed listing fields, formatting, and actions with human, JSON, NDJSON, or CSV output. The bundled catalog covers metadata, Git context, code analysis, storage insights, file operations, and other focused workflows.

Start with Installing and managing plugins, browse the bundled catalog, or read the plugin development guide.

Documentation

Start at the documentation index, or go directly to a guide:

Topic Guide
Install, upgrade, and initialize Getting started
Listing formats and screenshots Views and display
Sort, filter, and search Filtering and search
Jump and fuzzy workflows Navigation
Global config, project profiles, themes, and shortcuts Configuration
JSON, NDJSON, CSV, and schemas Machine output
Flags and subcommands Command reference
Install and use plugins Plugins
Build plugins Plugin development
Architecture and internals Architecture handbook

License

This project is licensed under the MIT License. See LICENSE.

About

blazing fast `ls` replacement with superpowers

Topics

Resources

Stars

1.2k stars

Watchers

4 watching

Forks

Releases

Used by

Contributors

Languages