use crossterm::style::Color;
use why2_chat::colors::COLORS;
const BRIGHT: usize = 8;
pub use why2_chat::colors::code;
pub fn u8_to_color(val: u8) -> Option<Color> {
by_name(COLORS.get(val as usize)?)
}
pub fn by_name(name: &str) -> Option<Color> {
COLORS.iter().find(|n| n.eq_ignore_ascii_case(name)).and_then(|n| Color::try_from(*n).ok())
}
pub fn offered() -> Vec<&'static str>
{
let mut names = COLORS.iter().skip(BRIGHT).copied().collect::<Vec<&'static str>>();
let mut dark = COLORS.iter().take(BRIGHT).copied().collect::<Vec<&'static str>>();
names.sort_unstable();
dark.sort_unstable();
names.extend(dark);
names
}