A modern replacement for ‘ls’.
Go to file
Benjamin Sago 449592c150 Do column width calculations ourselves (speedup)
Instead of stripping the ANSI formatting characters from our strings, work out the length without them and use that. This is per-column, but most of them are simple (just the same number of characters in the non-coloured string).

Sometimes, this is really simple: for example, trwxrwxrwx permissions strings are always going to be ten characters long, and the strings that get returned are chock full of ANSI escape codes.

This should have a small benefit on performance.
2015-01-24 17:26:26 +00:00
src Do column width calculations ourselves (speedup) 2015-01-24 17:26:26 +00:00
.gitignore Upgrade to latest ansi_term 2014-11-26 07:36:09 +00:00
.travis.yml Leverage new Travis support for Rust 2014-11-23 23:50:26 +00:00
Cargo.lock Upgrade to Rust alpha 2015-01-12 01:31:24 +01:00
Cargo.toml Upgrade to Rust alpha 2015-01-12 01:31:24 +01:00
LICENCE Update LICENCE 2014-07-02 22:07:09 +01:00
README.md Add --bytes to not use prefixes at all 2014-12-18 07:04:31 +00:00
screenshot.png Use brighter colours in screenshot 2014-12-18 07:16:27 +00:00

exa Build status

exa is a replacement for ls written in Rust.

Screenshot

Screenshot of exa

Options

  • -1, --oneline: display one entry per line
  • -a, --all: show dot files
  • -b, --binary: use binary (power of two) file sizes
  • -B, --bytes: list file sizes in bytes, without prefixes
  • -d, --list-dirs: list directories as regular files
  • -g, --group: show group as well as user
  • -h, --header: show a header row
  • -H, --links: show number of hard links column
  • -i, --inode: show inode number column
  • -l, --long: display extended details and attributes
  • -r, --reverse: reverse sort order
  • -s, --sort=(field): field to sort by
  • -S, --blocks: show number of file system blocks
  • -x, --across: sort multi-column view entries across

You can sort by name, size, ext, inode, or none.

Installation

exa is written in Rust. You'll have to use the nightly -- I try to keep it up to date with the latest version when possible. Once you have it set up, a simple cargo build will pull in all the dependencies and compile exa.