Expand description
§terminator
Rust library to provide fancy formatting for errors and backtraces. Based of and
inspired by color-eyre
. It is intended
to be used in binary applications, not as error type in libraries.
§Usage
To display pretty errors from your main function, you can just switch your error type
to terminator::Terminator
. However, to customise the appearance and behaviour of
errors or to pretty print panics, set up your main function as below:
fn main() -> Result<(), terminator::Terminator> {
terminator::Config::new()
// modify config if you so wish
// and install config (setting up panic hook)
.install()?;
Ok(())
}
§Feature flags
Terminator can bundle support for common error trait object libraries like
anyhow
and eyre
.
Setting respective flags will enable conversions and ?
operator for Terminator
.
By default, Terminator
is backed by Box<dyn Error>
.
Following flags are provided:
- anyhow: use
anyhow::Error
as backend forTerminator
(conflicts with eyre feature) - eyre: use
eyre::Report
as backend forTerminator
(conflicts with anyhow feature) - compat: enable
Compat
struct as bridge betweeneyre
andanyhow
if both are used
§Appearance
By default, Terminator
should look like the following
Error: 0: alright, I'm done, show yourself out with pretty formatting and a fancy backtrace 1: it is pretty nasty, let's send it back to caller 2: an error is never late, nor is it early, it arrives precisely when it means to 3: wild error has appeared ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⋮ 2 frames hidden ⋮ 2: example::module::function at ./src/example.rs:25 3: core::ops::function::FnOnce::call_once at /rustc/hash/library/core/src/ops/function.rs:250 4: <F as example::Eval<A>>::eval at ./src/lib.rs:20 5: example::main at ./src/main.rs:25 6: core::ops::function::FnOnce::call_once at /rustc/hash/library/core/src/ops/function.rs:250 ⋮ 15 frames hidden ⋮
Structs§
- Compat
compat
Newtype wrapper for trait object based error types to implementError
- Configuration influencing appearance of displayed messages
- Representation of single frame in backtrace
- Error for when
Config
had already been installed - Filename and line corresponding to source file
- Appearance setting for text
- Why not use this in main function as
Error
value? It’s so pretty :) - Setting for appearance of
terminator
messages
Enums§
- Color setting for text and background
- Effect setting for text and background
- Setting for backtrace details
Traits§
- Error
Compat compat
Error shim for use withCompat
Type Aliases§
- Callback for filtering a vector of
Frame
s