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 / plaintex.vim < prev    next >
Encoding:
Text File  |  2010-08-15  |  10.2 KB  |  171 lines

  1. " Vim syntax file
  2. " Language:         TeX (plain.tex format)
  3. " Maintainer:       Nikolai Weibull <now@bitwi.se>
  4. " Latest Revision:  2006-10-26
  5.  
  6. if exists("b:current_syntax")
  7.   finish
  8. endif
  9.  
  10. let s:cpo_save = &cpo
  11. set cpo&vim
  12.  
  13. syn match   plaintexControlSequence         display contains=@NoSpell
  14.       \ '\\[a-zA-Z@]\+'
  15.  
  16. runtime! syntax/initex.vim
  17. unlet b:current_syntax
  18.  
  19. syn match   plaintexComment                 display
  20.       \ contains=ALLBUT,initexComment,plaintexComment
  21.       \ '^\s*%[CDM].*$'
  22.  
  23. if exists("g:plaintex_delimiters")
  24.   syn match   plaintexDelimiter             display '[][{}]'
  25. endif
  26.  
  27. syn match   plaintexRepeat                  display contains=@NoSpell
  28.       \ '\\\%(loop\|repeat\)\>'
  29.  
  30. syn match   plaintexCommand                 display contains=@NoSpell
  31.       \ '\\\%(plainoutput\|TeX\)\>'
  32. syn match   plaintexBoxCommand              display contains=@NoSpell
  33.       \ '\\\%(null\|strut\)\>'
  34. syn match   plaintexDebuggingCommand        display contains=@NoSpell
  35.       \ '\\\%(showhyphens\|tracingall\|wlog\)\>'
  36. syn match   plaintexFontsCommand            display contains=@NoSpell
  37.       \ '\\\%(bf\|\%(five\|seven\)\%(bf\|i\|rm\|sy\)\|it\|oldstyle\|rm\|sl\|ten\%(bf\|ex\|it\=\|rm\|sl\|sy\|tt\)\|tt\)\>'
  38. syn match   plaintexGlueCommand             display contains=@NoSpell
  39.       \ '\\\%(\%(big\|en\|med\|\%(no\|off\)interline\|small\)skip\|\%(center\|left\|right\)\=line\|\%(dot\|\%(left\|right\)arrow\)fill\|[hv]glue\|[lr]lap\|q\=quad\|space\|topglue\)\>'
  40. syn match   plaintexInsertsCommand          display contains=@NoSpell
  41.       \ '\\\%(\%(end\|top\)insert\|v\=footnote\)\>'
  42. syn match   plaintexJobCommand              display contains=@NoSpell
  43.       \ '\\\%(bye\|fmt\%(name\|version\)\)\>'
  44. syn match   plaintexInsertsCommand          display contains=@NoSpell
  45.       \ '\\\%(mid\|page\)insert\>'
  46. syn match   plaintexKernCommand             display contains=@NoSpell
  47.       \ '\\\%(en\|\%(neg\)\=thin\)space\>'
  48. syn match   plaintexMacroCommand            display contains=@NoSpell
  49.       \ '\\\%(active\|[be]group\|empty\)\>'
  50. syn match   plaintexPageCommand             display contains=@NoSpell
  51.       \ '\\\%(\%(super\)\=eject\|nopagenumbers\|\%(normal\|ragged\)bottom\)\>'
  52. syn match   plaintexParagraphCommand        display contains=@NoSpell
  53.       \ '\\\%(endgraf\|\%(non\)\=frenchspacing\|hang\|item\%(item\)\=\|narrower\|normalbaselines\|obey\%(lines\|spaces\)\|openup\|proclaim\|\%(tt\)\=raggedright\|textindent\)\>'
  54. syn match   plaintexPenaltiesCommand        display contains=@NoSpell
  55.       \ '\\\%(allow\|big\|fil\|good\|med\|no\|small\)\=break\>'
  56. syn match   plaintexRegistersCommand        display contains=@NoSpell
  57.       \ '\\\%(advancepageno\|new\%(box\|count\|dimen\|fam\|help\|if\|insert\|language\|muskip\|read\|skip\|toks\|write\)\)\>'
  58. syn match   plaintexTablesCommand           display contains=@NoSpell
  59.       \ '&\|\\+\|\\\%(cleartabs\|endline\|hidewidth\|ialign\|multispan\|settabs\|tabalign\)\>'
  60.  
  61. if !exists("g:plaintex_no_math")
  62.   syn region  plaintexMath                  matchgroup=plaintexMath
  63.       \ contains=@plaintexMath,@NoSpell
  64.       \ start='\$' skip='\\\\\|\\\$' end='\$'
  65.   syn region  plaintexMath                  matchgroup=plaintexMath
  66.       \ contains=@plaintexMath,@NoSpell keepend
  67.       \ start='\$\$' skip='\\\\\|\\\$' end='\$\$'
  68. endif
  69.  
  70. " Keep this after plaintexMath, as we donΓÇÖt want math mode started at a \$.
  71. syn match   plaintexCharacterCommand        display contains=@NoSpell
  72.       \ /\\\%(["#$%&'.=^_`~]\|``\|''\|-\{2,3}\|[?!]`\|^^L\|\~\|\%(a[ae]\|A[AE]\|acute\|[cdHoOPStuvijlL]\|copyright\|d\=dag\|folio\|ldotp\|[lr]q\|oe\|OE\|slash\|ss\|underbar\)\>\)/
  73.  
  74. syn cluster plaintexMath
  75.       \ contains=plaintexMathCommand,plaintexMathBoxCommand,
  76.       \ plaintexMathCharacterCommand,plaintexMathDelimiter,
  77.       \ plaintexMathFontsCommand,plaintexMathLetter,plaintexMathSymbol,
  78.       \ plaintexMathFunction,plaintexMathOperator,plaintexMathPunctuation,
  79.       \ plaintexMathRelation
  80.  
  81. syn match   plaintexMathCommand             display contains=@NoSpell contained
  82.       \ '\\\%([!*,;>{}|_^]\|\%([aA]rrowvert\|[bB]ig\%(g[lmr]\=\|r\)\=\|\%(border\|p\)\=matrix\|displaylines\|\%(down\|up\)bracefill\|eqalign\%(no\)\|leqalignno\|[lr]moustache\|mathpalette\|root\|s[bp]\|skew\|sqrt\)\>\)'
  83. syn match   plaintexMathBoxCommand          display contains=@NoSpell contained
  84.       \ '\\\%([hv]\=phantom\|mathstrut\|smash\)\>'
  85. syn match   plaintexMathCharacterCommand    display contains=@NoSpell contained
  86.       \ '\\\%(b\|bar\|breve\|check\|d\=dots\=\|grave\|hat\|[lv]dots\|tilde\|vec\|wide\%(hat\|tilde\)\)\>'
  87. syn match   plaintexMathDelimiter           display contains=@NoSpell contained
  88.       \ '\\\%(brace\%(vert\)\=\|brack\|cases\|choose\|[lr]\%(angle\|brace\|brack\|ceil\|floor\|group\)\|over\%(brace\|\%(left\|right\)arrow\)\|underbrace\)\>'
  89. syn match   plaintexMathFontsCommand        display contains=@NoSpell contained
  90.       \ '\\\%(\%(bf\|it\|sl\|tt\)fam\|cal\|mit\)\>'
  91. syn match   plaintexMathLetter              display contains=@NoSpell contained
  92.       \ '\\\%(aleph\|alpha\|beta\|chi\|[dD]elta\|ell\|epsilon\|eta\|[gG]amma\|[ij]math\|iota\|kappa\|[lL]ambda\|[mn]u\|[oO]mega\|[pP][hs]\=i\|rho\|[sS]igma\|tau\|[tT]heta\|[uU]psilon\|var\%(epsilon\|ph\=i\|rho\|sigma\|theta\)\|[xX]i\|zeta\)\>'
  93. syn match   plaintexMathSymbol              display contains=@NoSpell contained
  94.       \ '\\\%(angle\|backslash\|bot\|clubsuit\|emptyset\|epsilon\|exists\|flat\|forall\|hbar\|heartsuit\|Im\|infty\|int\|lnot\|nabla\|natural\|neg\|pmod\|prime\|Re\|sharp\|smallint\|spadesuit\|surd\|top\|triangle\%(left\|right\)\=\|vdash\|wp\)\>'
  95. syn match   plaintexMathFunction            display contains=@NoSpell contained
  96.       \ '\\\%(arc\%(cos\|sin\|tan\)\|arg\|\%(cos\|sin\|tan\)h\=\|coth\=\|csc\|de[gt]\|dim\|exp\|gcd\|hom\|inf\|ker\|lo\=g\|lim\%(inf\|sup\)\=\|ln\|max\|min\|Pr\|sec\|sup\)\>'
  97. syn match   plaintexMathOperator            display contains=@NoSpell contained
  98.       \ '\\\%(amalg\|ast\|big\%(c[au]p\|circ\|o\%(dot\|plus\|times\|sqcup\)\|triangle\%(down\|up\)\|uplus\|vee\|wedge\|bmod\|bullet\)\|c[au]p\|cdot[ps]\=\|circ\|coprod\|d\=dagger\|diamond\%(suit\)\=\|div\|land\|lor\|mp\|o\%(dot\|int\|minus\|plus\|slash\|times\)pm\|prod\|setminus\|sqc[au]p\|sqsu[bp]seteq\|star\|su[bp]set\%(eq\)\=\|sum\|times\|uplus\|vee\|wedge\|wr\)\>'
  99. syn match   plaintexMathPunctuation         display contains=@NoSpell contained
  100.       \ '\\\%(colon\)\>'
  101. syn match   plaintexMathRelation            display contains=@NoSpell contained
  102.       \ '\\\%(approx\|asymp\|bowtie\|buildrel\|cong\|dashv\|doteq\|[dD]ownarrow\|equiv\|frown\|geq\=\|gets\|gg\|hook\%(left\|right\)arrow\|iff\|in\|leq\=\|[lL]eftarrow\|\%(left\|right\)harpoon\%(down\|up\)\|[lL]eftrightarrow\|ll\|[lL]ongleftrightarrow\|longmapsto\|[lL]ongrightarrow\|mapsto\|mid\|models\|[ns][ew]arrow\|neq\=\|ni\|not\%(in\)\=\|owns\|parallel\|perp\|prec\%(eq\)\=\|propto\|[rR]ightarrow\|rightleftharpoons\|sim\%(eq\)\=\|smile\|succ\%(eq\)\=\|to\|[uU]parrow\|[uU]pdownarrow\|[vV]ert\)\>'
  103.  
  104. syn match   plaintexParameterDimen          display contains=@NoSpell
  105.       \ '\\maxdimen\>'
  106. syn match   plaintexMathParameterDimen      display contains=@NoSpell
  107.       \ '\\jot\>'
  108. syn match   plaintexParagraphParameterGlue  display contains=@NoSpell
  109.       \ '\\\%(\%(big\|med\|small\)skipamount\|normalbaselineskip\|normallineskip\%(limit\)\=\)\>'
  110.  
  111. syn match   plaintexFontParameterInteger    display contains=@NoSpell
  112.       \ '\\magstep\%(half\)\=\>'
  113. syn match   plaintexJobParameterInteger     display contains=@NoSpell
  114.       \ '\\magnification\>'
  115. syn match   plaintexPageParameterInteger    display contains=@NoSpell
  116.       \ '\\pageno\>'
  117.  
  118. syn match   plaintexPageParameterToken      display contains=@NoSpell
  119.       \ '\\\%(foot\|head\)line\>'
  120.  
  121. hi def link plaintexOperator                Operator
  122.  
  123. hi def link plaintexDelimiter               Delimiter
  124.  
  125. hi def link plaintexControlSequence         Identifier
  126. hi def link plaintexComment                 Comment
  127. hi def link plaintexInclude                 Include
  128. hi def link plaintexRepeat                  Repeat
  129.  
  130. hi def link plaintexCommand                 initexCommand
  131. hi def link plaintexBoxCommand              plaintexCommand
  132. hi def link plaintexCharacterCommand        initexCharacterCommand
  133. hi def link plaintexDebuggingCommand        initexDebuggingCommand
  134. hi def link plaintexFontsCommand            initexFontsCommand
  135. hi def link plaintexGlueCommand             plaintexCommand
  136. hi def link plaintexInsertsCommand          plaintexCommand
  137. hi def link plaintexJobCommand              initexJobCommand
  138. hi def link plaintexKernCommand             plaintexCommand
  139. hi def link plaintexMacroCommand            initexMacroCommand
  140. hi def link plaintexPageCommand             plaintexCommand
  141. hi def link plaintexParagraphCommand        plaintexCommand
  142. hi def link plaintexPenaltiesCommand        plaintexCommand
  143. hi def link plaintexRegistersCommand        plaintexCommand
  144. hi def link plaintexTablesCommand           plaintexCommand
  145.  
  146. hi def link plaintexMath                    String
  147. hi def link plaintexMathCommand             plaintexCommand
  148. hi def link plaintexMathBoxCommand          plaintexBoxCommand
  149. hi def link plaintexMathCharacterCommand    plaintexCharacterCommand
  150. hi def link plaintexMathDelimiter           plaintexDelimiter
  151. hi def link plaintexMathFontsCommand        plaintexFontsCommand
  152. hi def link plaintexMathLetter              plaintexMathCharacterCommand
  153. hi def link plaintexMathSymbol              plaintexMathLetter
  154. hi def link plaintexMathFunction            Function
  155. hi def link plaintexMathOperator            plaintexOperator
  156. hi def link plaintexMathPunctuation         plaintexCharacterCommand
  157. hi def link plaintexMathRelation            plaintexOperator
  158.  
  159. hi def link plaintexParameterDimen          initexParameterDimen
  160. hi def link plaintexMathParameterDimen      initexMathParameterDimen
  161. hi def link plaintexParagraphParameterGlue  initexParagraphParameterGlue
  162. hi def link plaintexFontParameterInteger    initexFontParameterInteger
  163. hi def link plaintexJobParameterInteger     initexJobParameterInteger
  164. hi def link plaintexPageParameterInteger    initexPageParameterInteger
  165. hi def link plaintexPageParameterToken      initexParameterToken
  166.  
  167. let b:current_syntax = "plaintex"
  168.  
  169. let &cpo = s:cpo_save
  170. unlet s:cpo_save
  171.