...
1<lexer>
2 <config>
3 <name>Nginx configuration file</name>
4 <alias>nginx</alias>
5 <filename>nginx.conf</filename>
6 <mime_type>text/x-nginx-conf</mime_type>
7 </config>
8 <rules>
9 <state name="root">
10 <rule pattern="(include)(\s+)([^\s;]+)">
11 <bygroups>
12 <token type="Keyword"/>
13 <token type="Text"/>
14 <token type="Name"/>
15 </bygroups>
16 </rule>
17 <rule pattern="[^\s;#]+">
18 <token type="Keyword"/>
19 <push state="stmt"/>
20 </rule>
21 <rule>
22 <include state="base"/>
23 </rule>
24 </state>
25 <state name="block">
26 <rule pattern="\}">
27 <token type="Punctuation"/>
28 <pop depth="2"/>
29 </rule>
30 <rule pattern="[^\s;#]+">
31 <token type="KeywordNamespace"/>
32 <push state="stmt"/>
33 </rule>
34 <rule>
35 <include state="base"/>
36 </rule>
37 </state>
38 <state name="stmt">
39 <rule pattern="\{">
40 <token type="Punctuation"/>
41 <push state="block"/>
42 </rule>
43 <rule pattern=";">
44 <token type="Punctuation"/>
45 <pop depth="1"/>
46 </rule>
47 <rule>
48 <include state="base"/>
49 </rule>
50 </state>
51 <state name="base">
52 <rule pattern="#.*\n">
53 <token type="CommentSingle"/>
54 </rule>
55 <rule pattern="on|off">
56 <token type="NameConstant"/>
57 </rule>
58 <rule pattern="\$[^\s;#()]+">
59 <token type="NameVariable"/>
60 </rule>
61 <rule pattern="([a-z0-9.-]+)(:)([0-9]+)">
62 <bygroups>
63 <token type="Name"/>
64 <token type="Punctuation"/>
65 <token type="LiteralNumberInteger"/>
66 </bygroups>
67 </rule>
68 <rule pattern="[a-z-]+/[a-z-+]+">
69 <token type="LiteralString"/>
70 </rule>
71 <rule pattern="[0-9]+[km]?\b">
72 <token type="LiteralNumberInteger"/>
73 </rule>
74 <rule pattern="(~)(\s*)([^\s{]+)">
75 <bygroups>
76 <token type="Punctuation"/>
77 <token type="Text"/>
78 <token type="LiteralStringRegex"/>
79 </bygroups>
80 </rule>
81 <rule pattern="[:=~]">
82 <token type="Punctuation"/>
83 </rule>
84 <rule pattern="[^\s;#{}$]+">
85 <token type="LiteralString"/>
86 </rule>
87 <rule pattern="/[^\s;#]*">
88 <token type="Name"/>
89 </rule>
90 <rule pattern="\s+">
91 <token type="Text"/>
92 </rule>
93 <rule pattern="[$;]">
94 <token type="Text"/>
95 </rule>
96 </state>
97 </rules>
98</lexer>
View as plain text