1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: RCS file 35dc6252dSBram Moolenaar" Maintainer: Dmitry Vasiliev <dima at hlabs dot org> 45dc6252dSBram Moolenaar" URL: https://github.com/hdima/vim-scripts/blob/master/syntax/rcs.vim 55dc6252dSBram Moolenaar" Last Change: 2012-02-11 6071d4279SBram Moolenaar" Filenames: *,v 75dc6252dSBram Moolenaar" Version: 1.12 83991dab8SBram Moolenaar 9071d4279SBram Moolenaar" Options: 10071d4279SBram Moolenaar" rcs_folding = 1 For folding strings 11071d4279SBram Moolenaar 1289bcfda6SBram Moolenaar" quit when a syntax file was already loaded. 1389bcfda6SBram Moolenaarif exists("b:current_syntax") 14071d4279SBram Moolenaar finish 15071d4279SBram Moolenaarendif 16071d4279SBram Moolenaar 17071d4279SBram Moolenaar" RCS file must end with a newline. 18071d4279SBram Moolenaarsyn match rcsEOFError ".\%$" containedin=ALL 19071d4279SBram Moolenaar 20071d4279SBram Moolenaar" Keywords. 21071d4279SBram Moolenaarsyn keyword rcsKeyword head branch access symbols locks strict 22071d4279SBram Moolenaarsyn keyword rcsKeyword comment expand date author state branches 23071d4279SBram Moolenaarsyn keyword rcsKeyword next desc log 24071d4279SBram Moolenaarsyn keyword rcsKeyword text nextgroup=rcsTextStr skipwhite skipempty 25071d4279SBram Moolenaar 26071d4279SBram Moolenaar" Revision numbers and dates. 27071d4279SBram Moolenaarsyn match rcsNumber "\<[0-9.]\+\>" display 28071d4279SBram Moolenaar 29071d4279SBram Moolenaar" Strings. 30071d4279SBram Moolenaarif exists("rcs_folding") && has("folding") 31071d4279SBram Moolenaar " Folded strings. 32071d4279SBram Moolenaar syn region rcsString matchgroup=rcsString start="@" end="@" skip="@@" fold contains=rcsSpecial 33071d4279SBram Moolenaar syn region rcsTextStr matchgroup=rcsTextStr start="@" end="@" skip="@@" fold contained contains=rcsSpecial,rcsDiffLines 34071d4279SBram Moolenaarelse 35071d4279SBram Moolenaar syn region rcsString matchgroup=rcsString start="@" end="@" skip="@@" contains=rcsSpecial 36071d4279SBram Moolenaar syn region rcsTextStr matchgroup=rcsTextStr start="@" end="@" skip="@@" contained contains=rcsSpecial,rcsDiffLines 37071d4279SBram Moolenaarendif 38071d4279SBram Moolenaarsyn match rcsSpecial "@@" contained 39071d4279SBram Moolenaarsyn match rcsDiffLines "[da]\d\+ \d\+$" contained 40071d4279SBram Moolenaar 41071d4279SBram Moolenaar" Synchronization. 42071d4279SBram Moolenaarsyn sync clear 43071d4279SBram Moolenaarif exists("rcs_folding") && has("folding") 44071d4279SBram Moolenaar syn sync fromstart 45071d4279SBram Moolenaarelse 46071d4279SBram Moolenaar " We have incorrect folding if following sync patterns is turned on. 47071d4279SBram Moolenaar syn sync match rcsSync grouphere rcsString "[0-9.]\+\(\s\|\n\)\+log\(\s\|\n\)\+@"me=e-1 48071d4279SBram Moolenaar syn sync match rcsSync grouphere rcsTextStr "@\(\s\|\n\)\+text\(\s\|\n\)\+@"me=e-1 49071d4279SBram Moolenaarendif 50071d4279SBram Moolenaar 51071d4279SBram Moolenaar" Define the default highlighting. 5289bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet. 53071d4279SBram Moolenaar 54*f37506f6SBram Moolenaarhi def link rcsKeyword Keyword 55*f37506f6SBram Moolenaarhi def link rcsNumber Identifier 56*f37506f6SBram Moolenaarhi def link rcsString String 57*f37506f6SBram Moolenaarhi def link rcsTextStr String 58*f37506f6SBram Moolenaarhi def link rcsSpecial Special 59*f37506f6SBram Moolenaarhi def link rcsDiffLines Special 60*f37506f6SBram Moolenaarhi def link rcsEOFError Error 61071d4279SBram Moolenaar 62071d4279SBram Moolenaar 63071d4279SBram Moolenaarlet b:current_syntax = "rcs" 64