Updated runtime files.
diff --git a/runtime/syntax/mf.vim b/runtime/syntax/mf.vim
index 5f600e2..3589e4d 100644
--- a/runtime/syntax/mf.vim
+++ b/runtime/syntax/mf.vim
@@ -1,184 +1,295 @@
 " Vim syntax file
-" Language:	Metafont
-" Maintainer:	Andreas Scherer <andreas.scherer@pobox.com>
-" Last Change:	April 25, 2001
+" Language:           METAFONT
+" Maintainer:         Nicola Vitacolonna <nvitacolonna@gmail.com>
+" Former Maintainers: Andreas Scherer <andreas.scherer@pobox.com>
+" Last Change:        2016 Oct 1
 
-" quit when a syntax file was already loaded
 if exists("b:current_syntax")
   finish
 endif
 
-" Metafont 'primitives' as defined in chapter 25 of 'The METAFONTbook'
+syn iskeyword @,_
+
+" METAFONT 'primitives' as defined in chapter 25 of 'The METAFONTbook'
 " Page 210: 'boolean expressions'
-syn keyword mfBoolExp true false known unknown odd charexists not and or
+syn keyword mfBoolExp        and charexists false known not odd or true unknown
 
 " Page 210: 'numeric expression'
-syn keyword mfNumExp normaldeviate length ASCII oct hex angle turningnumber
-syn keyword mfNumExp totalweight directiontime xpart ypart xxpart xypart
-syn keyword mfNumExp yxpart yypart sqrt sind cosd mlog mexp floor
-syn keyword mfNumExp uniformdeviate
+syn keyword mfNumExp         ASCII angle cosd directiontime floor hex length
+syn keyword mfNumExp         mexp mlog normaldeviate oct sind sqrt totalweight
+syn keyword mfNumExp         turningnumber uniformdeviate xpart xxpart xypart
+syn keyword mfNumExp         ypart yxpart yypart
 
 " Page 211: 'internal quantities'
-syn keyword mfInternal tracingtitles tracingequations tracingcapsules
-syn keyword mfInternal tracingchoices tracingspecs tracingpens
-syn keyword mfInternal tracingcommands tracingrestores tracingmacros
-syn keyword mfInternal tracingedges tracingoutput tracingonline tracingstats
-syn keyword mfInternal pausing showstopping fontmaking proofing
-syn keyword mfInternal turningcheck warningcheck smoothing autorounding
-syn keyword mfInternal granularity fillin year month day time
-syn keyword mfInternal charcode charext charwd charht chardp charic
-syn keyword mfInternal chardx chardy designsize hppp vppp xoffset yoffset
-syn keyword mfInternal boundarychar
+syn keyword mfInternal       autorounding boundarychar charcode chardp chardx
+syn keyword mfInternal       chardy charext charht charic charwd day designsize
+syn keyword mfInternal       fillin fontmaking granularity hppp jobname month
+syn keyword mfInternal       pausing proofing showstopping smoothing time
+syn keyword mfInternal       tracingcapsules tracingchoices tracingcommands
+syn keyword mfInternal       tracingedges tracingequations tracingmacros
+syn keyword mfInternal       tracingonline tracingoutput tracingpens
+syn keyword mfInternal       tracingrestores tracingspecs tracingstats
+syn keyword mfInternal       tracingtitles turningcheck vppp warningcheck
+syn keyword mfInternal       xoffset year yoffset
 
 " Page 212: 'pair expressions'
-syn keyword mfPairExp point of precontrol postcontrol penoffset rotated
-syn keyword mfPairExp scaled shifted slanted transformed xscaled yscaled
-syn keyword mfPairExp zscaled
+syn keyword mfPairExp        of penoffset point postcontrol precontrol rotated
+syn keyword mfPairExp        scaled shifted slanted transformed xscaled yscaled
+syn keyword mfPairExp        zscaled
 
 " Page 213: 'path expressions'
