use anstyle::AnsiColor;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum Style {
Whitespace,
CollectionDelimiter,
SymbolDecoration,
SymbolNamespace,
SymbolName,
KeywordDecoration,
KeywordNamespace,
KeywordName,
VarQuoteDecoration,
VarQuoteNamespace,
VarQuoteName,
StringDecoration,
StringValue,
NumberValue,
BooleanValue,
NilValue,
SymbolicValueDecoration,
SymbolicValue,
TaggedLiteralDecoration,
TaggedLiteralNamespace,
TaggedLiteralName,
}
impl Style {
pub fn to_ansi_color(self) -> AnsiColor {
use AnsiColor as A;
use Style as S;
match self {
S::Whitespace => A::BrightBlack,
S::CollectionDelimiter => A::White,
S::SymbolDecoration => A::BrightBlack,
S::SymbolNamespace => A::BrightBlack,
S::SymbolName => A::White,
S::KeywordDecoration => A::BrightBlack,
S::KeywordNamespace => A::BrightBlack,
S::KeywordName => A::BrightBlue,
S::VarQuoteDecoration => A::BrightBlack,
S::VarQuoteNamespace => A::BrightBlack,
S::VarQuoteName => A::White,
S::StringDecoration => A::BrightBlack,
S::StringValue => A::BrightGreen,
S::NumberValue => A::White,
S::BooleanValue => A::White,
S::NilValue => A::Red,
S::SymbolicValueDecoration => A::BrightBlack,
S::SymbolicValue => A::Red,
S::TaggedLiteralDecoration => A::BrightBlack,
S::TaggedLiteralNamespace => A::BrightBlack,
S::TaggedLiteralName => A::Yellow,
}
}
}