Using lla

Configuration

Set global defaults and per-project overrides, install themes, and generate shell completions.

↓ on this page

Your settings live in ~/.config/lla/config.toml. A .lla.toml file can override them for one project, and command-line flags override both for one run.

  • Command-line flags
    lla -l --relative-dates
    This run only
  • Project profile
    .lla.toml
    Nearest one, walking up
  • Your config
    ~/.config/lla/config.toml
    Every run
  • Built-in defaults
    Compiled into lla
    Always underneath
The nearest layer wins.

Manage your config

lla init                            # guided setup
lla init --default                  # write defaults without prompts
lla config                          # summarize the current settings
lla config show-effective           # show the merged config
lla config diff --default           # show what differs from the defaults
lla config --set default_format long
lla config

config.toml is commented throughout, so it also serves as a list of the available settings.

Defaults

default_format = "long"
default_sort = "name"
default_depth = 3
show_icons = true
include_dirs = false
permission_format = "symbolic"
 
[sort]
dirs_first = true
case_sensitive = false
natural = true
 
[filter]
case_sensitive = false
no_dotfiles = false
respect_gitignore = true

default_format accepts default, long, tree, table, grid, git, timeline or sizemap. The fuzzy and recursive views can't be defaults, so select those with -F or -R when you run lla.

Long and table columns are covered under Views.

Limits

These keep large directories under control.

[formatters.grid]
ignore_width = false
max_width = 200
 
[listers.recursive]
max_entries = 20000
 
[listers.fuzzy]
ignore_patterns = ["node_modules", "target", ".git", ".idea", ".vscode"]
editor = "code --wait"

Exclude paths

exclude_paths removes paths from listings, content search and jump history. ~ is expanded.

exclude_paths = [
  "~/Library/Mobile Documents",
  "~/Library/CloudStorage",
]

Project profiles

Put a .lla.toml in a project to give it its own settings:

default_format = "git"
 
[sort]
dirs_first = true

lla walks up from the current directory, loads the nearest .lla.toml and applies it over your global config. lla config show-effective prints the result, and lla config diff --default shows where each override came from.

Themes

Set theme in your config to change the colors. Only default is installed at first, and lla theme pull adds the official set of 23.

lla theme pull                     # install the official themes
lla theme                          # pick one interactively
lla theme preview vesper           # show sample output with a theme
lla theme install ./my-theme.toml  # install a file or a directory of themes
lla theme

lla theme pull needs Git. lla theme preview doesn't change your selection.

Shortcuts

Shortcuts give a plugin action its own top-level command:

lla shortcut add audit security_audit audit -d "Audit permissions and secrets"
lla audit . --recursive

They're stored in your config. Shortcuts covers listing, exporting and importing them.

Plugin locations

plugins_dir is where lla installs plugins. plugin_dirs adds other locations, such as one managed by your system's package manager, and earlier entries take precedence. enabled_plugins lists the plugins that decorate your listings.

plugins_dir = "~/.config/lla/plugins"
plugin_dirs = ["/opt/lla/plugins"]
enabled_plugins = ["git_status", "file_hash"]

Shell completion

lla completion generates scripts for Bash, Zsh, Fish, PowerShell and Elvish. By default it prints to standard output, and -o writes to a file.

lla completion zsh -o ~/.zfunc/_lla