pub fn status_ok(msg: &str) { eprintln!("\x1b[32m[\x1b[1;32m OK \x1b[0m\x1b[32m]\x1b[0m {msg}"); } pub fn status_fail(msg: &str) { eprintln!("\x1b[31m[\x1b[1;31m FAILED \x1b[0m\x1b[31m]\x1b[0m {msg}"); } pub fn status_skip(msg: &str) { eprintln!("\x1b[33m[\x1b[1;33m SKIP \x1b[0m\x1b[33m]\x1b[0m {msg}"); } pub fn init_error(msg: &str) { eprintln!("\x1b[31m\x1b[1minit:\x1b[0m {msg}"); } pub fn init_warn(msg: &str) { eprintln!("\x1b[33minit:\x1b[0m {msg}"); } pub fn init_info(msg: &str) { eprintln!("init: {msg}"); } pub fn init_debug(msg: &str) { eprintln!("\x1b[36minit:\x1b[0m {msg}"); }