diff options
Diffstat (limited to 'runtime/syntax/initex.vim')
-rw-r--r-- | runtime/syntax/initex.vim | 376 |
1 files changed, 376 insertions, 0 deletions
diff --git a/runtime/syntax/initex.vim b/runtime/syntax/initex.vim new file mode 100644 index 0000000..564a6e0 --- /dev/null +++ b/runtime/syntax/initex.vim @@ -0,0 +1,376 @@ +" Vim syntax file +" Language: TeX (core definition) +" Previous 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 |