]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/modes/mpost.xml
xmode.modes: updating with recent xmode files
[factor.git] / basis / xmode / modes / mpost.xml
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!DOCTYPE MODE SYSTEM "xmode.dtd">\r
3 <!--\r
4  METAPOST syntax highlight v0.1.0\r
5  Made by Kondr <kondr@lesnimoudrost.cz>\r
6  Last revision: 2007-05-04\r
7  Cooperates with LaTeX syntax higlight (tested with the jEdit default latex.xml)\r
8  \r
9  Kyword types\r
10  ************\r
11  1 Basic keywords (for, begingig, ... )\r
12  2 Statements\r
13  3 Variables\r
14  4 Constants\r
15  \r
16  Macros are considred as functions, including the z,x,y prefixes.\r
17  \r
18  Recommended catalog entry:\r
19  \r
20    <MODE NAME="Metapost"\r
21          FILE="mpost.xml"\r
22          FILE_NAME_GLOB="*.mp"/>\r
23 -->\r
24 <MODE>\r
25         <PROPS>\r
26                 <PROPERTY NAME="lineComment" VALUE="%"/>\r
27         </PROPS>\r
28         <RULES HIGHLIGHT_DIGITS="TRUE" DIGIT_RE="(0x[[:xdigit:]]+[lL]?|[[:digit:]]+(e[[:digit:]]*)?[lLdDfF]?(cm|in|pt|px)?)">\r
29                         <!-- btex...etex -->\r
30                 <SPAN TYPE="MARKUP" DELEGATE="tex::MAIN">\r
31                         <BEGIN>btex</BEGIN>\r
32                         <END>etex</END>\r
33                 </SPAN>\r
34                         \r
35                 <!-- types -->\r
36                 <SEQ TYPE="OPERATOR">path</SEQ>\r
37                 <SEQ TYPE="OPERATOR">pair</SEQ>\r
38                 <EOL_SPAN TYPE="COMMENT1">%</EOL_SPAN>\r
39                 \r
40                 <!-- xyz suffixes -->\r
41                 <SEQ_REGEXP HASH_CHAR="z" AT_WORD_START="TRUE" TYPE="FUNCTION">z[0-9]?</SEQ_REGEXP>\r
42                 <SEQ_REGEXP HASH_CHAR="x" AT_WORD_START="TRUE" TYPE="FUNCTION">x[0-9]?</SEQ_REGEXP>\r
43                 <SEQ_REGEXP HASH_CHAR="y" AT_WORD_START="TRUE" TYPE="FUNCTION">y[0-9]?</SEQ_REGEXP>\r
44                 <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="CONTEXT">(</MARK_PREVIOUS>\r
45                 \r
46                 <SEQ TYPE="OPERATOR">&amp;</SEQ>\r
47                 <SEQ TYPE="OPERATOR">*</SEQ>\r
48                 <SEQ TYPE="OPERATOR">*</SEQ>\r
49                 <SEQ TYPE="OPERATOR">**</SEQ>\r
50                 <SEQ TYPE="OPERATOR">+</SEQ>\r
51                 <SEQ TYPE="OPERATOR">++</SEQ>\r
52                 <SEQ TYPE="OPERATOR">+-+</SEQ>\r
53                 <SEQ TYPE="OPERATOR">-</SEQ>\r
54                 <SEQ TYPE="OPERATOR">.</SEQ>\r
55                 <SEQ TYPE="OPERATOR">/</SEQ>\r
56                 <SEQ TYPE="OPERATOR">&lt;</SEQ>\r
57                 <SEQ TYPE="OPERATOR">&lt;=</SEQ>\r
58                 <SEQ TYPE="OPERATOR">&lt;&gt;</SEQ>\r
59                 \r
60                 <KEYWORDS>\r
61                     <!-- basic keywords -->\r
62                         <KEYWORD1>beginfig</KEYWORD1>\r
63                         <KEYWORD1>endfig</KEYWORD1>\r
64                         <KEYWORD1>for</KEYWORD1>\r
65                         <KEYWORD1>upto</KEYWORD1>\r
66                         <KEYWORD1>downto</KEYWORD1>\r
67                         <KEYWORD1>def</KEYWORD1>\r
68                         <KEYWORD1>enddef</KEYWORD1>\r
69                         <KEYWORD1>vardef</KEYWORD1>\r
70                         <KEYWORD1>step</KEYWORD1>\r
71                         <KEYWORD1>until</KEYWORD1>\r
72                         <KEYWORD1>endfor</KEYWORD1>\r
73                         <KEYWORD1>bye</KEYWORD1>\r
74                         <KEYWORD1>if</KEYWORD1>\r
75                         <KEYWORD1>elseif</KEYWORD1>\r
76                         <KEYWORD1>else:</KEYWORD1>\r
77                         <KEYWORD1>fi</KEYWORD1>\r
78                         <KEYWORD1>exitif</KEYWORD1>\r
79                         <KEYWORD1>exitunless</KEYWORD1>\r
80                         <KEYWORD1>forever:</KEYWORD1>\r
81                         <KEYWORD1>forsuffixes</KEYWORD1>\r
82                         <KEYWORD1>end</KEYWORD1>\r
83                         <KEYWORD1>begingroup</KEYWORD1>\r
84                         <KEYWORD1>endgroup</KEYWORD1>\r
85                         <KEYWORD1>save</KEYWORD1>\r
86                         <KEYWORD1>unknown</KEYWORD1>\r
87                         <KEYWORD1>input</KEYWORD1>\r
88                         <KEYWORD1>newinternal</KEYWORD1>\r
89                 \r
90                         <!-- statements -->\r
91                         <KEYWORD2>addto</KEYWORD2>\r
92                         <KEYWORD2>clip</KEYWORD2>\r
93                         <KEYWORD2>cutdraw</KEYWORD2>\r
94                         <KEYWORD2>draw</KEYWORD2>\r
95                         <KEYWORD2>drawarrow</KEYWORD2>\r
96                         <KEYWORD2>drawdblarrow</KEYWORD2>\r
97                         <KEYWORD2>fill</KEYWORD2>\r
98                         <KEYWORD2>filldraw</KEYWORD2>\r
99                         <KEYWORD2>interim</KEYWORD2>\r
100                         <KEYWORD2>let</KEYWORD2>\r
101                         <KEYWORD2>loggingall</KEYWORD2>\r
102                         <KEYWORD2>newinternal</KEYWORD2>\r
103                         <KEYWORD2>pickup</KEYWORD2>\r
104                         <KEYWORD2>save</KEYWORD2>\r
105                         <KEYWORD2>setbounds</KEYWORD2>\r
106                         <KEYWORD2>shipout</KEYWORD2>\r
107                         <KEYWORD2>show</KEYWORD2>\r
108                         <KEYWORD2>showdependencies</KEYWORD2>\r
109                         <KEYWORD2>showtoken</KEYWORD2>\r
110                         <KEYWORD2>showvariable</KEYWORD2>\r
111                         <KEYWORD2>special</KEYWORD2>\r
112                         <KEYWORD2>tracingall</KEYWORD2>\r
113                         <KEYWORD2>tracingnone</KEYWORD2>\r
114                         <KEYWORD2>undraw</KEYWORD2>\r
115                         <KEYWORD2>unfill</KEYWORD2>\r
116                         <KEYWORD2>unfilldraw</KEYWORD2>\r
117                         \r
118                         <!-- variables -->\r
119                         <KEYWORD3>ahangle</KEYWORD3>\r
120                         <KEYWORD3>ahlength</KEYWORD3>\r
121                         <KEYWORD3>bboxmargin</KEYWORD3>\r
122                         <KEYWORD3>charcode</KEYWORD3>\r
123                         <KEYWORD3>circmargin</KEYWORD3>\r
124                         <KEYWORD3>day</KEYWORD3>\r
125                         <KEYWORD3>defaultcolormodel</KEYWORD3>\r
126                         <KEYWORD3>defaultdx</KEYWORD3>\r
127                         <KEYWORD3>defaultdy</KEYWORD3>\r
128                         <KEYWORD3>defaultpen</KEYWORD3>\r
129                         <KEYWORD3>defaultscale</KEYWORD3>\r
130                         <KEYWORD3>labeloffset</KEYWORD3>\r
131                         <KEYWORD3>linecap</KEYWORD3>\r
132                         <KEYWORD3>linejoin</KEYWORD3>\r
133                         <KEYWORD3>miterlimit</KEYWORD3>\r
134                         <KEYWORD3>month</KEYWORD3>\r
135                         <KEYWORD3>mpprocset</KEYWORD3>\r
136                         <KEYWORD3>pausing</KEYWORD3>\r
137                         <KEYWORD3>prologues</KEYWORD3>\r
138                         <KEYWORD3>restoreclipcolor</KEYWORD3>\r
139                         <KEYWORD3>showstopping</KEYWORD3>\r
140                         <KEYWORD3>time</KEYWORD3>\r
141                         <KEYWORD3>tracingcapsules</KEYWORD3>\r
142                         <KEYWORD3>tracingchoices</KEYWORD3>\r
143                         <KEYWORD3>tracingcommands</KEYWORD3>\r
144                         <KEYWORD3>tracingequations</KEYWORD3>\r
145                         <KEYWORD3>tracinglostchars</KEYWORD3>\r
146                         <KEYWORD3>tracingmacros</KEYWORD3>\r
147                         <KEYWORD3>tracingonline</KEYWORD3>\r
148                         <KEYWORD3>tracingoutput</KEYWORD3>\r
149                         <KEYWORD3>tracingrestores</KEYWORD3>\r
150                         <KEYWORD3>tracingspecs</KEYWORD3>\r
151                         <KEYWORD3>tracingstats</KEYWORD3>\r
152                         <KEYWORD3>tracingtitles</KEYWORD3>\r
153                         <KEYWORD3>troffmode</KEYWORD3>\r
154                         <KEYWORD3>truecorners</KEYWORD3>\r
155                         <KEYWORD3>warningcheck</KEYWORD3>\r
156                         <KEYWORD3>year </KEYWORD3>\r
157                         <KEYWORD3>background</KEYWORD3>\r
158                         <KEYWORD3>currentpen</KEYWORD3>\r
159                         <KEYWORD3>currentpicture</KEYWORD3>\r
160                         <KEYWORD3>cuttings</KEYWORD3>\r
161                         <KEYWORD3>defaultfont</KEYWORD3>\r
162                         <KEYWORD3>extra_beginfig</KEYWORD3>\r
163                         <KEYWORD3>extra_endfig</KEYWORD3> \r
164 \r
165                         <!-- constants -->\r
166                         <KEYWORD4>beveled</KEYWORD4>\r
167                         <KEYWORD4>black</KEYWORD4>\r
168                         <KEYWORD4>blue</KEYWORD4>\r
169                         <KEYWORD4>bp</KEYWORD4>\r
170                         <KEYWORD4>butt</KEYWORD4>\r
171                         <KEYWORD4>cc</KEYWORD4>\r
172                         <KEYWORD4>cm</KEYWORD4>\r
173                         <KEYWORD4>dd</KEYWORD4>\r
174                         <KEYWORD4>ditto</KEYWORD4>\r
175                         <KEYWORD4>down</KEYWORD4>\r
176                         <KEYWORD4>epsilon</KEYWORD4>\r
177                         <KEYWORD4>evenly</KEYWORD4>\r
178                         <KEYWORD4>false</KEYWORD4>\r
179                         <KEYWORD4>fullcircle</KEYWORD4>\r
180                         <KEYWORD4>green</KEYWORD4>\r
181                         <KEYWORD4>halfcircle</KEYWORD4>\r
182                         <KEYWORD4>identity</KEYWORD4>\r
183                         <KEYWORD4>in</KEYWORD4>\r
184                         <KEYWORD4>infinity</KEYWORD4>\r
185                         <KEYWORD4>left</KEYWORD4>\r
186                         <KEYWORD4>mitered</KEYWORD4>\r
187                         <KEYWORD4>mm</KEYWORD4>\r
188                         <KEYWORD4>mpversion</KEYWORD4>\r
189                         <KEYWORD4>nullpicture</KEYWORD4>\r
190                         <KEYWORD4>origin</KEYWORD4>\r
191                         <KEYWORD4>pc</KEYWORD4>\r
192                         <KEYWORD4>pencircle</KEYWORD4>\r
193                         <KEYWORD4>pensquare</KEYWORD4>\r
194                         <KEYWORD4>pt</KEYWORD4>\r
195                         <KEYWORD4>quartercircle</KEYWORD4>\r
196                         <KEYWORD4>red</KEYWORD4>\r
197                         <KEYWORD4>right</KEYWORD4>\r
198                         <KEYWORD4>rounded</KEYWORD4>\r
199                         <KEYWORD4>and</KEYWORD4>\r
200                         <KEYWORD4>squared</KEYWORD4>\r
201                         <KEYWORD4>true</KEYWORD4>\r
202                         <KEYWORD4>unitsquare</KEYWORD4>\r
203                         <KEYWORD4>up</KEYWORD4>\r
204                         <KEYWORD4>white</KEYWORD4>\r
205                         <KEYWORD4>withdots</KEYWORD4>\r
206                                                 \r
207                         <!-- functions -->\r
208                         <FUNCTION>boxit</FUNCTION>\r
209                         <FUNCTION>boxjoin</FUNCTION>\r
210                         <FUNCTION>bpath</FUNCTION>\r
211                         <FUNCTION>buildcycle</FUNCTION>\r
212                         <FUNCTION>circleit</FUNCTION>\r
213                         <FUNCTION>circleit</FUNCTION>\r
214                         <FUNCTION>circleit</FUNCTION>\r
215                         <FUNCTION>dashpattern</FUNCTION>\r
216                         <FUNCTION>decr</FUNCTION>\r
217                         <FUNCTION>dotlabel</FUNCTION>\r
218                         <FUNCTION>dotlabel</FUNCTION>\r
219                         <FUNCTION>dotlabels</FUNCTION>\r
220                         <FUNCTION>drawboxed</FUNCTION>\r
221                         <FUNCTION>contents</FUNCTION>\r
222                         <FUNCTION>drawdot</FUNCTION>\r
223                         <FUNCTION>drawoptions</FUNCTION>\r
224                         <FUNCTION>drawunboxed</FUNCTION>\r
225                         <FUNCTION>fixpos</FUNCTION>\r
226                         <FUNCTION>named</FUNCTION>\r
227                         <FUNCTION>fixsize</FUNCTION>\r
228                         <FUNCTION>image</FUNCTION>\r
229                         <FUNCTION>incr</FUNCTION>\r
230                         <FUNCTION>label</FUNCTION>\r
231                         <FUNCTION>label</FUNCTION>\r
232                         <FUNCTION>labels</FUNCTION>\r
233                         <FUNCTION>max</FUNCTION>\r
234                         <FUNCTION>max</FUNCTION>\r
235                         <FUNCTION>min</FUNCTION>\r
236                         <FUNCTION>min</FUNCTION>\r
237                         <FUNCTION>pic</FUNCTION>\r
238                         <FUNCTION>thelabel</FUNCTION>\r
239                         <FUNCTION>thelabel</FUNCTION>\r
240                         <OPERATOR>rotatedaround</OPERATOR>\r
241                         <!-- operators -->\r
242                         <OPERATOR>abs</OPERATOR>\r
243                         <OPERATOR>angle</OPERATOR>\r
244                         <OPERATOR>arclength</OPERATOR>\r
245                         <OPERATOR>arctime</OPERATOR>\r
246                         <OPERATOR>ASCII</OPERATOR>\r
247                         <OPERATOR>bbox</OPERATOR>\r
248                         <OPERATOR>bluepart</OPERATOR>\r
249                         <OPERATOR>boolean</OPERATOR>\r
250                         <OPERATOR>bot</OPERATOR>\r
251                         <OPERATOR>ceiling</OPERATOR>\r
252                         <OPERATOR>center</OPERATOR>\r
253                         <OPERATOR>char</OPERATOR>\r
254                         <OPERATOR>cmykcolor</OPERATOR>\r
255                         <OPERATOR>colormodel</OPERATOR>\r
256                         <OPERATOR>color</OPERATOR>\r
257                         <OPERATOR>cosd</OPERATOR>\r
258                         <OPERATOR>cutafter</OPERATOR>\r
259                         <OPERATOR>intersection</OPERATOR>\r
260                         <OPERATOR>cutbefore</OPERATOR>\r
261                         <OPERATOR>intersection</OPERATOR>\r
262                         <OPERATOR>cyanpart</OPERATOR>\r
263                         <OPERATOR>cycle</OPERATOR>\r
264                         <OPERATOR>decimal</OPERATOR>\r
265                         <OPERATOR>dir</OPERATOR>\r
266                         <OPERATOR>direction</OPERATOR>\r
267                         <OPERATOR>directionpoint</OPERATOR>\r
268                         <OPERATOR>directiontime</OPERATOR>\r
269                         <OPERATOR>div</OPERATOR>\r
270                         <OPERATOR>dotprod</OPERATOR>\r
271                         <OPERATOR>floor</OPERATOR>\r
272                         <OPERATOR>fontsize</OPERATOR>\r
273                         <OPERATOR>greenpart</OPERATOR>\r
274                         <OPERATOR>greypart</OPERATOR>\r
275                         <OPERATOR>hex</OPERATOR>\r
276                         <OPERATOR>infont</OPERATOR>\r
277                         <OPERATOR>intersectionpoint</OPERATOR>\r
278                         <OPERATOR>intesctiontimes</OPERATOR>\r
279                         <OPERATOR>inverse</OPERATOR>\r
280                         <OPERATOR>known</OPERATOR>\r
281                         <OPERATOR>length</OPERATOR>\r
282                         <OPERATOR>ulft</OPERATOR>\r
283                         <OPERATOR>llft</OPERATOR>\r
284                         <OPERATOR>lft</OPERATOR>\r
285                         <OPERATOR>llcorner</OPERATOR>\r
286                         <OPERATOR>lrcorner</OPERATOR>\r
287                         <OPERATOR>magentapart</OPERATOR>\r
288                         <OPERATOR>makemakeconvex</OPERATOR>\r
289                         <OPERATOR>mexp</OPERATOR>\r
290                         <OPERATOR>mlog</OPERATOR>\r
291                         <OPERATOR>mod</OPERATOR>\r
292                         <OPERATOR>normaldeviate</OPERATOR>\r
293                         <OPERATOR>not</OPERATOR>\r
294                         <OPERATOR>numeric</OPERATOR>\r
295                         <OPERATOR>oct</OPERATOR>\r
296                         <OPERATOR>odd</OPERATOR>\r
297                         <OPERATOR>or</OPERATOR>\r
298                         <OPERATOR>of</OPERATOR>\r
299                         <OPERATOR>penoffset</OPERATOR>\r
300                         <OPERATOR>picture</OPERATOR>\r
301                         <OPERATOR>point</OPERATOR>\r
302                         <OPERATOR>postcontrol</OPERATOR>\r
303                         <OPERATOR>precontrol</OPERATOR>\r
304                         <OPERATOR>redpart</OPERATOR>\r
305                         <OPERATOR>reverse</OPERATOR>\r
306                         <OPERATOR>swapped</OPERATOR>\r
307                         <OPERATOR>rgbcolor</OPERATOR>\r
308                         <OPERATOR>rotated</OPERATOR>\r
309                         <OPERATOR>reflectedabout</OPERATOR>\r
310                         <OPERATOR>round</OPERATOR>\r
311                         <OPERATOR>lrt</OPERATOR>\r
312                         <OPERATOR>urt</OPERATOR>\r
313                         <OPERATOR>rt</OPERATOR>\r
314                         <OPERATOR>scaled</OPERATOR>\r
315                         <OPERATOR>scantokens</OPERATOR>\r
316                         <OPERATOR>token</OPERATOR>\r
317                         <OPERATOR>top</OPERATOR>\r
318                         <OPERATOR>to</OPERATOR>\r
319                         <OPERATOR>shifted</OPERATOR>\r
320                         <OPERATOR>sind</OPERATOR>\r
321                         <OPERATOR>slanted</OPERATOR>\r
322                         <OPERATOR>sqrt</OPERATOR>\r
323                         <OPERATOR>string</OPERATOR>\r
324                         <OPERATOR>str</OPERATOR>\r
325                         <OPERATOR>subof</OPERATOR>\r
326                         <OPERATOR>substring</OPERATOR>\r
327                         <OPERATOR>transformed</OPERATOR>\r
328                         <OPERATOR>transform</OPERATOR>\r
329                         <OPERATOR>ulcorner</OPERATOR>\r
330                         <OPERATOR>uniformdeviate</OPERATOR>\r
331                         <OPERATOR>unitvector</OPERATOR>\r
332                         <OPERATOR>unknown</OPERATOR>\r
333                         <OPERATOR>urcorner</OPERATOR>\r
334                         <OPERATOR>whatever</OPERATOR>\r
335                         <OPERATOR>xpart</OPERATOR>\r
336                         <OPERATOR>xxpart</OPERATOR>\r
337                         <OPERATOR>xypart</OPERATOR>\r
338                         <OPERATOR>yellowpart</OPERATOR>\r
339                         <OPERATOR>ypart</OPERATOR>\r
340                         <OPERATOR>yxpart</OPERATOR>\r
341                         <OPERATOR>yypart</OPERATOR>\r
342                         <OPERATOR>zscaled</OPERATOR>\r
343                         <OPERATOR>dashed</OPERATOR>\r
344                         <OPERATOR>pen</OPERATOR>\r
345                         <OPERATOR>suffix</OPERATOR>\r
346                         <OPERATOR>expr</OPERATOR>\r
347                 </KEYWORDS>\r
348         \r
349         </RULES>\r
350 </MODE>