wowlab_parsers/parsers/access/
lexer.rs1use logos::{Lexer as LogosLexer, Logos};
2
3#[derive(Clone, Debug, Logos, PartialEq)]
5#[logos(skip r"[ \t]+")]
6pub(super) enum Token<'a> {
7 #[token("public")]
8 Public,
9
10 #[token("discord")]
11 Discord,
12
13 #[token("friends")]
14 Friends,
15
16 #[token(":")]
17 Colon,
18
19 #[token(",")]
20 Comma,
21
22 #[regex(r"[a-zA-Z0-9_-]+")]
23 Ident(&'a str),
24}
25
26type Lexer<'a> = LogosLexer<'a, Token<'a>>;
28
29pub(super) fn lex(input: &str) -> Lexer<'_> {
31 Token::lexer(input)
32}