codekingpro/portable-devtools
115k
1" Vim syntax file2" Language: TeX (plain.tex format)3" Previous Maintainer: Nikolai Weibull <now@bitwi.se>4" Latest Revision: 2006-10-265 6if exists("b:current_syntax")7 finish8endif9 10let s:cpo_save = &cpo11set cpo&vim12 13syn match plaintexControlSequence display contains=@NoSpell14 \ '\\[a-zA-Z@]\+'15 16runtime! syntax/initex.vim17unlet b:current_syntax18 19syn match plaintexComment display20 \ contains=ALLBUT,initexComment,plaintexComment21 \ '^\s*%[CDM].*$'22 23if exists("g:plaintex_delimiters")24 syn match plaintexDelimiter display '[][{}]'25endif26 27syn match plaintexRepeat display contains=@NoSpell28 \ '\\\%(loop\|repeat\)\>'29 30syn match plaintexCommand display contains=@NoSpell31 \ '\\\%(plainoutput\|TeX\)\>'32syn match plaintexBoxCommand display contains=@NoSpell33 \ '\\\%(null\|strut\)\>'34syn match plaintexDebuggingCommand display contains=@NoSpell35 \ '\\\%(showhyphens\|tracingall\|wlog\)\>'36syn match plaintexFontsCommand display contains=@NoSpell37 \ '\\\%(bf\|\%(five\|seven\)\%(bf\|i\|rm\|sy\)\|it\|oldstyle\|rm\|sl\|ten\%(bf\|ex\|it\=\|rm\|sl\|sy\|tt\)\|tt\)\>'38syn match plaintexGlueCommand display contains=@NoSpell39 \ '\\\%(\%(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\)\>'40syn match plaintexInsertsCommand display contains=@NoSpell41 \ '\\\%(\%(end\|top\)insert\|v\=footnote\)\>'42syn match plaintexJobCommand display contains=@NoSpell43 \ '\\\%(bye\|fmt\%(name\|version\)\)\>'44syn match plaintexInsertsCommand display contains=@NoSpell45 \ '\\\%(mid\|page\)insert\>'46syn match plaintexKernCommand display contains=@NoSpell47 \ '\\\%(en\|\%(neg\)\=thin\)space\>'48syn match plaintexMacroCommand display contains=@NoSpell49 \ '\\\%(active\|[be]group\|empty\)\>'50syn match plaintexPageCommand display contains=@NoSpell51 \ '\\\%(\%(super\)\=eject\|nopagenumbers\|\%(normal\|ragged\)bottom\)\>'52syn match plaintexParagraphCommand display contains=@NoSpell53 \ '\\\%(endgraf\|\%(non\)\=frenchspacing\|hang\|item\%(item\)\=\|narrower\|normalbaselines\|obey\%(lines\|spaces\)\|openup\|proclaim\|\%(tt\)\=raggedright\|textindent\)\>'54syn match plaintexPenaltiesCommand display contains=@NoSpell55 \ '\\\%(allow\|big\|fil\|good\|med\|no\|small\)\=break\>'56syn match plaintexRegistersCommand display contains=@NoSpell57 \ '\\\%(advancepageno\|new\%(box\|count\|dimen\|fam\|help\|if\|insert\|language\|muskip\|read\|skip\|toks\|write\)\)\>'58syn match plaintexTablesCommand display contains=@NoSpell59 \ '&\|\\+\|\\\%(cleartabs\|endline\|hidewidth\|ialign\|multispan\|settabs\|tabalign\)\>'60 61if !exists("g:plaintex_no_math")62 syn region plaintexMath matchgroup=plaintexMath63 \ contains=@plaintexMath,@NoSpell64 \ start='\$' skip='\\\\\|\\\$' end='\$'65 syn region plaintexMath matchgroup=plaintexMath66 \ contains=@plaintexMath,@NoSpell keepend67 \ start='\$\$' skip='\\\\\|\\\$' end='\$\$'68endif69 70" Keep this after plaintexMath, as we don’t want math mode started at a \$.71syn match plaintexCharacterCommand display contains=@NoSpell72 \ /\\\%(["#$%&'.=^_`~]\|``\|''\|-\{2,3}\|[?!]`\|^^L\|\~\|\%(a[ae]\|A[AE]\|acute\|[cdHoOPStuvijlL]\|copyright\|d\=dag\|folio\|ldotp\|[lr]q\|oe\|OE\|slash\|ss\|underbar\)\>\)/73 74syn cluster plaintexMath75 \ contains=plaintexMathCommand,plaintexMathBoxCommand,76 \ plaintexMathCharacterCommand,plaintexMathDelimiter,77 \ plaintexMathFontsCommand,plaintexMathLetter,plaintexMathSymbol,78 \ plaintexMathFunction,plaintexMathOperator,plaintexMathPunctuation,79 \ plaintexMathRelation80 81syn match plaintexMathCommand display contains=@NoSpell contained82 \ '\\\%([!*,;>{}|_^]\|\%([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\)\>\)'83syn match plaintexMathBoxCommand display contains=@NoSpell contained84 \ '\\\%([hv]\=phantom\|mathstrut\|smash\)\>'85syn match plaintexMathCharacterCommand display contains=@NoSpell contained86 \ '\\\%(b\|bar\|breve\|check\|d\=dots\=\|grave\|hat\|[lv]dots\|tilde\|vec\|wide\%(hat\|tilde\)\)\>'87syn match plaintexMathDelimiter display contains=@NoSpell contained88 \ '\\\%(brace\%(vert\)\=\|brack\|cases\|choose\|[lr]\%(angle\|brace\|brack\|ceil\|floor\|group\)\|over\%(brace\|\%(left\|right\)arrow\)\|underbrace\)\>'89syn match plaintexMathFontsCommand display contains=@NoSpell contained90 \ '\\\%(\%(bf\|it\|sl\|tt\)fam\|cal\|mit\)\>'91syn match plaintexMathLetter display contains=@NoSpell contained92 \ '\\\%(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\)\>'93syn match plaintexMathSymbol display contains=@NoSpell contained94 \ '\\\%(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\)\>'95syn match plaintexMathFunction display contains=@NoSpell contained96 \ '\\\%(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\)\>'97syn match plaintexMathOperator display contains=@NoSpell contained98 \ '\\\%(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\)\>'99syn match plaintexMathPunctuation display contains=@NoSpell contained100 \ '\\\%(colon\)\>'101syn match plaintexMathRelation display contains=@NoSpell contained102 \ '\\\%(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 104syn match plaintexParameterDimen display contains=@NoSpell105 \ '\\maxdimen\>'106syn match plaintexMathParameterDimen display contains=@NoSpell107 \ '\\jot\>'108syn match plaintexParagraphParameterGlue display contains=@NoSpell109 \ '\\\%(\%(big\|med\|small\)skipamount\|normalbaselineskip\|normallineskip\%(limit\)\=\)\>'110 111syn match plaintexFontParameterInteger display contains=@NoSpell112 \ '\\magstep\%(half\)\=\>'113syn match plaintexJobParameterInteger display contains=@NoSpell114 \ '\\magnification\>'115syn match plaintexPageParameterInteger display contains=@NoSpell116 \ '\\pageno\>'117 118syn match plaintexPageParameterToken display contains=@NoSpell119 \ '\\\%(foot\|head\)line\>'120 121hi def link plaintexOperator Operator122 123hi def link plaintexDelimiter Delimiter124 125hi def link plaintexControlSequence Identifier126hi def link plaintexComment Comment127hi def link plaintexInclude Include128hi def link plaintexRepeat Repeat129 130hi def link plaintexCommand initexCommand131hi def link plaintexBoxCommand plaintexCommand132hi def link plaintexCharacterCommand initexCharacterCommand133hi def link plaintexDebuggingCommand initexDebuggingCommand134hi def link plaintexFontsCommand initexFontsCommand135hi def link plaintexGlueCommand plaintexCommand136hi def link plaintexInsertsCommand plaintexCommand137hi def link plaintexJobCommand initexJobCommand138hi def link plaintexKernCommand plaintexCommand139hi def link plaintexMacroCommand initexMacroCommand140hi def link plaintexPageCommand plaintexCommand141hi def link plaintexParagraphCommand plaintexCommand142hi def link plaintexPenaltiesCommand plaintexCommand143hi def link plaintexRegistersCommand plaintexCommand144hi def link plaintexTablesCommand plaintexCommand145 146hi def link plaintexMath String147hi def link plaintexMathCommand plaintexCommand148hi def link plaintexMathBoxCommand plaintexBoxCommand149hi def link plaintexMathCharacterCommand plaintexCharacterCommand150hi def link plaintexMathDelimiter plaintexDelimiter151hi def link plaintexMathFontsCommand plaintexFontsCommand152hi def link plaintexMathLetter plaintexMathCharacterCommand153hi def link plaintexMathSymbol plaintexMathLetter154hi def link plaintexMathFunction Function155hi def link plaintexMathOperator plaintexOperator156hi def link plaintexMathPunctuation plaintexCharacterCommand157hi def link plaintexMathRelation plaintexOperator158 159hi def link plaintexParameterDimen initexParameterDimen160hi def link plaintexMathParameterDimen initexMathParameterDimen161hi def link plaintexParagraphParameterGlue initexParagraphParameterGlue162hi def link plaintexFontParameterInteger initexFontParameterInteger163hi def link plaintexJobParameterInteger initexJobParameterInteger164hi def link plaintexPageParameterInteger initexPageParameterInteger165hi def link plaintexPageParameterToken initexParameterToken166 167let b:current_syntax = "plaintex"168 169let &cpo = s:cpo_save170unlet s:cpo_save171 