2018-11-26 13:37:12 +01:00
# LSD (LSDeluxe)
2018-11-24 12:10:10 +01:00
2018-11-25 17:42:23 +01:00
[](https://raw.githubusercontent.com/Peltoche/ical-rs/master/LICENSE)
2018-11-26 13:24:14 +01:00
[](https://travis-ci.org/Peltoche/lsd)
2018-11-25 17:42:23 +01:00
[](https://crates.io/crates/lsd)
2018-11-25 17:37:12 +01:00
# Table of Contents
2018-11-25 17:39:41 +01:00
1. [Description ](#description )
2018-11-25 17:37:12 +01:00
2. [Screenshot ](#screenshot )
3. [Installation ](#installation )
2018-12-04 15:13:19 +01:00
1. [Prerequisites ](#prerequisites )
2. [Archlinux ](#archlinux )
3. [Other ](#other )
2018-12-04 15:09:47 +01:00
4. [Configurations ](#configurations )
2018-12-04 15:07:15 +01:00
1. [Required ](#required )
2. [Optional ](#optional )
5. [Benchmark ](#benchmark )
6. [Todo ](#todo )
2018-11-24 12:10:10 +01:00
## Description
2018-11-24 17:57:04 +01:00
This project is heavily inspired by the super [colorls ](https://github.com/athityakumar/colorls )
2018-11-24 17:58:54 +01:00
project but with some little differences. For example is written is rust and not ruby
2018-11-25 17:37:12 +01:00
which make it really faster ([see the benchmarks ](#benchmark )).
2018-11-24 12:21:32 +01:00
2018-11-24 12:31:28 +01:00
## Screenshot

2018-11-25 12:23:22 +01:00
## Installation
2018-12-04 15:13:19 +01:00
### Prerequisites
Install the patched fonts of powerline nerd-font and/or font-awesome. Have a look at the [Nerd Font README ](https://github.com/ryanoasis/nerd-fonts/blob/master/readme.md ) for more installation instructions.
2018-12-04 15:01:42 +01:00
### Archlinux
(coming soon)
### Other
2018-12-05 10:09:30 +01:00
Update your rust toolchain to at least 1.30.1 and install the lsd package with:
2018-12-04 15:13:19 +01:00
```sh
2018-12-05 10:09:30 +01:00
rustup update
2018-12-04 15:13:19 +01:00
cargo install lsd
```
2018-11-25 12:23:22 +01:00
2018-12-04 15:09:47 +01:00
## Configurations
2018-12-04 15:07:15 +01:00
### Required
In order to use lsd instead of the default ls you need to add this to you shell
configuration file (~/.bashrc, ~/.zshrc, etc.) :
2018-12-04 15:11:02 +01:00
```sh
2018-12-04 15:07:15 +01:00
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 :
2018-12-04 15:11:02 +01:00
```sh
2018-12-06 13:10:04 +00:00
alias l='ls -l'
alias la='ls -a'
alias lla='ls -la'
alias lt='ls --tree'
2018-12-04 15:07:15 +01:00
```
2018-11-25 17:31:46 +01:00
## 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 |
2018-11-24 12:21:32 +01:00
## TODO
- [x] Handle the `-l` option (used by default for now)
- [x] Handle the `-a` option
2018-11-24 13:05:44 +01:00
- [x] Add icons before the files names
2018-12-01 16:53:49 +01:00
- [x] Handle all the file types (block/char/pipe/etc)
2018-12-04 14:54:56 +01:00
- [x] Handle the tree (`--tree` ) output option
2018-11-24 12:21:32 +01:00
- [ ] Handle the json (`--json` ) output option