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}