comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/hcl.xml @ 66:787b5ee0289d draft

Use vendored modules Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author yakumo.izuru
date Sun, 23 Jul 2023 13:18:53 +0000
parents
children
comparison
equal deleted inserted replaced
65:6d985efa0f7a 66:787b5ee0289d
1 <lexer>
2 <config>
3 <name>HCL</name>
4 <alias>hcl</alias>
5 <filename>*.hcl</filename>
6 <mime_type>application/x-hcl</mime_type>
7 </config>
8 <rules>
9 <state name="punctuation">
10 <rule pattern="[\[\](),.]">
11 <token type="Punctuation"/>
12 </rule>
13 </state>
14 <state name="string">
15 <rule pattern="(&#34;.*&#34;)">
16 <bygroups>
17 <token type="LiteralStringDouble"/>
18 </bygroups>
19 </rule>
20 </state>
21 <state name="whitespace">
22 <rule pattern="\n">
23 <token type="Text"/>
24 </rule>
25 <rule pattern="\s+">
26 <token type="Text"/>
27 </rule>
28 <rule pattern="\\\n">
29 <token type="Text"/>
30 </rule>
31 </state>
32 <state name="root">
33 <rule>
34 <include state="string"/>
35 </rule>
36 <rule>
37 <include state="punctuation"/>
38 </rule>
39 <rule>
40 <include state="curly"/>
41 </rule>
42 <rule>
43 <include state="basic"/>
44 </rule>
45 <rule>
46 <include state="whitespace"/>
47 </rule>
48 <rule pattern="[0-9]+">
49 <token type="LiteralNumber"/>
50 </rule>
51 </state>
52 <state name="basic">
53 <rule pattern="\b(false|true)\b">
54 <token type="KeywordType"/>
55 </rule>
56 <rule pattern="\s*/\*">
57 <token type="CommentMultiline"/>
58 <push state="comment"/>
59 </rule>
60 <rule pattern="\s*#.*\n">
61 <token type="CommentSingle"/>
62 </rule>
63 <rule pattern="(.*?)(\s*)(=)">
64 <bygroups>
65 <token type="Name"/>
66 <token type="Text"/>
67 <token type="Operator"/>
68 </bygroups>
69 </rule>
70 <rule pattern="\d+">
71 <token type="LiteralNumber"/>
72 </rule>
73 <rule pattern="\b\w+\b">
74 <token type="Keyword"/>
75 </rule>
76 <rule pattern="\$\{">
77 <token type="LiteralStringInterpol"/>
78 <push state="var_builtin"/>
79 </rule>
80 </state>
81 <state name="curly">
82 <rule pattern="\{">
83 <token type="TextPunctuation"/>
84 </rule>
85 <rule pattern="\}">
86 <token type="TextPunctuation"/>
87 </rule>
88 </state>
89 <state name="function">
90 <rule pattern="(\s+)(&#34;.*&#34;)(\s+)">
91 <bygroups>
92 <token type="Text"/>
93 <token type="LiteralString"/>
94 <token type="Text"/>
95 </bygroups>
96 </rule>
97 <rule>
98 <include state="punctuation"/>
99 </rule>
100 <rule>
101 <include state="curly"/>
102 </rule>
103 </state>
104 <state name="var_builtin">
105 <rule pattern="\$\{">
106 <token type="LiteralStringInterpol"/>
107 <push/>
108 </rule>
109 <rule pattern="\b(element|concat|lookup|file|join)\b">
110 <token type="NameBuiltin"/>
111 </rule>
112 <rule>
113 <include state="string"/>
114 </rule>
115 <rule>
116 <include state="punctuation"/>
117 </rule>
118 <rule pattern="\s+">
119 <token type="Text"/>
120 </rule>
121 <rule pattern="\}">
122 <token type="LiteralStringInterpol"/>
123 <pop depth="1"/>
124 </rule>
125 </state>
126 <state name="comment">
127 <rule pattern="[^*/]">
128 <token type="CommentMultiline"/>
129 </rule>
130 <rule pattern="/\*">
131 <token type="CommentMultiline"/>
132 <push/>
133 </rule>
134 <rule pattern="\*/">
135 <token type="CommentMultiline"/>
136 <pop depth="1"/>
137 </rule>
138 <rule pattern="[*/]">
139 <token type="CommentMultiline"/>
140 </rule>
141 </state>
142 </rules>
143 </lexer>