From a4ab1c48ab4238d9eba614e20cc0cfbd214ad2d5 Mon Sep 17 00:00:00 2001 From: Namilskyy Date: Thu, 20 Nov 2025 21:42:12 +0300 Subject: Added colours ASCII art support, added debug mode. --- src/main.rs | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 1cc3959..308e6db 100644 --- a/src/main.rs +++ b/src/main.rs @@ -61,7 +61,8 @@ enum Commands { Tomorrow, RebuildCache, CheckCfg, - Credits + Credits, + DebugOutput } /// Micro config-validator, easily you can just `wfetch fetch` and see the error @@ -210,7 +211,7 @@ fn main() -> Result<(), Box> { Some(Commands::Today) => { // to much vars let data: WeatherData = parse_cached()?; - let art_string = prepare_art(&data)?; + let art_string = prepare_art(&data, false)?; let table_lines = generate_weather_table_content(&data); let art_lines: Vec<&str> = art_string.lines().collect(); @@ -231,6 +232,25 @@ fn main() -> Result<(), Box> { println!("Tomorrow weather command"); Ok(()) } + Some(Commands::DebugOutput) => { + let data: WeatherData = parse_cached()?; + let art_string = prepare_art(&data, true)?; + let table_lines = generate_weather_table_content(&data); + + let art_lines: Vec<&str> = art_string.lines().collect(); + + let max_art_width = art_lines.iter().map(|line| line.len()).max().unwrap_or(0); + + let max_lines = art_lines.len().max(table_lines.len()); + + for i in 0..max_lines { + let art_part = art_lines.get(i).unwrap_or(&""); + let table_part = table_lines.get(i).map(|s| s.as_str()).unwrap_or(""); + + println!("{: { println!("Rebuild cache command"); rebuild_cache()?; -- cgit v1.2.3