mirror of
https://github.com/Llewellynvdm/exa.git
synced 2024-11-05 20:37:52 +00:00
A modern replacement for ‘ls’.
def48dc6b9
This patch adds a manual page that can be parsed and outputted by the `man` command. The help command is useful, but many UNIX users have a certain reflex to check for manual pages. It would be awesome to be able to type `man exa` and see some output! Some notes: * This manual page was hand crafted. I had hoped to find some Rust utility that could generate manual pages to prevent having to change this file whenever changes to options are made. There are tools to write manual pages in a nicer syntax and then convert them into the groff syntax, but I hesitated to add more tools to the build process. This might make the file more difficult to maintain, but unless exa's signature changes frequently, it should be okay. * The manual page isn't automatically copied into the /usr/local/share/man/man1 directory, where it would need to be for `man` to read it. My first inkling to have installation be a nice process would be to craft a Makefile that will run `cargo build --release`, copy the binary into /usr/local/bin, and copy the man page into the aforementioned directory. I can handle that in this PR or another one if you like the idea of a Makefile to ease installation! Signed-off-by: David Celis <me@davidcel.is> |
||
---|---|---|
man | ||
src | ||
.gitignore | ||
.travis.yml | ||
Cargo.lock | ||
Cargo.toml | ||
LICENCE | ||
README.md | ||
screenshot.png |
exa
exa is a replacement for ls
written in Rust.
Screenshot
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
- -R, --recurse: recurse into subdirectories
- -s, --sort=(field): field to sort by
- -S, --blocks: show number of file system blocks
- -t, --time: which timestamp to show for a file
- -T, --tree: recurse into subdirectories in a tree view
- -x, --across: sort multi-column view entries across
You can sort by name, size, ext, inode, modified, created, accessed, 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 --release
will pull in all the dependencies and compile exa as target/release/exa
.
exa depends on libgit2 for certain features. If you're unable to compile libgit2, you can opt out of Git support by passing --no-default-features
to Cargo.