use crate::lexer::{Number, Symbol};
use crate::syntax::HighlightKind;
pub enum Statement<'a> {
Noop,
Word(&'a str),
CapitalizeWord,
ExactWord(&'a str),
Symbol(Symbol),
DoubleSymbol(Symbol),
NewLineOrEnd,
Number(Number),
Comment,
}
impl<'a> Statement<'a> {
pub(crate) fn highlight_kind(&self) -> HighlightKind {
match self {
Statement::ExactWord(_) => HighlightKind::Keyword,
Statement::Word(_) => HighlightKind::Word,
Statement::Number(_) => HighlightKind::Number,
Statement::Comment => HighlightKind::Comment,
Statement::Noop
| Statement::CapitalizeWord
| Statement::Symbol(_)
| Statement::DoubleSymbol(_)
| Statement::NewLineOrEnd => HighlightKind::None,
}
}
}