module Skylighting.Syntax.Metafont (syntax) where
import Skylighting.Types
import Data.Map
import Skylighting.Regex
import qualified Data.Set
syntax :: Syntax
syntax = Syntax
{ sName = "Metapost/Metafont"
, sFilename = "metafont.xml"
, sShortname = "Metafont"
, sContexts =
fromList
[ ( "Comment"
, Context
{ cName = "Comment"
, cSyntax = "Metapost/Metafont"
, cRules =
[ Rule
{ rMatcher =
RegExpr
RE
{ reString = "(FIXME|TODO):?"
, reCompiled = Just (compileRegex True "(FIXME|TODO):?")
, reCaseSensitive = True
}
, rAttribute = AlertTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectChar '\215'
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
]
, cAttribute = CommentTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "ContrSeq"
, Context
{ cName = "ContrSeq"
, cSyntax = "Metapost/Metafont"
, cRules =
[ Rule
{ rMatcher = StringDetect "verb*"
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Metapost/Metafont" , "Verb" ) ]
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "verb(?=[^a-zA-Z])"
, reCompiled = Just (compileRegex True "verb(?=[^a-zA-Z])")
, reCaseSensitive = True
}
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Metapost/Metafont" , "Verb" ) ]
}
, Rule
{ rMatcher = DetectChar '\215'
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "[a-zA-Z]+(\\+?|\\*{0,3})"
, reCompiled = Just (compileRegex True "[a-zA-Z]+(\\+?|\\*{0,3})")
, reCaseSensitive = True
}
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "[^a-zA-Z]"
, reCompiled = Just (compileRegex True "[^a-zA-Z]")
, reCaseSensitive = True
}
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = NormalTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "MathContrSeq"
, Context
{ cName = "MathContrSeq"
, cSyntax = "Metapost/Metafont"
, cRules =
[ Rule
{ rMatcher = DetectChar '\215'
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "[a-zA-Z]+\\*?"
, reCompiled = Just (compileRegex True "[a-zA-Z]+\\*?")
, reCaseSensitive = True
}
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "[^a-zA-Z]"
, reCompiled = Just (compileRegex True "[^a-zA-Z]")
, reCaseSensitive = True
}
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = NormalTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "MathMode"
, Context
{ cName = "MathMode"
, cSyntax = "Metapost/Metafont"
, cRules =
[ Rule
{ rMatcher = StringDetect "$$"
, rAttribute = AlertTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectChar '\\'
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch =
[ Push ( "Metapost/Metafont" , "MathContrSeq" ) ]
}
, Rule
{ rMatcher = DetectChar '$'
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
, Rule
{ rMatcher = Detect2Chars '\\' ')'
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
, Rule
{ rMatcher = Detect2Chars '\\' ']'
, rAttribute = AlertTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
]
, cAttribute = NormalTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "Normal Text"
, Context
{ cName = "Normal Text"
, cSyntax = "Metapost/Metafont"
, cRules =
[ Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet
False
[ "and"
, "charexists"
, "false"
, "known"
, "not"
, "odd"
, "or"
, "true"
, "unknown"
])
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet
False
[ "abs"
, "angle"
, "ASCII"
, "ceiling"
, "cosd"
, "directiontime"
, "div"
, "dotprod"
, "floor"
, "hex"
, "length"
, "max"
, "mexp"
, "min"
, "mlog"
, "mod"
, "normaldeviate"
, "oct"
, "sind"
, "sqrt"
, "totalweight"
, "turningnumber"
, "uniformdeviate"
, "xpart"
, "xxpart"
, "xypart"
, "ypart"
, "yxpart"
, "yypart"
])
, rAttribute = FunctionTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet
False
[ "autorounding"
, "boundarychar"
, "charcode"
, "chardp"
, "chardx"
, "chardy"
, "charext"
, "charht"
, "charic"
, "charwd"
, "day"
, "designsize"
, "fillin"
, "fontmaking"
, "granularity"
, "hppp"
, "month"
, "pausing"
, "proofing"
, "showstopping"
, "smoothing"
, "time"
, "tracingcapsules"
, "tracingchoices"
, "tracingcommands"
, "tracingedges"
, "tracingequations"
, "tracingmacros"
, "tracingonline"
, "tracingoutput"
, "tracingpens"
, "tracingrestores"
, "tracingspecs"
, "tracingstats"
, "tracingtitles"
, "turningcheck"
, "vppp"
, "warningcheck"
, "xoffset"
, "year"
, "yoffset"
])
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet
False
[ "of"
, "penoffset"
, "point"
, "postcontrol"
, "precontrol"
, "rotated"
, "scaled"
, "shifted"
, "slanted"
, "transformed"
, "xscaled"
, "yscaled"
, "zscaled"
])
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet
False
[ "atleast"
, "controls"
, "curl"
, "cycle"
, "makepath"
, "reverse"
, "subpath"
, "tension"
])
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet False [ "makepen" , "nullpen" , "pencircle" ])
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet False [ "nullpicture" ])
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet
False
[ "char"
, "decimal"
, "jobname"
, "readstring"
, "str"
, "substring"
])
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet
False
[ "addto"
, "also"
, "at"
, "batchmode"
, "contour"
, "cull"
, "delimiters"
, "display"
, "doublepath"
, "dropping"
, "dump"
, "end"
, "errhelp"
, "errmessage"
, "errorstopmode"
, "everyjob"
, "from"
, "interim"
, "inwindow"
, "keeping"
, "let"
, "message"
, "newinternal"
, "nonstopmode"
, "numspecial"
, "openwindow"
, "outer"
, "randomseed"
, "save"
, "scrollmode"
, "shipout"
, "show"
, "showdependencies"
, "showstats"
, "showtoken"
, "showvariable"
, "special"
, "to"
, "withpen"
, "withweight"
])
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet
False
[ "boolean"
, "numeric"
, "pair"
, "path"
, "pen"
, "picture"
, "string"
, "transform"
])
, rAttribute = DataTypeTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet True [])
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet
False
[ "expr"
, "primary"
, "primarydef"
, "secondary"
, "secondarydef"
, "suffix"
, "tertiary"
, "tertiarydef"
, "text"
])
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet
False [ "else" , "elseif" , "exitif" , "step" , "until" , "upto" ])
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet
False
[ "charlist"
, "endinput"
, "expandafter"
, "extensible"
, "fontdimen"
, "headerbyte"
, "inner"
, "input"
, "intersectiontimes"
, "kern"
, "ligtable"
, "quote"
, "scantokens"
, "skipto"
])
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet
False
[ "addto_currentpicture"
, "aspect_ratio"
, "base_name"
, "base_version"
, "blacker"
, "blankpicture"
, "bot"
, "bye"
, "byte"
, "capsule_def"
, "change_width"
, "clear_pen_memory"
, "clearit"
, "clearpen"
, "clearxy"
, "counterclockwise"
, "culldraw"
, "cullit"
, "currentpen"
, "currentpen_path"
, "currentpicture"
, "currenttransform"
, "currentwindow"
, "cutdraw"
, "cutoff"
, "d"
, "decr"
, "define_blacker_pixels"
, "define_corrected_pixels"
, "define_good_x_pixels"
, "define_good_y_pixels"
, "define_horizontal_corrected_pixels"
, "define_pixels"
, "define_whole_blacker_pixels"
, "define_whole_pixels"
, "define_whole_vertical_blacker_pixels"
, "define_whole_vertical_pixels"
, "dir"
, "direction"
, "directionpoint"
, "displaying"
, "ditto"
, "down"
, "downto"
, "draw"
, "drawdot"
, "eps"
, "epsilon"
, "erase"
, "exitunless"
, "extra_setup"
, "fill"
, "filldraw"
, "fix_units"
, "flex"
, "font_coding_scheme"
, "font_extra_space"
, "font_identifier"
, "font_normal_shrink"
, "font_normal_space"
, "font_normal_stretch"
, "font_quad"
, "font_setup"
, "font_size"
, "font_slant"
, "font_x_height"
, "fullcircle"
, "generate"
, "gfcorners"
, "gobble"
, "gobbled"
, "grayfont"
, "h"
, "halfcircle"
, "hide"
, "hround"
, "identity"
, "image_rules"
, "incr"
, "infinity"
, "interact"
, "interpath"
, "intersectionpoint"
, "inverse"
, "italcorr"
, "join_radius"
, "killtext"
, "labelfont"
, "labels"
, "left"
, "lft"
, "localfont"
, "loggingall"
, "lowres"
, "lowres_fix"
, "mag"
, "magstep"
, "makebox"
, "makegrid"
, "makelabel"
, "maketicks"
, "mode"
, "mode_def"
, "mode_name"
, "mode_setup"
, "nodisplays"
, "notransforms"
, "number_of_modes"
, "numtok"
, "o_correction"
, "openit"
, "origin"
, "pen_bot"
, "pen_lft"
, "pen_rt"
, "pen_top"
, "penlabels"
, "penpos"
, "penrazor"
, "penspeck"
, "pensquare"
, "penstroke"
, "pickup"
, "pixels_per_inch"
, "proof"
, "proofoffset"
, "proofrule"
, "proofrulethickness"
, "quartercircle"
, "range"
, "reflectedabout"
, "relax"
, "right"
, "rotatedabout"
, "rotatedaround"
, "round"
, "rt"
, "rulepen"
, "savepen"
, "screen_cols"
, "screen_rows"
, "screenchars"
, "screenrule"
, "screenstrokes"
, "shipit"
, "showit"
, "slantfont"
, "smode"
, "smoke"
, "softjoin"
, "solve"
, "stop"
, "superellipse"
, "takepower"
, "tensepath"
, "titlefont"
, "tolerance"
, "top"
, "tracingall"
, "tracingnone"
, "undraw"
, "undrawdot"
, "unfill"
, "unfilldraw"
, "unitpixel"
, "unitsquare"
, "unitvector"
, "up"
, "upto"
, "vround"
, "w"
, "whatever"
])
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet
False
[ "bluepart"
, "clip"
, "color"
, "dashed"
, "fontsize"
, "greenpart"
, "infont"
, "linecap"
, "linejoin"
, "llcorner"
, "lrcorner"
, "miterlimit"
, "mpxbreak"
, "prologues"
, "redpart"
, "setbounds"
, "tracinglostchars"
, "truecorners"
, "ulcorner"
, "urcorner"
, "withcolor"
])
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = False
, keywordDelims =
Data.Set.fromList "\t\n !%&()*+,-./:;<=>?[\\]^{|}~"
}
(makeWordSet
False
[ "ahangle"
, "ahlength"
, "arrowhead"
, "background"
, "base_name"
, "base_version"
, "bbox"
, "bboxmargin"
, "beveled"
, "black"
, "blacker"
, "blankpicture"
, "blue"
, "bot"
, "boxit"
, "boxjoin"
, "bpath"
, "buildcycle"
, "butt"
, "bye"
, "byte"
, "capsule_def"
, "center"
, "change_width"
, "circleit"
, "circmargin"
, "clear_pen_memory"
, "clearit"
, "clearpen"
, "clearxy"
, "counterclockwise"
, "cullit"
, "currentpen"
, "currentpen_path"
, "currentpicture"
, "currenttransform"
, "cutafter"
, "cutbefore"
, "cutdraw"
, "cuttings"
, "dashpattern"
, "decr"
, "defaultdx"
, "defaultdy"
, "defaultfont"
, "defaultpen"
, "defaultscale"
, "define_blacker_pixels"
, "define_corrected_pixels"
, "define_good_x_pixels"
, "define_good_y_pixels"
, "define_horizontal_corrected_pixels"
, "define_pixels"
, "define_whole_blacker_pixels"
, "define_whole_vertical_blacker_pixels"
, "define_whole_vertical_pixels"
, "dir"
, "direction"
, "directionpoint"
, "ditto"
, "dotlabel"
, "dotlabels"
, "down"
, "downto"
, "draw"
, "drawarrow"
, "drawboxed"
, "drawboxes"
, "drawdblarrow"
, "drawdot"
, "drawoptions"
, "drawunboxed"
, "EOF"
, "eps"
, "epsilon"
, "erase"
, "evenly"
, "exitunless"
, "extra_setup"
, "fill"
, "filldraw"
, "fixpos"
, "fixsize"
, "flex"
, "font_coding_scheme"
, "font_extra_space"
, "font_identifier"
, "font_normal_shrink"
, "font_normal_space"
, "font_normal_stretch"
, "font_quad"
, "font_size"
, "font_slant"
, "font_x_height"
, "fullcircle"
, "gfcorners"
, "gobble"
, "gobbled"
, "grayfont"
, "green"
, "halfcircle"
, "hide"
, "hround"
, "identity"
, "image"
, "imagerules"
, "incr"
, "infinity"
, "interact"
, "interpath"
, "intersectionpoint"
, "inverse"
, "italcorr"
, "label"
, "labelfont"
, "labeloffset"
, "labels"
, "left"
, "lft"
, "llft"
, "loggingall"
, "lowres_fix"
, "lrt"
, "magstep"
, "makebox"
, "makegrid"
, "makelabel"
, "maketicks"
, "mitered"
, "mode_def"
, "mode_setup"
, "nodisplays"
, "notransforms"
, "numeric_pickup"
, "numtok"
, "o_correction"
, "openit"
, "origin"
, "pen_bot"
, "pen_lft"
, "pen_rt"
, "pen_top"
, "penlabel"
, "penpos"
, "penrazor"
, "penspeck"
, "pensquare"
, "penstroke"
, "pic"
, "pickup"
, "proofoffset"
, "proofrule"
, "proofrulethickness"
, "quartercircle"
, "range"
, "red"
, "reflectedabout"
, "relax"
, "right"
, "rotatedabout"
, "rotatedaround"
, "round"
, "rounded"
, "rt"
, "rulepen"
, "savepen"
, "screenchars"
, "screenrule"
, "screenstrokes"
, "shipit"
, "showit"
, "slantfont"
, "smode"
, "softjoin"
, "solve"
, "squared"
, "stop"
, "superellipse"
, "takepower"
, "tensepath"
, "thelabel"
, "thru"
, "titlefont"
, "top"
, "tracingall"
, "tracingnone"
, "ulft"
, "undraw"
, "undrawdot"
, "unfill"
, "unfilldraw"
, "unitpixel"
, "unitsquare"
, "unitvector"
, "up"
, "upto"
, "urt"
, "vround"
, "whatever"
, "white"
, "withdots"
])
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectChar '%'
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Metapost/Metafont" , "Comment" ) ]
}
, Rule
{ rMatcher = DetectChar '"'
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Metapost/Metafont" , "string" ) ]
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "(\\+|\\-|\\*|\\/|\\=|\\:\\=)"
, reCompiled =
Just (compileRegex True "(\\+|\\-|\\*|\\/|\\=|\\:\\=)")
, reCaseSensitive = True
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = Detect2Chars '.' '.'
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = HlCOct
, rAttribute = BaseNTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = HlCHex
, rAttribute = BaseNTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = Float
, rAttribute = FloatTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = Int
, rAttribute = DecValTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\b(bp|cc|cm|dd|in|mm|pc|pt)\\b"
, reCompiled =
Just (compileRegex True "\\b(bp|cc|cm|dd|in|mm|pc|pt)\\b")
, reCaseSensitive = True
}
, rAttribute = FloatTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\b-?\\d+(bp|cc|cm|dd|in|mm|pc|pt)#?\\b"
, reCompiled =
Just (compileRegex True "\\b-?\\d+(bp|cc|cm|dd|in|mm|pc|pt)#?\\b")
, reCaseSensitive = True
}
, rAttribute = FloatTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\b-?\\.\\d+(bp|cc|cm|dd|in|mm|pc|pt)#?\\b"
, reCompiled =
Just
(compileRegex True "\\b-?\\.\\d+(bp|cc|cm|dd|in|mm|pc|pt)#?\\b")
, reCaseSensitive = True
}
, rAttribute = FloatTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\b-?\\d+\\.\\d+(bp|cc|cm|dd|in|mm|pc|pt)#?\\b"
, reCompiled =
Just
(compileRegex
True "\\b-?\\d+\\.\\d+(bp|cc|cm|dd|in|mm|pc|pt)#?\\b")
, reCaseSensitive = True
}
, rAttribute = FloatTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\b[xy]\\d(\\w|\\')*"
, reCompiled = Just (compileRegex True "\\b[xy]\\d(\\w|\\')*")
, reCaseSensitive = True
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\bz\\d(\\w|\\')*"
, reCompiled = Just (compileRegex True "\\bz\\d(\\w|\\')*")
, reCaseSensitive = True
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\bp\\d(\\w|\\')*"
, reCompiled = Just (compileRegex True "\\bp\\d(\\w|\\')*")
, reCaseSensitive = True
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectChar '$'
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\b(verbatimtex|btex)\\b"
, reCompiled = Just (compileRegex False "\\b(verbatimtex|btex)\\b")
, reCaseSensitive = False
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Metapost/Metafont" , "TeXMode" ) ]
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\bbegin(group|fig|char)\\b"
, reCompiled =
Just (compileRegex False "\\bbegin(group|fig|char)\\b")
, reCaseSensitive = False
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\bend(group|fig|char)\\b"
, reCompiled =
Just (compileRegex False "\\bend(group|fig|char)\\b")
, reCaseSensitive = False
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\bextra_begin(group|fig|char)\\b"
, reCompiled =
Just (compileRegex False "\\bextra_begin(group|fig|char)\\b")
, reCaseSensitive = False
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\bextra_end(group|fig|char)\\b"
, reCompiled =
Just (compileRegex False "\\bextra_end(group|fig|char)\\b")
, reCaseSensitive = False
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\b(def|vardef)\\b"
, reCompiled = Just (compileRegex False "\\b(def|vardef)\\b")
, reCaseSensitive = False
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\benddef\\b"
, reCompiled = Just (compileRegex False "\\benddef\\b")
, reCaseSensitive = False
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\bif\\b"
, reCompiled = Just (compileRegex False "\\bif\\b")
, reCaseSensitive = False
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\bfi\\b"
, reCompiled = Just (compileRegex False "\\bfi\\b")
, reCaseSensitive = False
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\b(for|forsuffixes|forever)\\b"
, reCompiled =
Just (compileRegex False "\\b(for|forsuffixes|forever)\\b")
, reCaseSensitive = False
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\bendfor\\b"
, reCompiled = Just (compileRegex False "\\bendfor\\b")
, reCaseSensitive = False
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
]
, cAttribute = NormalTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "TeXMode"
, Context
{ cName = "TeXMode"
, cSyntax = "Metapost/Metafont"
, cRules =
[ Rule
{ rMatcher = DetectChar '\\'
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Metapost/Metafont" , "ContrSeq" ) ]
}
, Rule
{ rMatcher = DetectChar '$'
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Metapost/Metafont" , "MathMode" ) ]
}
, Rule
{ rMatcher = StringDetect "\\("
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Metapost/Metafont" , "MathMode" ) ]
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "\\betex\\b"
, reCompiled = Just (compileRegex False "\\betex\\b")
, reCaseSensitive = False
}
, rAttribute = KeywordTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = False
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = NormalTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "ToEndOfLine"
, Context
{ cName = "ToEndOfLine"
, cSyntax = "Metapost/Metafont"
, cRules = []
, cAttribute = NormalTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "Verb"
, Context
{ cName = "Verb"
, cSyntax = "Metapost/Metafont"
, cRules =
[ Rule
{ rMatcher =
RegExpr
RE
{ reString = "(.)"
, reCompiled = Nothing
, reCaseSensitive = True
}
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = True
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Metapost/Metafont" , "VerbEnd" ) ]
}
]
, cAttribute = NormalTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop , Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "VerbEnd"
, Context
{ cName = "VerbEnd"
, cSyntax = "Metapost/Metafont"
, cRules =
[ Rule
{ rMatcher = StringDetect "%1"
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = True
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop , Pop , Pop ]
}
, Rule
{ rMatcher = DetectChar '\215'
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "[^%1\\xd7]*"
, reCompiled = Nothing
, reCaseSensitive = True
}
, rAttribute = NormalTok
, rIncludeAttribute = False
, rDynamic = True
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
]
, cAttribute = NormalTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop , Pop , Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = True
}
)
, ( "string"
, Context
{ cName = "string"
, cSyntax = "Metapost/Metafont"
, cRules =
[ Rule
{ rMatcher = DetectIdentifier
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = Detect2Chars '\\' '"'
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = Detect2Chars '\\' '\\'
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectChar '"'
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = StringTok
, cLineEmptyContext = []
, cLineEndContext = []
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
]
, sAuthor = "Yedvilun (yedvilun@gmail.com)"
, sVersion = "1"
, sLicense = "LGPL"
, sExtensions = [ "*.mp" , "*.mps" , "*.mpost" , "*.mf" ]
, sStartingContext = "Normal Text"
}