summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatthias Beyer <matthias.beyer@atos.net>2021-05-10 15:07:25 +0200
committerMatthias Beyer <mail@beyermatthias.de>2021-05-11 10:47:59 +0200
commitb3a6458ce34e3065192208826b2fc85edd4761f9 (patch)
tree1ba5275d0cd67cc4b2cc91d088f4c20d6f777e75 /src
parent62e9c1a7d3552c797dfde11a0e84851821071a88 (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.rs13
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);