mirror of
https://github.com/vim/vim
synced 2025-07-15 16:51:57 +00:00
related: #17679 Signed-off-by: James McCoy <jamessan@debian.org> Signed-off-by: Christian Brabandt <cb@256bit.org>
96 lines
4.2 KiB
VimL
96 lines
4.2 KiB
VimL
" Vim syntax file
|
|
" Language: Debian autopkgtest control files
|
|
" Maintainer: Debian Vim Maintainers
|
|
" Last Change: 2025 Jul 05
|
|
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/autopkgtest.vim
|
|
"
|
|
" Specification of the autopkgtest format is available at:
|
|
" https://www.debian.org/doc/debian-policy/autopkgtest.txt
|
|
|
|
" Standard syntax initialization
|
|
if exists('b:current_syntax')
|
|
finish
|
|
endif
|
|
|
|
let s:cpo_save = &cpo
|
|
set cpo&vim
|
|
|
|
" Must call this first, because it will clear other settings
|
|
syn sync clear
|
|
syn sync match autopkgtestSync grouphere NONE '^$'
|
|
|
|
" Should match case except for the keys of each field
|
|
syn case match
|
|
|
|
syn iskeyword @,48-57,-
|
|
|
|
" #-Comments
|
|
syn match autopkgtestComment "#.*" contains=@Spell
|
|
|
|
syn match autopkgtestTests contained "[a-z0-9][a-z0-9+.-]\+\%(,\=\s*[a-z0-9][a-z0-9+.-]\+\)*,\="
|
|
syn match autopkgtestArbitrary contained "[^#]*"
|
|
syn keyword autopkgtestRestrictions contained
|
|
\ allow-stderr
|
|
\ breaks-testbe
|
|
\ build-neede
|
|
\ flaky
|
|
\ hint-testsuite-trigger
|
|
\ isolation-container
|
|
\ isolation-machine
|
|
\ needs-internet
|
|
\ needs-reboot
|
|
\ needs-root
|
|
\ needs-sudo
|
|
\ rw-build-tree
|
|
\ skip-foreign-architecture
|
|
\ skip-not-installable
|
|
\ skippable
|
|
\ superficial
|
|
syn keyword autopkgtestDeprecatedRestrictions contained needs-recommends
|
|
syn match autopkgtestFeatures contained 'test-name=[^, ]*\%([, ]*[^, #]\)*,\='
|
|
syn match autopkgtestDepends contained '\%(@builddeps@\|@recommends@\|@\)'
|
|
|
|
runtime! syntax/shared/debarchitectures.vim
|
|
|
|
syn keyword autopkgtestArchitecture contained any
|
|
exe 'syn keyword autopkgtestArchitecture contained '. join(g:debArchitectureKernelAnyArch)
|
|
exe 'syn keyword autopkgtestArchitecture contained '. join(g:debArchitectureAnyKernelArch)
|
|
exe 'syn keyword autopkgtestArchitecture contained '. join(g:debArchitectureArchs)
|
|
|
|
syn case ignore
|
|
|
|
" Catch-all for the legal fields
|
|
syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Tests: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestTests,autopkgtestComment
|
|
syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Restrictions: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestRestrictions,autopkgtestDeprecatedRestrictions,autopkgtestComment
|
|
syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Features: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestFeatures,autopkgtestComment
|
|
syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Depends: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestDepends,autopkgtestComment
|
|
syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Classes: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestComment
|
|
syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Architecture: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestArchitecture,autopkgtestComment
|
|
|
|
" Fields for which we do strict syntax checking
|
|
syn region autopkgtestStrictField matchgroup=autopkgtestKey start="^Test-Command: *" end="$" end='#'me=s-1 contains=autopkgtestArbitrary,autopkgtestComment oneline
|
|
syn region autopkgtestStrictField matchgroup=autopkgtestKey start="^Tests-Directory: *" end="$" end='#'me=s-1 contains=autopkgtestArbitrary,autopkgtestComment oneline
|
|
|
|
syn match autopkgtestError '^\%(\%(Architecture\|Classes\|Depends\|Features\|Restrictions\|Test-Command\|Tests-Directory\|Tests\)\@![^ #]*:\)'
|
|
|
|
" Associate our matches and regions with pretty colours
|
|
hi def link autopkgtestKey Keyword
|
|
hi def link autopkgtestRestrictions Identifier
|
|
hi def link autopkgtestFeatures Keyword
|
|
hi def link autopkgtestDepends Identifier
|
|
hi def link autopkgtestArchitecture Identifier
|
|
hi def link autopkgtestStrictField Error
|
|
hi def link autopkgtestDeprecatedRestrictions Error
|
|
hi def link autopkgtestMultiField Normal
|
|
hi def link autopkgtestArbitrary Normal
|
|
hi def link autopkgtestTests Normal
|
|
hi def link autopkgtestComment Comment
|
|
hi def link autopkgtestError Error
|
|
|
|
let b:current_syntax = 'autopkgtest'
|
|
|
|
let &cpo = s:cpo_save
|
|
unlet s:cpo_save
|
|
|
|
" vim: ts=8 sw=2
|