summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/context/data/context.vim
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/context/data/context.vim')
-rw-r--r--Master/texmf-dist/context/data/context.vim155
1 files changed, 155 insertions, 0 deletions
diff --git a/Master/texmf-dist/context/data/context.vim b/Master/texmf-dist/context/data/context.vim
new file mode 100644
index 00000000000..69f89cbf54f
--- /dev/null
+++ b/Master/texmf-dist/context/data/context.vim
@@ -0,0 +1,155 @@
+" Vim syntax file
+" Language: ConTeXt typesetting engine
+" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision: 2005-07-04
+
+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 start='%' end='\n'
+" \ contains=contextTodo
+"syn region contextComment display oneline start='^\s*%[CDM]' end='\n'
+" \ contains=ALL
+
+syn match contextComment '%.*' display
+ \ contains=contextTodo
+syn match contextComment '^\s*%[CDM]*.*' display
+ \ 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\|mf\)\>'
+ \ 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 '\\\%(tf\|b[fsi]\|s[cl]\|it\|os\)\%(\|[xabcd]\|xx\)\>'
+ \ contains=@NoSpell
+" missing:
+" \tx, \txx, is \t[abcd] also possible?
+" \rmsl, \ssbf, \sssl, \tttf ... I didn't figure out yet how they are used
+" \rmd ...
+" is \em[xabcd] possible?
+" mm
+" ex, mi, sy - what's that?
+
+syn match contextDimension '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|mm\|dd\|sp\|e[mx]\)\>'
+ \ contains=@NoSpell
+
+
+" Put the metafun syntax file in @metafunTop
+"
+" TODO: should be changed to metafun once the support is there
+" javascript should probably be adapted to PDF specification too, but it
+" changes in every version anyway and often doesn't work either
+"
+syn include @metafunTop syntax/mp.vim
+unlet b:current_syntax
+"syn cluster @metafunTop contains=@mmetafunTop remove=texComment
+" for some reason I can't make both metapost and javascript working at the same time
+
+"syn region metafunBlock matchgroup=metafunDelim start=#\\startMPpage# skip=#%.*\\stopMPpage# end=#\\stopMPpage# keepend contains=@metafunTop
+"syn region metafunBlock matchgroup=metafunDelim start=#\\startMPpage\(\s|$\)# skip=#%.*\\stopMPpage# matchgroup=metafunDelim end=#\\stopMPpage\(\s|$\)# transparent keepend contains=@metafunTop
+syn region metafunBlock matchgroup=metafunDelim start=#\\startMPpage# skip=#%.*\\stopMPpage# matchgroup=metafunDelim end=#\\stopMPpage# transparent keepend contains=@metafunTop
+"syn region metafunBlock matchgroup=metafunDelim start=#\\startMPpage#hs=e-2 skip=#%.*\\stopMPpage# matchgroup=metafunDelim end=#\\stopMPpage#he=s-1 keepend contains=@metafunTop
+" TODO: \startuseMPgraphic{the name} - "the name" has to be catched and
+" typeset in ConTeXt, not in metapost!!!
+syn region metafunBlock matchgroup=metafunDelim start=#\\startMPcode# skip=#%.*\\stopMPcode# end=#\\stopMPcode# transparent keepend contains=@metafunTop
+syn region metafunBlock matchgroup=metafunDelim start=#\\startMPinclusions# skip=#%.*\\stopMPinclusions# end=#\\stopMPinclusions# transparent keepend contains=@metafunTop
+syn region metafunBlock matchgroup=metafunDelim start=#\\startMPgraphic# skip=#%.*\\stopMPgraphic# end=#\\stopMPgraphic# transparent keepend contains=@metafunTop
+syn region metafunBlock matchgroup=metafunDelim start=#\\startMPdrawing# skip=#%.*\\stopMPdrawing# end=#\\stopMPdrawing# transparent keepend contains=@metafunTop
+syn region metafunBlock matchgroup=metafunDelim start=#\\startuseMPgraphic# skip=#%.*\\stopuseMPgraphic# end=#\\stopuseMPgraphic# transparent keepend contains=@metafunTop
+syn region metafunBlock matchgroup=metafunDelim start=#\\startreusableMPgraphic# skip=#%.*\\stopreusableMPgraphic# end=#\\stopreusableMPgraphic# transparent keepend contains=@metafunTop
+syn region metafunBlock matchgroup=metafunDelim start=#\\startuniqueMPgraphic# skip=#%.*\\stopuniqueMPgraphic# end=#\\stopuniqueMPgraphic# transparent keepend contains=@metafunTop
+syn region metafunBlock matchgroup=metafunDelim start=#\\startMPrun# skip=#%.*\\stopMPrun# end=#\\stopMPrun# transparent keepend contains=@metafunTop
+
+hi def link metafundelim contextBlockDelim
+
+syn match contextURL '\\useURL\s*\[abc\]'
+
+
+hi def link contextTodo Todo
+hi def link contextComment Comment
+hi def link contextEscaped Special
+"hi def link contextStatement Identifier
+hi def link contextStatement Statement
+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
+
+hi def link metafunBlock String
+hi def link contextURL String
+
+let b:current_syntax = "context"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+
+