| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim syntax file | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | " Language:     RCS file | 
					
						
							| 
									
										
										
										
											2012-02-13 00:05:22 +01:00
										 |  |  | " Maintainer:   Dmitry Vasiliev <dima at hlabs dot org> | 
					
						
							|  |  |  | " URL:          https://github.com/hdima/vim-scripts/blob/master/syntax/rcs.vim | 
					
						
							|  |  |  | " Last Change:  2012-02-11 | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | " Filenames:    *,v | 
					
						
							| 
									
										
										
										
											2012-02-13 00:05:22 +01:00
										 |  |  | " Version:      1.12 | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Options: | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | "   rcs_folding = 1   For folding strings | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " 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. | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | syn match rcsEOFError   ".\%$" containedin=ALL | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " Keywords. | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " Revision numbers and dates. | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | syn match rcsNumber "\<[0-9.]\+\>" display | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " Strings. | 
					
						
							|  |  |  | if exists("rcs_folding") && has("folding") | 
					
						
							|  |  |  |   " Folded strings. | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  |   syn region rcsString  matchgroup=rcsString start="@" end="@" skip="@@" fold contains=rcsSpecial | 
					
						
							|  |  |  |   syn region rcsTextStr matchgroup=rcsTextStr start="@" end="@" skip="@@" fold contained contains=rcsSpecial,rcsDiffLines | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | else | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  |   syn region rcsString  matchgroup=rcsString start="@" end="@" skip="@@" contains=rcsSpecial | 
					
						
							|  |  |  |   syn region rcsTextStr matchgroup=rcsTextStr start="@" end="@" skip="@@" contained contains=rcsSpecial,rcsDiffLines | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | endif | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  | syn match rcsSpecial    "@@" contained | 
					
						
							|  |  |  | syn match rcsDiffLines  "[da]\d\+ \d\+$" contained | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " 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. | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  |   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 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-03-27 17:01:56 +00:00
										 |  |  |   HiLink rcsKeyword     Keyword | 
					
						
							|  |  |  |   HiLink rcsNumber      Identifier | 
					
						
							|  |  |  |   HiLink rcsString      String | 
					
						
							|  |  |  |   HiLink rcsTextStr     String | 
					
						
							|  |  |  |   HiLink rcsSpecial     Special | 
					
						
							|  |  |  |   HiLink rcsDiffLines   Special | 
					
						
							|  |  |  |   HiLink rcsEOFError    Error | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   delcommand HiLink | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "rcs" |