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="×" 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="×" 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="×" 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="×" 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; -->