2018-11-26 12:37:12 +00:00
# LSD (LSDeluxe)
2018-11-24 11:10:10 +00:00
2018-11-25 16:42:23 +00:00
[![license ](http://img.shields.io/badge/license-Apache%20v2-orange.svg )](https://raw.githubusercontent.com/Peltoche/ical-rs/master/LICENSE)
2018-11-26 12:24:14 +00:00
[![Build Status ](https://travis-ci.org/Peltoche/lsd.svg?branch=master )](https://travis-ci.org/Peltoche/lsd)
2018-11-25 16:42:23 +00:00
[![Latest version ](https://img.shields.io/crates/v/lsd.svg )](https://crates.io/crates/lsd)
2018-11-25 16:37:12 +00:00
# Table of Contents
2018-11-25 16:39:41 +00:00
1. [Description ](#description )
2018-11-25 16:37:12 +00:00
2. [Screenshot ](#screenshot )
3. [Installation ](#installation )
2018-12-04 14:13:19 +00:00
1. [Prerequisites ](#prerequisites )
2. [Archlinux ](#archlinux )
3. [Other ](#other )
2018-12-04 14:09:47 +00:00
4. [Configurations ](#configurations )
2018-12-04 14:07:15 +00:00
1. [Required ](#required )
2. [Optional ](#optional )
5. [Benchmark ](#benchmark )
6. [Todo ](#todo )
2018-11-24 11:10:10 +00:00
## Description
2018-11-24 16:57:04 +00:00
This project is heavily inspired by the super [colorls ](https://github.com/athityakumar/colorls )
2018-11-24 16:58:54 +00:00
project but with some little differences. For example is written is rust and not ruby
2018-11-25 16:37:12 +00:00
which make it really faster ([see the benchmarks](#benchmark)).
2018-11-24 11:21:32 +00:00
2018-11-24 11:31:28 +00:00
## Screenshot
![image ](https://raw.githubusercontent.com/Peltoche/lsd/assets/screen_lsd.png )
2018-11-25 11:23:22 +00:00
## Installation
2018-12-04 14:13:19 +00: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 14:01:42 +00:00
### Archlinux
(coming soon)
### Other
2018-12-05 09:09:30 +00:00
Update your rust toolchain to at least 1.30.1 and install the lsd package with:
2018-12-04 14:13:19 +00:00
```sh
2018-12-05 09:09:30 +00:00
rustup update
2018-12-04 14:13:19 +00:00
cargo install lsd
```
2018-11-25 11:23:22 +00:00
2018-12-04 14:09:47 +00:00
## Configurations
2018-12-04 14:07:15 +00: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 14:11:02 +00:00
```sh
2018-12-04 14:07:15 +00: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 14:11:02 +00:00
```sh
2018-12-06 13:05:02 +00:00
alias l='lsd -l'
2018-12-04 14:07:15 +00:00
alias la='lsd -a'
2018-12-06 13:05:02 +00:00
alias lla='lsd -la'
alias lt='lsd --tree'
2018-12-04 14:07:15 +00:00
```
2018-11-25 16:31:46 +00: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 11:21:32 +00:00
## TODO
- [x] Handle the `-l` option (used by default for now)
- [x] Handle the `-a` option
2018-11-24 12:05:44 +00:00
- [x] Add icons before the files names
2018-12-01 15:53:49 +00:00
- [x] Handle all the file types (block/char/pipe/etc)
2018-12-04 13:54:56 +00:00
- [x] Handle the tree (`--tree`) output option
2018-11-24 11:21:32 +00:00
- [ ] Handle the json (`--json`) output option