xref: /vim-8.2.3635/runtime/syntax/svn.vim (revision cf2d8dee)
1" Vim syntax file
2" Language:     Subversion (svn) commit file
3" Maintainer:   Dmitry Vasiliev <dima at hlabs dot org>
4" URL:          https://github.com/hdima/vim-scripts/blob/master/syntax/svn.vim
5" Last Change:  2013-11-08
6" Filenames:    svn-commit*.tmp
7" Version:      1.10
8
9" Contributors:
10"
11" List of the contributors in alphabetical order:
12"
13"   A. S. Budden
14"   Ingo Karkat
15"   Myk Taylor
16"   Stefano Zacchiroli
17
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
26syn spell toplevel
27
28syn 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
39
40" Synchronization.
41syn sync clear
42syn sync match svnSync  grouphere svnRegion "^--.*--$"me=s-1
43
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
55  HiLink svnSummary     Keyword
56  HiLink svnBlank       Error
57
58  HiLink svnRegion      Comment
59  HiLink svnDelimiter   NonText
60  HiLink svnRemoved     Constant
61  HiLink svnAdded       Identifier
62  HiLink svnModified    Special
63  HiLink svnProperty    Special
64  HiLink svnRenamed     Special
65
66  delcommand HiLink
67endif
68
69let b:current_syntax = "svn"
70