diff options
author | Matthias Beyer <matthias.beyer@atos.net> | 2021-05-10 15:07:25 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2021-05-11 10:47:59 +0200 |
commit | b3a6458ce34e3065192208826b2fc85edd4761f9 (patch) | |
tree | 1ba5275d0cd67cc4b2cc91d088f4c20d6f777e75 /src | |
parent | 62e9c1a7d3552c797dfde11a0e84851821071a88 (diff) |
Add color support in LogItem::display() impl
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
Diffstat (limited to 'src')
-rw-r--r-- | src/log/item.rs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/log/item.rs b/src/log/item.rs index 9518479..2887841 100644 --- a/src/log/item.rs +++ b/src/log/item.rs @@ -9,6 +9,7 @@ // use anyhow::Result; +use colored::Colorize; #[derive(Debug, PartialEq, Eq, Hash)] pub enum LogItem { @@ -29,15 +30,15 @@ pub enum LogItem { impl LogItem { pub fn display(&self) -> Result<Display> { match self { - LogItem::Line(s) => Ok(Display(String::from_utf8(s.to_vec())?)), - LogItem::Progress(u) => Ok(Display(format!("#BUTIDO:PROGRESS:{}", u))), - LogItem::CurrentPhase(p) => Ok(Display(format!("#BUTIDO:PHASE:{}", p))), - LogItem::State(Ok(())) => Ok(Display("#BUTIDO:STATE:OK".to_string())), - LogItem::State(Err(s)) => Ok(Display(format!("#BUTIDO:STATE:ERR:{}", s))), + LogItem::Line(s) => Ok(Display(String::from_utf8(s.to_vec())?.normal())), + LogItem::Progress(u) => Ok(Display(format!("#BUTIDO:PROGRESS:{}", u).cyan())), + LogItem::CurrentPhase(p) => Ok(Display(format!("#BUTIDO:PHASE:{}", p).cyan())), + LogItem::State(Ok(())) => Ok(Display("#BUTIDO:STATE:OK".to_string().green())), + LogItem::State(Err(s)) => Ok(Display(format!("#BUTIDO:STATE:ERR:{}", s).red())), } } } #[derive(parse_display::Display)] #[display("{0}")] -pub struct Display(String); +pub struct Display(colored::ColoredString); |