rhd/src/colormap.rs

109 lines
2.7 KiB
Rust

extern crate termion;
use termion::color;
const COLOR_SYMBOLS: color::Fg<color::LightGreen> = color::Fg(color::LightGreen);
const COLOR_TEXT: color::Fg<color::Cyan> = color::Fg(color::Cyan);
const COLOR_NUMBERS: color::Fg<color::LightBlue> = color::Fg(color::LightBlue);
pub fn map_u8_to_color(data: u8) -> String {
match data {
32..=47 => format!(
"{}{:02x}{}",
COLOR_SYMBOLS,
data,
color::Fg(color::Reset)
),
48..=57 => format!(
"{}{:02x}{}",
COLOR_NUMBERS,
data,
color::Fg(color::Reset)
),
58..=64 => format!(
"{}{:02x}{}",
COLOR_SYMBOLS,
data,
color::Fg(color::Reset)
),
65..=90 => format!(
"{}{:02x}{}",
COLOR_TEXT,
data,
color::Fg(color::Reset)
),
91..=96 => format!(
"{}{:02x}{}",
COLOR_SYMBOLS,
data,
color::Fg(color::Reset)
),
97..=122 => format!(
"{}{:02x}{}",
COLOR_TEXT,
data,
color::Fg(color::Reset)
),
123..=126 => format!(
"{}{:02x}{}",
COLOR_SYMBOLS,
data,
color::Fg(color::Reset)
),
_ => format!(
"{}{:02x}{}",
color::Fg(color::LightBlack),
data,
color::Fg(color::Reset)
),
}
}
pub fn map_char_to_color(data: u8) -> String {
match data {
32..=47 => format!(
"{}{}{}",
COLOR_SYMBOLS,
(data as char),
color::Fg(color::Reset)
),
48..=57 => format!(
"{}{}{}",
COLOR_NUMBERS,
(data as char),
color::Fg(color::Reset)
),
58..=64 => format!(
"{}{}{}",
COLOR_SYMBOLS,
(data as char),
color::Fg(color::Reset)
),
65..=90 => format!(
"{}{}{}",
COLOR_TEXT,
(data as char),
color::Fg(color::Reset)
),
91..=96 => format!(
"{}{}{}",
COLOR_SYMBOLS,
(data as char),
color::Fg(color::Reset)
),
97..=122 => format!(
"{}{}{}",
COLOR_TEXT,
(data as char),
color::Fg(color::Reset)
),
123..=126 => format!(
"{}{}{}",
COLOR_SYMBOLS,
(data as char),
color::Fg(color::Reset)
),
_ => format!("{}.{}", color::Fg(color::LightBlack), color::Fg(color::Reset)),
}
}