-syn keyword mfPathExp makepath reverse subpath curl tension atleast
-syn keyword mfPathExp controls cycle
+syn keyword mfPathExp        atleast controls curl cycle makepath reverse
+syn keyword mfPathExp        subpath tension
 
 " Page 214: 'pen expressions'
-syn keyword mfPenExp nullpen pencircle makepen
+syn keyword mfPenExp         makepen nullpen pencircle
 
-" Page 214: 'picutre expressions'
-syn keyword mfPicExp nullpicture
+" Page 214: 'picture expressions'
+syn keyword mfPicExp         nullpicture
 
 " Page 214: 'string expressions'
-syn keyword mfStringExp jobname readstring str char decimal substring
+syn keyword mfStringExp      char decimal readstring str substring
 
 " Page 217: 'commands and statements'
-syn keyword mfCommand end dump save interim newinternal randomseed let
-syn keyword mfCommand delimiters outer everyjob show showvariable showtoken
-syn keyword mfCommand showdependencies showstats message errmessage errhelp
-syn keyword mfCommand batchmode nonstopmode scrollmode errorstopmode
-syn keyword mfCommand addto also contour doublepath withpen withweight cull
-syn keyword mfCommand keeping dropping display inwindow openwindow at from to
-syn keyword mfCommand shipout special numspecial
+syn keyword mfCommand        addto also at batchmode contour cull delimiters
+syn keyword mfCommand        display doublepath dropping dump end errhelp
+syn keyword mfCommand        errmessage errorstopmode everyjob from interim
+syn keyword mfCommand        inwindow keeping let message newinternal
+syn keyword mfCommand        nonstopmode numspecial openwindow outer randomseed
+syn keyword mfCommand        save scrollmode shipout show showdependencies
+syn keyword mfCommand        showstats showtoken showvariable special to withpen
+syn keyword mfCommand        withweight
 
 " Page 56: 'types'
-syn keyword mfType boolean numeric pair path pen picture string transform
+syn keyword mfType           boolean numeric pair path pen picture string
+syn keyword mfType           transform
 
 " Page 155: 'grouping'
-syn keyword mfStatement begingroup endgroup
+syn keyword mfStatement      begingroup endgroup
 
 " Page 165: 'definitions'
-syn keyword mfDefinition enddef def expr suffix text primary secondary
-syn keyword mfDefinition tertiary vardef primarydef secondarydef tertiarydef
+syn keyword mfDefinition     def enddef expr primary primarydef secondary
+syn keyword mfDefinition     secondarydef suffix tertiary tertiarydef text
+syn keyword mfDefinition     vardef
 
 " Page 169: 'conditions and loops'
-syn keyword mfCondition if fi else elseif endfor for forsuffixes forever
-syn keyword mfCondition step until exitif
+syn keyword mfCondition      else elseif endfor exitif fi for forever
+syn keyword mfCondition      forsuffixes if step until
 
 " Other primitives listed in the index
-syn keyword mfPrimitive charlist endinput expandafter extensible
-syn keyword mfPrimitive fontdimen headerbyte inner input intersectiontimes
-syn keyword mfPrimitive kern ligtable quote scantokens skipto
+syn keyword mfPrimitive      charlist endinput expandafter extensible fontdimen
+syn keyword mfPrimitive      headerbyte inner input intersectiontimes kern
+syn keyword mfPrimitive      ligtable quote scantokens skipto
+
+" Implicit suffix parameters
+syn match   mfSuffixParam    "@#\|#@\|@"
+
+" These are just tags, but given their special status, we
+" highlight them as variables
+syn keyword mfVariable       x y
 
 " Keywords defined by plain.mf (defined on pp.262-278)
