mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			78 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:    Debian changelog files
 | |
| " Maintainer:  Debian Vim Maintainers
 | |
| " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
 | |
| "                     Wichert Akkerman <wakkerma@debian.org>
 | |
| " Last Change: 2022 May 01
 | |
| " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
 | |
| 
 | |
| " Standard syntax initialization
 | |
| if exists('b:current_syntax')
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| " Case doesn't matter for us
 | |
| syn case ignore
 | |
| 
 | |
| let s:urgency='urgency=\(low\|medium\|high\|emergency\|critical\)\( [^[:space:],][^,]*\)\='
 | |
| let s:binNMU='binary-only=yes'
 | |
| 
 | |
| let s:cpo = &cpo
 | |
| set cpo-=C
 | |
| let s:supported = [
 | |
|       \ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
 | |
|       \ 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
 | |
|       \ 'trixie', 'sid', 'rc-buggy',
 | |
|       \
 | |
|       \ 'trusty', 'xenial', 'bionic', 'focal', 'impish', 'jammy', 'kinetic',
 | |
|       \ 'devel'
 | |
|       \ ]
 | |
| let s:unsupported = [
 | |
|       \ 'frozen', 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
 | |
|       \ 'woody', 'sarge', 'etch', 'lenny', 'squeeze', 'wheezy',
 | |
|       \
 | |
|       \ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
 | |
|       \ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
 | |
|       \ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy',
 | |
|       \ 'utopic', 'vivid', 'wily', 'yakkety', 'zesty', 'artful', 'cosmic',
 | |
|       \ 'disco', 'eoan', 'hirsute', 'groovy'
 | |
|       \ ]
 | |
| let &cpo=s:cpo
 | |
| 
 | |
| " Define some common expressions we can use later on
 | |
| syn match debchangelogName	contained "^[[:alnum:]][[:alnum:].+-]\+ "
 | |
| exe 'syn match debchangelogFirstKV	contained "; \('.s:urgency.'\|'.s:binNMU.'\)"'
 | |
| exe 'syn match debchangelogOtherKV	contained ", \('.s:urgency.'\|'.s:binNMU.'\)"'
 | |
| exe 'syn match debchangelogTarget	contained "\%( \%('.join(s:supported, '\|').'\)\>[-[:alnum:]]*\)\+"'
 | |
| exe 'syn match debchangelogUnsupportedTarget	contained "\%( \%('.join(s:unsupported, '\|').'\)\>[-[:alnum:]]*\)\+"'
 | |
| syn match debchangelogUnreleased	contained / UNRELEASED/
 | |
| syn match debchangelogVersion	contained "(.\{-})"
 | |
| syn match debchangelogCloses	contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
 | |
| syn match debchangelogLP	contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
 | |
| syn match debchangelogEmail	contained "[_=[:alnum:].+-]\+@[[:alnum:]./\-]\+"
 | |
| syn match debchangelogEmail	contained "<.\{-}>"
 | |
| 
 | |
| " Define the entries that make up the changelog
 | |
| syn region debchangelogHeader start="^[^ ]" end="$" contains=debchangelogName,debchangelogFirstKV,debchangelogOtherKV,debchangelogTarget,debchangelogUnsupportedTarget,debchangelogUnreleased,debchangelogVersion,debchangelogBinNMU oneline
 | |
| syn region debchangelogFooter start="^ [^ ]" end="$" contains=debchangelogEmail oneline
 | |
| syn region debchangelogEntry start="^  " end="$" contains=debchangelogCloses,debchangelogLP oneline
 | |
| 
 | |
| " Associate our matches and regions with pretty colours
 | |
| hi def link debchangelogHeader  Error
 | |
| hi def link debchangelogFooter  Identifier
 | |
| hi def link debchangelogEntry   Normal
 | |
| hi def link debchangelogCloses  Statement
 | |
| hi def link debchangelogLP      Statement
 | |
| hi def link debchangelogFirstKV Identifier
 | |
| hi def link debchangelogOtherKV Identifier
 | |
| hi def link debchangelogName    Comment
 | |
| hi def link debchangelogVersion Identifier
 | |
| hi def link debchangelogTarget  Identifier
 | |
| hi def link debchangelogUnsupportedTarget  Identifier
 | |
| hi def link debchangelogUnreleased WarningMsg
 | |
| hi def link debchangelogEmail   Special
 | |
| 
 | |
| let b:current_syntax = 'debchangelog'
 | |
| 
 | |
| " vim: ts=8 sw=2
 |