use std::{fmt::Display, slice::Iter};
#[derive(Eq, PartialEq, Clone, Copy)]
pub enum DisplayOption {
Color(DisplayColor),
Format(DisplayFormat),
Omit,
}
#[derive(Eq, PartialEq, Copy, Clone)]
pub enum DisplayColor {
Normal,
Red,
Orange,
Yellow,
Green,
Blue,
Indigo,
Violet,
Cycle,
}
impl Display for DisplayColor {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(
f,
"{}",
match self {
DisplayColor::Normal => "Normal",
DisplayColor::Red => "Red",
DisplayColor::Orange => "Orange",
DisplayColor::Yellow => "Yellow",
DisplayColor::Green => "Green",
DisplayColor::Blue => "Blue",
DisplayColor::Indigo => "Indigo",
DisplayColor::Violet => "Violet",
DisplayColor::Cycle => "Cycle",
}
)
}
}
#[derive(Eq, PartialEq, Copy, Clone)]
pub enum DisplayFormat {
Hex,
Decimal,
SignedDecimal,
Binary,
}
impl Display for DisplayFormat {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(
f,
"{}",
match self {
DisplayFormat::Hex => "Hex",
DisplayFormat::Decimal => "Decimal",
DisplayFormat::SignedDecimal => "SignedDecimal",
DisplayFormat::Binary => "Binary",
}
)
}
}