/lsd

A ls with a lot of pretty colors and awesome icons

Primary LanguageRustApache License 2.0Apache-2.0

LSD (LSDeluxe)

license Build Status Latest version

Table of Contents

  1. Description
  2. Screenshot
  3. Installation
    1. Prerequisites
    2. Archlinux
    3. Other
  4. Configurations
    1. Required
    2. Optional
  5. Benchmark
  6. Todo

Description

This project is heavily inspired by the super colorls project but with some little differences. For example is written is rust and not ruby which make it really faster (see the benchmarks).

Screenshot

image

Installation

Prerequisites

Install the patched fonts of powerline nerd-font and/or font-awesome. Have a look at the Nerd Font README for more installation instructions.

Archlinux

(coming soon)

Other

Install the lsd package with:

cargo install lsd

Configurations

Required

In order to use lsd instead of the default ls you need to add this to you shell configuration file (~/.bashrc, ~/.zshrc, etc.) :

alias ls='lsd'

Optional

Some examples of useful aliases. You can add this to you shell configuration file (~/.bashrc, ~/.zshrc, etc.) just under the alias above :

alias l='ls -l'
alias la='lsd -a'
alias lla='ls -la'
alias lt='ls --tree'

Benchmark

Result from hyperfine --warmup 10 'lsd -la /etc/*' 'colorls -la /etc/*' --export-markdown out.md:

Command Mean [ms] Min…Max [ms]
lsd -la /etc/* 11.0 ± 0.5 9.9…13.0
colorls -la /etc/* 503.3 ± 5.6 494.6…513.4

TODO

  • Handle the -l option (used by default for now)
  • Handle the -a option
  • Add icons before the files names
  • Handle all the file types (block/char/pipe/etc)
  • Handle the tree (--tree) output option
  • Handle the json (--json) output option