summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/initex.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/initex.vim')
-rw-r--r--runtime/syntax/initex.vim376
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