No description
Find a file
2018-12-05 21:30:14 +01:00
src Add the theme support to the Colors struct 2018-12-05 21:30:14 +01:00
.gitignore Add some benchmark 2018-11-25 17:31:46 +01:00
.travis.yml Improve the CI pipeline 2018-12-05 11:37:34 +01:00
Cargo.lock Fix the tests 2018-12-05 11:37:34 +01:00
Cargo.toml (cargo-release) start next development iteration 0.6.3-pre 2018-12-05 10:25:01 +01:00
LICENSE Add the LICENSE file 2018-11-25 12:28:52 +01:00
README.md Add the toolchain update into the installation steps 2018-12-05 11:24:40 +01:00

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

Update your rust toolchain to at least 1.30.1 and install the lsd package with:

rustup update
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