1use oak_core::SyntaxKind;
2
3#[derive(Copy, Clone, Debug, PartialEq, Eq)]
4pub enum WitSyntaxKind {
5 Whitespace,
7 Newline,
8 Comment,
9 Error,
10 Eof,
11 Text,
12
13 IntegerLiteral,
15 FloatLiteral,
16 StringLiteral,
17 Identifier,
18
19 WorldKw,
21 InterfaceKw,
22 PackageKw,
23 ComponentKw,
24 InstanceKw,
25 ModuleKw,
26 CoreKw,
27 FuncKw,
28 TypeKw,
29 RecordKw,
30 VariantKw,
31 EnumKw,
32 FlagsKw,
33 UnionKw,
34 TupleKw,
35 ListKw,
36 OptionKw,
37 ResultKw,
38 ResourceKw,
39
40 ImportKw,
42 ExportKw,
43 UseKw,
44 IncludeKw,
45 WithKw,
46
47 StaticKw,
49 ConstructorKw,
50 MethodKw,
51
52 BoolKw,
54 U8Kw,
55 U16Kw,
56 U32Kw,
57 U64Kw,
58 S8Kw,
59 S16Kw,
60 S32Kw,
61 S64Kw,
62 F32Kw,
63 F64Kw,
64 CharKw,
65 StringKw,
66
67 Arrow, FatArrow, Assign, Colon, Semicolon, Comma, Dot, Question, At, Hash, Dollar, Percent, Ampersand, Star, Plus, Minus, Slash, Lt, Gt, Pipe, Caret, Tilde, Bang, LeftParen, RightParen, LeftBrace, RightBrace, LeftBracket, RightBracket, }
100
101impl SyntaxKind for WitSyntaxKind {
102 fn is_trivia(&self) -> bool {
103 matches!(self, Self::Whitespace | Self::Newline | Self::Comment)
104 }
105
106 fn is_comment(&self) -> bool {
107 matches!(self, Self::Comment)
108 }
109
110 fn is_whitespace(&self) -> bool {
111 matches!(self, Self::Whitespace | Self::Newline)
112 }
113
114 fn is_token_type(&self) -> bool {
115 true }
117
118 fn is_element_type(&self) -> bool {
119 false }
121}