FAQ
Frequently asked questions about lla, covering installation, usage, plugins, performance, and common issues with detailed answers.
Frequently Asked Questions
Quick answers to common questions about lla. Can't find what you're looking for? Check the Troubleshooting Guide or open an issue.
General Questions
What is lla?
lla is a modern file listing tool that enhances the traditional ls
command with multiple views, powerful filtering, Git integration, and an extensible plugin system. It's written in Rust for optimal performance and reliability.
Why choose lla over ls or exa?
lla offers several advantages:
- Multiple specialized views: Tree, grid, table, timeline, sizemap, and more
- Plugin system: Extend functionality without modifying core code
- Git integration: Native repository status in your listings
- Content search: Ripgrep-powered search across file contents
- Modern design: Beautiful output with theme support
- Active development: Regular updates and new features
Is lla free?
Yes! lla is open-source software licensed under the MIT License. It's free to use, modify, and distribute.
What platforms does lla support?
lla works on:
- Linux (x86_64, ARM64)
- macOS (Intel, Apple Silicon)
- Windows (via WSL)
Native Windows support is planned for future releases.
Installation & Setup
How do I install lla?
The quickest method is using the installation script:
curl -sSL https://raw.githubusercontent.com/chaqchase/lla/main/install.sh | bash
See the Installation Guide for other methods including package managers and building from source.
Why can't I find lla after installation?
The installation directory might not be in your PATH. Add it:
export PATH="/usr/local/bin:$PATH"
# Make it permanent
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Do I need to configure lla before using it?
No! lla works perfectly out of the box with sensible defaults. However, you can customize it by running:
lla init # Creates ~/.config/lla/config.toml
How do I uninstall lla?
# Remove the binary
sudo rm /usr/local/bin/lla
# Remove configuration (optional)
rm -rf ~/.config/lla
Usage
Why are icons not displaying correctly?
Icons require a Nerd Font. Install one from nerdfonts.com, configure your terminal to use it, and restart your terminal.
Popular choices:
- FiraCode Nerd Font
- JetBrainsMono Nerd Font
- Hack Nerd Font
Can I use lla as a drop-in replacement for ls?
Yes! Create an alias in your shell configuration:
# Add to ~/.bashrc or ~/.zshrc
alias ls='lla'
alias ll='lla -l'
How do I exclude hidden files?
Use the --no-dotfiles
flag:
lla --no-dotfiles
Or set it as default in your config:
[filter]
no_dotfiles = true
What's the difference between -R and -t?
-R
(recursive): Lists all files in subdirectories in a flat format-t
(tree): Shows hierarchical directory structure with indentation
Both support depth limiting with -d
:
lla -R -d 2 # Recursive, 2 levels deep
lla -t -d 2 # Tree view, 2 levels deep
Can lla list archive contents?
Yes! lla can list contents of zip, tar, and tar.gz archives without extraction:
lla archive.zip -t # Tree view of archive
lla project.tar.gz -l # Long format of archive contents
Plugins
How do I install plugins?
Install all first-party plugins:
lla install
Install from a Git repository:
lla install --git https://github.com/username/plugin-repo
Install from a local directory:
lla install --dir /path/to/plugin
Do I need Rust to install plugins?
Yes, currently plugins need to be built from source, which requires Rust. Install it from rustup.rs.
Pre-built plugin binaries are planned for future releases.
How do I enable/disable plugins?
Interactive mode:
lla use # Navigate with arrow keys, toggle with space
Command line:
lla --enable-plugin plugin_name
lla --disable-plugin plugin_name
Where are plugins stored?
Default location: ~/.config/lla/plugins/
You can customize this in your config:
plugins_dir = "~/custom/plugin/path"
Can I write plugins in other languages?
Currently, plugins must be written in Rust. However, the Protocol Buffer-based interface is language-agnostic, so support for other languages is theoretically possible in the future.
How do I create a plugin?
Follow our comprehensive Plugin Development Tutorial which walks you through creating your first plugin step-by-step.
Do plugins slow down lla?
Disabled plugins have zero performance impact. Enabled plugins only run when needed, and lla's architecture ensures they can't significantly slow down listings.
Performance
Is lla slower than ls?
For small directories, lla and ls perform similarly. For large directories, lla's Rust implementation and optimized algorithms often match or exceed ls performance, while providing much more information.
Why is lla slow on my large directory?
A few possible reasons:
- Directory size calculation: Use
--no-dirs
to skip this expensive operation - Deep recursion: Limit depth with
-d 3
- Plugin overhead: Disable unused plugins with
lla use
- Network filesystems: These are inherently slower; consider using filters to reduce output
Adjust performance limits in your config:
[formatters.tree]
max_lines = 10000
[listers.recursive]
max_entries = 10000
Can I speed up Git status?
Git status checks can be slow in large repositories. Disable Git integration when not needed:
lla # Without Git status
lla -G # With Git status (only when needed)
Why is the first run slow?
The first run may need to:
- Load and verify plugins
- Generate configuration
- Cache Git repository information
Subsequent runs should be much faster due to caching.
Customization
How do I change colors?
lla uses themes. Switch themes:
lla theme # Interactive theme selector
Or edit your config:
theme = "dark"
Available themes include: default, dark, light, dracula, nord, gruvbox_dark, and many more.
Can I create my own theme?
Yes! Create a TOML file in ~/.config/lla/themes/
:
name = "my_theme"
author = "Your Name"
description = "My custom theme"
[colors]
file = "#FFFFFF"
directory = "#89AFFF"
# ... more colors
See the Themes Guide for complete documentation.
How do I change the default view?
Edit your config:
default_format = "long" # Options: default, long, tree, grid, table
Can I set defaults for flags?
Yes, in your config:
show_icons = true
default_sort = "size"
default_depth = 3
[sort]
dirs_first = true
case_sensitive = false
[filter]
no_dotfiles = true
Machine Output
What output formats does lla support?
lla supports three machine-readable formats:
- JSON:
lla --json
(add--pretty
for formatted output) - NDJSON:
lla --ndjson
(newline-delimited JSON) - CSV:
lla --csv
How do I use lla output in scripts?
JSON example with jq:
# Get all .rs files larger than 1KB
lla --json | jq '[.[] | select(.extension == "rs" and .size_bytes > 1024)]'
# Export file sizes to CSV
lla --csv > files.csv
NDJSON for streaming:
# Process large directories line-by-line
lla --ndjson | while read -r line; do
echo "$line" | jq '.name'
done
Is the output format stable?
Yes! The machine output format is versioned and stable. We guarantee backward compatibility and announce any changes in advance.
Git Integration
Does lla require Git?
No, Git integration is optional. If Git is not installed or you're not in a repository, lla works normally without Git features.
Why isn't Git status showing?
Possible reasons:
- Not in a Git repository:
git status
to verify - Git not installed: Install Git for your platform
- Git view not active: Use
lla -G
to enable Git view
Can I see untracked files?
Yes! The Git view shows:
- Modified files
- Staged files
- Untracked files
- Conflicts
- Branch and commit information
lla -G # Git view with full status
Troubleshooting
lla crashes when I run it
- Check your lla version:
lla --version
- Update to the latest version
- Disable plugins:
lla --disable-all-plugins
- Check for file permission issues
- Report the issue with crash details
Output looks corrupted
This usually indicates a terminal compatibility issue:
- Ensure your terminal supports Unicode
- Check that your font supports special characters
- Try disabling icons:
lla --no-icons
- Try disabling colors:
lla --no-colors
Fuzzy search isn't working
Fuzzy search is experimental and requires:
- lla version 0.2.0 or later
- Sufficient terminal size
- Working terminal input
Try: lla --fuzzy
in a test directory.
Plugins fail to load
Check:
- Plugin file has correct extension (.so, .dylib, or .dll)
- Plugin has execute permissions:
chmod +x plugin.so
- Plugin is in the correct directory:
~/.config/lla/plugins/
- Run
lla clean
to remove invalid plugins
Contributing
How can I contribute to lla?
Many ways to contribute:
- Report bugs: Open issues on GitHub
- Suggest features: Start a discussion
- Write plugins: Share your plugins with the community
- Improve docs: Submit documentation improvements
- Write code: Submit pull requests
See our Contributing Guide for details.
I found a bug, what should I include in the report?
Include:
- lla version:
lla --version
- Operating system and version
- Steps to reproduce
- Expected vs actual behavior
- Any error messages
- Output of
lla --version
(shows loaded plugins)
Can I request a feature?
Absolutely! Open a feature request on GitHub with:
- Clear description of the feature
- Use cases and examples
- Why it would benefit other users
Migration
I'm coming from exa/eza, what are the equivalents?
exa/eza | lla equivalent |
---|---|
exa -l | lla -l |
exa -T | lla -t |
exa --git | lla -G |
exa --sort=size | lla -s size |
exa --reverse | lla -r |
Most flags are similar or identical!
Can I import my exa configuration?
lla uses its own configuration format, but most exa settings have lla equivalents. See the Configuration Guide for mapping your preferences.
Getting Help
Where can I get help?
- Documentation: Browse our comprehensive guides
- FAQ: You're reading it!
- Troubleshooting: Check the Troubleshooting Guide
- GitHub Issues: Report bugs or ask questions
- Discussions: Join community discussions on GitHub
Is there a community chat?
Check the GitHub repository for links to community channels like Discord or Matrix.
How often is lla updated?
lla follows semantic versioning with regular releases. Check the Changelog for update history.
Still have questions? Open an issue on GitHub or check the Troubleshooting Guide.