anyhow for more structured error messages and better error reporting flexibility
This significantly changes the structure of potential output of
top-level errors. Before, errors that have a `source` were printed on a
single line, with the `source` omitted. Now, an error with a `source`
will be printed like:
```
Error: <`Display` impl of error>
Caused by:
<`Display` impl of `source` error>
```
If there are multiple `source` errors in a chain, then it will be of the
form:
```
Error: <`Display` impl of error>
Caused by:
0: <`Display` impl of first `source` error>
1: <`Display` impl of `source` of `source` error>
# etc.
```
Now, in practice this never happened before, since the only error
type that ever could return from `<binary>::run` was `std::io::Error`,
which has no `source`. However, `source`s can start being added if, say,
future work involved using `anyhow::Context::context` or custom errors
that implement `std::Error::source` are added to the codebase. I believe
this is a good choice going forward, but I definitely want to foster
discussion and acceptance for it in the open first!
hexyl is a simple hex viewer for the terminal. It uses a colored output to distinguish different categories
of bytes (NULL bytes, printable ASCII characters, ASCII whitespace characters, other ASCII characters and non-ASCII).
Preview
Installation
On Ubuntu
... and other Debian-based Linux distributions.
If you run Ubuntu 19.10 (Eoan Ermine) or newer, you can install the officially maintained package:
sudo apt install hexyl
If you use an older version of Ubuntu, you can download
the latest .deb package from the release page and install it via:
sudo dpkg -i hexyl_0.8.0_amd64.deb # adapt version number and architecture
On Debian
If you run Debian Buster or newer, you can install the officially maintained Debian package:
sudo apt-get install hexyl
If you run an older version of Debian, see above for instructions on how to
manually install hexyl.
On Arch Linux
You can install hexyl from the official package repository:
pacman -S hexyl
On Void Linux
xbps-install hexyl
On macOS
brew install hexyl
On FreeBSD
pkg install hexyl
Via Nix
nix-env -i hexyl
On other distributions
Check out the release page for binary builds.
On Windows
For now, you will have to install from source via cargo (see below). Make sure that you
use a terminal that supports ANSI escape sequences (like ConHost v2 since Windows 10 1703
or Windows Terminal since Windows 10 1903).
Via cargo
If you have Rust 1.36 or higher, you can install hexyl from source via cargo:
cargo install hexyl
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.



