x11_input_mirror/pretty_panic.rs
1use std::panic;
2
3fn pretty_panic(panic_info: &panic::PanicInfo) {
4 if let Some(info) = panic_info.message() {
5 print!("{}", info);
6 } else if let Some(info) = panic_info.payload().downcast_ref::<&'static str>() {
7 print!("{}", info);
8 }
9 if let Some(loc) = panic_info.location() {
10 println!(" @ {}:{}", loc.file(), loc.line());
11 } else {
12 println!();
13 }
14}
15
16pub fn set() {
17 panic::set_hook(Box::new(pretty_panic));
18}