home *** CD-ROM | disk | FTP | other *** search
- " Vim syntax file
- " Language: TeX (core definition)
- " Maintainer: Nikolai Weibull <now@bitwi.se>
- " Latest Revision: 2006-04-19
-
- if exists("b:current_syntax")
- finish
- endif
-
- let s:cpo_save = &cpo
- set cpo&vim
-
- " This follows the grouping (sort of) found at
- " http://www.tug.org/utilities/plain/cseq.html#top-fam
-
- syn keyword initexTodo TODO FIXME XXX NOTE
-
- syn match initexComment display contains=initexTodo
- \ '\\\@<!\%(\\\\\)*\zs%.*$'
-
- syn match initexDimension display contains=@NoSpell
- \ '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|m[mu]\|dd\|sp\|e[mx]\)\>'
-
- syn cluster initexBox
- \ contains=initexBoxCommand,initexBoxInternalQuantity,
- \ initexBoxParameterDimen,initexBoxParameterInteger,
- \ initexBoxParameterToken
-
- syn cluster initexCharacter
- \ contains=initexCharacterCommand,initexCharacterInternalQuantity,
- \ initexCharacterParameterInteger
-
- syn cluster initexDebugging
- \ contains=initexDebuggingCommand,initexDebuggingParameterInteger,
- \ initexDebuggingParameterToken
-
- syn cluster initexFileIO
- \ contains=initexFileIOCommand,initexFileIOInternalQuantity,
- \ initexFileIOParameterToken
-
- syn cluster initexFonts
- \ contains=initexFontsCommand,initexFontsInternalQuantity
-
- syn cluster initexGlue
- \ contains=initexGlueCommand,initexGlueDerivedCommand
-
- syn cluster initexHyphenation
- \ contains=initexHyphenationCommand,initexHyphenationDerivedCommand,
- \ initexHyphenationInternalQuantity,initexHyphenationParameterInteger
-
- syn cluster initexInserts
- \ contains=initexInsertsCommand,initexInsertsParameterDimen,
- \ initexInsertsParameterGlue,initexInsertsParameterInteger
-
- syn cluster initexJob
- \ contains=initexJobCommand,initexJobInternalQuantity,
- \ initexJobParameterInteger
-
- syn cluster initexKern
- \ contains=initexKernCommand,initexKernInternalQuantity
-
- syn cluster initexLogic
- \ contains=initexLogicCommand
-
- syn cluster initexMacro
- \ contains=initexMacroCommand,initexMacroDerivedCommand,
- \ initexMacroParameterInteger
-
- syn cluster initexMarks
- \ contains=initexMarksCommand
-
- syn cluster initexMath
- \ contains=initexMathCommand,initexMathDerivedCommand,
- \ initexMathInternalQuantity,initexMathParameterDimen,
- \ initexMathParameterGlue,initexMathParameterInteger,
- \ initexMathParameterMuglue,initexMathParameterToken
-
- syn cluster initexPage
- \ contains=initexPageInternalQuantity,initexPageParameterDimen,
- \ initexPageParameterGlue
-
- syn cluster initexParagraph
- \ contains=initexParagraphCommand,initexParagraphInternalQuantity,
- \ initexParagraphParameterDimen,initexParagraphParameterGlue,
- \ initexParagraphParameterInteger,initexParagraphParameterToken
-
- syn cluster initexPenalties
- \ contains=initexPenaltiesCommand,initexPenaltiesInternalQuantity,
- \ initexPenaltiesParameterInteger
-
- syn cluster initexRegisters
- \ contains=initexRegistersCommand,initexRegistersInternalQuantity
-
- syn cluster initexTables
- \ contains=initexTablesCommand,initexTablesParameterGlue,
- \ initexTablesParameterToken
-
- syn cluster initexCommand
- \ contains=initexBoxCommand,initexCharacterCommand,
- \ initexDebuggingCommand,initexFileIOCommand,
- \ initexFontsCommand,initexGlueCommand,
- \ initexHyphenationCommand,initexInsertsCommand,
- \ initexJobCommand,initexKernCommand,initexLogicCommand,
- \ initexMacroCommand,initexMarksCommand,initexMathCommand,
- \ initexParagraphCommand,initexPenaltiesCommand,initexRegistersCommand,
- \ initexTablesCommand
-
- syn match initexBoxCommand display contains=@NoSpell
- \ '\\\%([hv]\=box\|[cx]\=leaders\|copy\|[hv]rule\|lastbox\|setbox\|un[hv]\%(box\|copy\)\|vtop\)\>'
- syn match initexCharacterCommand display contains=@NoSpell
- \ '\\\%([] ]\|\%(^^M\|accent\|char\|\%(lower\|upper\)case\|number\|romannumeral\|string\)\>\)'
- syn match initexDebuggingCommand display contains=@NoSpell
- \ '\\\%(\%(batch\|\%(non\|error\)stop\|scroll\)mode\|\%(err\)\=message\|meaning\|show\%(box\%(breadth\|depth\)\=\|lists\|the\)\)\>'
- syn match initexFileIOCommand display contains=@NoSpell
- \ '\\\%(\%(close\|open\)\%(in\|out\)\|endinput\|immediate\|input\|read\|shipout\|special\|write\)\>'
- syn match initexFontsCommand display contains=@NoSpell
- \ '\\\%(/\|fontname\)\>'
- syn match initexGlueCommand display contains=@NoSpell
- \ '\\\%([hv]\|un\)skip\>'
- syn match initexHyphenationCommand display contains=@NoSpell
- \ '\\\%(discretionary\|hyphenation\|patterns\|setlanguage\)\>'
- syn match initexInsertsCommand display contains=@NoSpell
- \ '\\\%(insert\|split\%(bot\|first\)mark\|vsplit\)\>'
- syn match initexJobCommand display contains=@NoSpell
- \ '\\\%(dump\|end\|jobname\)\>'
- syn match initexKernCommand display contains=@NoSpell
- \ '\\\%(kern\|lower\|move\%(left\|right\)\|raise\|unkern\)\>'
- syn match initexLogicCommand display contains=@NoSpell
- \ '\\\%(else\|fi\|if[a-zA-Z@]\+\|or\)\>'
- " \ '\\\%(else\|fi\|if\%(case\|cat\|dim\|eof\|false\|[hv]box\|[hmv]mode\|inner\|num\|odd\|true\|void\|x\)\=\|or\)\>'
- syn match initexMacroCommand display contains=@NoSpell
- \ '\\\%(after\%(assignment\|group\)\|\%(begin\|end\)group\|\%(end\)\=csname\|e\=def\|expandafter\|futurelet\|global\|let\|long\|noexpand\|outer\|relax\|the\)\>'
- syn match initexMarksCommand display contains=@NoSpell
- \ '\\\%(bot\|first\|top\)\=mark\>'
- syn match initexMathCommand display contains=@NoSpell
- \ '\\\%(abovewithdelims\|delimiter\|display\%(limits\|style\)\|l\=eqno\|left\|\%(no\)\=limits\|math\%(accent\|bin\|char\|choice\|close\|code\|inner\|op\|open\|ord\|punct\|rel\)\|mkern\|mskip\|muskipdef\|nonscript\|\%(over\|under\)line\|radical\|right\|\%(\%(script\)\{1,2}\|text\)style\|vcenter\)\>'
- syn match initexParagraphCommand display contains=@NoSpell
- \ '\\\%(ignorespaces\|indent\|no\%(boundary\|indent\)\|par\|vadjust\)\>'
- syn match initexPenaltiesCommand display contains=@NoSpell
- \ '\\\%(un\)\=penalty\>'
- syn match initexRegistersCommand display contains=@NoSpell
- \ '\\\%(advance\|\%(count\|dimen\|skip\|toks\)def\|divide\|multiply\)\>'
- syn match initexTablesCommand display contains=@NoSpell
- \ '\\\%(cr\|crcr\|[hv]align\|noalign\|omit\|span\)\>'
-
- syn cluster initexDerivedCommand
- \ contains=initexGlueDerivedCommand,initexHyphenationDerivedCommand,
- \ initexMacroDerivedCommand,initexMathDerivedCommand
-
- syn match initexGlueDerivedCommand display contains=@NoSpell
- \ '\\\%([hv]fil\%(l\|neg\)\=\|[hv]ss\)\>'
- syn match initexHyphenationDerivedCommand display contains=@NoSpell
- \ '\\-'
- syn match initexMacroDerivedCommand display contains=@NoSpell
- \ '\\[gx]def\>'
- syn match initexMathDerivedCommand display contains=@NoSpell
- \ '\\\%(above\|atop\%(withdelims\)\=\|mathchardef\|over\|overwithdelims\)\>'
-
- syn cluster initexInternalQuantity
- \ contains=initexBoxInternalQuantity,initexCharacterInternalQuantity,
- \ initexFileIOInternalQuantity,initexFontsInternalQuantity,
- \ initexHyphenationInternalQuantity,initexJobInternalQuantity,
- \ initexKernInternalQuantity,initexMathInternalQuantity,
- \ initexPageInternalQuantity,initexParagraphInternalQuantity,
- \ initexPenaltiesInternalQuantity,initexRegistersInternalQuantity
-
- syn match initexBoxInternalQuantity display contains=@NoSpell
- \ '\\\%(badness\|dp\|ht\|prevdepth\|wd\)\>'
- syn match initexCharacterInternalQuantity display contains=@NoSpell
- \ '\\\%(catcode\|chardef\|\%([ul]c\|sf\)code\)\>'
- syn match initexFileIOInternalQuantity display contains=@NoSpell
- \ '\\inputlineno\>'
- syn match initexFontsInternalQuantity display contains=@NoSpell
- \ '\\\%(font\%(dimen\)\=\|nullfont\)\>'
- syn match initexHyphenationInternalQuantity display contains=@NoSpell
- \ '\\hyphenchar\>'
- syn match initexJobInternalQuantity display contains=@NoSpell
- \ '\\deadcycles\>'
- syn match initexKernInternalQuantity display contains=@NoSpell
- \ '\\lastkern\>'
- syn match initexMathInternalQuantity display contains=@NoSpell
- \ '\\\%(delcode\|mathcode\|muskip\|\%(\%(script\)\{1,2}\|text\)font\|skewchar\)\>'
- syn match initexPageInternalQuantity display contains=@NoSpell
- \ '\\page\%(depth\|fil\{1,3}stretch\|goal\|shrink\|stretch\|total\)\>'
- syn match initexParagraphInternalQuantity display contains=@NoSpell
- \ '\\\%(prevgraf\|spacefactor\)\>'
- syn match initexPenaltiesInternalQuantity display contains=@NoSpell
- \ '\\lastpenalty\>'
- syn match initexRegistersInternalQuantity display contains=@NoSpell
- \ '\\\%(count\|dimen\|skip\|toks\)\d\+\>'
-
- syn cluster initexParameterDimen
- \ contains=initexBoxParameterDimen,initexInsertsParameterDimen,
- \ initexMathParameterDimen,initexPageParameterDimen,
- \ initexParagraphParameterDimen
-
- syn match initexBoxParameterDimen display contains=@NoSpell
- \ '\\\%(boxmaxdepth\|[hv]fuzz\|overfullrule\)\>'
- syn match initexInsertsParameterDimen display contains=@NoSpell
- \ '\\splitmaxdepth\>'
- syn match initexMathParameterDimen display contains=@NoSpell
- \ '\\\%(delimitershortfall\|display\%(indent\|width\)\|mathsurround\|nulldelimiterspace\|predisplaysize\|scriptspace\)\>'
- syn match initexPageParameterDimen display contains=@NoSpell
- \ '\\\%([hv]offset\|maxdepth\|vsize\)\>'
- syn match initexParagraphParameterDimen display contains=@NoSpell
- \ '\\\%(emergencystretch\|\%(hang\|par\)indent\|hsize\|lineskiplimit\)\>'
-
- syn cluster initexParameterGlue
- \ contains=initexInsertsParameterGlue,initexMathParameterGlue,
- \ initexPageParameterGlue,initexParagraphParameterGlue,
- \ initexTablesParameterGlue
-
- syn match initexInsertsParameterGlue display contains=@NoSpell
- \ '\\splittopskip\>'
- syn match initexMathParameterGlue display contains=@NoSpell
- \ '\\\%(above\|below\)display\%(short\)\=skip\>'
- syn match initexPageParameterGlue display contains=@NoSpell
- \ '\\topskip\>'
- syn match initexParagraphParameterGlue display contains=@NoSpell
- \ '\\\%(baseline\|left\|line\|par\%(fill\)\=\|right\|x\=space\)skip\>'
- syn match initexTablesParameterGlue display contains=@NoSpell
- \ '\\tabskip\>'
-
- syn cluster initexParameterInteger
- \ contains=initexBoxParameterInteger,initexCharacterParameterInteger,
- \ initexDebuggingParameterInteger,initexHyphenationParameterInteger,
- \ initexInsertsParameterInteger,initexJobParameterInteger,
- \ initexMacroParameterInteger,initexMathParameterInteger,
- \ initexParagraphParameterInteger,initexPenaltiesParameterInteger,
-
- syn match initexBoxParameterInteger display contains=@NoSpell
- \ '\\[hv]badness\>'
- syn match initexCharacterParameterInteger display contains=@NoSpell
- \ '\\\%(\%(endline\|escape\|newline\)char\)\>'
- syn match initexDebuggingParameterInteger display contains=@NoSpell
- \ '\\\%(errorcontextlines\|pausing\|tracing\%(commands\|lostchars\|macros\|online\|output\|pages\|paragraphs\|restores|stats\)\)\>'
- syn match initexHyphenationParameterInteger display contains=@NoSpell
- \ '\\\%(defaulthyphenchar\|language\|\%(left\|right\)hyphenmin\|uchyph\)\>'
- syn match initexInsertsParameterInteger display contains=@NoSpell
- \ '\\\%(holdinginserts\)\>'
- syn match initexJobParameterInteger display contains=@NoSpell
- \ '\\\%(day\|mag\|maxdeadcycles\|month\|time\|year\)\>'
- syn match initexMacroParameterInteger display contains=@NoSpell
- \ '\\globaldefs\>'
- syn match initexMathParameterInteger display contains=@NoSpell
- \ '\\\%(binoppenalty\|defaultskewchar\|delimiterfactor\|displaywidowpenalty\|fam\|\%(post\|pre\)displaypenalty\|relpenalty\)\>'
- syn match initexParagraphParameterInteger display contains=@NoSpell
- \ '\\\%(\%(adj\|\%(double\|final\)hyphen\)demerits\|looseness\|\%(pre\)\=tolerance\)\>'
- syn match initexPenaltiesParameterInteger display contains=@NoSpell
- \ '\\\%(broken\|club\|exhyphen\|floating\|hyphen\|interline\|line\|output\|widow\)penalty\>'
-
- syn cluster initexParameterMuglue
- \ contains=initexMathParameterMuglue
-
- syn match initexMathParameterMuglue display contains=@NoSpell
- \ '\\\%(med\|thick\|thin\)muskip\>'
-
- syn cluster initexParameterDimen
- \ contains=initexBoxParameterToken,initexDebuggingParameterToken,
- \ initexFileIOParameterToken,initexMathParameterToken,
- \ initexParagraphParameterToken,initexTablesParameterToken
-
- syn match initexBoxParameterToken display contains=@NoSpell
- \ '\\every[hv]box\>'
- syn match initexDebuggingParameterToken display contains=@NoSpell
- \ '\\errhelp\>'
- syn match initexFileIOParameterToken display contains=@NoSpell
- \ '\\output\>'
- syn match initexMathParameterToken display contains=@NoSpell
- \ '\\every\%(display\|math\)\>'
- syn match initexParagraphParameterToken display contains=@NoSpell
- \ '\\everypar\>'
- syn match initexTablesParameterToken display contains=@NoSpell
- \ '\\everycr\>'
-
-
- hi def link initexCharacter Character
- hi def link initexNumber Number
-
- hi def link initexIdentifier Identifier
-
- hi def link initexStatement Statement
- hi def link initexConditional Conditional
-
- hi def link initexPreProc PreProc
- hi def link initexMacro Macro
-
- hi def link initexType Type
-
- hi def link initexDebug Debug
-
- hi def link initexTodo Todo
- hi def link initexComment Comment
- hi def link initexDimension initexNumber
-
- hi def link initexCommand initexStatement
- hi def link initexBoxCommand initexCommand
- hi def link initexCharacterCommand initexCharacter
- hi def link initexDebuggingCommand initexDebug
- hi def link initexFileIOCommand initexCommand
- hi def link initexFontsCommand initexType
- hi def link initexGlueCommand initexCommand
- hi def link initexHyphenationCommand initexCommand
- hi def link initexInsertsCommand initexCommand
- hi def link initexJobCommand initexPreProc
- hi def link initexKernCommand initexCommand
- hi def link initexLogicCommand initexConditional
- hi def link initexMacroCommand initexMacro
- hi def link initexMarksCommand initexCommand
- hi def link initexMathCommand initexCommand
- hi def link initexParagraphCommand initexCommand
- hi def link initexPenaltiesCommand initexCommand
- hi def link initexRegistersCommand initexCommand
- hi def link initexTablesCommand initexCommand
-
- hi def link initexDerivedCommand initexStatement
- hi def link initexGlueDerivedCommand initexDerivedCommand
- hi def link initexHyphenationDerivedCommand initexDerivedCommand
- hi def link initexMacroDerivedCommand initexDerivedCommand
- hi def link initexMathDerivedCommand initexDerivedCommand
-
- hi def link initexInternalQuantity initexIdentifier
- hi def link initexBoxInternalQuantity initexInternalQuantity
- hi def link initexCharacterInternalQuantity initexInternalQuantity
- hi def link initexFileIOInternalQuantity initexInternalQuantity
- hi def link initexFontsInternalQuantity initexInternalQuantity
- hi def link initexHyphenationInternalQuantity initexInternalQuantity
- hi def link initexJobInternalQuantity initexInternalQuantity
- hi def link initexKernInternalQuantity initexInternalQuantity
- hi def link initexMathInternalQuantity initexInternalQuantity
- hi def link initexPageInternalQuantity initexInternalQuantity
- hi def link initexParagraphInternalQuantity initexInternalQuantity
- hi def link initexPenaltiesInternalQuantity initexInternalQuantity
- hi def link initexRegistersInternalQuantity initexInternalQuantity
-
- hi def link initexParameterDimen initexNumber
- hi def link initexBoxParameterDimen initexParameterDimen
- hi def link initexInsertsParameterDimen initexParameterDimen
- hi def link initexMathParameterDimen initexParameterDimen
- hi def link initexPageParameterDimen initexParameterDimen
- hi def link initexParagraphParameterDimen initexParameterDimen
-
- hi def link initexParameterGlue initexNumber
- hi def link initexInsertsParameterGlue initexParameterGlue
- hi def link initexMathParameterGlue initexParameterGlue
- hi def link initexPageParameterGlue initexParameterGlue
- hi def link initexParagraphParameterGlue initexParameterGlue
- hi def link initexTablesParameterGlue initexParameterGlue
-
- hi def link initexParameterInteger initexNumber
- hi def link initexBoxParameterInteger initexParameterInteger
- hi def link initexCharacterParameterInteger initexParameterInteger
- hi def link initexDebuggingParameterInteger initexParameterInteger
- hi def link initexHyphenationParameterInteger initexParameterInteger
- hi def link initexInsertsParameterInteger initexParameterInteger
- hi def link initexJobParameterInteger initexParameterInteger
- hi def link initexMacroParameterInteger initexParameterInteger
- hi def link initexMathParameterInteger initexParameterInteger
- hi def link initexParagraphParameterInteger initexParameterInteger
- hi def link initexPenaltiesParameterInteger initexParameterInteger
-
- hi def link initexParameterMuglue initexNumber
- hi def link initexMathParameterMuglue initexParameterMuglue
-
- hi def link initexParameterToken initexIdentifier
- hi def link initexBoxParameterToken initexParameterToken
- hi def link initexDebuggingParameterToken initexParameterToken
- hi def link initexFileIOParameterToken initexParameterToken
- hi def link initexMathParameterToken initexParameterToken
- hi def link initexParagraphParameterToken initexParameterToken
- hi def link initexTablesParameterToken initexParameterToken
-
- let b:current_syntax = "initex"
-
- let &cpo = s:cpo_save
- unlet s:cpo_save
-