diff --git a/README.md b/README.md index 7ee50e7..1c44d63 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,5 @@ For wxfetch to work you will need a free account on https://avwx.rest/. Once you ## Todos -- [ ] colourise_wx_code() - [ ] Personal wx minima - +- [ ] Configuration options diff --git a/src/metar.rs b/src/metar.rs index 6c29712..e0594ef 100644 --- a/src/metar.rs +++ b/src/metar.rs @@ -110,8 +110,30 @@ fn colourise_wx_code( proximity: &WxCodeProximity, descriptor: &WxCodeDescription, ) -> ColoredString { - // TODO - format!("{intensity}{descriptor}{code}{proximity}").magenta() + let codestr = format!("{code}").color(match code { + WxCode::Ra => Color::BrightYellow, + WxCode::Gr => Color::Red, + WxCode::Gs => Color::Yellow, + WxCode::Sn => Color::Red, + WxCode::Up => Color::Red, + WxCode::Po => Color::BrightRed, + _ => Color::White, + }); + + let intensitystr = format!("{intensity}").color(match intensity { + WxCodeIntensity::Light => Color::BrightGreen, + WxCodeIntensity::Heavy => Color::BrightRed, + _ => Color::White, + }); + + let descrstr = format!("{descriptor}").color(match descriptor { + WxCodeDescription::Ts => Color::Red, + WxCodeDescription::Fz => Color::BrightBlue, + WxCodeDescription::Sh => Color::Yellow, + _ => Color::White, + }); + + format!("{intensitystr}{descrstr}{codestr}{proximity}").magenta() } fn colourise_qnh(qnh: &i64, unit: &PressureUnit) -> ColoredString {