mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			143 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim default file
 | |
| " Language:         Racc input file
 | |
| " 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
 |