blob: 6536d6d11c572198e07bdca64759328b8140b884 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaar3991dab2006-03-27 17:01:56 +00002" Language: Subversion (svn) commit file
Bram Moolenaar5dc62522012-02-13 00:05:22 +01003" Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
4" URL: https://github.com/hdima/vim-scripts/blob/master/syntax/svn.vim
Bram Moolenaar8e69b4a2013-11-09 03:41:58 +01005" Last Change: 2013-11-08
Bram Moolenaar3991dab2006-03-27 17:01:56 +00006" Filenames: svn-commit*.tmp
Bram Moolenaar8e69b4a2013-11-09 03:41:58 +01007" Version: 1.10
Bram Moolenaar3991dab2006-03-27 17:01:56 +00008
9" Contributors:
Bram Moolenaar8e69b4a2013-11-09 03:41:58 +010010"
11" List of the contributors in alphabetical order:
12"
Bram Moolenaare37d50a2008-08-06 17:06:04 +000013" A. S. Budden
Bram Moolenaar6c35bea2012-07-25 17:49:10 +020014" Ingo Karkat
Bram Moolenaar8e69b4a2013-11-09 03:41:58 +010015" Myk Taylor
16" Stefano Zacchiroli
Bram Moolenaar071d4272004-06-13 20:20:40 +000017
18" For version 5.x: Clear all syntax items.
19" For version 6.x: Quit when a syntax file was already loaded.
20if version < 600
21 syntax clear
22elseif exists("b:current_syntax")
23 finish
24endif
25
Bram Moolenaar8e69b4a2013-11-09 03:41:58 +010026syn spell toplevel
Bram Moolenaar6c35bea2012-07-25 17:49:10 +020027
Bram Moolenaar8e69b4a2013-11-09 03:41:58 +010028syn match svnFirstLine "\%^.*" nextgroup=svnRegion,svnBlank skipnl
29syn match svnSummary "^.\{0,50\}" contained containedin=svnFirstLine nextgroup=svnOverflow contains=@Spell
30syn match svnOverflow ".*" contained contains=@Spell
31syn match svnBlank "^.*" contained contains=@Spell
32
33syn region svnRegion end="\%$" matchgroup=svnDelimiter start="^--.*--$" contains=svnRemoved,svnRenamed,svnAdded,svnModified,svnProperty,@NoSpell
34syn match svnRemoved "^D .*$" contained contains=@NoSpell
35syn match svnRenamed "^R[ M][ U][ +] .*$" contained contains=@NoSpell
36syn match svnAdded "^A[ M][ U][ +] .*$" contained contains=@NoSpell
37syn match svnModified "^M[ M][ U] .*$" contained contains=@NoSpell
38syn match svnProperty "^_M[ U] .*$" contained contains=@NoSpell
Bram Moolenaar071d4272004-06-13 20:20:40 +000039
40" Synchronization.
41syn sync clear
Bram Moolenaar3991dab2006-03-27 17:01:56 +000042syn sync match svnSync grouphere svnRegion "^--.*--$"me=s-1
Bram Moolenaar071d4272004-06-13 20:20:40 +000043
44" Define the default highlighting.
45" For version 5.7 and earlier: only when not done already.
46" For version 5.8 and later: only when an item doesn't have highlighting yet.
47if version >= 508 || !exists("did_svn_syn_inits")
48 if version <= 508
49 let did_svn_syn_inits = 1
50 command -nargs=+ HiLink hi link <args>
51 else
52 command -nargs=+ HiLink hi def link <args>
53 endif
54
Bram Moolenaar8e69b4a2013-11-09 03:41:58 +010055 HiLink svnSummary Keyword
56 HiLink svnBlank Error
57
Bram Moolenaar3991dab2006-03-27 17:01:56 +000058 HiLink svnRegion Comment
Bram Moolenaar8e69b4a2013-11-09 03:41:58 +010059 HiLink svnDelimiter NonText
Bram Moolenaar3991dab2006-03-27 17:01:56 +000060 HiLink svnRemoved Constant
61 HiLink svnAdded Identifier
62 HiLink svnModified Special
63 HiLink svnProperty Special
Bram Moolenaard38b0552012-04-25 19:07:41 +020064 HiLink svnRenamed Special
Bram Moolenaar071d4272004-06-13 20:20:40 +000065
66 delcommand HiLink
67endif
68
69let b:current_syntax = "svn"