1 #[derive(Debug, PartialEq, Eq, Clone, Copy, Hash, PartialOrd, Ord)]
2 #[allow(non_camel_case_types)]
3 #[repr(u16)]
4 pub enum SyntaxKind {
5     ERROR = 0,
6     MISSING,
7 
8     WHITESPACE,
9     COMMENT,
10     L_CURLY,
11     R_CURLY,
12     L_BRACK,
13     R_BRACK,
14     L_PAREN,
15     R_PAREN,
16     PARAMETER,
17     COMMA,
18     EQUALITY_SIGN,
19     WORD,
20     DOLLAR,
21     GENERIC_COMMAND_NAME,
22     BEGIN_ENVIRONMENT_NAME,
23     END_ENVIRONMENT_NAME,
24     BEGIN_EQUATION_NAME,
25     END_EQUATION_NAME,
26     PART_NAME,
27     CHAPTER_NAME,
28     SECTION_NAME,
29     SUBSECTION_NAME,
30     SUBSUBSECTION_NAME,
31     PARAGRAPH_NAME,
32     SUBPARAGRAPH_NAME,
33     ENUM_ITEM_NAME,
34     CAPTION_NAME,
35     CITATION_NAME,
36     PACKAGE_INCLUDE_NAME,
37     CLASS_INCLUDE_NAME,
38     LATEX_INCLUDE_NAME,
39     BIBLATEX_INCLUDE_NAME,
40     BIBTEX_INCLUDE_NAME,
41     GRAPHICS_INCLUDE_NAME,
42     SVG_INCLUDE_NAME,
43     INKSCAPE_INCLUDE_NAME,
44     VERBATIM_INCLUDE_NAME,
45     IMPORT_NAME,
46     LABEL_DEFINITION_NAME,
47     LABEL_REFERENCE_NAME,
48     LABEL_REFERENCE_RANGE_NAME,
49     LABEL_NUMBER_NAME,
50     COMMAND_DEFINITION_NAME,
51     MATH_OPERATOR_NAME,
52     GLOSSARY_ENTRY_DEFINITION_NAME,
53     GLOSSARY_ENTRY_REFERENCE_NAME,
54     ACRONYM_DEFINITION_NAME,
55     ACRONYM_DECLARATION_NAME,
56     ACRONYM_REFERENCE_NAME,
57     THEOREM_DEFINITION_NAME,
58     COLOR_REFERENCE_NAME,
59     COLOR_DEFINITION_NAME,
60     COLOR_SET_DEFINITION_NAME,
61     TIKZ_LIBRARY_IMPORT_NAME,
62     ENVIRONMENT_DEFINIITION_NAME,
63 
64     PREAMBLE,
65     TEXT,
66     KEY,
67     VALUE,
68     KEY_VALUE_PAIR,
69     KEY_VALUE_BODY,
70     CURLY_GROUP,
71     CURLY_GROUP_WORD,
72     CURLY_GROUP_WORD_LIST,
73     CURLY_GROUP_COMMAND,
74     CURLY_GROUP_KEY_VALUE,
75     BRACK_GROUP,
76     BRACK_GROUP_WORD,
77     BRACK_GROUP_KEY_VALUE,
78     PAREN_GROUP,
79     MIXED_GROUP,
80     GENERIC_COMMAND,
81     ENVIRONMENT,
82     BEGIN,
83     END,
84     EQUATION,
85     PART,
86     CHAPTER,
87     SECTION,
88     SUBSECTION,
89     SUBSUBSECTION,
90     PARAGRAPH,
91     SUBPARAGRAPH,
92     ENUM_ITEM,
93     FORMULA,
94     CAPTION,
95     CITATION,
96     PACKAGE_INCLUDE,
97     CLASS_INCLUDE,
98     LATEX_INCLUDE,
99     BIBLATEX_INCLUDE,
100     BIBTEX_INCLUDE,
101     GRAPHICS_INCLUDE,
102     SVG_INCLUDE,
103     INKSCAPE_INCLUDE,
104     VERBATIM_INCLUDE,
105     IMPORT,
106     LABEL_DEFINITION,
107     LABEL_REFERENCE,
108     LABEL_REFERENCE_RANGE,
109     LABEL_NUMBER,
110     COMMAND_DEFINITION,
111     MATH_OPERATOR,
112     GLOSSARY_ENTRY_DEFINITION,
113     GLOSSARY_ENTRY_REFERENCE,
114     ACRONYM_DEFINITION,
115     ACRONYM_DECLARATION,
116     ACRONYM_REFERENCE,
117     THEOREM_DEFINITION,
118     COLOR_REFERENCE,
119     COLOR_DEFINITION,
120     COLOR_SET_DEFINITION,
121     TIKZ_LIBRARY_IMPORT,
122     ENVIRONMENT_DEFINITION,
123     ROOT,
124 }
125 
126 impl SyntaxKind {
is_command_name(&self) -> bool127     pub fn is_command_name(&self) -> bool {
128         use SyntaxKind::*;
129         matches!(
130             self,
131             GENERIC_COMMAND_NAME
132                 | BEGIN_ENVIRONMENT_NAME
133                 | END_ENVIRONMENT_NAME
134                 | BEGIN_EQUATION_NAME
135                 | END_EQUATION_NAME
136                 | PART_NAME
137                 | CHAPTER_NAME
138                 | SECTION_NAME
139                 | SUBSECTION_NAME
140                 | SUBSUBSECTION_NAME
141                 | PARAGRAPH_NAME
142                 | SUBPARAGRAPH_NAME
143                 | ENUM_ITEM_NAME
144                 | CAPTION_NAME
145                 | CITATION_NAME
146                 | PACKAGE_INCLUDE_NAME
147                 | CLASS_INCLUDE_NAME
148                 | LATEX_INCLUDE_NAME
149                 | BIBLATEX_INCLUDE_NAME
150                 | BIBTEX_INCLUDE_NAME
151                 | GRAPHICS_INCLUDE_NAME
152                 | SVG_INCLUDE_NAME
153                 | INKSCAPE_INCLUDE_NAME
154                 | VERBATIM_INCLUDE_NAME
155                 | IMPORT_NAME
156                 | LABEL_DEFINITION_NAME
157                 | LABEL_REFERENCE_NAME
158                 | LABEL_REFERENCE_RANGE_NAME
159                 | LABEL_NUMBER_NAME
160                 | COMMAND_DEFINITION_NAME
161                 | MATH_OPERATOR_NAME
162                 | GLOSSARY_ENTRY_DEFINITION_NAME
163                 | GLOSSARY_ENTRY_REFERENCE_NAME
164                 | ACRONYM_DEFINITION_NAME
165                 | ACRONYM_DECLARATION_NAME
166                 | ACRONYM_REFERENCE_NAME
167                 | THEOREM_DEFINITION_NAME
168                 | COLOR_REFERENCE_NAME
169                 | COLOR_DEFINITION_NAME
170                 | COLOR_SET_DEFINITION_NAME
171                 | TIKZ_LIBRARY_IMPORT_NAME
172         )
173     }
174 }
175 
176 impl From<SyntaxKind> for cstree::SyntaxKind {
from(kind: SyntaxKind) -> Self177     fn from(kind: SyntaxKind) -> Self {
178         Self(kind as u16)
179     }
180 }
181