-if !exists("plain_mf_macros")
-  let plain_mf_macros = 1 " Set this to '0' if your source gets too colourful
-			  " metapost.vim does so to turn off Metafont macros
+if get(g:, "plain_mf_macros", 1)
+  syn keyword mfDef          addto_currentpicture beginchar capsule_def
+  syn keyword mfDef          change_width clear_pen_memory clearit clearpen
+  syn keyword mfDef          clearxy culldraw cullit cutdraw
+  syn keyword mfDef          define_blacker_pixels define_corrected_pixels
+  syn keyword mfDef          define_good_x_pixels define_good_y_pixels
+  syn keyword mfDef          define_horizontal_corrected_pixels define_pixels
+  syn keyword mfDef          define_whole_blacker_pixels define_whole_pixels
+  syn keyword mfDef          define_whole_vertical_blacker_pixels
+  syn keyword mfDef          define_whole_vertical_pixels downto draw drawdot
+  syn keyword mfDef          endchar erase exitunless fill filldraw fix_units
+  syn keyword mfDef          flex font_coding_scheme font_extra_space
+  syn keyword mfDef          font_identifier font_normal_shrink
+  syn keyword mfDef          font_normal_space font_normal_stretch font_quad
+  syn keyword mfDef          font_size font_slant font_x_height gfcorners gobble
+  syn keyword mfDef          hide imagerules interact italcorr killtext
+  syn keyword mfDef          loggingall lowres_fix makebox makegrid maketicks
+  syn keyword mfDef          mode_def mode_setup nodisplays notransforms numtok
+  syn keyword mfDef          openit penrazor pensquare penstroke pickup
+  syn keyword mfDef          proofoffset proofrule range reflectedabout
+  syn keyword mfDef          rotatedaround screenchars screenrule screenstrokes
+  syn keyword mfDef          shipit showit smode stop superellipse takepower
+  syn keyword mfDef          tracingall tracingnone undraw undrawdot unfill
+  syn keyword mfDef          unfilldraw upto z
+  syn match   mfDef          "???"
+  syn keyword mfVardef       bot byte ceiling counterclockwise cutoff decr dir
+  syn keyword mfVardef       direction directionpoint grayfont hround incr
+  syn keyword mfVardef       interpath inverse labelfont labels lft magstep
+  " Note: nodot is not a vardef, it is used as in makelabel.lft.nodot("5",z5)
+  " (METAFONT only)
+  syn keyword mfVardef       makelabel max min nodot penlabels penpos
+  syn keyword mfVardef       proofrulethickness round rt savepen slantfont solve
+  syn keyword mfVardef       tensepath titlefont top unitvector vround whatever
+  syn match   mpVardef       "\<good\.\%(x\|y\|lft\|rt\|top\|bot\)\>"
+  syn keyword mfPrimaryDef   div dotprod gobbled mod
+  syn keyword mfSecondaryDef intersectionpoint
+  syn keyword mfTertiaryDef  softjoin thru
+  syn keyword mfNewInternal  blacker currentwindow displaying eps epsilon
+  syn keyword mfNewInternal  infinity join_radius number_of_modes o_correction
+  syn keyword mfNewInternal  pen_bot pen_lft pen_rt pen_top pixels_per_inch
+  syn keyword mfNewInternal  screen_cols screen_rows tolerance
+  " Predefined constants
+  syn keyword mfConstant     base_name base_version blankpicture ditto down
+  syn keyword mfConstant     fullcircle halfcircle identity left lowres origin
+  syn keyword mfConstant     penspeck proof quartercircle right rulepen smoke
+  syn keyword mfConstant     unitpixel unitsquare up
+  " Other predefined variables
+  syn keyword mfVariable     aspect_ratio currentpen extra_beginchar
+  syn keyword mfVariable     extra_endchar currentpen_path currentpicture
+  syn keyword mfVariable     currenttransform d extra_setup h localfont mag mode
+  syn keyword mfVariable     mode_name w
+  " let statements:
+  syn keyword mfnumExp       abs
+  syn keyword mfPairExp      rotatedabout
+  syn keyword mfCommand      bye relax
 endif
