comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/cfengine3.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>CFEngine3</name>
4 <alias>cfengine3</alias>
5 <alias>cf3</alias>
6 <filename>*.cf</filename>
7 </config>
8 <rules>
9 <state name="interpol">
10 <rule pattern="\$[{(]">
11 <token type="LiteralStringInterpol"/>
12 <push/>
13 </rule>
14 <rule pattern="[})]">
15 <token type="LiteralStringInterpol"/>
16 <pop depth="1"/>
17 </rule>
18 <rule pattern="[^${()}]+">
19 <token type="LiteralStringInterpol"/>
20 </rule>
21 </state>
22 <state name="arglist">
23 <rule pattern="\)">
24 <token type="Punctuation"/>
25 <pop depth="1"/>
26 </rule>
27 <rule pattern=",">
28 <token type="Punctuation"/>
29 </rule>
30 <rule pattern="\w+">
31 <token type="NameVariable"/>
32 </rule>
33 <rule pattern="\s+">
34 <token type="Text"/>
35 </rule>
36 </state>
37 <state name="root">
38 <rule pattern="#.*?\n">
39 <token type="Comment"/>
40 </rule>
41 <rule pattern="@.*?\n">
42 <token type="CommentPreproc"/>
43 </rule>
44 <rule pattern="(body)(\s+)(\S+)(\s+)(control)">
45 <bygroups>
46 <token type="Keyword"/>
47 <token type="Text"/>
48 <token type="Keyword"/>
49 <token type="Text"/>
50 <token type="Keyword"/>
51 </bygroups>
52 </rule>
53 <rule pattern="(body|bundle|promise)(\s+)(\S+)(\s+)(\w+)(\()">
54 <bygroups>
55 <token type="Keyword"/>
56 <token type="Text"/>
57 <token type="Keyword"/>
58 <token type="Text"/>
59 <token type="NameFunction"/>
60 <token type="Punctuation"/>
61 </bygroups>
62 <push state="arglist"/>
63 </rule>
64 <rule pattern="(body|bundle|promise)(\s+)(\S+)(\s+)(\w+)">
65 <bygroups>
66 <token type="Keyword"/>
67 <token type="Text"/>
68 <token type="Keyword"/>
69 <token type="Text"/>
70 <token type="NameFunction"/>
71 </bygroups>
72 </rule>
73 <rule pattern="(\S+)(\s*)(=&gt;)(\s*)">
74 <bygroups>
75 <token type="KeywordReserved"/>
76 <token type="Text"/>
77 <token type="Operator"/>
78 <token type="Text"/>
79 </bygroups>
80 </rule>
81 <rule pattern="&#34;">
82 <token type="LiteralString"/>
83 <push state="doublequotestring"/>
84 </rule>
85 <rule pattern="&#39;">
86 <token type="LiteralString"/>
87 <push state="singlequotestring"/>
88 </rule>
89 <rule pattern="&#96;">
90 <token type="LiteralString"/>
91 <push state="backtickstring"/>
92 </rule>
93 <rule pattern="(\w+)(\()">
94 <bygroups>
95 <token type="NameFunction"/>
96 <token type="Punctuation"/>
97 </bygroups>
98 </rule>
99 <rule pattern="([\w.!&amp;|()]+)(::)">
100 <bygroups>
101 <token type="NameClass"/>
102 <token type="Punctuation"/>
103 </bygroups>
104 </rule>
105 <rule pattern="(\w+)(:)">
106 <bygroups>
107 <token type="KeywordDeclaration"/>
108 <token type="Punctuation"/>
109 </bygroups>
110 </rule>
111 <rule pattern="@[{(][^)}]+[})]">
112 <token type="NameVariable"/>
113 </rule>
114 <rule pattern="[(){},;]">
115 <token type="Punctuation"/>
116 </rule>
117 <rule pattern="=&gt;">
118 <token type="Operator"/>
119 </rule>
120 <rule pattern="-&gt;">
121 <token type="Operator"/>
122 </rule>
123 <rule pattern="\d+\.\d+">
124 <token type="LiteralNumberFloat"/>
125 </rule>
126 <rule pattern="\d+">
127 <token type="LiteralNumberInteger"/>
128 </rule>
129 <rule pattern="\w+">
130 <token type="NameFunction"/>
131 </rule>
132 <rule pattern="\s+">
133 <token type="Text"/>
134 </rule>
135 </state>
136 <state name="doublequotestring">
137 <rule pattern="\$[{(]">
138 <token type="LiteralStringInterpol"/>
139 <push state="interpol"/>
140 </rule>
141 <rule pattern="\\.">
142 <token type="LiteralStringEscape"/>
143 </rule>
144 <rule pattern="&#34;">
145 <token type="LiteralString"/>
146 <pop depth="1"/>
147 </rule>
148 <rule pattern="\n">
149 <token type="LiteralString"/>
150 </rule>
151 <rule pattern=".">
152 <token type="LiteralString"/>
153 </rule>
154 </state>
155 <state name="singlequotestring">
156 <rule pattern="\$[{(]">
157 <token type="LiteralStringInterpol"/>
158 <push state="interpol"/>
159 </rule>
160 <rule pattern="\\.">
161 <token type="LiteralStringEscape"/>
162 </rule>
163 <rule pattern="&#39;">
164 <token type="LiteralString"/>
165 <pop depth="1"/>
166 </rule>
167 <rule pattern="\n">
168 <token type="LiteralString"/>
169 </rule>
170 <rule pattern=".">
171 <token type="LiteralString"/>
172 </rule>
173 </state>
174 <state name="backtickstring">
175 <rule pattern="\$[{(]">
176 <token type="LiteralStringInterpol"/>
177 <push state="interpol"/>
178 </rule>
179 <rule pattern="\\.">
180 <token type="LiteralStringEscape"/>
181 </rule>
182 <rule pattern="&#96;">
183 <token type="LiteralString"/>
184 <pop depth="1"/>
185 </rule>
186 <rule pattern="\n">
187 <token type="LiteralString"/>
188 </rule>
189 <rule pattern=".">
190 <token type="LiteralString"/>
191 </rule>
192 </state>
193 </rules>
194 </lexer>