neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

initex.vim (19224B)


      1 " Vim syntax file
      2 " Language:             TeX (core definition)
      3 " Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
      4 " Latest Revision:      2006-04-19
      5 
      6 if exists("b:current_syntax")
      7  finish
      8 endif
      9 
     10 let s:cpo_save = &cpo
     11 set cpo&vim
     12 
     13 " This follows the grouping (sort of) found at
     14 " http: //www.tug.org/utilities/plain/cseq.html#top-fam
     15 
     16 syn keyword initexTodo                          TODO FIXME XXX NOTE
     17 
     18 syn match initexComment                         display contains=initexTodo
     19      \ '\\\@<!\%(\\\\\)*\zs%.*$'
     20 
     21 syn match   initexDimension                     display contains=@NoSpell
     22      \ '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|m[mu]\|dd\|sp\|e[mx]\)\>'
     23 
     24 syn cluster initexBox
     25      \ contains=initexBoxCommand,initexBoxInternalQuantity,
     26      \ initexBoxParameterDimen,initexBoxParameterInteger,
     27      \ initexBoxParameterToken
     28 
     29 syn cluster initexCharacter
     30      \ contains=initexCharacterCommand,initexCharacterInternalQuantity,
     31      \ initexCharacterParameterInteger
     32 
     33 syn cluster initexDebugging
     34      \ contains=initexDebuggingCommand,initexDebuggingParameterInteger,
     35      \ initexDebuggingParameterToken
     36 
     37 syn cluster initexFileIO
     38      \ contains=initexFileIOCommand,initexFileIOInternalQuantity,
     39      \ initexFileIOParameterToken
     40 
     41 syn cluster initexFonts
     42      \ contains=initexFontsCommand,initexFontsInternalQuantity
     43 
     44 syn cluster initexGlue
     45      \ contains=initexGlueCommand,initexGlueDerivedCommand
     46 
     47 syn cluster initexHyphenation
     48      \ contains=initexHyphenationCommand,initexHyphenationDerivedCommand,
     49      \ initexHyphenationInternalQuantity,initexHyphenationParameterInteger
     50 
     51 syn cluster initexInserts
     52      \ contains=initexInsertsCommand,initexInsertsParameterDimen,
     53      \ initexInsertsParameterGlue,initexInsertsParameterInteger
     54 
     55 syn cluster initexJob
     56      \ contains=initexJobCommand,initexJobInternalQuantity,
     57      \ initexJobParameterInteger
     58 
     59 syn cluster initexKern
     60      \ contains=initexKernCommand,initexKernInternalQuantity
     61 
     62 syn cluster initexLogic
     63      \ contains=initexLogicCommand
     64 
     65 syn cluster initexMacro
     66      \ contains=initexMacroCommand,initexMacroDerivedCommand,
     67      \ initexMacroParameterInteger
     68 
     69 syn cluster initexMarks
     70      \ contains=initexMarksCommand
     71 
     72 syn cluster initexMath
     73      \ contains=initexMathCommand,initexMathDerivedCommand,
     74      \ initexMathInternalQuantity,initexMathParameterDimen,
     75      \ initexMathParameterGlue,initexMathParameterInteger,
     76      \ initexMathParameterMuglue,initexMathParameterToken
     77 
     78 syn cluster initexPage
     79      \ contains=initexPageInternalQuantity,initexPageParameterDimen,
     80      \ initexPageParameterGlue
     81 
     82 syn cluster initexParagraph
     83      \ contains=initexParagraphCommand,initexParagraphInternalQuantity,
     84      \ initexParagraphParameterDimen,initexParagraphParameterGlue,
     85      \ initexParagraphParameterInteger,initexParagraphParameterToken
     86 
     87 syn cluster initexPenalties
     88      \ contains=initexPenaltiesCommand,initexPenaltiesInternalQuantity,
     89      \ initexPenaltiesParameterInteger
     90 
     91 syn cluster initexRegisters
     92      \ contains=initexRegistersCommand,initexRegistersInternalQuantity
     93 
     94 syn cluster initexTables
     95      \ contains=initexTablesCommand,initexTablesParameterGlue,
     96      \ initexTablesParameterToken
     97 
     98 syn cluster initexCommand
     99      \ contains=initexBoxCommand,initexCharacterCommand,
    100      \ initexDebuggingCommand,initexFileIOCommand,
    101      \ initexFontsCommand,initexGlueCommand,
    102      \ initexHyphenationCommand,initexInsertsCommand,
    103      \ initexJobCommand,initexKernCommand,initexLogicCommand,
    104      \ initexMacroCommand,initexMarksCommand,initexMathCommand,
    105      \ initexParagraphCommand,initexPenaltiesCommand,initexRegistersCommand,
    106      \ initexTablesCommand
    107 
    108 syn match   initexBoxCommand                    display contains=@NoSpell
    109      \ '\\\%([hv]\=box\|[cx]\=leaders\|copy\|[hv]rule\|lastbox\|setbox\|un[hv]\%(box\|copy\)\|vtop\)\>'
    110 syn match   initexCharacterCommand              display contains=@NoSpell
    111      \ '\\\%([] ]\|\%(^^M\|accent\|char\|\%(lower\|upper\)case\|number\|romannumeral\|string\)\>\)'
    112 syn match   initexDebuggingCommand              display contains=@NoSpell
    113      \ '\\\%(\%(batch\|\%(non\|error\)stop\|scroll\)mode\|\%(err\)\=message\|meaning\|show\%(box\%(breadth\|depth\)\=\|lists\|the\)\)\>'
    114 syn match   initexFileIOCommand                 display contains=@NoSpell
    115      \ '\\\%(\%(close\|open\)\%(in\|out\)\|endinput\|immediate\|input\|read\|shipout\|special\|write\)\>'
    116 syn match   initexFontsCommand                  display contains=@NoSpell
    117      \ '\\\%(/\|fontname\)\>'
    118 syn match   initexGlueCommand                   display contains=@NoSpell
    119      \ '\\\%([hv]\|un\)skip\>'
    120 syn match   initexHyphenationCommand            display contains=@NoSpell
    121      \ '\\\%(discretionary\|hyphenation\|patterns\|setlanguage\)\>'
    122 syn match   initexInsertsCommand                display contains=@NoSpell
    123      \ '\\\%(insert\|split\%(bot\|first\)mark\|vsplit\)\>'
    124 syn match   initexJobCommand                    display contains=@NoSpell
    125      \ '\\\%(dump\|end\|jobname\)\>'
    126 syn match   initexKernCommand                   display contains=@NoSpell
    127      \ '\\\%(kern\|lower\|move\%(left\|right\)\|raise\|unkern\)\>'
    128 syn match   initexLogicCommand                  display contains=@NoSpell
    129      \ '\\\%(else\|fi\|if[a-zA-Z@]\+\|or\)\>'
    130 "      \ '\\\%(else\|fi\|if\%(case\|cat\|dim\|eof\|false\|[hv]box\|[hmv]mode\|inner\|num\|odd\|true\|void\|x\)\=\|or\)\>'
    131 syn match   initexMacroCommand                  display contains=@NoSpell
    132      \ '\\\%(after\%(assignment\|group\)\|\%(begin\|end\)group\|\%(end\)\=csname\|e\=def\|expandafter\|futurelet\|global\|let\|long\|noexpand\|outer\|relax\|the\)\>'
    133 syn match   initexMarksCommand                  display contains=@NoSpell
    134      \ '\\\%(bot\|first\|top\)\=mark\>'
    135 syn match   initexMathCommand                   display contains=@NoSpell
    136      \ '\\\%(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\)\>'
    137 syn match   initexParagraphCommand              display contains=@NoSpell
    138      \ '\\\%(ignorespaces\|indent\|no\%(boundary\|indent\)\|par\|vadjust\)\>'
    139 syn match   initexPenaltiesCommand              display contains=@NoSpell
    140      \ '\\\%(un\)\=penalty\>'
    141 syn match   initexRegistersCommand              display contains=@NoSpell
    142      \ '\\\%(advance\|\%(count\|dimen\|skip\|toks\)def\|divide\|multiply\)\>'
    143 syn match   initexTablesCommand                 display contains=@NoSpell
    144      \ '\\\%(cr\|crcr\|[hv]align\|noalign\|omit\|span\)\>'
    145 
    146 syn cluster initexDerivedCommand
    147      \ contains=initexGlueDerivedCommand,initexHyphenationDerivedCommand,
    148      \ initexMacroDerivedCommand,initexMathDerivedCommand
    149 
    150 syn match   initexGlueDerivedCommand            display contains=@NoSpell
    151      \ '\\\%([hv]fil\%(l\|neg\)\=\|[hv]ss\)\>'
    152 syn match   initexHyphenationDerivedCommand     display contains=@NoSpell
    153      \ '\\-'
    154 syn match   initexMacroDerivedCommand           display contains=@NoSpell
    155      \ '\\[gx]def\>'
    156 syn match   initexMathDerivedCommand            display contains=@NoSpell
    157      \ '\\\%(above\|atop\%(withdelims\)\=\|mathchardef\|over\|overwithdelims\)\>'
    158 
    159 syn cluster initexInternalQuantity
    160      \ contains=initexBoxInternalQuantity,initexCharacterInternalQuantity,
    161      \ initexFileIOInternalQuantity,initexFontsInternalQuantity,
    162      \ initexHyphenationInternalQuantity,initexJobInternalQuantity,
    163      \ initexKernInternalQuantity,initexMathInternalQuantity,
    164      \ initexPageInternalQuantity,initexParagraphInternalQuantity,
    165      \ initexPenaltiesInternalQuantity,initexRegistersInternalQuantity
    166 
    167 syn match   initexBoxInternalQuantity           display contains=@NoSpell
    168      \ '\\\%(badness\|dp\|ht\|prevdepth\|wd\)\>'
    169 syn match   initexCharacterInternalQuantity     display contains=@NoSpell
    170      \ '\\\%(catcode\|chardef\|\%([ul]c\|sf\)code\)\>'
    171 syn match   initexFileIOInternalQuantity        display contains=@NoSpell
    172      \ '\\inputlineno\>'
    173 syn match   initexFontsInternalQuantity         display contains=@NoSpell
    174      \ '\\\%(font\%(dimen\)\=\|nullfont\)\>'
    175 syn match   initexHyphenationInternalQuantity   display contains=@NoSpell
    176      \ '\\hyphenchar\>'
    177 syn match   initexJobInternalQuantity           display contains=@NoSpell
    178      \ '\\deadcycles\>'
    179 syn match   initexKernInternalQuantity          display contains=@NoSpell
    180      \ '\\lastkern\>'
    181 syn match   initexMathInternalQuantity          display contains=@NoSpell
    182      \ '\\\%(delcode\|mathcode\|muskip\|\%(\%(script\)\{1,2}\|text\)font\|skewchar\)\>'
    183 syn match   initexPageInternalQuantity          display contains=@NoSpell
    184      \ '\\page\%(depth\|fil\{1,3}stretch\|goal\|shrink\|stretch\|total\)\>'
    185 syn match   initexParagraphInternalQuantity     display contains=@NoSpell
    186      \ '\\\%(prevgraf\|spacefactor\)\>'
    187 syn match   initexPenaltiesInternalQuantity     display contains=@NoSpell
    188      \ '\\lastpenalty\>'
    189 syn match   initexRegistersInternalQuantity     display contains=@NoSpell
    190      \ '\\\%(count\|dimen\|skip\|toks\)\d\+\>'
    191 
    192 syn cluster initexParameterDimen
    193      \ contains=initexBoxParameterDimen,initexInsertsParameterDimen,
    194      \ initexMathParameterDimen,initexPageParameterDimen,
    195      \ initexParagraphParameterDimen
    196 
    197 syn match   initexBoxParameterDimen             display contains=@NoSpell
    198      \ '\\\%(boxmaxdepth\|[hv]fuzz\|overfullrule\)\>'
    199 syn match   initexInsertsParameterDimen         display contains=@NoSpell
    200      \ '\\splitmaxdepth\>'
    201 syn match   initexMathParameterDimen            display contains=@NoSpell
    202      \ '\\\%(delimitershortfall\|display\%(indent\|width\)\|mathsurround\|nulldelimiterspace\|predisplaysize\|scriptspace\)\>'
    203 syn match   initexPageParameterDimen            display contains=@NoSpell
    204      \ '\\\%([hv]offset\|maxdepth\|vsize\)\>'
    205 syn match   initexParagraphParameterDimen       display contains=@NoSpell
    206      \ '\\\%(emergencystretch\|\%(hang\|par\)indent\|hsize\|lineskiplimit\)\>'
    207 
    208 syn cluster initexParameterGlue
    209      \ contains=initexInsertsParameterGlue,initexMathParameterGlue,
    210      \ initexPageParameterGlue,initexParagraphParameterGlue,
    211      \ initexTablesParameterGlue
    212 
    213 syn match   initexInsertsParameterGlue          display contains=@NoSpell
    214      \ '\\splittopskip\>'
    215 syn match   initexMathParameterGlue             display contains=@NoSpell
    216      \ '\\\%(above\|below\)display\%(short\)\=skip\>'
    217 syn match   initexPageParameterGlue             display contains=@NoSpell
    218      \ '\\topskip\>'
    219 syn match   initexParagraphParameterGlue        display contains=@NoSpell
    220      \ '\\\%(baseline\|left\|line\|par\%(fill\)\=\|right\|x\=space\)skip\>'
    221 syn match   initexTablesParameterGlue           display contains=@NoSpell
    222      \ '\\tabskip\>'
    223 
    224 syn cluster initexParameterInteger
    225      \ contains=initexBoxParameterInteger,initexCharacterParameterInteger,
    226      \ initexDebuggingParameterInteger,initexHyphenationParameterInteger,
    227      \ initexInsertsParameterInteger,initexJobParameterInteger,
    228      \ initexMacroParameterInteger,initexMathParameterInteger,
    229      \ initexParagraphParameterInteger,initexPenaltiesParameterInteger,
    230 
    231 syn match   initexBoxParameterInteger           display contains=@NoSpell
    232      \ '\\[hv]badness\>'
    233 syn match   initexCharacterParameterInteger     display contains=@NoSpell
    234      \ '\\\%(\%(endline\|escape\|newline\)char\)\>'
    235 syn match   initexDebuggingParameterInteger     display contains=@NoSpell
    236      \ '\\\%(errorcontextlines\|pausing\|tracing\%(commands\|lostchars\|macros\|online\|output\|pages\|paragraphs\|restores|stats\)\)\>'
    237 syn match   initexHyphenationParameterInteger   display contains=@NoSpell
    238      \ '\\\%(defaulthyphenchar\|language\|\%(left\|right\)hyphenmin\|uchyph\)\>'
    239 syn match   initexInsertsParameterInteger       display contains=@NoSpell
    240      \ '\\\%(holdinginserts\)\>'
    241 syn match   initexJobParameterInteger           display contains=@NoSpell
    242      \ '\\\%(day\|mag\|maxdeadcycles\|month\|time\|year\)\>'
    243 syn match   initexMacroParameterInteger         display contains=@NoSpell
    244      \ '\\globaldefs\>'
    245 syn match   initexMathParameterInteger          display contains=@NoSpell
    246      \ '\\\%(binoppenalty\|defaultskewchar\|delimiterfactor\|displaywidowpenalty\|fam\|\%(post\|pre\)displaypenalty\|relpenalty\)\>'
    247 syn match   initexParagraphParameterInteger     display contains=@NoSpell
    248      \ '\\\%(\%(adj\|\%(double\|final\)hyphen\)demerits\|looseness\|\%(pre\)\=tolerance\)\>'
    249 syn match   initexPenaltiesParameterInteger     display contains=@NoSpell
    250      \ '\\\%(broken\|club\|exhyphen\|floating\|hyphen\|interline\|line\|output\|widow\)penalty\>'
    251 
    252 syn cluster initexParameterMuglue
    253      \ contains=initexMathParameterMuglue
    254 
    255 syn match   initexMathParameterMuglue           display contains=@NoSpell
    256      \ '\\\%(med\|thick\|thin\)muskip\>'
    257 
    258 syn cluster initexParameterDimen
    259      \ contains=initexBoxParameterToken,initexDebuggingParameterToken,
    260      \ initexFileIOParameterToken,initexMathParameterToken,
    261      \ initexParagraphParameterToken,initexTablesParameterToken
    262 
    263 syn match   initexBoxParameterToken             display contains=@NoSpell
    264      \ '\\every[hv]box\>'
    265 syn match   initexDebuggingParameterToken       display contains=@NoSpell
    266      \ '\\errhelp\>'
    267 syn match   initexFileIOParameterToken          display contains=@NoSpell
    268      \ '\\output\>'
    269 syn match   initexMathParameterToken            display contains=@NoSpell
    270      \ '\\every\%(display\|math\)\>'
    271 syn match   initexParagraphParameterToken       display contains=@NoSpell
    272      \ '\\everypar\>'
    273 syn match   initexTablesParameterToken          display contains=@NoSpell
    274      \ '\\everycr\>'
    275 
    276 
    277 hi def link initexCharacter                     Character
    278 hi def link initexNumber                        Number
    279 
    280 hi def link initexIdentifier                    Identifier
    281 
    282 hi def link initexStatement                     Statement
    283 hi def link initexConditional                   Conditional
    284 
    285 hi def link initexPreProc                       PreProc
    286 hi def link initexMacro                         Macro
    287 
    288 hi def link initexType                          Type
    289 
    290 hi def link initexDebug                         Debug
    291 
    292 hi def link initexTodo                          Todo
    293 hi def link initexComment                       Comment
    294 hi def link initexDimension                     initexNumber
    295 
    296 hi def link initexCommand                       initexStatement
    297 hi def link initexBoxCommand                    initexCommand
    298 hi def link initexCharacterCommand              initexCharacter
    299 hi def link initexDebuggingCommand              initexDebug
    300 hi def link initexFileIOCommand                 initexCommand
    301 hi def link initexFontsCommand                  initexType
    302 hi def link initexGlueCommand                   initexCommand
    303 hi def link initexHyphenationCommand            initexCommand
    304 hi def link initexInsertsCommand                initexCommand
    305 hi def link initexJobCommand                    initexPreProc
    306 hi def link initexKernCommand                   initexCommand
    307 hi def link initexLogicCommand                  initexConditional
    308 hi def link initexMacroCommand                  initexMacro
    309 hi def link initexMarksCommand                  initexCommand
    310 hi def link initexMathCommand                   initexCommand
    311 hi def link initexParagraphCommand              initexCommand
    312 hi def link initexPenaltiesCommand              initexCommand
    313 hi def link initexRegistersCommand              initexCommand
    314 hi def link initexTablesCommand                 initexCommand
    315 
    316 hi def link initexDerivedCommand                initexStatement
    317 hi def link initexGlueDerivedCommand            initexDerivedCommand
    318 hi def link initexHyphenationDerivedCommand     initexDerivedCommand
    319 hi def link initexMacroDerivedCommand           initexDerivedCommand
    320 hi def link initexMathDerivedCommand            initexDerivedCommand
    321 
    322 hi def link initexInternalQuantity              initexIdentifier
    323 hi def link initexBoxInternalQuantity           initexInternalQuantity
    324 hi def link initexCharacterInternalQuantity     initexInternalQuantity
    325 hi def link initexFileIOInternalQuantity        initexInternalQuantity
    326 hi def link initexFontsInternalQuantity         initexInternalQuantity
    327 hi def link initexHyphenationInternalQuantity   initexInternalQuantity
    328 hi def link initexJobInternalQuantity           initexInternalQuantity
    329 hi def link initexKernInternalQuantity          initexInternalQuantity
    330 hi def link initexMathInternalQuantity          initexInternalQuantity
    331 hi def link initexPageInternalQuantity          initexInternalQuantity
    332 hi def link initexParagraphInternalQuantity     initexInternalQuantity
    333 hi def link initexPenaltiesInternalQuantity     initexInternalQuantity
    334 hi def link initexRegistersInternalQuantity     initexInternalQuantity
    335 
    336 hi def link initexParameterDimen                initexNumber
    337 hi def link initexBoxParameterDimen             initexParameterDimen
    338 hi def link initexInsertsParameterDimen         initexParameterDimen
    339 hi def link initexMathParameterDimen            initexParameterDimen
    340 hi def link initexPageParameterDimen            initexParameterDimen
    341 hi def link initexParagraphParameterDimen       initexParameterDimen
    342 
    343 hi def link initexParameterGlue                 initexNumber
    344 hi def link initexInsertsParameterGlue          initexParameterGlue
    345 hi def link initexMathParameterGlue             initexParameterGlue
    346 hi def link initexPageParameterGlue             initexParameterGlue
    347 hi def link initexParagraphParameterGlue        initexParameterGlue
    348 hi def link initexTablesParameterGlue           initexParameterGlue
    349 
    350 hi def link initexParameterInteger              initexNumber
    351 hi def link initexBoxParameterInteger           initexParameterInteger
    352 hi def link initexCharacterParameterInteger     initexParameterInteger
    353 hi def link initexDebuggingParameterInteger     initexParameterInteger
    354 hi def link initexHyphenationParameterInteger   initexParameterInteger
    355 hi def link initexInsertsParameterInteger       initexParameterInteger
    356 hi def link initexJobParameterInteger           initexParameterInteger
    357 hi def link initexMacroParameterInteger         initexParameterInteger
    358 hi def link initexMathParameterInteger          initexParameterInteger
    359 hi def link initexParagraphParameterInteger     initexParameterInteger
    360 hi def link initexPenaltiesParameterInteger     initexParameterInteger
    361 
    362 hi def link initexParameterMuglue               initexNumber
    363 hi def link initexMathParameterMuglue           initexParameterMuglue
    364 
    365 hi def link initexParameterToken                initexIdentifier
    366 hi def link initexBoxParameterToken             initexParameterToken
    367 hi def link initexDebuggingParameterToken       initexParameterToken
    368 hi def link initexFileIOParameterToken          initexParameterToken
    369 hi def link initexMathParameterToken            initexParameterToken
    370 hi def link initexParagraphParameterToken       initexParameterToken
    371 hi def link initexTablesParameterToken          initexParameterToken
    372 
    373 let b:current_syntax = "initex"
    374 
    375 let &cpo = s:cpo_save
    376 unlet s:cpo_save