-if plain_mf_macros
-  syn keyword mfMacro abs addto_currentpicture aspect_ratio base_name
-  syn keyword mfMacro base_version beginchar blacker blankpicture bot bye byte
-  syn keyword mfMacro capsule_def ceiling change_width clear_pen_memory clearit
-  syn keyword mfMacro clearpen clearxy counterclockwise culldraw cullit
-  syn keyword mfMacro currentpen currentpen_path currentpicture
-  syn keyword mfMacro currenttransform currentwindow cutdraw cutoff d decr
-  syn keyword mfMacro define_blacker_pixels define_corrected_pixels
-  syn keyword mfMacro define_good_x_pixels define_good_y_pixels
-  syn keyword mfMacro define_horizontal_corrected_pixels define_pixels
-  syn keyword mfMacro define_whole_blacker_pixels define_whole_pixels
-  syn keyword mfMacro define_whole_vertical_blacker_pixels
-  syn keyword mfMacro define_whole_vertical_pixels dir direction directionpoint
-  syn keyword mfMacro displaying ditto div dotprod down downto draw drawdot
-  syn keyword mfMacro endchar eps epsilon extra_beginchar extra_endchar
-  syn keyword mfMacro extra_setup erase exitunless fill filldraw fix_units flex
-  syn keyword mfMacro font_coding_scheme font_extra_space font_identifier
-  syn keyword mfMacro font_normal_shrink font_normal_space font_normal_stretch
-  syn keyword mfMacro font_quad font_setup font_size font_slant font_x_height
-  syn keyword mfMacro fullcircle generate gfcorners gobble gobbled grayfont h
-  syn keyword mfMacro halfcircle hide hround identity image_rules incr infinity
-  syn keyword mfMacro interact interpath intersectionpoint inverse italcorr
-  syn keyword mfMacro join_radius killtext labelfont labels left lft localfont
-  syn keyword mfMacro loggingall lowres lowres_fix mag magstep makebox makegrid
-  syn keyword mfMacro makelabel maketicks max min mod mode mode_def mode_name
-  syn keyword mfMacro mode_setup nodisplays notransforms number_of_modes numtok
-  syn keyword mfMacro o_correction openit origin pen_bot pen_lft pen_rt pen_top
-  syn keyword mfMacro penlabels penpos penrazor penspeck pensquare penstroke
-  syn keyword mfMacro pickup pixels_per_inch proof proofoffset proofrule
-  syn keyword mfMacro proofrulethickness quartercircle range reflectedabout
-  syn keyword mfMacro relax right rotatedabout rotatedaround round rt rulepen
-  syn keyword mfMacro savepen screenchars screen_rows screen_cols screenrule
-  syn keyword mfMacro screenstrokes shipit showit slantfont smode smoke softjoin
-  syn keyword mfMacro solve stop superellipse takepower tensepath titlefont
-  syn keyword mfMacro tolerance top tracingall tracingnone undraw undrawdot
-  syn keyword mfMacro unfill unfilldraw unitpixel unitsquare unitvector up upto
-  syn keyword mfMacro vround w whatever
+
+" By default, METAFONT loads modes.mf, too
+if get(g:, "plain_mf_modes", 1)
+  syn keyword mfConstant     APSSixMed AgfaFourZeroZero AgfaThreeFourZeroZero
+  syn keyword mfConstant     AtariNineFive AtariNineSix AtariSLMEightZeroFour
+  syn keyword mfConstant     AtariSMOneTwoFour CItohEightFiveOneZero
+  syn keyword mfConstant     CItohThreeOneZero CanonBJCSixZeroZero CanonCX
+  syn keyword mfConstant     CanonEX CanonLBPLX CanonLBPTen CanonSX ChelgraphIBX
+  syn keyword mfConstant     CompugraphicEightSixZeroZero
+  syn keyword mfConstant     CompugraphicNineSixZeroZero DD DEClarge DECsmall
+  syn keyword mfConstant     DataDiscNew EightThree EpsonAction
+  syn keyword mfConstant     EpsonLQFiveZeroZeroLo EpsonLQFiveZeroZeroMed
+  syn keyword mfConstant     EpsonMXFX EpsonSQEightSevenZero EpsonStylusPro
+  syn keyword mfConstant     EpsonStylusProHigh EpsonStylusProLow
+  syn keyword mfConstant     EpsonStylusProMed FourFour GThreefax HPDeskJet
+  syn keyword mfConstant     HPLaserJetIIISi IBMFourTwoFiveZero IBMFourTwoOneSix
+  syn keyword mfConstant     IBMFourTwoThreeZero IBMFourZeroOneNine
+  syn keyword mfConstant     IBMFourZeroThreeNine IBMFourZeroTwoNine
+  syn keyword mfConstant     IBMProPrinter IBMSixOneFiveFour IBMSixSixSevenZero
+  syn keyword mfConstant     IBMThreeEightOneTwo IBMThreeEightTwoZero
+  syn keyword mfConstant     IBMThreeOneNineThree IBMThreeOneSevenNine
+  syn keyword mfConstant     IBMUlfHolleberg LASevenFive LNOthreR LNOthree
+  syn keyword mfConstant     LNZeroOne LNZeroThree LPSFourZero LPSTwoZero
+  syn keyword mfConstant     LexmarkFourZeroThreeNine LexmarkOptraR
+  syn keyword mfConstant     LexmarkOptraS LinotypeLThreeThreeZero
+  syn keyword mfConstant     LinotypeOneZeroZero LinotypeOneZeroZeroLo
+  syn keyword mfConstant     LinotypeThreeZeroZeroHi MacTrueSize NeXTprinter
+  syn keyword mfConstant     NeXTscreen NecTwoZeroOne Newgen NineOne
+  syn keyword mfConstant     OCESixSevenFiveZeroPS OneTwoZero OneZeroZero
+  syn keyword mfConstant     PrintwareSevenTwoZeroIQ Prism QMSOneSevenTwoFive
+  syn keyword mfConstant     QMSOneSevenZeroZero QMSTwoFourTwoFive RicohA
+  syn keyword mfConstant     RicohFortyEighty RicohFourZeroEightZero RicohLP
+  syn keyword mfConstant     SparcPrinter StarNLOneZero VAXstation VTSix
+  syn keyword mfConstant     VarityperFiveZeroSixZeroW
+  syn keyword mfConstant     VarityperFourThreeZeroZeroHi
+  syn keyword mfConstant     VarityperFourThreeZeroZeroLo
+  syn keyword mfConstant     VarityperFourTwoZeroZero VarityperSixZeroZero
+  syn keyword mfConstant     XeroxDocutech XeroxEightSevenNineZero
+  syn keyword mfConstant     XeroxFourZeroFiveZero XeroxNineSevenZeroZero
+  syn keyword mfConstant     XeroxPhaserSixTwoZeroZeroDP XeroxThreeSevenZeroZero
+  syn keyword mfConstant     Xerox_world agfafzz agfatfzz amiga aps apssixhi
+  syn keyword mfConstant     aselect atariezf atarinf atarins atariotf bitgraph
+  syn keyword mfConstant     bjtenex bjtzzex bjtzzl bjtzzs boise canonbjc
+  syn keyword mfConstant     canonex canonlbp cg cgl cgnszz citohtoz corona crs
+  syn keyword mfConstant     cthreeten cx datadisc declarge decsmall deskjet
+  syn keyword mfConstant     docutech dover dp dpdfezzz eighthre elvira epscszz
+  syn keyword mfConstant     epsdraft epsdrft epsdrftl epsfast epsfastl epshi
+  syn keyword mfConstant     epslo epsmed epsmedl epson epsonact epsonfx epsonl
+  syn keyword mfConstant     epsonlo epsonlol epsonlq epsonsq epstylus epstylwr
+  syn keyword mfConstant     epstyplo epstypmd epstypml epstypro epswlo epswlol
+  syn keyword mfConstant     esphi fourfour gpx gtfax gtfaxhi gtfaxl gtfaxlo
+  syn keyword mfConstant     gtfaxlol help hifax highfax hplaser hprugged ibm_a
+  syn keyword mfConstant     ibmd ibmega ibmegal ibmfzon ibmfztn ibmpp ibmppl
+  syn keyword mfConstant     ibmsoff ibmteot ibmtetz ibmtont ibmtosn ibmtosnl
+  syn keyword mfConstant     ibmvga ibx imagen imagewriter itoh itohl itohtoz
+  syn keyword mfConstant     itohtozl iw jetiiisi kyocera laserjet laserjetfive
+  syn keyword mfConstant     laserjetfivemp laserjetfour laserjetfourthousand
+  syn keyword mfConstant     laserjetfourzerozerozero laserjethi laserjetlo
+  syn keyword mfConstant     laserjettwoonezerozero
+  syn keyword mfConstant     laserjettwoonezerozerofastres lasermaster
+  syn keyword mfConstant     laserwriter lasf lexmarkr lexmarks lexmarku
+  syn keyword mfConstant     linohalf linohi linolo linolttz linoone linosuper
+  syn keyword mfConstant     linothree linothreelo linotzzh ljfive ljfivemp
+  syn keyword mfConstant     ljfour ljfzzz ljfzzzfr ljlo ljtozz ljtozzfr lmaster
+  syn keyword mfConstant     lnotr lnzo lps lpstz lqhires lqlores lqmed lqmedl
+  syn keyword mfConstant     lqmedres lview lviewl lwpro macmag mactrue modes_mf
+  syn keyword mfConstant     ncd nec nechi neclm nectzo newdd newddl nexthi
+  syn keyword mfConstant     nextscreen nextscrn nineone nullmode ocessfz
+  syn keyword mfConstant     okidata okidatal okifourten okifte okihi onetz
+  syn keyword mfConstant     onezz pcprevw pcscreen phaser phaserfs phasertf
+  syn keyword mfConstant     phasertfl phasertl pixpt printware prntware
+  syn keyword mfConstant     proprinter qms qmsesz qmsostf qmsoszz qmstftf ricoh
+  syn keyword mfConstant     ricoha ricohlp ricohsp sherpa sparcptr starnlt
+  syn keyword mfConstant     starnltl styletwo stylewr stylewri stylewriter sun
+  syn keyword mfConstant     supre swtwo toshiba ultre varityper vs vtftzz
+  syn keyword mfConstant     vtftzzhi vtftzzlo vtfzszw vtszz xpstzz xpstzzl
+  syn keyword mfConstant     xrxesnz xrxfzfz xrxnszz xrxtszz
+  syn keyword mfDef          BCPL_string coding_scheme font_face_byte
+  syn keyword mfDef          font_family landscape
+  syn keyword mfDef          mode_extra_info mode_help mode_param
+  syn keyword mfNewInternal  blacker_min
 endif
 
 " Some other basic macro names, e.g., from cmbase, logo, etc.
