mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-03 17:24:29 +00:00 
			
		
		
		
	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
 |