rnix/
macros.rs

1#[macro_export]
2#[rustfmt::skip]
3macro_rules! T {
4    (assert)  => ($crate::SyntaxKind::TOKEN_ASSERT);
5    (else)    => ($crate::SyntaxKind::TOKEN_ELSE);
6    (if)      => ($crate::SyntaxKind::TOKEN_IF);
7    (in)      => ($crate::SyntaxKind::TOKEN_IN);
8    (inherit) => ($crate::SyntaxKind::TOKEN_INHERIT);
9    (let)     => ($crate::SyntaxKind::TOKEN_LET);
10    (or)      => ($crate::SyntaxKind::TOKEN_OR);
11    (rec)     => ($crate::SyntaxKind::TOKEN_REC);
12    (then)    => ($crate::SyntaxKind::TOKEN_THEN);
13    (with)    => ($crate::SyntaxKind::TOKEN_WITH);
14
15    ('{')     => ($crate::SyntaxKind::TOKEN_L_BRACE);
16    ('}')     => ($crate::SyntaxKind::TOKEN_R_BRACE);
17    ('[')     => ($crate::SyntaxKind::TOKEN_L_BRACK);
18    (']')     => ($crate::SyntaxKind::TOKEN_R_BRACK);
19    ('(')     => ($crate::SyntaxKind::TOKEN_L_PAREN);
20    (')')     => ($crate::SyntaxKind::TOKEN_R_PAREN);
21
22    (=)       => ($crate::SyntaxKind::TOKEN_ASSIGN);
23    (@)       => ($crate::SyntaxKind::TOKEN_AT);
24    (:)       => ($crate::SyntaxKind::TOKEN_COLON);
25    (,)       => ($crate::SyntaxKind::TOKEN_COMMA);
26    (.)       => ($crate::SyntaxKind::TOKEN_DOT);
27    (...)     => ($crate::SyntaxKind::TOKEN_ELLIPSIS);
28    (?)       => ($crate::SyntaxKind::TOKEN_QUESTION);
29    (;)       => ($crate::SyntaxKind::TOKEN_SEMICOLON);
30    (++)      => ($crate::SyntaxKind::TOKEN_CONCAT);
31    (!)       => ($crate::SyntaxKind::TOKEN_INVERT);
32    ("//")    => ($crate::SyntaxKind::TOKEN_UPDATE);
33
34    (+)       => ($crate::SyntaxKind::TOKEN_ADD);
35    (-)       => ($crate::SyntaxKind::TOKEN_SUB);
36    (*)       => ($crate::SyntaxKind::TOKEN_MUL);
37    (/)       => ($crate::SyntaxKind::TOKEN_DIV);
38
39    (&&)      => ($crate::SyntaxKind::TOKEN_AND_AND);
40    (==)      => ($crate::SyntaxKind::TOKEN_EQUAL);
41    (->)      => ($crate::SyntaxKind::TOKEN_IMPLICATION);
42    (<)       => ($crate::SyntaxKind::TOKEN_LESS);
43    (<=)      => ($crate::SyntaxKind::TOKEN_LESS_OR_EQ);
44    (>)       => ($crate::SyntaxKind::TOKEN_MORE);
45    (>=)      => ($crate::SyntaxKind::TOKEN_MORE_OR_EQ);
46    (!=)      => ($crate::SyntaxKind::TOKEN_NOT_EQUAL);
47    (||)      => ($crate::SyntaxKind::TOKEN_OR_OR);
48    ($kind:ident) => ($crate::SyntaxKind::$kind);
49}