Warning, /frameworks/syntax-highlighting/data/syntax/metafont.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!--
0003 The lists of keywords of this file are borrowed from the VIM syntax 
0004 files mp.vim and mf.vim
0005 We have moved some keywords for consistency
0006 -->
0007 
0008 <!DOCTYPE language [
0009   <!ENTITY lengths "(bp|cc|cm|dd|in|mm|pc|pt)">
0010 ]>
0011 <language name="Metapost/Metafont" section="Markup" version="12" kateversion="5.0"
0012 extensions="*.mp;*.mps;*.mpost;*.mf" mimetype="text/x-metapost" 
0013 author="Yedvilun (yedvilun@gmail.com)" license="LGPL">
0014   <highlighting>
0015     <!--Here are some listing from mf.vim-->
0016     <!--Metafont 'primitives' as defined in chapter 25 of 'The METAFONTbook'-->
0017     <!--Page 210: 'boolean expressions'-->
0018     <list name="mfBoolExp">
0019       <item>true</item>
0020 
0021       <item>false</item>
0022       <item>known</item>
0023       <item>unknown</item>
0024       <item>odd</item>
0025       <item>charexists</item>
0026       <item>not</item>
0027 
0028       <item>and</item>
0029       <item>or</item>
0030     </list>
0031 
0032     <!--Page 210: 'numeric expression'-->
0033     <list name="mfNumExp">
0034       <item>normaldeviate</item>
0035       <item>length</item>
0036 
0037       <item>ASCII</item>
0038       <item>oct</item>
0039       <item>hex</item>
0040       <item>angle</item>
0041       <item>turningnumber</item>
0042       <item>totalweight</item>
0043 
0044       <item>directiontime</item>
0045       <item>xpart</item>
0046       <item>ypart</item>
0047       <item>xxpart</item>
0048       <item>xypart</item>
0049       <item>yxpart</item>
0050 
0051       <item>yypart</item>
0052       <item>sqrt</item>
0053       <item>sind</item>
0054       <item>cosd</item>
0055       <item>mlog</item>
0056       <item>mexp</item>
0057 
0058       <item>floor</item>
0059       <item>uniformdeviate</item>
0060       <item>abs</item>
0061       <item>div</item>
0062       <item>dotprod</item>
0063       <item>max</item>
0064 
0065       <item>min</item>
0066       <item>mod</item>
0067       <item>ceiling</item>
0068     </list>
0069 
0070     <!--Page 211: 'internal quantities'-->
0071     <list name="mfInternal">
0072       <item>tracingtitles</item>
0073 
0074       <item>tracingequations</item>
0075       <item>tracingcapsules</item>
0076       <item>tracingchoices</item>
0077       <item>tracingspecs</item>
0078       <item>tracingpens</item>
0079       <item>tracingcommands</item>
0080 
0081       <item>tracingrestores</item>
0082       <item>tracingmacros</item>
0083       <item>tracingedges</item>
0084       <item>tracingoutput</item>
0085       <item>tracingonline</item>
0086       <item>tracingstats</item>
0087 
0088       <item>pausing</item>
0089       <item>showstopping</item>
0090       <item>fontmaking</item>
0091       <item>proofing</item>
0092       <item>turningcheck</item>
0093       <item>warningcheck</item>
0094 
0095       <item>smoothing</item>
0096       <item>autorounding</item>
0097       <item>granularity</item>
0098       <item>fillin</item>
0099       <item>year</item>
0100       <item>month</item>
0101 
0102       <item>day</item>
0103       <item>time</item>
0104       <item>charcode</item>
0105       <item>charext</item>
0106       <item>charwd</item>
0107       <item>charht</item>
0108 
0109       <item>chardp</item>
0110       <item>charic</item>
0111       <item>chardx</item>
0112       <item>chardy</item>
0113       <item>designsize</item>
0114       <item>hppp</item>
0115 
0116       <item>vppp</item>
0117       <item>xoffset</item>
0118       <item>yoffset</item>
0119       <item>boundarychar</item>
0120     </list>
0121 
0122     <!--Page 212: 'pair expressions'-->
0123 
0124     <list name="mfPairExp">
0125       <item>point</item>
0126       <item>of</item>
0127       <item>precontrol</item>
0128       <item>postcontrol</item>
0129       <item>penoffset</item>
0130 
0131       <item>rotated</item>
0132       <item>scaled</item>
0133       <item>shifted</item>
0134       <item>slanted</item>
0135       <item>transformed</item>
0136       <item>xscaled</item>
0137 
0138       <item>yscaled</item>
0139       <item>zscaled</item>
0140     </list>
0141 
0142     <!--Page 213: 'path expressions'-->
0143     <list name="mfPathExp">
0144       <item>makepath</item>
0145       <item>reverse</item>
0146 
0147       <item>subpath</item>
0148       <item>curl</item>
0149       <item>tension</item>
0150       <item>atleast</item>
0151       <item>controls</item>
0152       <item>cycle</item>
0153 
0154     </list>
0155 
0156     <!--Page 214: 'pen expressions'-->
0157     <list name="mfPenExp">
0158       <item>nullpen</item>
0159       <item>pencircle</item>
0160       <item>makepen</item>
0161     </list>
0162 
0163     <!--Page 214: 'picture expressions'-->
0164     <list name="mfPicExp">
0165       <item>nullpicture</item>
0166     </list>
0167 
0168     <!--Page 214: 'string expressions'-->
0169     <list name="mfStringExp">
0170       <item>jobname</item>
0171 
0172       <item>readstring</item>
0173       <item>str</item>
0174       <item>char</item>
0175       <item>decimal</item>
0176       <item>substring</item>
0177     </list>
0178 
0179     <!--Page 217: 'commands and statements'-->
0180     <list name="mfCommand">
0181       <item>end</item>
0182       <item>dump</item>
0183       <item>save</item>
0184       <item>interim</item>
0185 
0186       <item>newinternal</item>
0187       <item>randomseed</item>
0188       <item>let</item>
0189       <item>delimiters</item>
0190       <item>outer</item>
0191       <item>everyjob</item>
0192 
0193       <item>show</item>
0194       <item>showvariable</item>
0195       <item>showtoken</item>
0196       <item>showdependencies</item>
0197       <item>showstats</item>
0198       <item>message</item>
0199 
0200       <item>errmessage</item>
0201       <item>errhelp</item>
0202       <item>batchmode</item>
0203       <item>nonstopmode</item>
0204       <item>scrollmode</item>
0205       <item>errorstopmode</item>
0206 
0207       <item>addto</item>
0208       <item>also</item>
0209       <item>contour</item>
0210       <item>doublepath</item>
0211       <item>withpen</item>
0212       <item>withweight</item>
0213 
0214       <item>cull</item>
0215       <item>keeping</item>
0216       <item>dropping</item>
0217       <item>display</item>
0218       <item>inwindow</item>
0219       <item>openwindow</item>
0220 
0221       <item>at</item>
0222       <item>from</item>
0223       <item>to</item>
0224       <item>shipout</item>
0225       <item>special</item>
0226       <item>numspecial</item>
0227 
0228     </list>
0229 
0230     <!--Page 56: 'types'-->
0231     <list name="mfType">
0232       <item>boolean</item>
0233       <item>numeric</item>
0234       <item>pair</item>
0235       <item>path</item>
0236 
0237       <item>pen</item>
0238       <item>picture</item>
0239       <item>string</item>
0240       <item>transform</item>
0241     </list>
0242 
0243     <!--Page 155: 'grouping'-->
0244 
0245 <!--     commented out, since these keywords are in RegExpr rules-->
0246 <!--     <list name="mfStatement"> -->
0247 <!--       <item>begingroup</item> -->
0248 <!--       <item>endgroup</item> -->
0249 <!--     </list> -->
0250 
0251     <!--Page 165: 'definitions'-->
0252     <list name="mfDefinition">
0253 <!--       <item>enddef</item> -->
0254 <!--       <item>def</item> -->
0255       <item>expr</item>
0256       <item>suffix</item>
0257 
0258       <item>text</item>
0259       <item>primary</item>
0260       <item>secondary</item>
0261       <item>tertiary</item>
0262 <!--       <item>vardef</item> -->
0263       <item>primarydef</item>
0264       <item>secondarydef</item>
0265 
0266       <item>tertiarydef</item>
0267     </list>
0268 
0269     <!--Page 169: 'conditions and loops'-->
0270     <list name="mfCondition">
0271 <!--       <item>if</item> -->
0272 <!--       <item>fi</item> -->
0273       <item>else</item>
0274       <item>elseif</item>
0275 
0276 <!--       <item>endfor</item> -->
0277 <!--       <item>for</item> -->
0278 <!--       <item>forsuffixes</item> -->
0279 <!--       <item>forever</item> -->
0280       <item>step</item>
0281       <item>until</item>
0282       <item>upto</item>
0283       <item>exitif</item>
0284     </list>
0285 
0286     <!--Other primitives listed in the index-->
0287     <list name="mfPrimitive">
0288       <item>charlist</item>
0289       <item>endinput</item>
0290       <item>expandafter</item>
0291       <item>extensible</item>
0292 
0293       <item>fontdimen</item>
0294       <item>headerbyte</item>
0295       <item>inner</item>
0296       <item>input</item>
0297       <item>intersectiontimes</item>
0298       <item>kern</item>
0299 
0300       <item>ligtable</item>
0301       <item>quote</item>
0302       <item>scantokens</item>
0303       <item>skipto</item>
0304     </list>
0305 
0306     <!--Keywords defined by plain.mf-->
0307 
0308     <list name="mfMacro">
0309 <!--       <item>abs</item> -->
0310       <item>addto_currentpicture</item>
0311       <item>aspect_ratio</item>
0312       <item>base_name</item>
0313       <item>base_version</item>
0314 <!--       <item>beginchar</item> -->
0315       <item>blacker</item>
0316 
0317       <item>blankpicture</item>
0318       <item>bot</item>
0319       <item>bye</item>
0320       <item>byte</item>
0321       <item>capsule_def</item>
0322 <!--       <item>ceiling</item> -->
0323       <item>change_width</item>
0324 
0325       <item>clear_pen_memory</item>
0326       <item>clearit</item>
0327       <item>clearpen</item>
0328       <item>clearxy</item>
0329       <item>counterclockwise</item>
0330       <item>culldraw</item>
0331 
0332       <item>cullit</item>
0333       <item>currentpen</item>
0334       <item>currentpen_path</item>
0335       <item>currentpicture</item>
0336       <item>currenttransform</item>
0337       <item>currentwindow</item>
0338 
0339       <item>cutdraw</item>
0340       <item>cutoff</item>
0341       <item>d</item>
0342       <item>decr</item>
0343       <item>define_blacker_pixels</item>
0344       <item>define_corrected_pixels</item>
0345 
0346       <item>define_good_x_pixels</item>
0347       <item>define_good_y_pixels</item>
0348       <item>define_horizontal_corrected_pixels</item>
0349       <item>define_pixels</item>
0350       <item>define_whole_blacker_pixels</item>
0351       <item>define_whole_pixels</item>
0352 
0353       <item>define_whole_vertical_blacker_pixels</item>
0354       <item>define_whole_vertical_pixels</item>
0355       <item>dir</item>
0356       <item>direction</item>
0357       <item>directionpoint</item>
0358       <item>displaying</item>
0359 
0360       <item>ditto</item>
0361 <!--       <item>div</item> -->
0362 <!--       <item>dotprod</item> -->
0363       <item>down</item>
0364       <item>downto</item>
0365       <item>draw</item>
0366       <item>drawdot</item>
0367 
0368 <!--       <item>endchar</item> -->
0369       <item>eps</item>
0370       <item>epsilon</item>
0371 <!--       <item>extra_beginchar</item> -->
0372 <!--       <item>extra_endchar</item> -->
0373       <item>extra_setup</item>
0374       <item>erase</item>
0375       <item>exitunless</item>
0376 
0377       <item>fill</item>
0378       <item>filldraw</item>
0379       <item>fix_units</item>
0380       <item>flex</item>
0381       <item>font_coding_scheme</item>
0382       <item>font_extra_space</item>
0383 
0384       <item>font_identifier</item>
0385       <item>font_normal_shrink</item>
0386       <item>font_normal_space</item>
0387       <item>font_normal_stretch</item>
0388       <item>font_quad</item>
0389       <item>font_setup</item>
0390 
0391       <item>font_size</item>
0392       <item>font_slant</item>
0393       <item>font_x_height</item>
0394       <item>fullcircle</item>
0395       <item>generate</item>
0396       <item>gfcorners</item>
0397 
0398       <item>gobble</item>
0399       <item>gobbled</item>
0400       <item>grayfont</item>
0401       <item>h</item>
0402       <item>halfcircle</item>
0403       <item>hide</item>
0404 
0405       <item>hround</item>
0406       <item>identity</item>
0407       <item>image_rules</item>
0408       <item>incr</item>
0409       <item>infinity</item>
0410       <item>interact</item>
0411 
0412       <item>interpath</item>
0413       <item>intersectionpoint</item>
0414       <item>inverse</item>
0415       <item>italcorr</item>
0416       <item>join_radius</item>
0417       <item>killtext</item>
0418 
0419       <item>labelfont</item>
0420       <item>labels</item>
0421       <item>left</item>
0422       <item>lft</item>
0423       <item>localfont</item>
0424       <item>loggingall</item>
0425 
0426       <item>lowres</item>
0427       <item>lowres_fix</item>
0428       <item>mag</item>
0429       <item>magstep</item>
0430       <item>makebox</item>
0431       <item>makegrid</item>
0432 
0433       <item>makelabel</item>
0434       <item>maketicks</item>
0435 <!--       <item>max</item> -->
0436 <!--       <item>min</item> -->
0437 <!--       <item>mod</item> -->
0438       <item>mode</item>
0439       <item>mode_def</item>
0440       <item>mode_name</item>
0441 
0442       <item>mode_setup</item>
0443       <item>nodisplays</item>
0444       <item>notransforms</item>
0445       <item>number_of_modes</item>
0446       <item>numtok</item>
0447       <item>o_correction</item>
0448 
0449       <item>openit</item>
0450       <item>origin</item>
0451       <item>pen_bot</item>
0452       <item>pen_lft</item>
0453       <item>pen_rt</item>
0454       <item>pen_top</item>
0455 
0456       <item>penlabels</item>
0457       <item>penpos</item>
0458       <item>penrazor</item>
0459       <item>penspeck</item>
0460       <item>pensquare</item>
0461       <item>penstroke</item>
0462 
0463       <item>pickup</item>
0464       <item>pixels_per_inch</item>
0465       <item>proof</item>
0466       <item>proofoffset</item>
0467       <item>proofrule</item>
0468       <item>proofrulethickness</item>
0469 
0470       <item>quartercircle</item>
0471       <item>range</item>
0472       <item>reflectedabout</item>
0473       <item>relax</item>
0474       <item>right</item>
0475       <item>rotatedabout</item>
0476 
0477       <item>rotatedaround</item>
0478       <item>round</item>
0479       <item>rt</item>
0480       <item>rulepen</item>
0481       <item>savepen</item>
0482       <item>screenchars</item>
0483 
0484       <item>screen_rows</item>
0485       <item>screen_cols</item>
0486       <item>screenrule</item>
0487       <item>screenstrokes</item>
0488       <item>shipit</item>
0489       <item>showit</item>
0490 
0491       <item>slantfont</item>
0492       <item>smode</item>
0493       <item>smoke</item>
0494       <item>softjoin</item>
0495       <item>solve</item>
0496       <item>stop</item>
0497 
0498       <item>superellipse</item>
0499       <item>takepower</item>
0500       <item>tensepath</item>
0501       <item>titlefont</item>
0502       <item>tolerance</item>
0503       <item>top</item>
0504 
0505       <item>tracingall</item>
0506       <item>tracingnone</item>
0507       <item>undraw</item>
0508       <item>undrawdot</item>
0509       <item>unfill</item>
0510       <item>unfilldraw</item>
0511 
0512       <item>unitpixel</item>
0513       <item>unitsquare</item>
0514       <item>unitvector</item>
0515       <item>up</item>
0516       <item>upto</item>
0517       <item>vround</item>
0518 
0519       <item>w</item>
0520       <item>whatever</item>
0521 <!--       <item>beginlogochar</item> -->
0522     </list>
0523 
0524     <!--Here are some listing from mp.vim-->
0525     <!--MetaPost primitives not found in Metafont-->
0526     <list name="mpInternal">
0527       <item>bluepart</item>
0528 
0529       <item>clip</item>
0530       <item>color</item>
0531       <item>dashed</item>
0532       <item>fontsize</item>
0533       <item>greenpart</item>
0534       <item>infont</item>
0535 
0536       <item>linecap</item>
0537       <item>linejoin</item>
0538       <item>llcorner</item>
0539       <item>lrcorner</item>
0540       <item>miterlimit</item>
0541       <item>mpxbreak</item>
0542 
0543       <item>prologues</item>
0544       <item>redpart</item>
0545       <item>setbounds</item>
0546       <item>tracinglostchars</item>
0547       <item>truecorners</item>
0548       <item>ulcorner</item>
0549 
0550       <item>urcorner</item>
0551       <item>withcolor</item>
0552     </list>
0553 
0554     <!--Keywords defined by plain.mp-->
0555     <list name="mpMacro">
0556       <item>ahangle</item>
0557       <item>ahlength</item>
0558       <item>background</item>
0559       <item>bbox</item>
0560 
0561       <item>bboxmargin</item>
0562 <!--       <item>beginfig</item> -->
0563       <item>beveled</item>
0564       <item>black</item>
0565       <item>blue</item>
0566       <item>buildcycle</item>
0567       <item>butt</item>
0568 
0569       <item>center</item>
0570       <item>cutafter</item>
0571       <item>cutbefore</item>
0572       <item>cuttings</item>
0573       <item>dashpattern</item>
0574       <item>defaultfont</item>
0575 
0576       <item>defaultpen</item>
0577       <item>defaultscale</item>
0578       <item>dotlabel</item>
0579       <item>dotlabels</item>
0580       <item>drawarrow</item>
0581       <item>drawdblarrow</item>
0582 
0583       <item>drawoptions</item>
0584 <!--       <item>endfig</item> -->
0585       <item>evenly</item>
0586 <!--       <item>extra_beginfig</item> -->
0587 <!--       <item>extra_endfig</item> -->
0588       <item>green</item>
0589       <item>label</item>
0590       <item>labeloffset</item>
0591 
0592       <item>mitered</item>
0593       <item>red</item>
0594       <item>rounded</item>
0595       <item>squared</item>
0596       <item>thelabel</item>
0597       <item>white</item>
0598 
0599       <item>base_name</item>
0600       <item>base_version</item>
0601       <item>upto</item>
0602       <item>downto</item>
0603       <item>exitunless</item>
0604       <item>relax</item>
0605 
0606       <item>gobble</item>
0607       <item>gobbled</item>
0608       <item>interact</item>
0609       <item>loggingall</item>
0610       <item>tracingall</item>
0611       <item>tracingnone</item>
0612 
0613       <item>eps</item>
0614       <item>epsilon</item>
0615       <item>infinity</item>
0616       <item>right</item>
0617       <item>left</item>
0618       <item>up</item>
0619 
0620       <item>down</item>
0621       <item>origin</item>
0622       <item>quartercircle</item>
0623       <item>halfcircle</item>
0624       <item>fullcircle</item>
0625       <item>unitsquare</item>
0626 
0627       <item>identity</item>
0628       <item>blankpicture</item>
0629       <item>withdots</item>
0630       <item>ditto</item>
0631       <item>EOF</item>
0632       <item>pensquare</item>
0633 
0634       <item>penrazor</item>
0635       <item>penspeck</item>
0636       <item>whatever</item>
0637 <!--       <item>abs</item> -->
0638       <item>round</item>
0639 <!--       <item>ceiling</item> -->
0640       <item>byte</item>
0641 
0642       <item>dir</item>
0643       <item>unitvector</item>
0644       <item>inverse</item>
0645       <item>counterclockwise</item>
0646       <item>tensepath</item>
0647 <!--       <item>mod</item> -->
0648 <!--       <item>div</item> -->
0649 
0650 <!--       <item>dotprod</item> -->
0651       <item>takepower</item>
0652       <item>direction</item>
0653       <item>directionpoint</item>
0654       <item>intersectionpoint</item>
0655       <item>softjoin</item>
0656       <item>incr</item>
0657 
0658       <item>decr</item>
0659       <item>reflectedabout</item>
0660       <item>rotatedaround</item>
0661       <item>rotatedabout</item>
0662 <!--       <item>min</item> -->
0663 <!--       <item>max</item> -->
0664       <item>flex</item>
0665 
0666       <item>superellipse</item>
0667       <item>interpath</item>
0668       <item>magstep</item>
0669       <item>currentpen</item>
0670       <item>currentpen_path</item>
0671       <item>currentpicture</item>
0672 
0673       <item>fill</item>
0674       <item>draw</item>
0675       <item>filldraw</item>
0676       <item>drawdot</item>
0677       <item>unfill</item>
0678       <item>undraw</item>
0679 
0680       <item>unfilldraw</item>
0681       <item>undrawdot</item>
0682       <item>erase</item>
0683       <item>cutdraw</item>
0684       <item>image</item>
0685       <item>pickup</item>
0686 
0687       <item>numeric_pickup</item>
0688       <item>pen_lft</item>
0689       <item>pen_rt</item>
0690       <item>pen_top</item>
0691       <item>pen_bot</item>
0692       <item>savepen</item>
0693 
0694       <item>clearpen</item>
0695       <item>clear_pen_memory</item>
0696       <item>lft</item>
0697       <item>rt</item>
0698       <item>top</item>
0699       <item>bot</item>
0700 
0701       <item>ulft</item>
0702       <item>urt</item>
0703       <item>llft</item>
0704       <item>lrt</item>
0705       <item>penpos</item>
0706       <item>penstroke</item>
0707 
0708       <item>arrowhead</item>
0709       <item>makelabel</item>
0710       <item>labels</item>
0711       <item>penlabel</item>
0712       <item>range</item>
0713       <item>numtok</item>
0714 
0715       <item>thru</item>
0716       <item>clearxy</item>
0717       <item>clearit</item>
0718       <item>clearpen</item>
0719       <item>pickup</item>
0720       <item>shipit</item>
0721 
0722       <item>bye</item>
0723       <item>hide</item>
0724       <item>stop</item>
0725       <item>solve</item>
0726 <!--       <item>beginchar</item> -->
0727       <item>blacker</item>
0728       <item>capsule_def</item>
0729 
0730       <item>change_width</item>
0731       <item>define_blacker_pixels</item>
0732       <item>define_corrected_pixels</item>
0733       <item>define_good_x_pixels</item>
0734       <item>define_good_y_pixels</item>
0735       <item>define_horizontal_corrected_pixels</item>
0736 
0737       <item>define_pixels</item>
0738       <item>define_whole_blacker_pixels</item>
0739       <item>define_whole_vertical_blacker_pixels</item>
0740       <item>define_whole_vertical_pixels</item>
0741 <!--       <item>endchar</item> -->
0742 <!--       <item>extra_beginchar</item> -->
0743 <!--       <item>extra_endchar</item> -->
0744       <item>extra_setup</item>
0745 
0746       <item>font_coding_scheme</item>
0747       <item>font_extra_space</item>
0748       <item>font_identifier</item>
0749       <item>font_normal_shrink</item>
0750       <item>font_normal_space</item>
0751       <item>font_normal_stretch</item>
0752 
0753       <item>font_quad</item>
0754       <item>font_size</item>
0755       <item>font_slant</item>
0756       <item>font_x_height</item>
0757       <item>italcorr</item>
0758       <item>labelfont</item>
0759 
0760       <item>makebox</item>
0761       <item>makegrid</item>
0762       <item>maketicks</item>
0763       <item>mode_def</item>
0764       <item>mode_setup</item>
0765       <item>o_correction</item>
0766 
0767       <item>proofrule</item>
0768       <item>proofrulethickness</item>
0769       <item>rulepen</item>
0770       <item>smode</item>
0771       <item>cullit</item>
0772       <item>currenttransform</item>
0773 
0774       <item>gfcorners</item>
0775       <item>grayfont</item>
0776       <item>hround</item>
0777       <item>imagerules</item>
0778       <item>lowres_fix</item>
0779       <item>nodisplays</item>
0780 
0781       <item>notransforms</item>
0782       <item>openit</item>
0783       <item>proofoffset</item>
0784       <item>screenchars</item>
0785       <item>screenrule</item>
0786       <item>screenstrokes</item>
0787 
0788       <item>showit</item>
0789       <item>slantfont</item>
0790       <item>titlefont</item>
0791       <item>unitpixel</item>
0792       <item>vround</item>
0793       <item>circmargin</item>
0794 
0795       <item>defaultdx</item>
0796       <item>defaultdy</item>
0797       <item>boxit</item>
0798       <item>boxjoin</item>
0799       <item>bpath</item>
0800       <item>circleit</item>
0801 
0802       <item>drawboxed</item>
0803       <item>drawboxes</item>
0804       <item>drawunboxed</item>
0805       <item>fixpos</item>
0806       <item>fixsize</item>
0807       <item>pic</item>
0808 
0809     </list>
0810 
0811     <!--We put all the delimiters here. They will be treated apart, for code folding.
0812         Commented out, since these keywords are already matched by RegExpr rules.-->
0813 <!--    <list name="EnvDelimiters">
0814       <item>beginchar</item>
0815       <item>endchar</item>
0816       <item>extra_beginchar</item>
0817       <item>extra_endchar</item>
0818 
0819       <item>beginlogochar</item>
0820       <item>beginfig</item>
0821       <item>endfig</item>
0822       <item>extra_beginfig</item>
0823       <item>extra_endfig</item>
0824     </list>-->
0825 
0826     <contexts>
0827       <context name="Normal Text"    attribute="Normal Text" lineEndContext="#stay">
0828         <keyword String="mfBoolExp"  attribute="BoolExp" context="#stay"/>
0829         <keyword String="mfNumExp"   attribute="NumExp" context="#stay"/>
0830         <keyword String="mfInternal" attribute="Statement" context="#stay"/>
0831         <keyword String="mfPairExp"  attribute="Statement" context="#stay"/>
0832         <keyword String="mfPathExp"  attribute="Statement" context="#stay"/>
0833         <keyword String="mfPenExp"   attribute="Statement" context="#stay"/>
0834 
0835         <keyword String="mfPicExp"   attribute="Statement" context="#stay"/>
0836         <keyword String="mfStringExp" attribute="Statement" context="#stay"/>
0837         <keyword String="mfCommand"  attribute="Statement" context="#stay"/>
0838         <keyword String="mfType"     attribute="Type" context="#stay"/>
0839 <!--         <keyword String="mfStatement" attribute="Statement" context="#stay"/> -->
0840         <keyword String="mfDefinition" attribute="Statement" context="#stay"/>
0841         <keyword String="mfCondition" attribute="Conditional" context="#stay"/>
0842         <keyword String="mfPrimitive" attribute="Statement" context="#stay"/>
0843         <keyword String="mfMacro"    attribute="Macro" context="#stay"/>
0844 
0845         <keyword String="mpInternal" attribute="Statement" context="#stay"/>
0846         <keyword String="mpMacro"    attribute="Macro" context="#stay"/>
0847 
0848         <DetectChar char="%" attribute="Comment" context="Comment"/>
0849         <DetectChar char='"' attribute="String" context="string" beginRegion="String"/>
0850         <RegExpr String="(\+|\-|\*|\/|\=|\:\=)" attribute="Operator" context="#stay"/>
0851         <Detect2Chars char="." char1="." attribute="Operator" context="#stay"/>
0852 
0853         <HlCOct attribute="Octal"/>
0854         <HlCHex attribute="Hex"/>
0855 
0856         <Float attribute="Float"/>
0857         <Int attribute="Decimal"/>
0858 
0859         <!--Metafont lengths-->
0860         <RegExpr String="\b(&lengths;|-?(\d+&lengths;|\.\d+&lengths;|\d+\.\d+&lengths;)#?)\b" attribute="Float" context="#stay"/>
0861 
0862         <!--Metafont coordinates, points, pathes-->
0863 
0864         <RegExpr String="\b[xyzp]\d(\w|\')*" attribute="Variable" context="#stay"/>
0865 
0866         <!--Special characters-->
0867         <DetectChar char="$" attribute="Special" context="#stay"/>
0868 
0869         <!--MetaPost has TeX inserts for typeset labels verbatimtex, btex, and etex will be treated as keywords-->
0870         <RegExpr String="\b(verbatimtex|btex)\b" insensitive="1" attribute="Identifier" context="TeXMode" beginRegion="TeXblock"/>
0871 
0872         <!--Here are some delimiters with code folding-->
0873         <RegExpr String="\bbegin(group|fig|char)\b" insensitive="1" attribute="Identifier" context="#stay" beginRegion="block"/>
0874         <RegExpr String="\bend(group|fig|char)\b" insensitive="1" attribute="Identifier" context="#stay" endRegion="block"/>
0875 
0876         <RegExpr String="\bextra_begin(group|fig|char)\b" insensitive="1" attribute="Identifier" context="#stay" beginRegion="block"/>
0877         <RegExpr String="\bextra_end(group|fig|char)\b" insensitive="1" attribute="Identifier" context="#stay" endRegion="block"/>
0878 
0879         <RegExpr String="\b(def|vardef)\b" insensitive="1" attribute="Identifier" context="#stay" beginRegion="defblock"/>
0880         <RegExpr String="\benddef\b" insensitive="1" attribute="Identifier" context="#stay" endRegion="defblock"/>
0881 
0882         <RegExpr String="\bif\b" insensitive="1" attribute="Conditional" context="#stay" beginRegion="ifblock"/>
0883         <RegExpr String="\bfi\b" insensitive="1" attribute="Conditional" context="#stay" endRegion="ifblock"/>
0884         <RegExpr String="\b(for|forsuffixes|forever)\b" insensitive="1" attribute="Conditional" context="#stay" beginRegion="forblock"/>
0885         <RegExpr String="\bendfor\b" insensitive="1" attribute="Conditional" context="#stay" endRegion="forblock"/>
0886 
0887       </context>
0888 
0889       <context name="string" attribute="String" lineEndContext="#stay">
0890         <DetectIdentifier/>
0891         <Detect2Chars char="\" char1='"' attribute="String" context="#stay"/>
0892 
0893         <Detect2Chars char="\" char1="\" attribute="String" context="#stay"/>
0894         <DetectChar char='"' attribute="String" context="#pop" endRegion="String"/>
0895       </context>
0896 
0897       <!--TeX mode : we just define generic TeX commands-->
0898       <!--syntax from highlighting file latex.xml-->
0899       <context name="TeXMode" attribute="TeX" lineEndContext="#stay">
0900         <Detect2Chars char="\" char1="(" attribute="Math" context="MathMode" beginRegion="mathMode" />
0901         <DetectChar char="\" attribute="Keyword" context="ContrSeq"/>
0902         <DetectChar char="$" attribute="Math" context="MathMode" beginRegion="mathMode" />
0903         <RegExpr String="\betex\b" insensitive="1" attribute="Identifier" context="#pop" endRegion="TeXblock"/>
0904       </context>
0905       <context name="ContrSeq" attribute="Keyword" lineEndContext="#pop">
0906         <StringDetect String="verb*" attribute="Keyword" context="Verb"/>
0907         <RegExpr String="verb(?=[^a-zA-Z])" attribute="Keyword" context="Verb"/>
0908         <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
0909         <RegExpr String="[a-zA-Z]+(\+?|\*{0,3})|[^a-zA-Z]" attribute="Keyword" context="#pop" />
0910       </context>
0911       <context name="Verb" attribute="Verbatim" lineEndContext="#pop#pop" >
0912         <RegExpr String="(.)" attribute="Normal Text" context="VerbEnd" />
0913       </context>
0914       <context name="VerbEnd" attribute="Verbatim" lineEndContext="#pop#pop#pop" dynamic="true" >
0915         <StringDetect String="%1" attribute="Normal Text" context="#pop#pop#pop" dynamic="true" />
0916         <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
0917 
0918         <RegExpr String="[^%1\xd7]*" attribute="Verbatim" context="#stay" dynamic="true" />
0919       </context>
0920 
0921       <!-- math mode: starting with $ or \( -->
0922       <context name="MathMode" attribute="Math" lineEndContext="#stay">
0923         <Detect2Chars char="$" char1="$" attribute="Error" context="#stay" />
0924         <Detect2Chars char="\" char1=")" attribute="Math" context="#pop" endRegion="mathMode" />
0925         <DetectChar char="\" attribute="Keyword Mathmode" context="MathContrSeq"/>
0926         <DetectChar char="$" attribute="Math" context="#pop" endRegion="mathMode" />
0927       </context>
0928       <context name="MathContrSeq" attribute="Keyword Mathmode" lineEndContext="#pop">
0929         <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
0930         <RegExpr String="[a-zA-Z]+\*?|[^a-zA-Z]" attribute="Keyword Mathmode" context="#pop" />
0931       </context>
0932 
0933       <!-- comment -->
0934       <context name="Comment" attribute="Comment" lineEndContext="#pop">
0935         <DetectSpaces />
0936         <IncludeRules context="##Comments" />
0937         <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
0938       </context>
0939     </contexts>
0940 
0941     <itemDatas>
0942       <itemData name="Normal Text" defStyleNum="dsNormal"/>
0943       <itemData name="Keyword" defStyleNum="dsFunction"/>
0944       <itemData name="Keyword Mathmode" defStyleNum="dsFunction" italic="1"/>
0945       <itemData name="Comment" defStyleNum="dsComment"/>
0946 
0947       <itemData name="Error" defStyleNum="dsAlert"/>
0948       <itemData name="Math" defStyleNum="dsSpecialString"/>
0949       <itemData name="TeX" defStyleNum="dsNormal"/>
0950       <itemData name="String" defStyleNum="dsString"/>
0951       <itemData name="Verbatim" defStyleNum="dsVerbatimString"/>
0952       <itemData name="Macro"  defStyleNum="dsKeyword"/>
0953       <itemData name="Operator" defStyleNum="dsOperator"/>
0954       <itemData name="Special" defStyleNum="dsKeyword" color="#008000" bold="0"/>
0955       <itemData name="Conditional" defStyleNum="dsControlFlow"/>
0956 
0957       <itemData name="Statement" defStyleNum="dsAttribute"/>
0958       <itemData name="BoolExp" defStyleNum="dsBuiltIn"/>
0959       <itemData name="NumExp" defStyleNum="dsBuiltIn"/>
0960       <itemData name="Variable" defStyleNum="dsVariable"/>
0961       <itemData name="Identifier" defStyleNum="dsRegionMarker"/>
0962       <itemData name="Type" defStyleNum="dsDataType"/>
0963       <itemData name="Decimal" defStyleNum="dsDecVal"/>
0964       <itemData name="Octal" defStyleNum="dsBaseN"/>
0965       <itemData name="Hex" defStyleNum="dsBaseN"/>
0966       <itemData name="Bullet" defStyleNum="dsExtension"/>
0967       <itemData name="Float" defStyleNum="dsFloat"/>
0968     </itemDatas>
0969   </highlighting>
0970 
0971   <general>
0972     <comments>
0973       <comment name="singleLine" start="%" position="afterwhitespace"/>
0974     </comments>
0975     <keywords casesensitive="0" />
0976 
0977   </general>
0978 </language>
0979 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->