neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

autopkgtest.vim (4254B)


      1 " Vim syntax file
      2 " Language:    Debian autopkgtest control files
      3 " Maintainer:  Debian Vim Maintainers
      4 " Last Change: 2025 Jul 05
      5 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/syntax/autopkgtest.vim
      6 "
      7 " Specification of the autopkgtest format is available at:
      8 "   https://www.debian.org/doc/debian-policy/autopkgtest.txt
      9 
     10 " Standard syntax initialization
     11 if exists('b:current_syntax')
     12  finish
     13 endif
     14 
     15 let s:cpo_save = &cpo
     16 set cpo&vim
     17 
     18 " Must call this first, because it will clear other settings
     19 syn sync clear
     20 syn sync match autopkgtestSync grouphere NONE '^$'
     21 
     22 " Should match case except for the keys of each field
     23 syn case match
     24 
     25 syn iskeyword @,48-57,-
     26 
     27 " #-Comments
     28 syn match autopkgtestComment "#.*" contains=@Spell
     29 
     30 syn match autopkgtestTests contained "[a-z0-9][a-z0-9+.-]\+\%(,\=\s*[a-z0-9][a-z0-9+.-]\+\)*,\="
     31 syn match autopkgtestArbitrary contained "[^#]*"
     32 syn keyword autopkgtestRestrictions contained
     33      \ allow-stderr
     34      \ breaks-testbe
     35      \ build-neede
     36      \ flaky
     37      \ hint-testsuite-trigger
     38      \ isolation-container
     39      \ isolation-machine
     40      \ needs-internet
     41      \ needs-reboot
     42      \ needs-root
     43      \ needs-sudo
     44      \ rw-build-tree
     45      \ skip-foreign-architecture
     46      \ skip-not-installable
     47      \ skippable
     48      \ superficial
     49 syn keyword autopkgtestDeprecatedRestrictions contained needs-recommends
     50 syn match autopkgtestFeatures contained 'test-name=[^, ]*\%([, ]*[^, #]\)*,\='
     51 syn match autopkgtestDepends contained '\%(@builddeps@\|@recommends@\|@\)'
     52 
     53 runtime! syntax/shared/debarchitectures.vim
     54 
     55 syn keyword autopkgtestArchitecture contained any
     56 exe 'syn keyword autopkgtestArchitecture contained '. join(g:debArchitectureKernelAnyArch)
     57 exe 'syn keyword autopkgtestArchitecture contained '. join(g:debArchitectureAnyKernelArch)
     58 exe 'syn keyword autopkgtestArchitecture contained '. join(g:debArchitectureArchs)
     59 
     60 syn case ignore
     61 
     62 " Catch-all for the legal fields
     63 syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Tests: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestTests,autopkgtestComment
     64 syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Restrictions: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestRestrictions,autopkgtestDeprecatedRestrictions,autopkgtestComment
     65 syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Features: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestFeatures,autopkgtestComment
     66 syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Depends: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestDepends,autopkgtestComment
     67 syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Classes: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestComment
     68 syn region autopkgtestMultiField matchgroup=autopkgtestKey start="^Architecture: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=autopkgtestArchitecture,autopkgtestComment
     69 
     70 " Fields for which we do strict syntax checking
     71 syn region autopkgtestStrictField matchgroup=autopkgtestKey start="^Test-Command: *" end="$" end='#'me=s-1 contains=autopkgtestArbitrary,autopkgtestComment oneline
     72 syn region autopkgtestStrictField matchgroup=autopkgtestKey start="^Tests-Directory: *" end="$" end='#'me=s-1 contains=autopkgtestArbitrary,autopkgtestComment oneline
     73 
     74 syn match autopkgtestError '^\%(\%(Architecture\|Classes\|Depends\|Features\|Restrictions\|Test-Command\|Tests-Directory\|Tests\)\@![^ #]*:\)'
     75 
     76 " Associate our matches and regions with pretty colours
     77 hi def link autopkgtestKey           Keyword
     78 hi def link autopkgtestRestrictions  Identifier
     79 hi def link autopkgtestFeatures      Keyword
     80 hi def link autopkgtestDepends       Identifier
     81 hi def link autopkgtestArchitecture  Identifier
     82 hi def link autopkgtestStrictField   Error
     83 hi def link autopkgtestDeprecatedRestrictions Error
     84 hi def link autopkgtestMultiField    Normal
     85 hi def link autopkgtestArbitrary     Normal
     86 hi def link autopkgtestTests         Normal
     87 hi def link autopkgtestComment       Comment
     88 hi def link autopkgtestError         Error
     89 
     90 let b:current_syntax = 'autopkgtest'
     91 
     92 let &cpo = s:cpo_save
     93 unlet s:cpo_save
     94 
     95 " vim: ts=8 sw=2