diff options
Diffstat (limited to 'runtime/syntax/context.vim')
-rw-r--r-- | runtime/syntax/context.vim | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/runtime/syntax/context.vim b/runtime/syntax/context.vim new file mode 100644 index 000000000..4649b6c8f --- /dev/null +++ b/runtime/syntax/context.vim @@ -0,0 +1,104 @@ +" Vim syntax file +" Language: ConTeXt typesetting engine +" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se> +" Latest Revision: 2005-06-29 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword contextTodo TODO FIXME XXX NOTE + +syn region contextComment display oneline matchgroup=contextComment + \ start='%' end='$' contains=contextTodo +syn region contextComment display oneline matchgroup=contextComment + \ start='^\s*%[CDM]' end='$' contains=ALL + +syn match contextStatement display '\\[a-zA-Z@]\+' contains=@NoSpell + +syn match contextBlockDelim display '\\\%(start\|stop\)\a\+' + \ contains=@NoSpell + +syn match contextDelimiter '[][{}]' + +syn match contextEscaped display '\\\_[\{}|&%$ ]' +syn region contextEscaped display matchgroup=contextPreProc + \ start='\\type\z(\A\)' end='\z1' +syn region contextEscaped display matchgroup=contextPreProc + \ start='\\type\={' end='}' +syn region contextEscaped display matchgroup=contextPreProc + \ start='\\type\=<<' end='>>' +syn region contextEscaped matchgroup=contextPreProc + \ start='\\start\z(\a*\%(typing\|typen\)\)' + \ end='\\stop\z1' +syn region contextEscaped display matchgroup=contextPreProc + \ start='\\\h\+Type{' end='}' +syn region contextEscaped display matchgroup=contextPreProc + \ start='\\Typed\h\+{' end='}' + +"syn region contextMath matchgroup=contextMath start='\$' end='\$' +" \ contains=contextStatement + +syn match contextBuiltin '\\\%(newif\|def\|gdef\|global\|let\|glet\|bgroup\)\>' + \ contains=@NoSpell +syn match contextBuiltin '\\\%(begingroup\|egroup\|endgroup\|long\|catcode\)\>' + \ contains=@NoSpell +syn match contextBuiltin '\\\%(unprotect\|unexpanded\|if\|else\|fi\|ifx\)\>' + \ contains=@NoSpell +syn match contextBuiltin '\\\%(futurelet\|protect\)\>' contains=@NoSpell +syn match contextBuiltin '\\\%([lr]q\)\>' contains=@NoSpell + +syn match contextPreProc '^\s*\\\%(start\|stop\)\=\%(component\|environment\|project\|product\).*$' + \ contains=@NoSpell +syn match contextPreProc '^\s*\\input\s\+.*$' contains=@NoSpell + +syn match contextSectioning '\\chapter\>' contains=@NoSpell +syn match contextSectioning '\\\%(sub\)*section\>' contains=@NoSpell + +syn match contextSpecial '\\crlf\>\|\\par\>\|-\{2,3}\||[<>/]\=|' + \ contains=@NoSpell +syn match contextSpecial '\\[`'"]' +syn match contextSpecial +\\char\%(\d\{1,3}\|'\o\{1,3}\|"\x\{1,2}\)\>+ + \ contains=@NoSpell +syn match contextSpecial '\^\^.' +syn match contextSpecial '`\%(\\.\|\^\^.\|.\)' + +syn match contextStyle '\\\%(em\|tt\|rm\|ss\|hw\|cg\)\>' + \ contains=@NoSpell +syn match contextFont '\\\%(CAP\|Cap\|cap\|Caps\|kap\|nocap\)\>' + \ contains=@NoSpell +syn match contextFont '\\\%(Word\|WORD\|Words\|WORDS\)\>' + \ contains=@NoSpell +syn match contextFont '\\\%(vi\{1,3}\|ix\|xi\{0,2}\)\>' + \ contains=@NoSpell +syn match contextFont '\\\%(tf[abcdx]\|bfx\|[is]lx\)\>' + \ contains=@NoSpell +syn match contextFont '\\\%(b[fsi]\|s[cl]\|it\|os\|mf\)\>' + \ contains=@NoSpell + +syn match contextDimension '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|mm\|dd\|sp\|e[mx]\)\>' + \ contains=@NoSpell + +hi def link contextTodo Todo +hi def link contextComment Comment +hi def link contextEscaped Special +hi def link contextStatement Identifier +hi def link contextMath String +hi def link contextBlockDelim Keyword +hi def link contextBuiltin Keyword +hi def link contextDelimiter Delimiter +hi def link contextPreProc PreProc +hi def link contextSectioning PreProc +hi def link contextSpecial Special +hi def link contextStyle contextType +hi def link contextFont contextType +hi def link contextType Type +hi def link contextDimension Number + +let b:current_syntax = "context" + +let &cpo = s:cpo_save +unlet s:cpo_save |