2014-07-10 21:05:51 -07:00
|
|
|
" Vim syntax file
|
|
|
|
" Language: Debian changelog files
|
2018-10-28 06:05:39 -07:00
|
|
|
" Maintainer: Debian Vim Maintainers
|
2014-07-10 21:05:51 -07:00
|
|
|
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
|
|
|
" Wichert Akkerman <wakkerma@debian.org>
|
2021-05-01 16:15:16 -07:00
|
|
|
" Last Change: 2020 Nov 28
|
2018-10-28 06:05:39 -07:00
|
|
|
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
" Standard syntax initialization
|
2018-10-29 00:43:13 -07:00
|
|
|
if exists('b:current_syntax')
|
2014-07-10 21:05:51 -07:00
|
|
|
finish
|
|
|
|
endif
|
|
|
|
|
|
|
|
" Case doesn't matter for us
|
|
|
|
syn case ignore
|
|
|
|
|
2019-07-28 18:16:37 -07:00
|
|
|
let s:urgency='urgency=\(low\|medium\|high\|emergency\|critical\)\( [^[:space:],][^,]*\)\='
|
2017-11-06 17:34:28 -07:00
|
|
|
let s:binNMU='binary-only=yes'
|
2015-11-07 19:35:37 -07:00
|
|
|
|
2021-04-23 19:48:41 -07:00
|
|
|
let s:cpo = &cpo
|
|
|
|
set cpo-=C
|
|
|
|
let s:supported = [
|
|
|
|
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
|
2021-05-01 14:50:17 -07:00
|
|
|
\ 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
|
2021-05-01 16:15:16 -07:00
|
|
|
\ 'trixie', 'sid', 'rc-buggy',
|
2021-04-23 19:48:41 -07:00
|
|
|
\
|
2021-05-01 16:15:16 -07:00
|
|
|
\ 'trusty', 'xenial', 'bionic', 'focal', 'groovy', 'hirsute', 'devel'
|
2021-04-23 19:48:41 -07:00
|
|
|
\ ]
|
|
|
|
let s:unsupported = [
|
|
|
|
\ 'frozen', 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
|
2021-05-01 14:50:17 -07:00
|
|
|
\ 'woody', 'sarge', 'etch', 'lenny', 'squeeze', 'wheezy',
|
2021-04-23 19:48:41 -07:00
|
|
|
\
|
|
|
|
\ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
|
|
|
|
\ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
|
|
|
|
\ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy',
|
2021-04-26 18:25:27 -07:00
|
|
|
\ 'utopic', 'vivid', 'wily', 'yakkety', 'zesty', 'artful', 'cosmic',
|
2021-05-01 14:50:17 -07:00
|
|
|
\ 'disco', 'eoan'
|
2021-04-23 19:48:41 -07:00
|
|
|
\ ]
|
|
|
|
let &cpo=s:cpo
|
|
|
|
|
2014-07-10 21:05:51 -07:00
|
|
|
" Define some common expressions we can use later on
|
|
|
|
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
|
2017-11-06 17:34:28 -07:00
|
|
|
exe 'syn match debchangelogFirstKV contained "; \('.s:urgency.'\|'.s:binNMU.'\)"'
|
|
|
|
exe 'syn match debchangelogOtherKV contained ", \('.s:urgency.'\|'.s:binNMU.'\)"'
|
2021-04-23 19:48:41 -07:00
|
|
|
exe 'syn match debchangelogTarget contained "\%( \%('.join(s:supported, '\|').'\)\>[-[:alnum:]]*\)\+"'
|
|
|
|
exe 'syn match debchangelogUnsupportedTarget contained "\%( \%('.join(s:unsupported, '\|').'\)\>[-[:alnum:]]*\)\+"'
|
2021-04-26 18:25:27 -07:00
|
|
|
syn match debchangelogUnreleased contained / UNRELEASED/
|
2014-07-10 21:05:51 -07:00
|
|
|
syn match debchangelogVersion contained "(.\{-})"
|
|
|
|
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
|
|
|
|
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
|
|
|
|
syn match debchangelogEmail contained "[_=[:alnum:].+-]\+@[[:alnum:]./\-]\+"
|
|
|
|
syn match debchangelogEmail contained "<.\{-}>"
|
|
|
|
|
|
|
|
" Define the entries that make up the changelog
|
2021-04-23 19:48:41 -07:00
|
|
|
syn region debchangelogHeader start="^[^ ]" end="$" contains=debchangelogName,debchangelogFirstKV,debchangelogOtherKV,debchangelogTarget,debchangelogUnsupportedTarget,debchangelogUnreleased,debchangelogVersion,debchangelogBinNMU oneline
|
2014-07-10 21:05:51 -07:00
|
|
|
syn region debchangelogFooter start="^ [^ ]" end="$" contains=debchangelogEmail oneline
|
|
|
|
syn region debchangelogEntry start="^ " end="$" contains=debchangelogCloses,debchangelogLP oneline
|
|
|
|
|
|
|
|
" Associate our matches and regions with pretty colours
|
2017-04-28 12:14:34 -07:00
|
|
|
hi def link debchangelogHeader Error
|
|
|
|
hi def link debchangelogFooter Identifier
|
|
|
|
hi def link debchangelogEntry Normal
|
|
|
|
hi def link debchangelogCloses Statement
|
|
|
|
hi def link debchangelogLP Statement
|
|
|
|
hi def link debchangelogFirstKV Identifier
|
|
|
|
hi def link debchangelogOtherKV Identifier
|
|
|
|
hi def link debchangelogName Comment
|
|
|
|
hi def link debchangelogVersion Identifier
|
|
|
|
hi def link debchangelogTarget Identifier
|
2021-04-23 19:48:41 -07:00
|
|
|
hi def link debchangelogUnsupportedTarget Identifier
|
|
|
|
hi def link debchangelogUnreleased WarningMsg
|
2017-04-28 12:14:34 -07:00
|
|
|
hi def link debchangelogEmail Special
|
2014-07-10 21:05:51 -07:00
|
|
|
|
2018-10-29 00:43:13 -07:00
|
|
|
let b:current_syntax = 'debchangelog'
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
" vim: ts=8 sw=2
|