view runtime/syntax/debsources.vim @ 34438:f8951966ef0c

runtime(debian): update Debian syntax files (#14098) Commit: https://github.com/vim/vim/commit/c7ddc9b73543d4b3b906b56948dc9a6861150e12 Author: James McCoy <jamessan@jamessan.com> Date: Tue Feb 27 01:34:45 2024 -0500 runtime(debian): update Debian syntax files (https://github.com/vim/vim/issues/14098) * debversions.vim: Move lunar to unsupported release * debsources: Add word boundaries around keyword match patterns Co-authored-by: James Addison <jay@jp-hosting.net> Signed-off-by: James Addison <jay@jp-hosting.net> Signed-off-by: James McCoy <jamessan@jamessan.com> Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Tue, 27 Feb 2024 07:45:04 +0100
parents c6d5af39dc7f
children
line wrap: on
line source

" Vim syntax file
" Language:     Debian sources.list
" Maintainer:   Debian Vim Maintainers
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
" Last Change: 2024 Jan 30
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/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 debsourcesType               /\<\(deb-src\|deb\)\>/ contained
syn match debsourcesFreeComponent      /\<\(main\|universe\)\>/ contained
syn match debsourcesNonFreeComponent   /\<\(contrib\|non-free-firmware\|non-free\|restricted\|multiverse\)\>/ contained

" Match comments
syn match debsourcesComment        /#.*/  contains=@Spell

" Include Debian versioning information
runtime! syntax/shared/debversions.vim

exe 'syn match debsourcesDistrKeyword   +\([[:alnum:]_./]*\)\<\('. join(g:debSharedSupportedVersions, '\|'). '\)\>\([-[:alnum:]_./]*\)+'
exe 'syn match debsourcesUnsupportedDistrKeyword +\([[:alnum:]_./]*\)\<\('. join(g:debSharedUnsupportedVersions, '\|') .'\)\>\([-[:alnum:]_./]*\)+'

unlet g:debSharedSupportedVersions
unlet g:debSharedUnsupportedVersions

" Match uri's
syn match debsourcesUri            '\(https\?://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' 	<>"]\+'
syn region debsourcesLine start="^" end="$" contains=debsourcesType,debsourcesFreeComponent,debsourcesNonFreeComponent,debsourcesComment,debsourcesUri,debsourcesDistrKeyword,debsourcesUnsupportedDistrKeyword oneline

" Associate our matches and regions with pretty colours
hi def link debsourcesType                    Statement
hi def link debsourcesFreeComponent           Statement
hi def link debsourcesNonFreeComponent        Statement
hi def link debsourcesComment                 Comment
hi def link debsourcesUri                     Constant
hi def link debsourcesDistrKeyword            Type
hi def link debsourcesUnsupportedDistrKeyword WarningMsg

let b:current_syntax = 'debsources'