-if !exists("other_mf_macros")
-  let other_mf_macros = 1 " Set this to '0' if your code gets too colourful
-			  " metapost.vim does so to turn off Metafont macros
-endif
-if other_mf_macros
-  syn keyword mfMacro beginlogochar
+if get(g:, "other_mf_macros", 1)
+  syn keyword mfDef          beginlogochar
+  syn keyword mfDef          font_setup
+  syn keyword mfPrimitive    generate
 endif
 
 " Numeric tokens
-syn match mfNumeric	"[-]\=\d\+"
-syn match mfNumeric	"[-]\=\.\d\+"
-syn match mfNumeric	"[-]\=\d\+\.\d\+"
+syn match     mfNumeric      "[-]\=\d\+"
+syn match     mfNumeric      "[-]\=\.\d\+"
+syn match     mfNumeric      "[-]\=\d\+\.\d\+"
 
-" Metafont lengths
-syn match mfLength	"\<\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\>"
-syn match mfLength	"\<[-]\=\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\=\>"
-syn match mfLength	"\<[-]\=\.\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\=\>"
-syn match mfLength	"\<[-]\=\d\+\.\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\=\>"
-
-" Metafont coordinates and points
-syn match mfCoord	"\<[xy]\d\+\>"
-syn match mfPoint	"\<z\d\+\>"
+" METAFONT lengths
+syn match     mfLength       "\<\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\>"
+syn match     mfLength       "[-]\=\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\="
+syn match     mfLength       "[-]\=\.\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\="
+syn match     mfLength       "[-]\=\d\+\.\d\+\(bp\|cc\|cm\|dd\|in\|mm\|pc\|pt\)\#\="
 
 " String constants
