Skip to main content

pretty_log/
lib.rs

1pub mod log;
2
3use colored::Colorize;
4use log::message_prefix;
5
6pub trait PrettyError<T> {
7    fn expect_p(self, message: &str) -> T;
8}
9
10impl<T, E> PrettyError<T> for Result<T, E> {
11    fn expect_p(self, message: &str) -> T {
12        match self {
13            Ok(value) => value,
14            Err(_) => {
15                println!("{}{}", message_prefix().red().bold(), message.red().bold());
16                std::process::exit(1);
17            },
18        }
19    }
20}
21
22impl<T> PrettyError<T> for Option<T> {
23    fn expect_p(self, message: &str) -> T {
24        match self {
25            Some(value) => value,
26            None => {
27                println!("{}{}", message_prefix().red().bold(), message.red().bold());
28                std::process::exit(1);
29            },
30        }
31    }
32}