From 0ebd4e56304d39b7026fe9697a3a2c89a777b26c Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Thu, 7 May 2020 08:21:19 +0800 Subject: [PATCH] fix print_color unwarp issue --- Cargo.toml | 2 +- src/util_msg.rs | 28 ++++++++++++++++------------ 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 359f79a..a1be1a0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rust_util" -version = "0.2.5" +version = "0.2.6" authors = ["Hatter Jiang "] edition = "2018" description = "Hatter's Rust Util" diff --git a/src/util_msg.rs b/src/util_msg.rs index 7b0e3fe..533eff8 100644 --- a/src/util_msg.rs +++ b/src/util_msg.rs @@ -17,18 +17,22 @@ pub fn is_atty() -> bool { } pub fn print_color(color: Option, is_bold: bool, m: &str) { - let mut t = term::stdout().unwrap(); - if *IS_ATTY { - if let Some(c) = color { - t.fg(c).unwrap(); - } - if is_bold { - t.attr(term::Attr::Bold).unwrap(); - } - write!(t, "{}", m).unwrap(); - t.reset().unwrap(); - } else { - write!(t, "{}", m).unwrap(); + match term::stdout() { + Some(mut t) => { + if *IS_ATTY { + if let Some(c) = color { + t.fg(c).ok(); + } + if is_bold { + t.attr(term::Attr::Bold).ok(); + } + write!(t, "{}", m).ok(); + t.reset().ok(); + } else { + write!(t, "{}", m).ok(); + } + }, + None => print!("{}", m), } }