#[derive(Copy, Clone, Eq, PartialEq, Hash, Debug)]
pub struct Base16(pub [[u8; 3]; 16]);
impl Base16 {
pub fn new() -> Self {
Base16::default()
}
}
impl Default for Base16 {
fn default() -> Self {
DEFAULT
}
}
#[cfg(target_os = "macos")]
pub use TERMINAL_APP as DEFAULT;
#[cfg(target_os = "windows")]
pub use WIN10_CONSOLE as DEFAULT;
#[cfg(not(any(target_os = "macos", target_os = "windows")))]
pub use WIN10_CONSOLE as DEFAULT;
pub const TERMINAL_APP: Base16 = Base16([
[0, 0, 0], [153, 0, 0], [0, 166, 0], [153, 153, 0], [0, 0, 178], [178, 0, 178], [0, 166, 178], [191, 191, 191], [102, 102, 102], [230, 0, 0], [0, 217, 0], [230, 230, 0], [0, 0, 255], [230, 0, 230], [0, 230, 230], [230, 230, 230], ]);
pub const WIN10_CONSOLE: Base16 = Base16([
[12, 12, 12], [197, 15, 31], [19, 161, 14], [193, 156, 0], [0, 55, 218], [136, 23, 152], [58, 150, 221], [204, 204, 204], [118, 118, 118], [231, 72, 86], [22, 198, 12], [249, 241, 165], [59, 120, 255], [180, 0, 158], [97, 214, 214], [242, 242, 242], ]);
pub const XTERM: Base16 = Base16([
[0, 0, 0], [205, 0, 0], [0, 205, 0], [205, 205, 0], [0, 0, 238], [205, 0, 205], [0, 205, 205], [229, 229, 229], [127, 127, 127], [255, 0, 0], [0, 255, 0], [255, 255, 0], [92, 92, 255], [255, 0, 255], [0, 255, 255], [255, 255, 255], ]);