mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			143 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim default file
 | 
						|
" Language:             Racc input file
 | 
						|
" Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
 | 
						|
" Latest Revision:      2008-06-22
 | 
						|
 | 
						|
if exists("b:current_syntax")
 | 
						|
  finish
 | 
						|
endif
 | 
						|
 | 
						|
let s:cpo_save = &cpo
 | 
						|
set cpo&vim
 | 
						|
 | 
						|
syn keyword raccTodo        contained TODO FIXME XXX NOTE
 | 
						|
 | 
						|
syn region  raccComment     start='/\*' end='\*/'
 | 
						|
                            \ contains=raccTodo,@Spell
 | 
						|
syn region  raccComment     display oneline start='#' end='$'
 | 
						|
                            \ contains=raccTodo,@Spell
 | 
						|
 | 
						|
syn region  raccClass       transparent matchgroup=raccKeyword
 | 
						|
                            \ start='\<class\>' end='\<rule\>'he=e-4
 | 
						|
                            \ contains=raccComment,raccPrecedence,
 | 
						|
                            \ raccTokenDecl,raccExpect,raccOptions,raccConvert,
 | 
						|
                            \ raccStart,
 | 
						|
 | 
						|
syn region  raccPrecedence  transparent matchgroup=raccKeyword
 | 
						|
                            \ start='\<prechigh\>' end='\<preclow\>'
 | 
						|
                            \ contains=raccComment,raccPrecSpec
 | 
						|
 | 
						|
syn keyword raccPrecSpec    contained nonassoc left right
 | 
						|
                            \ nextgroup=raccPrecToken,raccPrecString skipwhite
 | 
						|
                            \ skipnl
 | 
						|
 | 
						|
syn match   raccPrecToken   contained '\<\u[A-Z0-9_]*\>'
 | 
						|
                            \ nextgroup=raccPrecToken,raccPrecString skipwhite
 | 
						|
                            \ skipnl
 | 
						|
 | 
						|
syn region  raccPrecString  matchgroup=raccPrecString start=+"+
 | 
						|
                            \ skip=+\\\\\|\\"+ end=+"+
 | 
						|
                            \ contains=raccSpecial
 | 
						|
                            \ nextgroup=raccPrecToken,raccPrecString skipwhite
 | 
						|
                            \ skipnl
 | 
						|
syn region  raccPrecString  matchgroup=raccPrecString start=+'+
 | 
						|
                            \ skip=+\\\\\|\\'+ end=+'+ contains=raccSpecial
 | 
						|
                            \ nextgroup=raccPrecToken,raccPrecString skipwhite
 | 
						|
                            \ skipnl
 | 
						|
 | 
						|
syn keyword raccTokenDecl   contained token
 | 
						|
                            \ nextgroup=raccTokenR skipwhite skipnl
 | 
						|
 | 
						|
syn match   raccTokenR      contained '\<\u[A-Z0-9_]*\>'
 | 
						|
                            \ nextgroup=raccTokenR skipwhite skipnl
 | 
						|
 | 
						|
syn keyword raccExpect      contained expect
 | 
						|
                            \ nextgroup=raccNumber skipwhite skipnl
 | 
						|
 | 
						|
syn match   raccNumber      contained '\<\d\+\>'
 | 
						|
 | 
						|
syn keyword raccOptions     contained options
 | 
						|
                            \ nextgroup=raccOptionsR skipwhite skipnl
 | 
						|
 | 
						|
syn keyword raccOptionsR    contained omit_action_call result_var
 | 
						|
                            \ nextgroup=raccOptionsR skipwhite skipnl
 | 
						|
 | 
						|
syn region  raccConvert     transparent contained matchgroup=raccKeyword
 | 
						|
                            \ start='\<convert\>' end='\<end\>'
 | 
						|
                            \ contains=raccComment,raccConvToken skipwhite
 | 
						|
                            \ skipnl
 | 
						|
 | 
						|
syn match   raccConvToken   contained '\<\u[A-Z0-9_]*\>'
 | 
						|
                            \ nextgroup=raccString skipwhite skipnl
 | 
						|
 | 
						|
