1d2cec5b0SBram Moolenaar" Vim syntax file
2d2cec5b0SBram Moolenaar" Language:     Debian sources.list
37254067eSBram Moolenaar" Maintainer:   Debian Vim Maintainers
4c236c16dSBram Moolenaar" Former Maintainer: Matthijs Mohlmann <[email protected]>
5*079ba76aSBram Moolenaar" Last Change: 2021 Oct 19
67254067eSBram Moolenaar" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim
7d2cec5b0SBram Moolenaar
8d2cec5b0SBram Moolenaar" Standard syntax initialization
985eee130SBram Moolenaarif exists('b:current_syntax')
10d2cec5b0SBram Moolenaar  finish
11d2cec5b0SBram Moolenaarendif
12d2cec5b0SBram Moolenaar
13d2cec5b0SBram Moolenaar" case sensitive
14d2cec5b0SBram Moolenaarsyn case match
15d2cec5b0SBram Moolenaar
16d2cec5b0SBram Moolenaar" A bunch of useful keywords
17c236c16dSBram Moolenaarsyn match debsourcesKeyword        /\(deb-src\|deb\|main\|contrib\|non-free\|restricted\|universe\|multiverse\)/
18d2cec5b0SBram Moolenaar
19d2cec5b0SBram Moolenaar" Match comments
205c73622aSBram Moolenaarsyn match debsourcesComment        /#.*/  contains=@Spell
21d2cec5b0SBram Moolenaar
22f2571c61SBram Moolenaarlet s:cpo = &cpo
23f2571c61SBram Moolenaarset cpo-=C
24f2571c61SBram Moolenaarlet s:supported = [
25f2571c61SBram Moolenaar      \ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
263132cdddSBram Moolenaar      \ 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
2723515b4eSBram Moolenaar      \ 'trixie', 'sid', 'rc-buggy',
28f2571c61SBram Moolenaar      \
29*079ba76aSBram Moolenaar      \ 'trusty', 'xenial', 'bionic', 'focal', 'hirsute', 'impish', 'jammy',
30*079ba76aSBram Moolenaar      \ 'devel'
31f2571c61SBram Moolenaar      \ ]
32f2571c61SBram Moolenaarlet s:unsupported = [
33f2571c61SBram Moolenaar      \ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
343132cdddSBram Moolenaar      \ 'woody', 'sarge', 'etch', 'lenny', 'squeeze', 'wheezy',
35f2571c61SBram Moolenaar      \
36f2571c61SBram Moolenaar      \ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
37f2571c61SBram Moolenaar      \ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
383ec574f2SBram Moolenaar      \ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy',
39560979edSBram Moolenaar      \ 'utopic', 'vivid', 'wily', 'yakkety', 'zesty', 'artful', 'cosmic',
406aa57295SBram Moolenaar      \ 'disco', 'eoan', 'groovy'
41f2571c61SBram Moolenaar      \ ]
42f2571c61SBram Moolenaarlet &cpo=s:cpo
43f2571c61SBram Moolenaar
44d2cec5b0SBram Moolenaar" Match uri's
4585eee130SBram Moolenaarsyn match debsourcesUri            '\(https\?://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' 	<>"]\+'
463ec574f2SBram Moolenaarexe 'syn match debsourcesDistrKeyword   +\([[:alnum:]_./]*\)\<\('. join(s:supported, '\|'). '\)\>\([-[:alnum:]_./]*\)+'
473ec574f2SBram Moolenaarexe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(s:unsupported, '\|') .'\)\>\([-[:alnum:]_./]*\)+'
48d2cec5b0SBram Moolenaar
49d2cec5b0SBram Moolenaar" Associate our matches and regions with pretty colours
50d2cec5b0SBram Moolenaarhi def link debsourcesLine                    Error
51d2cec5b0SBram Moolenaarhi def link debsourcesKeyword                 Statement
52d2cec5b0SBram Moolenaarhi def link debsourcesDistrKeyword            Type
53f2571c61SBram Moolenaarhi def link debsourcesUnsupportedDistrKeyword WarningMsg
54d2cec5b0SBram Moolenaarhi def link debsourcesComment                 Comment
55d2cec5b0SBram Moolenaarhi def link debsourcesUri                     Constant
56d2cec5b0SBram Moolenaar
5785eee130SBram Moolenaarlet b:current_syntax = 'debsources'
58