view runtime/syntax/debchangelog.vim @ 35714:f7c1a8e37c0b v9.1.0592

patch 9.1.0592: runtime: filetype: Mediawiki files are not recognized Commit: https://github.com/vim/vim/commit/b5844104ab1259e061e023ea6259e4eb002e7170 Author: AvidSeeker <avidseeker7@protonmail.com> Date: Tue Jul 16 21:10:50 2024 +0200 patch 9.1.0592: runtime: filetype: Mediawiki files are not recognized Problem: filetype: Mediawiki files are not recognized Solution: detect "*.mw" and "*.wiki" as mediawiki filetype, include basic syntax and filetype plugins. (AvidSeeker) closes: #15266 Signed-off-by: AvidSeeker <avidseeker7@protonmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Wed, 17 Jul 2024 08:13:58 +0200
parents c6d5af39dc7f
children
line wrap: on
line source

" 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: 2023 Oct 11
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/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'

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

exe 'syn match debchangelogTarget	contained "\%( \%('.join(g:debSharedSupportedVersions, '\|').'\)\>[-[:alnum:]]*\)\+"'
exe 'syn match debchangelogUnsupportedTarget	contained "\%( \%('.join(g:debSharedUnsupportedVersions, '\|').'\)\>[-[:alnum:]]*\)\+"'

unlet g:debSharedSupportedVersions
unlet g:debSharedUnsupportedVersions

" 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.'\)"'
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 debchangelogUnreleased WarningMsg
hi def link debchangelogEmail      Special
hi def link debchangelogTarget     Identifier
hi def link debchangelogUnsupportedTarget Identifier

let b:current_syntax = 'debchangelog'

" vim: ts=8 sw=2