0
0
mirror of https://github.com/vim/vim.git synced 2025-07-04 23:07:33 -04:00
vim/runtime/syntax/debchangelog.vim

77 lines
3.3 KiB
VimL
Raw Normal View History

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