1" Vim syntax file 2" Language: ConTeXt typesetting engine 3" Maintainer: Nikolai Weibull <[email protected]> 4" Latest Revision: 2005-07-04 5 6if exists("b:current_syntax") 7 finish 8endif 9 10let s:cpo_save = &cpo 11set cpo&vim 12 13syn keyword contextTodo TODO FIXME XXX NOTE 14 15syn region contextComment display oneline start='%' end='$' 16 \ contains=contextTodo 17syn region contextComment display oneline start='^\s*%[CDM]' end='$' 18 \ contains=ALL 19 20syn match contextStatement display '\\[a-zA-Z@]\+' contains=@NoSpell 21 22syn match contextBlockDelim display '\\\%(start\|stop\)\a\+' 23 \ contains=@NoSpell 24 25syn match contextDelimiter '[][{}]' 26 27syn match contextEscaped display '\\\_[\{}|&%$ ]' 28syn region contextEscaped display matchgroup=contextPreProc 29 \ start='\\type\z(\A\)' end='\z1' 30syn region contextEscaped display matchgroup=contextPreProc 31 \ start='\\type\={' end='}' 32syn region contextEscaped display matchgroup=contextPreProc 33 \ start='\\type\=<<' end='>>' 34syn region contextEscaped matchgroup=contextPreProc 35 \ start='\\start\z(\a*\%(typing\|typen\)\)' 36 \ end='\\stop\z1' 37syn region contextEscaped display matchgroup=contextPreProc 38 \ start='\\\h\+Type{' end='}' 39syn region contextEscaped display matchgroup=contextPreProc 40 \ start='\\Typed\h\+{' end='}' 41 42"syn region contextMath matchgroup=contextMath start='\$' end='\$' 43" \ contains=contextStatement 44 45syn match contextBuiltin '\\\%(newif\|def\|gdef\|global\|let\|glet\|bgroup\)\>' 46 \ contains=@NoSpell 47syn match contextBuiltin '\\\%(begingroup\|egroup\|endgroup\|long\|catcode\)\>' 48 \ contains=@NoSpell 49syn match contextBuiltin '\\\%(unprotect\|unexpanded\|if\|else\|fi\|ifx\)\>' 50 \ contains=@NoSpell 51syn match contextBuiltin '\\\%(futurelet\|protect\)\>' contains=@NoSpell 52syn match contextBuiltin '\\\%([lr]q\)\>' contains=@NoSpell 53 54syn match contextPreProc '^\s*\\\%(start\|stop\)\=\%(component\|environment\|project\|product\).*$' 55 \ contains=@NoSpell 56syn match contextPreProc '^\s*\\input\s\+.*$' contains=@NoSpell 57 58syn match contextSectioning '\\chapter\>' contains=@NoSpell 59syn match contextSectioning '\\\%(sub\)*section\>' contains=@NoSpell 60 61syn match contextSpecial '\\crlf\>\|\\par\>\|-\{2,3}\||[<>/]\=|' 62 \ contains=@NoSpell 63syn match contextSpecial '\\[`'"]' 64syn match contextSpecial +\\char\%(\d\{1,3}\|'\o\{1,3}\|"\x\{1,2}\)\>+ 65 \ contains=@NoSpell 66syn match contextSpecial '\^\^.' 67syn match contextSpecial '`\%(\\.\|\^\^.\|.\)' 68 69syn match contextStyle '\\\%(em\|tt\|rm\|ss\|hw\|cg\)\>' 70 \ contains=@NoSpell 71syn match contextFont '\\\%(CAP\|Cap\|cap\|Caps\|kap\|nocap\)\>' 72 \ contains=@NoSpell 73syn match contextFont '\\\%(Word\|WORD\|Words\|WORDS\)\>' 74 \ contains=@NoSpell 75syn match contextFont '\\\%(vi\{1,3}\|ix\|xi\{0,2}\)\>' 76 \ contains=@NoSpell 77syn match contextFont '\\\%(tf[abcdx]\|bfx\|[is]lx\)\>' 78 \ contains=@NoSpell 79syn match contextFont '\\\%(b[fsi]\|s[cl]\|it\|os\|mf\)\>' 80 \ contains=@NoSpell 81 82syn match contextDimension '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|mm\|dd\|sp\|e[mx]\)\>' 83 \ contains=@NoSpell 84 85hi def link contextTodo Todo 86hi def link contextComment Comment 87hi def link contextEscaped Special 88hi def link contextStatement Identifier 89hi def link contextMath String 90hi def link contextBlockDelim Keyword 91hi def link contextBuiltin Keyword 92hi def link contextDelimiter Delimiter 93hi def link contextPreProc PreProc 94hi def link contextSectioning PreProc 95hi def link contextSpecial Special 96hi def link contextStyle contextType 97hi def link contextFont contextType 98hi def link contextType Type 99hi def link contextDimension Number 100 101let b:current_syntax = "context" 102 103let &cpo = s:cpo_save 104unlet s:cpo_save 105