#[derive(Copy, Clone, Debug, PartialEq, Eq, Ord, PartialOrd, Hash)]
#[non_exhaustive]
pub enum Attribute {
Reset,
Bold,
Dim,
Italic,
Underlined,
DoubleUnderlined,
Undercurled,
Underdotted,
Underdashed,
SlowBlink,
RapidBlink,
Reverse,
Hidden,
CrossedOut,
Fraktur,
NoBold,
NormalIntensity,
NoItalic,
NoUnderline,
NoBlink,
NoReverse,
NoHidden,
NotCrossedOut,
Framed,
Encircled,
OverLined,
NotFramedOrEncircled,
NotOverLined,
}
pub(crate) fn map_attribute(attribute: Attribute) -> crossterm::style::Attribute {
match attribute {
Attribute::Reset => crossterm::style::Attribute::Reset,
Attribute::Bold => crossterm::style::Attribute::Bold,
Attribute::Dim => crossterm::style::Attribute::Dim,
Attribute::Italic => crossterm::style::Attribute::Italic,
Attribute::Underlined => crossterm::style::Attribute::Underlined,
Attribute::DoubleUnderlined => crossterm::style::Attribute::DoubleUnderlined,
Attribute::Undercurled => crossterm::style::Attribute::Undercurled,
Attribute::Underdotted => crossterm::style::Attribute::Underdotted,
Attribute::Underdashed => crossterm::style::Attribute::Underdashed,
Attribute::SlowBlink => crossterm::style::Attribute::SlowBlink,
Attribute::RapidBlink => crossterm::style::Attribute::RapidBlink,
Attribute::Reverse => crossterm::style::Attribute::Reverse,
Attribute::Hidden => crossterm::style::Attribute::Hidden,
Attribute::CrossedOut => crossterm::style::Attribute::CrossedOut,
Attribute::Fraktur => crossterm::style::Attribute::Fraktur,
Attribute::NoBold => crossterm::style::Attribute::NoBold,
Attribute::NormalIntensity => crossterm::style::Attribute::NormalIntensity,
Attribute::NoItalic => crossterm::style::Attribute::NoItalic,
Attribute::NoUnderline => crossterm::style::Attribute::NoUnderline,
Attribute::NoBlink => crossterm::style::Attribute::NoBlink,
Attribute::NoReverse => crossterm::style::Attribute::NoReverse,
Attribute::NoHidden => crossterm::style::Attribute::NoHidden,
Attribute::NotCrossedOut => crossterm::style::Attribute::NotCrossedOut,
Attribute::Framed => crossterm::style::Attribute::Framed,
Attribute::Encircled => crossterm::style::Attribute::Encircled,
Attribute::OverLined => crossterm::style::Attribute::OverLined,
Attribute::NotFramedOrEncircled => crossterm::style::Attribute::NotFramedOrEncircled,
Attribute::NotOverLined => crossterm::style::Attribute::NotOverLined,
}
}