home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / dos / syntax / initex.vim < prev    next >
Encoding:
Text File  |  2010-08-15  |  19.1 KB  |  377 lines

  1. " Vim syntax file
  2. " Language:         TeX (core definition)
  3. " 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
  377.