-syn region mfString	start=+"+ end=+"+
+syn match     mfOpenString   /"[^"]*/
+syn region    mfString       oneline keepend start=+"+ end=+"+
 
 " Comments:
-syn match mfComment	"%.*$"
+syn keyword   mfTodoComment  contained TODO FIXME XXX DEBUG NOTE
+syn match     mfComment      "%.*$" contains=mfTodoComment,@Spell
 
 " synchronizing
 syn sync maxlines=50
 
 " Define the default highlighting
-" Only when an item doesn't have highlighting yet
-
-hi def link mfBoolExp	Statement
-hi def link mfNumExp	Statement
-hi def link mfInternal	Identifier
-hi def link mfPairExp	Statement
-hi def link mfPathExp	Statement
-hi def link mfPenExp	Statement
-hi def link mfPicExp	Statement
-hi def link mfStringExp	Statement
-hi def link mfCommand	Statement
-hi def link mfType	Type
-hi def link mfStatement	Statement
-hi def link mfDefinition	Statement
-hi def link mfCondition	Conditional
-hi def link mfPrimitive	Statement
-hi def link mfMacro	Macro
-hi def link mfCoord	Identifier
-hi def link mfPoint	Identifier
-hi def link mfNumeric	Number
-hi def link mfLength	Number
-hi def link mfComment	Comment
-hi def link mfString	String
-
+hi def link mfBoolExp      Statement
+hi def link mfNumExp       Statement
+hi def link mfPairExp      Statement
+hi def link mfPathExp      Statement
+hi def link mfPenExp       Statement
+hi def link mfPicExp       Statement
+hi def link mfStringExp    Statement
+hi def link mfInternal     Identifier
+hi def link mfCommand      Statement
+hi def link mfType         Type
+hi def link mfStatement    Statement
+hi def link mfDefinition   Statement
+hi def link mfCondition    Conditional
+hi def link mfPrimitive    Statement
+hi def link mfDef          Function
+hi def link mfVardef       mfDef
+hi def link mfPrimaryDef   mfDef
+hi def link mfSecondaryDef mfDef
+hi def link mfTertiaryDef  mfDef
+hi def link mfCoord        Identifier
+hi def link mfPoint        Identifier
+hi def link mfNumeric      Number
+hi def link mfLength       Number
+hi def link mfComment      Comment
+hi def link mfString       String
+hi def link mfOpenString   Todo
+hi def link mfSuffixParam  Label
+hi def link mfNewInternal  mfInternal
+hi def link mfVariable     Identifier
+hi def link mfConstant     Constant
+hi def link mfTodoComment  Todo
 
 let b:current_syntax = "mf"
 
-" vim: ts=8
+" vim:sw=2