diff options
Diffstat (limited to 'runtime/syntax/debsources.vim')
-rw-r--r-- | runtime/syntax/debsources.vim | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim new file mode 100644 index 0000000..4b21941 --- /dev/null +++ b/runtime/syntax/debsources.vim @@ -0,0 +1,54 @@ +" Vim syntax file +" Language: Debian sources.list +" Maintainer: Debian Vim Maintainers +" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl> +" Last Change: 2018 Oct 30 +" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim + +" Standard syntax initialization +if exists('b:current_syntax') + finish +endif + +" case sensitive +syn case match + +" A bunch of useful keywords +syn match debsourcesKeyword /\(deb-src\|deb\|main\|contrib\|non-free\|restricted\|universe\|multiverse\)/ + +" Match comments +syn match debsourcesComment /#.*/ contains=@Spell + +let s:cpo = &cpo +set cpo-=C +let s:supported = [ + \ 'oldstable', 'stable', 'testing', 'unstable', 'experimental', + \ 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy', + \ + \ 'trusty', 'xenial', 'bionic', 'cosmic', 'disco', 'devel' + \ ] +let s:unsupported = [ + \ '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', + \ 'utopic', 'vivid', 'wily', 'yakkety', 'zesty', 'artful' + \ ] +let &cpo=s:cpo + +" Match uri's +syn match debsourcesUri '\(https\?://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\+' +exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(s:supported, '\|'). '\)\>\([-[:alnum:]_./]*\)+' +exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(s:unsupported, '\|') .'\)\>\([-[:alnum:]_./]*\)+' + +" Associate our matches and regions with pretty colours +hi def link debsourcesLine Error +hi def link debsourcesKeyword Statement +hi def link debsourcesDistrKeyword Type +hi def link debsourcesUnsupportedDistrKeyword WarningMsg +hi def link debsourcesComment Comment +hi def link debsourcesUri Constant + +let b:current_syntax = 'debsources' |