109 lines
2.7 KiB
Rust
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)),
|
|
}
|
|
}
|