mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			111 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:         Treetop
 | |
| " Maintainer:       Nikolai Weibull <now@bitwi.se>
 | |
| " Latest Revision:  2011-03-14
 | |
| 
 | |
| if exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| let s:cpo_save = &cpo
 | |
| set cpo&vim
 | |
| 
 | |
| syn keyword treetopTodo
 | |
|       \ contained
 | |
|       \ TODO
 | |
|       \ FIXME
 | |
|       \ XXX
 | |
|       \ NOTE
 | |
| 
 | |
| syn match treetopComment
 | |
|                         \ '#.*'
 | |
|                         \ display
 | |
|                         \ contains=treetopTodo
 | |
| 
 | |
| syn include @treetopRuby syntax/ruby.vim
 | |
| unlet b:current_syntax
 | |
| 
 | |
| syn keyword treetopKeyword
 | |
|                          \ require
 | |
|                          \ end
 | |
| syn region  treetopKeyword
 | |
|                          \ matchgroup=treetopKeyword
 | |
|                          \ start='\<\%(grammar\|include\|module\)\>\ze\s'
 | |
|                          \ end='$'
 | |
|                          \ transparent
 | |
|                          \ oneline
 | |
|                          \ keepend
 | |
|                          \ contains=@treetopRuby
 | |
| syn keyword treetopKeyword
 | |
|                          \ rule
 | |
|                          \ nextgroup=treetopRuleName
 | |
|                          \ skipwhite skipnl
 | |
| 
 | |
| syn match   treetopGrammarName
 | |
|                              \ '\u\w*'
 | |
|                              \ contained
 | |
| 
 | |
| syn match   treetopRubyModuleName
 | |
|                                 \ '\u\w*'
 | |
|                                 \ contained
 | |
| 
 | |
| syn match   treetopRuleName
 | |
|                           \ '\h\w*'
 | |
|                           \ contained
 | |
| 
 | |
| syn region  treetopString
 | |
|                         \ matchgroup=treetopStringDelimiter
 | |
|                         \ start=+"+
 | |
|                         \ end=+"+
 | |
| syn region  treetopString
 | |
|                         \ matchgroup=treetopStringDelimiter
 | |
|                         \ start=+'+
 | |
|                         \ end=+'+
 | |
| 
 | |
| syn region  treetopCharacterClass
 | |
|                                 \ matchgroup=treetopCharacterClassDelimiter
 | |
|                                 \ start=+\[+
 | |
|                                 \ skip=+\\\]+
 | |
|                                 \ end=+\]+
 | |
| 
 | |
| syn region  treetopRubyBlock
 | |
|                            \ matchgroup=treetopRubyBlockDelimiter
 | |
|                            \ start=+{+
 | |
|                            \ end=+}+
 | |
|                            \ contains=@treetopRuby
 | |
| 
 | |
| syn region  treetopSemanticPredicate
 | |
|                            \ matchgroup=treetopSemanticPredicateDelimiter
 | |
|                            \ start=+[!&]{+
 | |
|                            \ end=+}+
 | |
|                            \ contains=@treetopRuby
 | |
| 
 | |
| syn region  treetopSubclassDeclaration
 | |
|                            \ matchgroup=treetopSubclassDeclarationDelimiter
 | |
|                            \ start=+<+
 | |
|                            \ end=+>+
 | |
|                            \ contains=@treetopRuby
 | |
| 
 | |
| syn match   treetopEllipsis
 | |
|                           \ +''+
 | |
| 
 | |
| hi def link treetopTodo                         Todo
 | |
| hi def link treetopComment                      Comment
 | |
| hi def link treetopKeyword                      Keyword
 | |
| hi def link treetopGrammarName                  Constant
 | |
| hi def link treetopRubyModuleName               Constant
 | |
| hi def link treetopRuleName                     Identifier
 | |
| hi def link treetopString                       String
 | |
| hi def link treetopStringDelimiter              treetopString
 | |
| hi def link treetopCharacterClass               treetopString
 | |
| hi def link treetopCharacterClassDelimiter      treetopCharacterClass
 | |
| hi def link treetopRubyBlockDelimiter           PreProc
 | |
| hi def link treetopSemanticPredicateDelimiter   PreProc
 | |
| hi def link treetopSubclassDeclarationDelimiter PreProc
 | |
| hi def link treetopEllipsis                     Special
 | |
| 
 | |
| let b:current_syntax = 'treetop'
 | |
| 
 | |
| let &cpo = s:cpo_save
 | |
| unlet s:cpo_save
 |