blob: c8d110c77b912df5f375d9f52c9878eac8cef220 [file] [log] [blame]
Bram Moolenaard2cec5b2006-03-28 21:08:56 +00001" Vim syntax file
Bram Moolenaarc236c162008-07-13 17:41:49 +00002" Language: Debian sources.list
3" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
4" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
Bram Moolenaarf2571c62015-06-09 19:44:55 +02005" Last Change: 2015 May 25
Bram Moolenaar251e1912011-06-19 05:09:16 +02006" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
Bram Moolenaard2cec5b2006-03-28 21:08:56 +00007
8" Standard syntax initialization
9if version < 600
10 syntax clear
11elseif exists("b:current_syntax")
12 finish
13endif
14
15" case sensitive
16syn case match
17
18" A bunch of useful keywords
Bram Moolenaarc236c162008-07-13 17:41:49 +000019syn match debsourcesKeyword /\(deb-src\|deb\|main\|contrib\|non-free\|restricted\|universe\|multiverse\)/
Bram Moolenaard2cec5b2006-03-28 21:08:56 +000020
21" Match comments
Bram Moolenaar5c736222010-01-06 20:54:52 +010022syn match debsourcesComment /#.*/ contains=@Spell
Bram Moolenaard2cec5b2006-03-28 21:08:56 +000023
Bram Moolenaarf2571c62015-06-09 19:44:55 +020024let s:cpo = &cpo
25set cpo-=C
26let s:supported = [
27 \ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
28 \ 'squeeze', 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
29 \
30 \ 'precise', 'trusty', 'utopic', 'vivid', 'wily', 'devel'
31 \ ]
32let s:unsupported = [
33 \ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
34 \ 'woody', 'sarge', 'etch', 'lenny',
35 \
36 \ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
37 \ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
38 \ 'maverick', 'natty', 'oneiric', 'quantal', 'raring', 'saucy'
39 \ ]
40let &cpo=s:cpo
41
Bram Moolenaard2cec5b2006-03-28 21:08:56 +000042" Match uri's
Bram Moolenaarc236c162008-07-13 17:41:49 +000043syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
Bram Moolenaarf2571c62015-06-09 19:44:55 +020044exe 'syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:supported, '\|'). '\)\([-[:alnum:]_./]*\)+'
45exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\('. join(s:unsupported, '\|') .'\)\([-[:alnum:]_./]*\)+'
Bram Moolenaard2cec5b2006-03-28 21:08:56 +000046
47" Associate our matches and regions with pretty colours
Bram Moolenaarf2571c62015-06-09 19:44:55 +020048hi def link debsourcesLine Error
49hi def link debsourcesKeyword Statement
50hi def link debsourcesDistrKeyword Type
51hi def link debsourcesUnsupportedDistrKeyword WarningMsg
52hi def link debsourcesComment Comment
53hi def link debsourcesUri Constant
Bram Moolenaard2cec5b2006-03-28 21:08:56 +000054
55let b:current_syntax = "debsources"