mirror of
https://github.com/eza-community/eza
synced 2024-10-04 15:09:49 +00:00
doc: change name in README.md
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
This commit is contained in:
parent
cf981af0b2
commit
fdabef3a6c
115
README.md
115
README.md
|
@ -1,8 +1,8 @@
|
|||
<div align="center">
|
||||
|
||||
# exa
|
||||
# eza
|
||||
|
||||
[exa](https://the.exa.website/) is a modern replacement for _ls_.
|
||||
eza is a modern replacement for _ls_.
|
||||
|
||||
**README Sections:** [Options](#options) — [Installation](#installation) — [Development](#development)
|
||||
|
||||
|
@ -14,12 +14,12 @@
|
|||
|
||||
---
|
||||
|
||||
**exa** is a modern replacement for the venerable file-listing command-line program `ls` that ships with Unix and Linux operating systems, giving it more features and better defaults.
|
||||
**eza** is a modern replacement for the venerable file-listing command-line program `ls` that ships with Unix and Linux operating systems, giving it more features and better defaults.
|
||||
It uses colours to distinguish file types and metadata.
|
||||
It knows about symlinks, extended attributes, and Git.
|
||||
And it’s **small**, **fast**, and just **one single binary**.
|
||||
|
||||
By deliberately making some decisions differently, exa attempts to be a more featureful, more user-friendly version of `ls`.
|
||||
By deliberately making some decisions differently, eza attempts to be a more featureful, more user-friendly version of `ls`.
|
||||
For more information, see [exa’s website](https://the.exa.website/).
|
||||
|
||||
|
||||
|
@ -29,7 +29,7 @@ For more information, see [exa’s website](https://the.exa.website/).
|
|||
<h1>Command-line options</h1>
|
||||
</a>
|
||||
|
||||
exa’s options are almost, but not quite, entirely unlike `ls`’s.
|
||||
eza’s options are almost, but not quite, entirely unlike `ls`’s.
|
||||
|
||||
### Display options
|
||||
|
||||
|
@ -100,97 +100,17 @@ Some of the options accept parameters:
|
|||
<h1>Installation</h1>
|
||||
</a>
|
||||
|
||||
exa is available for macOS and Linux.
|
||||
More information on how to install exa is available on [the Installation page](https://the.exa.website/install).
|
||||
|
||||
### Alpine Linux
|
||||
|
||||
On Alpine Linux, [enable community repository](https://wiki.alpinelinux.org/wiki/Enable_Community_Repository) and install the [`exa`](https://pkgs.alpinelinux.org/package/edge/community/x86_64/exa) package.
|
||||
|
||||
apk add exa
|
||||
|
||||
### Arch Linux
|
||||
|
||||
On Arch, install the [`exa`](https://www.archlinux.org/packages/community/x86_64/exa/) package.
|
||||
|
||||
pacman -S exa
|
||||
|
||||
### Android / Termux
|
||||
|
||||
On Android / Termux, install the [`exa`](https://github.com/termux/termux-packages/tree/master/packages/exa) package.
|
||||
|
||||
pkg install exa
|
||||
|
||||
### Debian
|
||||
|
||||
On Debian, install the [`exa`](https://packages.debian.org/stable/exa) package.
|
||||
|
||||
apt install exa
|
||||
|
||||
### Fedora
|
||||
|
||||
On Fedora, install the [`exa`](https://src.fedoraproject.org/modules/exa) package.
|
||||
|
||||
dnf install exa
|
||||
|
||||
### Gentoo
|
||||
|
||||
On Gentoo, install the [`sys-apps/exa`](https://packages.gentoo.org/packages/sys-apps/exa) package.
|
||||
|
||||
emerge sys-apps/exa
|
||||
|
||||
### Homebrew
|
||||
|
||||
If you’re using [Homebrew](https://brew.sh/) on macOS, install the [`exa`](http://formulae.brew.sh/formula/exa) formula.
|
||||
|
||||
brew install exa
|
||||
|
||||
### MacPorts
|
||||
|
||||
If you're using [MacPorts](https://www.macports.org/) on macOS, install the [`exa`](https://ports.macports.org/port/exa/summary) port.
|
||||
|
||||
port install exa
|
||||
|
||||
### Nix
|
||||
|
||||
On nixOS, install the [`exa`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/exa/default.nix) package.
|
||||
|
||||
nix-env -i exa
|
||||
|
||||
### openSUSE
|
||||
|
||||
On openSUSE, install the [`exa`](https://software.opensuse.org/package/exa) package.
|
||||
|
||||
zypper install exa
|
||||
|
||||
### Ubuntu
|
||||
|
||||
On Ubuntu 20.10 (Groovy Gorilla) and later, install the [`exa`](https://packages.ubuntu.com/jammy/exa) package.
|
||||
|
||||
sudo apt install exa
|
||||
|
||||
### Void Linux
|
||||
|
||||
On Void Linux, install the [`exa`](https://github.com/void-linux/void-packages/blob/master/srcpkgs/exa/template) package.
|
||||
|
||||
xbps-install -S exa
|
||||
|
||||
### Manual installation from GitHub
|
||||
|
||||
Compiled binary versions of exa are uploaded to GitHub when a release is made.
|
||||
You can install exa manually by [downloading a release](https://github.com/ogham/exa/releases), extracting it, and copying the binary to a directory in your `$PATH`, such as `/usr/local/bin`.
|
||||
|
||||
For more information, see the [Manual Installation page](https://the.exa.website/install/linux#manual).
|
||||
eza is available for macOS and Linux.
|
||||
|
||||
### Cargo
|
||||
|
||||
If you already have a Rust environment set up, you can use the `cargo install` command:
|
||||
|
||||
cargo install exa
|
||||
cargo install eza
|
||||
|
||||
Cargo will build the `exa` binary and place it in `$HOME/.cargo`.
|
||||
Cargo will build the `eza` binary and place it in `$HOME/.cargo`.
|
||||
|
||||
To build without Git support, run `cargo install --no-default-features exa` is also available, if the requisite dependencies are not installed.
|
||||
To build without Git support, run `cargo install --no-default-features eza` is also available, if the requisite dependencies are not installed.
|
||||
|
||||
|
||||
---
|
||||
|
@ -207,11 +127,11 @@ To build without Git support, run `cargo install --no-default-features exa` is a
|
|||
</a>
|
||||
</h1></a>
|
||||
|
||||
exa is written in [Rust](https://www.rust-lang.org/).
|
||||
eza is written in [Rust](https://www.rust-lang.org/).
|
||||
You will need rustc version 1.56.1 or higher.
|
||||
The recommended way to install Rust for development is from the [official download page](https://www.rust-lang.org/tools/install), using rustup.
|
||||
|
||||
Once Rust is installed, you can compile exa with Cargo:
|
||||
Once Rust is installed, you can compile eza with Cargo:
|
||||
|
||||
cargo build
|
||||
cargo test
|
||||
|
@ -228,7 +148,7 @@ The `just man` command will compile the Markdown into manual pages, which it wil
|
|||
To use them, copy them into a directory that `man` will read.
|
||||
`/usr/local/share/man` is usually a good choice.
|
||||
|
||||
- exa depends on [libgit2](https://github.com/rust-lang/git2-rs) for certain features.
|
||||
- eza depends on [libgit2](https://github.com/rust-lang/git2-rs) for certain features.
|
||||
If you’re unable to compile libgit2, you can opt out of Git support by running `cargo build --no-default-features`.
|
||||
|
||||
- If you intend to compile for musl, you will need to use the flag `vendored-openssl` if you want to get the Git feature working.
|
||||
|
@ -239,13 +159,13 @@ For more information, see the [Building from Source page](https://the.exa.websit
|
|||
|
||||
### Testing with Vagrant
|
||||
|
||||
exa uses [Vagrant][] to configure virtual machines for testing.
|
||||
eza uses [Vagrant][] to configure virtual machines for testing.
|
||||
|
||||
Programs such as exa that are basically interfaces to the system are [notoriously difficult to test][testing].
|
||||
Programs such as eza that are basically interfaces to the system are [notoriously difficult to test][testing].
|
||||
Although the internal components have unit tests, it’s impossible to do a complete end-to-end test without mandating the current user’s name, the time zone, the locale, and directory structure to test.
|
||||
(And yes, these tests are worth doing. I have missed an edge case on many an occasion.)
|
||||
|
||||
The initial attempt to solve the problem was just to create a directory of “awkward” test cases, run exa on it, and make sure it produced the correct output.
|
||||
The initial attempt to solve the problem was just to create a directory of “awkward” test cases, run eza on it, and make sure it produced the correct output.
|
||||
But even this output would change if, say, the user’s locale formats dates in a different way.
|
||||
These can be mocked inside the code, but at the cost of making that code more complicated to read and understand.
|
||||
|
||||
|
@ -260,7 +180,7 @@ First, initialise the VM:
|
|||
|
||||
host$ vagrant up
|
||||
|
||||
The first command downloads the virtual machine image, and then runs our provisioning script, which installs Rust and exa’s build-time dependencies, configures the environment, and generates some awkward files and folders to use as test cases.
|
||||
The first command downloads the virtual machine image, and then runs our provisioning script, which installs Rust and eza’s build-time dependencies, configures the environment, and generates some awkward files and folders to use as test cases.
|
||||
Once this is done, you can SSH in, and build and test:
|
||||
|
||||
host$ vagrant ssh
|
||||
|
@ -270,5 +190,6 @@ Once this is done, you can SSH in, and build and test:
|
|||
All the tests passed!
|
||||
|
||||
Of course, the drawback of having a standard development environment is that you stop noticing bugs that occur outside of it.
|
||||
For this reason, Vagrant isn’t a *necessary* development step — it’s there if you’d like to use it, but exa still gets used and tested on other platforms.
|
||||
For this reason, Vagrant isn’t a *necessary* development step — it’s there if you’d like to use it, but eza still gets used and tested on other platforms.
|
||||
It can still be built and compiled on any target triple that it supports, VM or no VM, with `cargo build` and `cargo test`.
|
||||
|
||||
|
|
Loading…
Reference in a new issue