mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	 a98a6996c2
			
		
	
	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
 |