diff options
| author | ache <ache@ache.one> | 2026-08-04 18:27:58 +0200 |
|---|---|---|
| committer | ache <ache@ache.one> | 2026-08-04 18:27:58 +0200 |
| commit | b6ce2ea9948cee959e31013221e483eceb9b4a47 (patch) | |
| tree | 727c6df94b340385664372e8cf8e8e80f62b459b /src/print.rs | |
| parent | Remove dead code (diff) | |
Linting and format
Diffstat (limited to 'src/print.rs')
| -rw-r--r-- | src/print.rs | 189 |
1 files changed, 145 insertions, 44 deletions
diff --git a/src/print.rs b/src/print.rs index 28e1b9e..421efa3 100644 --- a/src/print.rs +++ b/src/print.rs @@ -9,61 +9,166 @@ struct SymbolTableElement { character: &'static str, } -const GREEN_FG :&str = "\x1b[32m"; -const ORANGE_FG :&str = "\x1b[38;5;208m"; -const RED_FG :&str = "\x1b[31m"; +const GREEN_FG: &str = "\x1b[32m"; +const ORANGE_FG: &str = "\x1b[38;5;208m"; +const RED_FG: &str = "\x1b[31m"; // const BLACK_FG :&str = "\x1b[31m"; -const BLACK_BG :&str = "\x1b[40m"; -const GREEN_BG :&str = "\x1b[40m"; -const ORANGE_BG :&str = "\x1b[48;5;208m"; -const ERASE_LINE_END:&str = "\x1b[0K"; +const BLACK_BG: &str = "\x1b[40m"; +const GREEN_BG: &str = "\x1b[40m"; +const ORANGE_BG: &str = "\x1b[48;5;208m"; +const ERASE_LINE_END: &str = "\x1b[0K"; +const RESET: &str = "\x1b[0m"; -const CHARS_TABLE :[SymbolTableElement; 25] = [ - SymbolTableElement{ fg: GREEN_FG, bg: BLACK_BG, character: "▁"}, - SymbolTableElement{ fg: GREEN_FG, bg: BLACK_BG, character: "▂"}, - SymbolTableElement{ fg: GREEN_FG, bg: BLACK_BG, character: "▃"}, - SymbolTableElement{ fg: GREEN_FG, bg: BLACK_BG, character: "▄"}, - SymbolTableElement{ fg: GREEN_FG, bg: BLACK_BG, character: "▅"}, - SymbolTableElement{ fg: GREEN_FG, bg: BLACK_BG, character: "▆"}, - SymbolTableElement{ fg: GREEN_FG, bg: BLACK_BG, character: "▇"}, - SymbolTableElement{ fg: GREEN_FG, bg: BLACK_BG, character: "█"}, - SymbolTableElement{ fg: ORANGE_FG, bg: GREEN_BG, character: "▁"}, - SymbolTableElement{ fg: ORANGE_FG, bg: GREEN_BG, character: "▂"}, - SymbolTableElement{ fg: ORANGE_FG, bg: GREEN_BG, character: "▃"}, - SymbolTableElement{ fg: ORANGE_FG, bg: GREEN_BG, character: "▄"}, - SymbolTableElement{ fg: ORANGE_FG, bg: GREEN_BG, character: "▅"}, - SymbolTableElement{ fg: ORANGE_FG, bg: GREEN_BG, character: "▆"}, - SymbolTableElement{ fg: ORANGE_FG, bg: GREEN_BG, character: "▇"}, - SymbolTableElement{ fg: ORANGE_FG, bg: GREEN_BG, character: "█"}, - SymbolTableElement{ fg: RED_FG, bg: ORANGE_BG, character: "▁"}, - SymbolTableElement{ fg: RED_FG, bg: ORANGE_BG, character: "▂"}, - SymbolTableElement{ fg: RED_FG, bg: ORANGE_BG, character: "▃"}, - SymbolTableElement{ fg: RED_FG, bg: ORANGE_BG, character: "▄"}, - SymbolTableElement{ fg: RED_FG, bg: ORANGE_BG, character: "▅"}, - SymbolTableElement{ fg: RED_FG, bg: ORANGE_BG, character: "▆"}, - SymbolTableElement{ fg: RED_FG, bg: ORANGE_BG, character: "▇"}, - SymbolTableElement{ fg: RED_FG, bg: ORANGE_BG, character: "█"}, - SymbolTableElement{ fg: RED_FG, bg: BLACK_BG, character: "?"} +const CHARS_TABLE: [SymbolTableElement; 25] = [ + SymbolTableElement { + fg: GREEN_FG, + bg: BLACK_BG, + character: "▁", + }, + SymbolTableElement { + fg: GREEN_FG, + bg: BLACK_BG, + character: "▂", + }, + SymbolTableElement { + fg: GREEN_FG, + bg: BLACK_BG, + character: "▃", + }, + SymbolTableElement { + fg: GREEN_FG, + bg: BLACK_BG, + character: "▄", + }, + SymbolTableElement { + fg: GREEN_FG, + bg: BLACK_BG, + character: "▅", + }, + SymbolTableElement { + fg: GREEN_FG, + bg: BLACK_BG, + character: "▆", + }, + SymbolTableElement { + fg: GREEN_FG, + bg: BLACK_BG, + character: "▇", + }, + SymbolTableElement { + fg: GREEN_FG, + bg: BLACK_BG, + character: "█", + }, + SymbolTableElement { + fg: ORANGE_FG, + bg: GREEN_BG, + character: "▁", + }, + SymbolTableElement { + fg: ORANGE_FG, + bg: GREEN_BG, + character: "▂", + }, + SymbolTableElement { + fg: ORANGE_FG, + bg: GREEN_BG, + character: "▃", + }, + SymbolTableElement { + fg: ORANGE_FG, + bg: GREEN_BG, + character: "▄", + }, + SymbolTableElement { + fg: ORANGE_FG, + bg: GREEN_BG, + character: "▅", + }, + SymbolTableElement { + fg: ORANGE_FG, + bg: GREEN_BG, + character: "▆", + }, + SymbolTableElement { + fg: ORANGE_FG, + bg: GREEN_BG, + character: "▇", + }, + SymbolTableElement { + fg: ORANGE_FG, + bg: GREEN_BG, + character: "█", + }, + SymbolTableElement { + fg: RED_FG, + bg: ORANGE_BG, + character: "▁", + }, + SymbolTableElement { + fg: RED_FG, + bg: ORANGE_BG, + character: "▂", + }, + SymbolTableElement { + fg: RED_FG, + bg: ORANGE_BG, + character: "▃", + }, + SymbolTableElement { + fg: RED_FG, + bg: ORANGE_BG, + character: "▄", + }, + SymbolTableElement { + fg: RED_FG, + bg: ORANGE_BG, + character: "▅", + }, + SymbolTableElement { + fg: RED_FG, + bg: ORANGE_BG, + character: "▆", + }, + SymbolTableElement { + fg: RED_FG, + bg: ORANGE_BG, + character: "▇", + }, + SymbolTableElement { + fg: RED_FG, + bg: ORANGE_BG, + character: "█", + }, + SymbolTableElement { + fg: RED_FG, + bg: BLACK_BG, + character: "?", + }, ]; pub fn print_legende_line() { for (index, element) in CHARS_TABLE.iter().enumerate() { let val = 10 * index as u64; - print!("{} {}{}{}\x1b[0m ", val, element.fg, element.bg, element.character); + print!( + "{} {}{}{}\x1b[0m ", + val, element.fg, element.bg, element.character + ); } - println!(""); + println!(); } +// TODO: Simplify this function pub fn print_ping_line(states: &Vec<State>) { for state in states { match state { State::Received { rtt, .. } => { let (fg, bg, symbol) = get_symbol_and_colors_for_rrt(*rtt); - print!("{}{}{}{}", fg, bg, symbol, "\x1b[0m"); + print!("{}{}{}{}", fg, bg, symbol, RESET); } State::Lost => { let (fg, bg, symbol) = get_symbol_and_colors_for_rrt(250); - print!("{}{}{}{}", fg, bg, symbol, "\x1b[0m"); + print!("{}{}{}{}", fg, bg, symbol, RESET); } State::NotYetReceived { .. } => { // fg grey, bg black @@ -75,16 +180,12 @@ pub fn print_ping_line(states: &Vec<State>) { } } - println!(""); + println!(); } fn get_symbol_and_colors_for_rrt(rrt: u64) -> (&'static str, &'static str, &'static str) { - let index: usize = if rrt >= 240 { - 24 - } else { - rrt / 10 - } as usize; - let SymbolTableElement{fg, bg, character} = CHARS_TABLE[index]; + let index: usize = if rrt >= 240 { 24 } else { rrt / 10 } as usize; + let SymbolTableElement { fg, bg, character } = CHARS_TABLE[index]; (fg, bg, character) } |