Mercurial > hg > RemoteEditor > vim7
diff runtime/syntax/rcs.vim @ 0:76efa0be13f1
Initial revision
author | atsuki |
---|---|
date | Sat, 10 Nov 2007 15:07:22 +0900 |
parents | |
children | e170173ecb68 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/syntax/rcs.vim Sat Nov 10 15:07:22 2007 +0900 @@ -0,0 +1,76 @@ +" Vim syntax file +" Language: RCS file +" Maintainer: Dmitry Vasiliev <dima at hlabs dot spb dot ru> +" URL: http://www.hlabs.spb.ru/vim/rcs.vim +" Revision: $Id$ +" Filenames: *,v +" Version: 1.11 + +" 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"