1" Vim syntax file 2" Language: Debian sources.list 3" Maintainer: Debian Vim Maintainers 4" Former Maintainer: Matthijs Mohlmann <[email protected]> 5" Last Change: 2020 Feb 02 6" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim 7 8" Standard syntax initialization 9if exists('b:current_syntax') 10 finish 11endif 12 13" case sensitive 14syn case match 15 16" A bunch of useful keywords 17syn match debsourcesKeyword /\(deb-src\|deb\|main\|contrib\|non-free\|restricted\|universe\|multiverse\)/ 18 19" Match comments 20syn match debsourcesComment /#.*/ contains=@Spell 21 22let s:cpo = &cpo 23set cpo-=C 24let s:supported = [ 25 \ 'oldstable', 'stable', 'testing', 'unstable', 'experimental', 26 \ 'wheezy', 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm', 27 \ 'sid', 'rc-buggy', 28 \ 29 \ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'devel' 30 \ ] 31let s:unsupported = [ 32 \ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', 33 \ 'woody', 'sarge', 'etch', 'lenny', 'squeeze', 34 \ 35 \ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty', 36 \ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid', 37 \ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy', 38 \ 'utopic', 'vivid', 'wily', 'yakkety', 'zesty', 'artful', 'cosmic', 39 \ 'disco' 40 \ ] 41let &cpo=s:cpo 42 43" Match uri's 44syn match debsourcesUri '\(https\?://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\+' 45exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(s:supported, '\|'). '\)\>\([-[:alnum:]_./]*\)+' 46exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(s:unsupported, '\|') .'\)\>\([-[:alnum:]_./]*\)+' 47 48" Associate our matches and regions with pretty colours 49hi def link debsourcesLine Error 50hi def link debsourcesKeyword Statement 51hi def link debsourcesDistrKeyword Type 52hi def link debsourcesUnsupportedDistrKeyword WarningMsg 53hi def link debsourcesComment Comment 54hi def link debsourcesUri Constant 55 56let b:current_syntax = 'debsources' 57