mirror of
				https://github.com/neovim/neovim.git
				synced 2025-10-26 12:27:24 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			111 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:	Vroom (vim testing and executable documentation)
 | |
| " Maintainer:	David Barnett (https://github.com/google/vim-ft-vroom)
 | |
| " Last Change:	2014 Jul 23
 | |
| 
 | |
| " quit when a syntax file was already loaded
 | |
| if exists('b:current_syntax')
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| let s:cpo_save = &cpo
 | |
| set cpo-=C
 | |
| 
 | |
| 
 | |
| syn include @vroomVim syntax/vim.vim
 | |
| syn include @vroomShell syntax/sh.vim
 | |
| 
 | |
| syntax region vroomAction
 | |
|     \ matchgroup=vroomOutput
 | |
|     \ start='\m^  ' end='\m$' keepend
 | |
|     \ contains=vroomControlBlock
 | |
| 
 | |
| syntax region vroomAction
 | |
|     \ matchgroup=vroomOutput
 | |
|     \ start='\m^  & ' end='\m$' keepend
 | |
|     \ contains=vroomControlBlock
 | |
| 
 | |
| syntax match vroomOutput '\m^  &$'
 | |
| 
 | |
| syntax region vroomMessageBody
 | |
|     \ matchgroup=vroomMessage
 | |
|     \ start='\m^  \~ ' end='\m$' keepend
 | |
|     \ contains=vroomControlBlock
 | |
| 
 | |
| syntax region vroomColoredAction
 | |
|     \ matchgroup=vroomInput
 | |
|     \ start='\m^  > ' end='\m$' keepend
 | |
|     \ contains=vimNotation,vroomControlBlock
 | |
| syntax region vroomAction
 | |
|     \ matchgroup=vroomInput
 | |
|     \ start='\m^  % ' end='\m$' keepend
 | |
|     \ contains=vimNotation,vroomControlBlock
 | |
| 
 | |
| syntax region vroomAction
 | |
|     \ matchgroup=vroomContinuation
 | |
|     \ start='\m^  |' end='\m$' keepend
 | |
| 
 | |
| syntax region vroomAction
 | |
|     \ start='\m^  \ze:' end='\m$' keepend
 | |
|     \ contains=@vroomVim,vroomControlBlock
 | |
| 
 | |
| syntax region vroomAction
 | |
|     \ matchgroup=vroomDirective
 | |
|     \ start='\m^  @\i\+' end='\m$' keepend
 | |
|     \ contains=vroomControlBlock
 | |
| 
 | |
| syntax region vroomSystemAction
 | |
|     \ matchgroup=vroomSystem
 | |
|     \ start='\m^  ! ' end='\m$' keepend
 | |
|     \ contains=@vroomShell,vroomControlBlock
 | |
| 
 | |
| syntax region vroomHijackAction
 | |
|     \ matchgroup=vroomHijack
 | |
|     \ start='\m^  \$ ' end='\m$' keepend
 | |
|     \ contains=vroomControlBlock
 | |
| 
 | |
| syntax match vroomControlBlock contains=vroomControlEscape,@vroomControls
 | |
|     \ '\v \([^&()][^()]*\)$'
 | |
| 
 | |
| syntax match vroomControlEscape '\m&' contained
 | |
| 
 | |
| syntax cluster vroomControls
 | |
|     \ contains=vroomDelay,vroomMode,vroomBuffer,vroomRange
 | |
|     \,vroomChannel,vroomBind,vroomStrictness
 | |
| syntax match vroomRange '\v\.(,\+?(\d+|\$)?)?' contained
 | |
| syntax match vroomRange '\v\d*,\+?(\d+|\$)?' contained
 | |
| syntax match vroomBuffer '\v\d+,@!' contained
 | |
| syntax match vroomDelay '\v\d+(\.\d+)?s' contained
 | |
| syntax match vroomMode '\v<%(regex|glob|verbatim)' contained
 | |
| syntax match vroomChannel '\v<%(stderr|stdout|command|status)>' contained
 | |
| syntax match vroomBind '\v<bind>' contained
 | |
| syntax match vroomStrictness '\v\<%(STRICT|RELAXED|GUESS-ERRORS)\>' contained
 | |
| 
 | |
| highlight default link vroomInput Identifier
 | |
| highlight default link vroomDirective vroomInput
 | |
| highlight default link vroomControlBlock vroomInput
 | |
| highlight default link vroomSystem vroomInput
 | |
| highlight default link vroomOutput Statement
 | |
| highlight default link vroomContinuation Constant
 | |
| highlight default link vroomHijack Special
 | |
| highlight default link vroomColoredAction Statement
 | |
| highlight default link vroomSystemAction vroomSystem
 | |
| highlight default link vroomHijackAction vroomHijack
 | |
| highlight default link vroomMessage vroomOutput
 | |
| highlight default link vroomMessageBody Constant
 | |
| 
 | |
| highlight default link vroomControlEscape Special
 | |
| highlight default link vroomBuffer vroomInput
 | |
| highlight default link vroomRange Include
 | |
| highlight default link vroomMode Constant
 | |
| highlight default link vroomDelay Type
 | |
| highlight default link vroomStrictness vroomMode
 | |
| highlight default link vroomChannel vroomMode
 | |
| highlight default link vroomBind vroomMode
 | |
| 
 | |
| let b:current_syntax = 'vroom'
 | |
| 
 | |
| 
 | |
| let &cpo = s:cpo_save
 | |
| unlet s:cpo_save
 | 
