7
|
1 " Vim syntax file
|
835
|
2 " Language: Debian changelog files
|
|
3 " Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
1620
|
4 " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
|
5 " Wichert Akkerman <wakkerma@debian.org>
|
6823
|
6 " Last Change: 2015 Apr 30
|
2908
|
7 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
|
7
|
8
|
|
9 " Standard syntax initialization
|
|
10 if version < 600
|
|
11 syntax clear
|
|
12 elseif exists("b:current_syntax")
|
|
13 finish
|
|
14 endif
|
|
15
|
|
16 " Case doesn't matter for us
|
|
17 syn case ignore
|
|
18
|
6823
|
19 let urgency='urgency=\(low\|medium\|high\|critical\)\( [^[:space:],][^,]*\)\='
|
|
20 let binNMU='binary-only=yes'
|
|
21
|
7
|
22 " Define some common expressions we can use later on
|
2034
|
23 syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
|
6823
|
24 exe 'syn match debchangelogFirstKV contained "; \('.urgency.'\|'.binNMU.'\)"'
|
|
25 exe 'syn match debchangelogOtherKV contained ", \('.urgency.'\|'.binNMU.'\)"'
|
|
26 syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|wheezy-%(backports%(-sloppy)=|security)|jessie%(-backports|-security)=|stretch|%(devel|lucid|precise|trusty|utopic)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
7
|
27 syn match debchangelogVersion contained "(.\{-})"
|
1620
|
28 syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
|
|
29 syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
|
7
|
30 syn match debchangelogEmail contained "[_=[:alnum:].+-]\+@[[:alnum:]./\-]\+"
|
|
31 syn match debchangelogEmail contained "<.\{-}>"
|
|
32
|
|
33 " Define the entries that make up the changelog
|
6823
|
34 syn region debchangelogHeader start="^[^ ]" end="$" contains=debchangelogName,debchangelogFirstKV,debchangelogOtherKV,debchangelogTarget,debchangelogVersion,debchangelogBinNMU oneline
|
7
|
35 syn region debchangelogFooter start="^ [^ ]" end="$" contains=debchangelogEmail oneline
|
1620
|
36 syn region debchangelogEntry start="^ " end="$" contains=debchangelogCloses,debchangelogLP oneline
|
7
|
37
|
|
38 " Associate our matches and regions with pretty colours
|
|
39 if version >= 508 || !exists("did_debchangelog_syn_inits")
|
|
40 if version < 508
|
|
41 let did_debchangelog_syn_inits = 1
|
|
42 command -nargs=+ HiLink hi link <args>
|
|
43 else
|
|
44 command -nargs=+ HiLink hi def link <args>
|
|
45 endif
|
|
46
|
|
47 HiLink debchangelogHeader Error
|
|
48 HiLink debchangelogFooter Identifier
|
|
49 HiLink debchangelogEntry Normal
|
|
50 HiLink debchangelogCloses Statement
|
1620
|
51 HiLink debchangelogLP Statement
|
6823
|
52 HiLink debchangelogFirstKV Identifier
|
|
53 HiLink debchangelogOtherKV Identifier
|
7
|
54 HiLink debchangelogName Comment
|
|
55 HiLink debchangelogVersion Identifier
|
|
56 HiLink debchangelogTarget Identifier
|
|
57 HiLink debchangelogEmail Special
|
|
58
|
|
59 delcommand HiLink
|
|
60 endif
|
|
61
|
|
62 let b:current_syntax = "debchangelog"
|
|
63
|
|
64 " vim: ts=8 sw=2
|