comparison vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ragel.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>Ragel</name>
4 <alias>ragel</alias>
5 </config>
6 <rules>
7 <state name="host">
8 <rule pattern="([^{}\&#39;&#34;/#]+|[^\\]\\[{}]|&#34;(\\\\|\\&#34;|[^&#34;])*&#34;|&#39;(\\\\|\\&#39;|[^&#39;])*&#39;|//.*$\n?|/\*(.|\n)*?\*/|\#.*$\n?|/(?!\*)(\\\\|\\/|[^/])*/|/)+">
9 <token type="Other"/>
10 </rule>
11 <rule pattern="\{">
12 <token type="Punctuation"/>
13 <push/>
14 </rule>
15 <rule pattern="\}">
16 <token type="Punctuation"/>
17 <pop depth="1"/>
18 </rule>
19 </state>
20 <state name="whitespace">
21 <rule pattern="\s+">
22 <token type="TextWhitespace"/>
23 </rule>
24 </state>
25 <state name="numbers">
26 <rule pattern="0x[0-9A-Fa-f]+">
27 <token type="LiteralNumberHex"/>
28 </rule>
29 <rule pattern="[+-]?[0-9]+">
30 <token type="LiteralNumberInteger"/>
31 </rule>
32 </state>
33 <state name="literals">
34 <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
35 <token type="LiteralString"/>
36 </rule>
37 <rule pattern="&#39;(\\\\|\\&#39;|[^&#39;])*&#39;">
38 <token type="LiteralString"/>
39 </rule>
40 <rule pattern="\[(\\\\|\\\]|[^\]])*\]">
41 <token type="LiteralString"/>
42 </rule>
43 <rule pattern="/(?!\*)(\\\\|\\/|[^/])*/">
44 <token type="LiteralStringRegex"/>
45 </rule>
46 </state>
47 <state name="keywords">
48 <rule pattern="(access|action|alphtype)\b">
49 <token type="Keyword"/>
50 </rule>
51 <rule pattern="(getkey|write|machine|include)\b">
52 <token type="Keyword"/>
53 </rule>
54 <rule pattern="(any|ascii|extend|alpha|digit|alnum|lower|upper)\b">
55 <token type="Keyword"/>
56 </rule>
57 <rule pattern="(xdigit|cntrl|graph|print|punct|space|zlen|empty)\b">
58 <token type="Keyword"/>
59 </rule>
60 </state>
61 <state name="identifiers">
62 <rule pattern="[a-zA-Z_]\w*">
63 <token type="NameVariable"/>
64 </rule>
65 </state>
66 <state name="root">
67 <rule>
68 <include state="literals"/>
69 </rule>
70 <rule>
71 <include state="whitespace"/>
72 </rule>
73 <rule>
74 <include state="comments"/>
75 </rule>
76 <rule>
77 <include state="keywords"/>
78 </rule>
79 <rule>
80 <include state="numbers"/>
81 </rule>
82 <rule>
83 <include state="identifiers"/>
84 </rule>
85 <rule>
86 <include state="operators"/>
87 </rule>
88 <rule pattern="\{">
89 <token type="Punctuation"/>
90 <push state="host"/>
91 </rule>
92 <rule pattern="=">
93 <token type="Operator"/>
94 </rule>
95 <rule pattern=";">
96 <token type="Punctuation"/>
97 </rule>
98 </state>
99 <state name="comments">
100 <rule pattern="\#.*$">
101 <token type="Comment"/>
102 </rule>
103 </state>
104 <state name="operators">
105 <rule pattern=",">
106 <token type="Operator"/>
107 </rule>
108 <rule pattern="\||&amp;|--?">
109 <token type="Operator"/>
110 </rule>
111 <rule pattern="\.|&lt;:|:&gt;&gt;?">
112 <token type="Operator"/>
113 </rule>
114 <rule pattern=":">
115 <token type="Operator"/>
116 </rule>
117 <rule pattern="-&gt;">
118 <token type="Operator"/>
119 </rule>
120 <rule pattern="(&gt;|\$|%|&lt;|@|&lt;&gt;)(/|eof\b)">
121 <token type="Operator"/>
122 </rule>
123 <rule pattern="(&gt;|\$|%|&lt;|@|&lt;&gt;)(!|err\b)">
124 <token type="Operator"/>
125 </rule>
126 <rule pattern="(&gt;|\$|%|&lt;|@|&lt;&gt;)(\^|lerr\b)">
127 <token type="Operator"/>
128 </rule>
129 <rule pattern="(&gt;|\$|%|&lt;|@|&lt;&gt;)(~|to\b)">
130 <token type="Operator"/>
131 </rule>
132 <rule pattern="(&gt;|\$|%|&lt;|@|&lt;&gt;)(\*|from\b)">
133 <token type="Operator"/>
134 </rule>
135 <rule pattern="&gt;|@|\$|%">
136 <token type="Operator"/>
137 </rule>
138 <rule pattern="\*|\?|\+|\{[0-9]*,[0-9]*\}">
139 <token type="Operator"/>
140 </rule>
141 <rule pattern="!|\^">
142 <token type="Operator"/>
143 </rule>
144 <rule pattern="\(|\)">
145 <token type="Operator"/>
146 </rule>
147 </state>
148 </rules>
149 </lexer>