forked from aniani/vim
		
	
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:	RCS file
 | |
| " Maintainer:	Dmitry Vasiliev <dima@hlabs.spb.ru>
 | |
| " URL:		http://www.hlabs.spb.ru/vim/rcs.vim
 | |
| " Last Change:	$Date$
 | |
| " Filenames:	*,v
 | |
| " $Revision$
 | |
| "
 | |
| " Options:
 | |
| " rcs_folding = 1		For folding strings
 | |
| 
 | |
| " For version 5.x: Clear all syntax items.
 | |
| " For version 6.x: Quit when a syntax file was already loaded.
 | |
| if version < 600
 | |
|   syntax clear
 | |
| elseif exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| " RCS file must end with a newline.
 | |
| syn match rcsEOFError	".\%$" containedin=ALL
 | |
| 
 | |
| " Keywords.
 | |
| syn keyword rcsKeyword	head branch access symbols locks strict
 | |
| syn keyword rcsKeyword	comment expand date author state branches
 | |
| syn keyword rcsKeyword	next desc log
 | |
| syn keyword rcsKeyword	text nextgroup=rcsTextStr skipwhite skipempty
 | |
| 
 | |
| " Revision numbers and dates.
 | |
| syn match rcsNumber	"\<[0-9.]\+\>" display
 | |
| 
 | |
| " Strings.
 | |
| if exists("rcs_folding") && has("folding")
 | |
|   " Folded strings.
 | |
|   syn region rcsString	matchgroup=rcsString start="@" end="@" skip="@@" fold contains=rcsSpecial
 | |
|   syn region rcsTextStr	matchgroup=rcsTextStr start="@" end="@" skip="@@" fold contained contains=rcsSpecial,rcsDiffLines
 | |
| else
 | |
|   syn region rcsString	matchgroup=rcsString start="@" end="@" skip="@@" contains=rcsSpecial
 | |
|   syn region rcsTextStr	matchgroup=rcsTextStr start="@" end="@" skip="@@" contained contains=rcsSpecial,rcsDiffLines
 | |
| endif
 | |
| syn match rcsSpecial	"@@" contained
 | |
| syn match rcsDiffLines	"[da]\d\+ \d\+$" contained
 | |
| 
 | |
| " Synchronization.
 | |
| syn sync clear
 | |
| if exists("rcs_folding") && has("folding")
 | |
|   syn sync fromstart
 | |
| else
 | |
|   " We have incorrect folding if following sync patterns is turned on.
 | |
|   syn sync match rcsSync	grouphere rcsString "[0-9.]\+\(\s\|\n\)\+log\(\s\|\n\)\+@"me=e-1
 | |
|   syn sync match rcsSync	grouphere rcsTextStr "@\(\s\|\n\)\+text\(\s\|\n\)\+@"me=e-1
 | |
| endif
 | |
| 
 | |
| " Define the default highlighting.
 | |
| " For version 5.7 and earlier: only when not done already.
 | |
| " For version 5.8 and later: only when an item doesn't have highlighting yet.
 | |
| if version >= 508 || !exists("did_rcs_syn_inits")
 | |
|   if version <= 508
 | |
|     let did_rcs_syn_inits = 1
 | |
|     command -nargs=+ HiLink hi link <args>
 | |
|   else
 | |
|     command -nargs=+ HiLink hi def link <args>
 | |
|   endif
 | |
| 
 | |
|   HiLink rcsKeyword	Keyword
 | |
|   HiLink rcsNumber	Identifier
 | |
|   HiLink rcsString	String
 | |
|   HiLink rcsTextStr	String
 | |
|   HiLink rcsSpecial	Special
 | |
|   HiLink rcsDiffLines	Special
 | |
|   HiLink rcsEOFError	Error
 | |
| 
 | |
|   delcommand HiLink
 | |
| endif
 | |
| 
 | |
| let b:current_syntax = "rcs"
 |