use crate::config::Color;
pub const RESET: &str = "\x1b[0m";
pub fn ansi_bg(code: u8) -> String {
format!("\x1b[48;5;{code}m")
}
pub fn ansi_fg(code: u8) -> String {
format!("\x1b[38;5;{code}m")
}
pub fn rgb_bg(r: u8, g: u8, b: u8) -> String {
format!("\x1b[48;2;{r};{g};{b}m")
}
pub fn rgb_fg(r: u8, g: u8, b: u8) -> String {
format!("\x1b[38;2;{r};{g};{b}m")
}
pub fn color_bg(color: &Color) -> String {
match color {
Color::Ansi { ansi } => ansi_bg(*ansi),
Color::Rgb { rgb } => rgb_bg(rgb[0], rgb[1], rgb[2]),
}
}
pub fn color_fg(color: &Color) -> String {
match color {
Color::Ansi { ansi } => ansi_fg(*ansi),
Color::Rgb { rgb } => rgb_fg(rgb[0], rgb[1], rgb[2]),
}
}