summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/rcs.vim
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 08:50:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 08:50:31 +0000
commitaed8ce9da277f5ecffe968b324f242c41c3b752a (patch)
treed2e538394cb7a8a7c42a4aac6ccf1a8e3256999b /runtime/syntax/rcs.vim
parentInitial commit. (diff)
downloadvim-aed8ce9da277f5ecffe968b324f242c41c3b752a.tar.xz
vim-aed8ce9da277f5ecffe968b324f242c41c3b752a.zip
Adding upstream version 2:9.0.1378.upstream/2%9.0.1378upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'runtime/syntax/rcs.vim')
-rw-r--r--runtime/syntax/rcs.vim63
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"