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