1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62

#[derive(PartialEq, Debug, Clone)]
pub enum TokenType {
    Text,
    Whitespace,
    Newline,
    Error,
    Other,
    // Common token types for source code
    Keyword,
    KeywordRaw, // need check manually
    KeywordDDL,
    KeywordDML,   
    KeywordCTE,
    KeywordTZCast,
    KeywordOrder, // asc desc
    Name,
    NamePlaceholder,
    NameBuiltin,

    Literal,
    String,
    StringSingle,
    StringSymbol,
    Number,
    NumberHexadecimal,
    NumberFloat,
    NumberInteger,    
    Punctuation,
    Operator,
    OperatorComparison,
    Comparison,
    Wildcard,
    Comment,
    CommentSingle,
    CommentSingleHint,
    CommentMultiline,
    CommentMultilineHint,
    Assignment,
    // Generic types for non-source code
    Generic,
    Command,
    // String and some others are not direct children of Token.
    Token,
    DML,
    DDL,
    CTE,
    // group type
    Case,
    If,
    For,
    Begin,
    Identifier,
    IdentifierList,
    Where,
    Function,
    Operation,
    TypedLiteral,
    Parenthesis,
    SquareBrackets,
    Values,
}