...
1<lexer>
2 <config>
3 <name>TeX</name>
4 <alias>tex</alias>
5 <alias>latex</alias>
6 <filename>*.tex</filename>
7 <filename>*.aux</filename>
8 <filename>*.toc</filename>
9 <mime_type>text/x-tex</mime_type>
10 <mime_type>text/x-latex</mime_type>
11 </config>
12 <rules>
13 <state name="displaymath">
14 <rule pattern="\\\]">
15 <token type="LiteralString"/>
16 <pop depth="1"/>
17 </rule>
18 <rule pattern="\$\$">
19 <token type="LiteralString"/>
20 <pop depth="1"/>
21 </rule>
22 <rule pattern="\$">
23 <token type="NameBuiltin"/>
24 </rule>
25 <rule>
26 <include state="math"/>
27 </rule>
28 </state>
29 <state name="command">
30 <rule pattern="\[.*?\]">
31 <token type="NameAttribute"/>
32 </rule>
33 <rule pattern="\*">
34 <token type="Keyword"/>
35 </rule>
36 <rule>
37 <pop depth="1"/>
38 </rule>
39 </state>
40 <state name="general">
41 <rule pattern="%.*?\n">
42 <token type="Comment"/>
43 </rule>
44 <rule pattern="[{}]">
45 <token type="NameBuiltin"/>
46 </rule>
47 <rule pattern="[&_^]">
48 <token type="NameBuiltin"/>
49 </rule>
50 </state>
51 <state name="root">
52 <rule pattern="\\\[">
53 <token type="LiteralStringBacktick"/>
54 <push state="displaymath"/>
55 </rule>
56 <rule pattern="\\\(">
57 <token type="LiteralString"/>
58 <push state="inlinemath"/>
59 </rule>
60 <rule pattern="\$\$">
61 <token type="LiteralStringBacktick"/>
62 <push state="displaymath"/>
63 </rule>
64 <rule pattern="\$">
65 <token type="LiteralString"/>
66 <push state="inlinemath"/>
67 </rule>
68 <rule pattern="\\([a-zA-Z]+|.)">
69 <token type="Keyword"/>
70 <push state="command"/>
71 </rule>
72 <rule pattern="\\$">
73 <token type="Keyword"/>
74 </rule>
75 <rule>
76 <include state="general"/>
77 </rule>
78 <rule pattern="[^\\$%&_^{}]+">
79 <token type="Text"/>
80 </rule>
81 </state>
82 <state name="math">
83 <rule pattern="\\([a-zA-Z]+|.)">
84 <token type="NameVariable"/>
85 </rule>
86 <rule>
87 <include state="general"/>
88 </rule>
89 <rule pattern="[0-9]+">
90 <token type="LiteralNumber"/>
91 </rule>
92 <rule pattern="[-=!+*/()\[\]]">
93 <token type="Operator"/>
94 </rule>
95 <rule pattern="[^=!+*/()\[\]\\$%&_^{}0-9-]+">
96 <token type="NameBuiltin"/>
97 </rule>
98 </state>
99 <state name="inlinemath">
100 <rule pattern="\\\)">
101 <token type="LiteralString"/>
102 <pop depth="1"/>
103 </rule>
104 <rule pattern="\$">
105 <token type="LiteralString"/>
106 <pop depth="1"/>
107 </rule>
108 <rule>
109 <include state="math"/>
110 </rule>
111 </state>
112 </rules>
113</lexer>
View as plain text