mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 19:25:11 -07:00
a98a6996c2
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7 Excluding: Amiga icons (*.info, icons/) doc/hangulin.txt tutor/ spell/ lang/ (only used for menu translations) macros/maze/, macros/hanoi/, macros/life/, macros/urm/ These were used to test vi compatibility. termcap "Demonstration of a termcap file (for the Amiga and Archimedes)" Helped-by: Rich Wareham <rjw57@cam.ac.uk> Helped-by: John <john.schmidt.h@gmail.com> Helped-by: Yann <yann@yann-salaun.com> Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com> Helped-by: drasill <github@tof2k.com> Helped-by: Tae Sandoval Murgan <taecilla@gmail.com> Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
109 lines
4.1 KiB
VimL
109 lines
4.1 KiB
VimL
" Vim syntax file
|
|
" Language: ConTeXt typesetting engine
|
|
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
|
" Latest Revision: 2006-08-10
|
|
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
runtime! syntax/plaintex.vim
|
|
unlet b:current_syntax
|
|
|
|
let s:cpo_save = &cpo
|
|
set cpo&vim
|
|
|
|
if !exists('g:context_include')
|
|
let g:context_include = ['mp', 'javascript', 'xml']
|
|
endif
|
|
|
|
syn spell toplevel
|
|
|
|
syn match contextBlockDelim display '\\\%(start\|stop\)\a\+'
|
|
\ contains=@NoSpell
|
|
|
|
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' contains=plaintexComment keepend
|
|
syn region contextEscaped display matchgroup=contextPreProc
|
|
\ start='\\\h\+Type{' end='}'
|
|
syn region contextEscaped display matchgroup=contextPreProc
|
|
\ start='\\Typed\h\+{' end='}'
|
|
|
|
syn match contextBuiltin display contains=@NoSpell
|
|
\ '\\\%(unprotect\|protect\|unexpanded\)'
|
|
|
|
syn match contextPreProc '^\s*\\\%(start\|stop\)\=\%(component\|environment\|project\|product\).*$'
|
|
\ contains=@NoSpell
|
|
|
|
if index(g:context_include, 'mp') != -1
|
|
syn include @mpTop syntax/mp.vim
|
|
unlet b:current_syntax
|
|
|
|
syn region contextMPGraphic transparent matchgroup=contextBlockDelim
|
|
\ start='\\start\z(\a*MPgraphic\|MP\%(page\|inclusions\|run\)\).*'
|
|
\ end='\\stop\z1'
|
|
\ contains=@mpTop
|
|
endif
|
|
|
|
" TODO: also need to implement this for \\typeC or something along those
|
|
" lines.
|
|
function! s:include_syntax(name, group)
|
|
if index(g:context_include, a:name) != -1
|
|
execute 'syn include @' . a:name . 'Top' 'syntax/' . a:name . '.vim'
|
|
unlet b:current_syntax
|
|
execute 'syn region context' . a:group . 'Code'
|
|
\ 'transparent matchgroup=contextBlockDelim'
|
|
\ 'start=+\\start' . a:group . '+ end=+\\stop' . a:group . '+'
|
|
\ 'contains=@' . a:name . 'Top'
|
|
endif
|
|
endfunction
|
|
|
|
call s:include_syntax('c', 'C')
|
|
call s:include_syntax('ruby', 'Ruby')
|
|
call s:include_syntax('javascript', 'JS')
|
|
call s:include_syntax('xml', 'XML')
|
|
|
|
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\|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\|b[si]\|s[cl]\|os\)\%(xx\|[xabcd]\)\=\>'
|
|
\ contains=@NoSpell
|
|
|
|
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 contextType Type
|
|
hi def link contextStyle contextType
|
|
hi def link contextFont contextType
|
|
|
|
let b:current_syntax = "context"
|
|
|
|
let &cpo = s:cpo_save
|
|
unlet s:cpo_save
|