diff options
Diffstat (limited to 'runtime/syntax/rcs.vim')
-rw-r--r-- | runtime/syntax/rcs.vim | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/runtime/syntax/rcs.vim b/runtime/syntax/rcs.vim new file mode 100644 index 0000000..5a34802 --- /dev/null +++ b/runtime/syntax/rcs.vim @@ -0,0 +1,63 @@ +" Vim syntax file +" Language: RCS file +" 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 +" Filenames: *,v +" Version: 1.12 + +" Options: +" rcs_folding = 1 For folding strings + +" quit when a syntax file was already loaded. +if 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. +" Only when an item doesn't have highlighting yet. + +hi def link rcsKeyword Keyword +hi def link rcsNumber Identifier +hi def link rcsString String +hi def link rcsTextStr String +hi def link rcsSpecial Special +hi def link rcsDiffLines Special +hi def link rcsEOFError Error + + +let b:current_syntax = "rcs" |