]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/tex.xml
c59bfa8d89390bb06dd46dd3ec4fd2d2e38ca1e6
[factor.git] / basis / xmode / modes / tex.xml
1 <?xml version="1.0"?>\r
2 \r
3 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
4 \r
5 <MODE>\r
6         <PROPS>\r
7                 <PROPERTY NAME="lineComment" VALUE="%" />\r
8                 <PROPERTY NAME="wordBreakChars" VALUE="{}" />\r
9         </PROPS>\r
10         <RULES IGNORE_CASE="FALSE">\r
11                 <!-- $$...$$ -->\r
12                 <SPAN TYPE="MARKUP" DELEGATE="MATH">\r
13                         <BEGIN>$$</BEGIN>\r
14                         <END>$$</END>\r
15                 </SPAN>\r
16 \r
17                 <!-- $...$ -->\r
18                 <SPAN TYPE="MARKUP" DELEGATE="MATH">\r
19                         <BEGIN>$</BEGIN>\r
20                         <END>$</END>\r
21                 </SPAN>\r
22 \r
23                 <!-- \[...\] (LaTeX math mode) -->\r
24                 <SPAN TYPE="MARKUP" DELEGATE="MATH">\r
25                         <BEGIN>\[</BEGIN>\r
26                         <END>\]</END>\r
27                 </SPAN>\r
28 \r
29                 <!-- some commands must be handled specially -->\r
30                 <SEQ TYPE="KEYWORD1">\$</SEQ>\r
31                 <SEQ TYPE="KEYWORD1">\\</SEQ>\r
32                 <SEQ TYPE="KEYWORD1">\%</SEQ>\r
33 \r
34                 <!-- \iffalse ... \fi - a block comment -->\r
35                 <SPAN TYPE="COMMENT1">\r
36                         <BEGIN>\iffalse</BEGIN>\r
37                         <END>\fi</END>\r
38                 </SPAN>\r
39 \r
40                 <!-- \begin{verbatim} ... \end{verbatim} -->\r
41                 <SPAN TYPE="KEYWORD1" DELEGATE="VERBATIM">\r
42                         <BEGIN>\begin{verbatim}</BEGIN>\r
43                         <END>\end{verbatim}</END>\r
44                 </SPAN>\r
45 \r
46                 <!-- \verb|sometext| -->\r
47                 <SPAN TYPE="KEYWORD1" DELEGATE="VERBATIM"\r
48                         NO_LINE_BREAK="TRUE">\r
49                         <BEGIN>\verb|</BEGIN>\r
50                         <END>|</END>\r
51                 </SPAN>\r
52                 <!-- \... commands -->\r
53                 <MARK_FOLLOWING TYPE="KEYWORD1">\</MARK_FOLLOWING>\r
54 \r
55                 <!-- comments -->\r
56                 <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
57 \r
58                 <!-- word separators -->\r
59                 <SEQ TYPE="OPERATOR">{</SEQ>\r
60                 <SEQ TYPE="OPERATOR">}</SEQ>\r
61                 <SEQ TYPE="OPERATOR">[</SEQ>\r
62                 <SEQ TYPE="OPERATOR">]</SEQ>\r
63         </RULES>\r
64 \r
65         <RULES SET="MATH" DEFAULT="MARKUP">\r
66                 <!-- some commands must be handled specially -->\r
67                 <SEQ TYPE="KEYWORD3">\$</SEQ>\r
68                 <SEQ TYPE="KEYWORD3">\\</SEQ>\r
69                 <SEQ TYPE="KEYWORD3">\%</SEQ>\r
70 \r
71                 <!-- \... commands -->\r
72                 <MARK_FOLLOWING TYPE="KEYWORD3">\</MARK_FOLLOWING>\r
73 \r
74                 <!-- word separators -->\r
75                 <SEQ TYPE="KEYWORD2">)</SEQ>\r
76                 <SEQ TYPE="KEYWORD2">(</SEQ>\r
77                 <SEQ TYPE="KEYWORD2">{</SEQ>\r
78                 <SEQ TYPE="KEYWORD2">}</SEQ>\r
79                 <SEQ TYPE="KEYWORD2">[</SEQ>\r
80                 <SEQ TYPE="KEYWORD2">]</SEQ>\r
81                 <SEQ TYPE="KEYWORD2">=</SEQ>\r
82                 <SEQ TYPE="KEYWORD2">!</SEQ>\r
83                 <SEQ TYPE="KEYWORD2">+</SEQ>\r
84                 <SEQ TYPE="KEYWORD2">-</SEQ>\r
85                 <SEQ TYPE="KEYWORD2">/</SEQ>\r
86                 <SEQ TYPE="KEYWORD2">*</SEQ>\r
87                 <SEQ TYPE="KEYWORD2">&gt;</SEQ>\r
88                 <SEQ TYPE="KEYWORD2">&lt;</SEQ>\r
89                 <SEQ TYPE="KEYWORD2">&amp;</SEQ>\r
90                 <SEQ TYPE="KEYWORD2">|</SEQ>\r
91                 <SEQ TYPE="KEYWORD2">^</SEQ>\r
92                 <SEQ TYPE="KEYWORD2">~</SEQ>\r
93                 <SEQ TYPE="KEYWORD2">.</SEQ>\r
94                 <SEQ TYPE="KEYWORD2">,</SEQ>\r
95                 <SEQ TYPE="KEYWORD2">;</SEQ>\r
96                 <SEQ TYPE="KEYWORD2">?</SEQ>\r
97                 <SEQ TYPE="KEYWORD2">:</SEQ>\r
98                 <SEQ TYPE="KEYWORD2">'</SEQ>\r
99                 <SEQ TYPE="KEYWORD2">"</SEQ>\r
100                 <SEQ TYPE="KEYWORD2">`</SEQ>\r
101 \r
102                 <!-- comments -->\r
103                 <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
104         </RULES>\r
105 \r
106         <RULES SET="VERBATIM" DEFAULT="NULL" />\r
107 </MODE>\r