1#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize)]
3pub enum TailwindSyntaxKind {
4 Root,
6 Document,
7 Template,
8 Block,
9 Variable,
10 Filter,
11 Function,
12 Tag,
13 Comment,
14 Text,
15 Expression,
16
17 String,
19 Number,
20 Boolean,
21 Null,
22 Array,
23 Object,
24 Identifier,
25 Operator,
26 ErrorNode,
27
28 LeftBrace, RightBrace, LeftBracket, RightBracket, DoubleLeftBrace, DoubleRightBrace, LeftBracePercent, PercentRightBrace, LeftParen, RightParen, Pipe, Comma, Dot, Colon, Semicolon, Eq, Plus, Minus, Star, Slash, Percent, Bang, Question, Lt, Gt, Amp, Caret, Tilde, Whitespace,
58 Eof,
59 Error,
60}
61
62impl oak_core::TokenType for TailwindSyntaxKind {
63 type Role = oak_core::UniversalTokenRole;
64 const END_OF_STREAM: Self = TailwindSyntaxKind::Eof;
65
66 fn role(&self) -> Self::Role {
67 match self {
68 Self::Whitespace => oak_core::UniversalTokenRole::Whitespace,
69 Self::Comment => oak_core::UniversalTokenRole::Comment,
70 _ => oak_core::UniversalTokenRole::None,
71 }
72 }
73}
74
75impl oak_core::ElementType for TailwindSyntaxKind {
76 type Role = oak_core::UniversalElementRole;
77
78 fn role(&self) -> Self::Role {
79 match self {
80 Self::Root | Self::Document | Self::Template => oak_core::UniversalElementRole::Root,
81 Self::Error | Self::ErrorNode => oak_core::UniversalElementRole::Error,
82 _ => oak_core::UniversalElementRole::None,
83 }
84 }
85}
86
87impl core::fmt::Display for TailwindSyntaxKind {
88 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
89 match self {
90 TailwindSyntaxKind::Root => f.write_str("Root"),
91 TailwindSyntaxKind::Document => f.write_str("Document"),
92 TailwindSyntaxKind::Template => f.write_str("Template"),
93 TailwindSyntaxKind::Block => f.write_str("Block"),
94 TailwindSyntaxKind::Variable => f.write_str("Variable"),
95 TailwindSyntaxKind::Filter => f.write_str("Filter"),
96 TailwindSyntaxKind::Function => f.write_str("Function"),
97 TailwindSyntaxKind::Tag => f.write_str("Tag"),
98 TailwindSyntaxKind::Comment => f.write_str("Comment"),
99 TailwindSyntaxKind::Text => f.write_str("Text"),
100 TailwindSyntaxKind::Expression => f.write_str("Expression"),
101 TailwindSyntaxKind::String => f.write_str("String"),
102 TailwindSyntaxKind::Number => f.write_str("Number"),
103 TailwindSyntaxKind::Boolean => f.write_str("Boolean"),
104 TailwindSyntaxKind::Null => f.write_str("Null"),
105 TailwindSyntaxKind::Array => f.write_str("Array"),
106 TailwindSyntaxKind::Object => f.write_str("Object"),
107 TailwindSyntaxKind::Identifier => f.write_str("Identifier"),
108 TailwindSyntaxKind::Operator => f.write_str("Operator"),
109 TailwindSyntaxKind::ErrorNode => f.write_str("ErrorNode"),
110 TailwindSyntaxKind::LeftBrace => f.write_str("{"),
111 TailwindSyntaxKind::RightBrace => f.write_str("}"),
112 TailwindSyntaxKind::LeftBracket => f.write_str("["),
113 TailwindSyntaxKind::RightBracket => f.write_str("]"),
114 TailwindSyntaxKind::DoubleLeftBrace => f.write_str("{{"),
115 TailwindSyntaxKind::DoubleRightBrace => f.write_str("}}"),
116 TailwindSyntaxKind::LeftBracePercent => f.write_str("{%"),
117 TailwindSyntaxKind::PercentRightBrace => f.write_str("%}"),
118 TailwindSyntaxKind::LeftParen => f.write_str("("),
119 TailwindSyntaxKind::RightParen => f.write_str(")"),
120 TailwindSyntaxKind::Pipe => f.write_str("|"),
121 TailwindSyntaxKind::Comma => f.write_str(","),
122 TailwindSyntaxKind::Dot => f.write_str("."),
123 TailwindSyntaxKind::Colon => f.write_str(":"),
124 TailwindSyntaxKind::Semicolon => f.write_str(";"),
125 TailwindSyntaxKind::Eq => f.write_str("="),
126 TailwindSyntaxKind::Plus => f.write_str("+"),
127 TailwindSyntaxKind::Minus => f.write_str("-"),
128 TailwindSyntaxKind::Star => f.write_str("*"),
129 TailwindSyntaxKind::Slash => f.write_str("/"),
130 TailwindSyntaxKind::Percent => f.write_str("%"),
131 TailwindSyntaxKind::Bang => f.write_str("!"),
132 TailwindSyntaxKind::Question => f.write_str("?"),
133 TailwindSyntaxKind::Lt => f.write_str("<"),
134 TailwindSyntaxKind::Gt => f.write_str(">"),
135 TailwindSyntaxKind::Amp => f.write_str("&"),
136 TailwindSyntaxKind::Caret => f.write_str("^"),
137 TailwindSyntaxKind::Tilde => f.write_str("~"),
138 TailwindSyntaxKind::Whitespace => f.write_str("Whitespace"),
139 TailwindSyntaxKind::Eof => f.write_str("Eof"),
140 TailwindSyntaxKind::Error => f.write_str("Error"),
141 }
142 }
143}