diff runtime/syntax/initex.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/runtime/syntax/initex.vim	Sat Nov 10 15:07:22 2007 +0900
@@ -0,0 +1,376 @@
+" 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