syn keyword raccStart       contained start
 | 
						|
                            \ nextgroup=raccTargetS skipwhite skipnl
 | 
						|
 | 
						|
syn match   raccTargetS     contained '\<\l[a-z0-9_]*\>'
 | 
						|
 | 
						|
syn match   raccSpecial     contained '\\["'\\]'
 | 
						|
 | 
						|
syn region  raccString      start=+"+ skip=+\\\\\|\\"+ end=+"+
 | 
						|
                            \ contains=raccSpecial
 | 
						|
syn region  raccString      start=+'+ skip=+\\\\\|\\'+ end=+'+
 | 
						|
                            \ contains=raccSpecial
 | 
						|
 | 
						|
syn region  raccRules       transparent matchgroup=raccKeyword start='\<rule\>'
 | 
						|
                            \ end='\<end\>' contains=raccComment,raccString,
 | 
						|
                            \ raccNumber,raccToken,raccTarget,raccDelimiter,
 | 
						|
                            \ raccAction
 | 
						|
 | 
						|
syn match   raccTarget      contained '\<\l[a-z0-9_]*\>'
 | 
						|
 | 
						|
syn match   raccDelimiter   contained '[:|]'
 | 
						|
 | 
						|
syn match   raccToken       contained '\<\u[A-Z0-9_]*\>'
 | 
						|
 | 
						|
syn include @raccRuby       syntax/ruby.vim
 | 
						|
 | 
						|
syn region  raccAction      transparent matchgroup=raccDelimiter
 | 
						|
                            \ start='{' end='}' contains=@raccRuby
 | 
						|
 | 
						|
syn region  raccHeader      transparent matchgroup=raccPreProc
 | 
						|
                            \ start='^---- header.*' end='^----'he=e-4
 | 
						|
                            \ contains=@raccRuby
 | 
						|
 | 
						|
syn region  raccInner       transparent matchgroup=raccPreProc
 | 
						|
                            \ start='^---- inner.*' end='^----'he=e-4
 | 
						|
                            \ contains=@raccRuby
 | 
						|
 | 
						|
syn region  raccFooter      transparent matchgroup=raccPreProc
 | 
						|
                            \ start='^---- footer.*' end='^----'he=e-4
 | 
						|
                            \ contains=@raccRuby
 | 
						|
 | 
						|
syn sync    match raccSyncHeader    grouphere raccHeader '^---- header'
 | 
						|
syn sync    match raccSyncInner     grouphere raccInner '^---- inner'
 | 
						|
syn sync    match raccSyncFooter    grouphere raccFooter '^---- footer'
 | 
						|
 | 
						|
hi def link raccTodo        Todo
 | 
						|
hi def link raccComment     Comment
 | 
						|
hi def link raccPrecSpec    Type
 | 
						|
hi def link raccPrecToken   raccToken
 | 
						|
hi def link raccPrecString  raccString
 | 
						|
hi def link raccTokenDecl   Keyword
 | 
						|
hi def link raccToken       Identifier
 | 
						|
hi def link raccTokenR      raccToken
 | 
						|
hi def link raccExpect      Keyword
 | 
						|
hi def link raccNumber      Number
 | 
						|
hi def link raccOptions     Keyword
 | 
						|
hi def link raccOptionsR    Identifier
 | 
						|
hi def link raccConvToken   raccToken
 | 
						|
hi def link raccStart       Keyword
 | 
						|
hi def link raccTargetS     Type
 | 
						|
hi def link raccSpecial     special
 | 
						|
hi def link raccString      String
 | 
						|
hi def link raccTarget      Type
 | 
						|
hi def link raccDelimiter   Delimiter
 | 
						|
hi def link raccPreProc     PreProc
 | 
						|
hi def link raccKeyword     Keyword
 | 
						|
 | 
						|
let b:current_syntax = "racc"
 | 
						|
 | 
						|
let &cpo = s:cpo_save
 | 
						|
unlet s:cpo_save
 |