use crate::range::Range;
#[derive(Debug, PartialEq, Clone)]
pub enum Token {
Keyword(String),
Identifier(String),
Number(usize),
Char(char),
String(String),
Optional,
OneOrMore,
ZeroOrMore,
LazyOptional,
LazyOneOrMore,
LazyZeroOrMore,
BraceOpen,
BraceClose,
Not,
Range,
Hash,
Caret,
Dot,
LogicOr,
BracketOpen,
BracketClose,
ParenthesisOpen,
ParenthesisClose,
}
#[derive(Debug, PartialEq, Clone)]
pub struct TokenWithRange {
pub token: Token,
pub range: Range,
}
impl TokenWithRange {
pub fn new(token: Token, range: Range) -> Self {
Self { token, range }
}
}