1
0
forked from aniani/vim

patch 9.0.2148: Vim does not detect pacman.log file

Problem:  Vim does not detect pacman.log file
Solution: Detect pacmanlogs and add syntax highlighting

pacman.log is a filetype common to Arch Liux and related distributions.
Add some simple syntax highlighting for the pacmanlog filetype.

closes: #13618

Signed-off-by: Ronan Pigott <ronan@rjp.ie>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Ronan Pigott 2023-12-04 20:46:15 +01:00 committed by Christian Brabandt
parent ca2eca7c79
commit 1e5d66408e
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09
5 changed files with 48 additions and 0 deletions

1
.github/CODEOWNERS vendored
View File

@ -450,6 +450,7 @@ runtime/syntax/nix.vim @equill
runtime/syntax/nroff.vim @jmarshall
runtime/syntax/nsis.vim @k-takata
runtime/syntax/openvpn.vim @ObserverOfTime
runtime/syntax/pacmanlog.vim @rpigott
runtime/syntax/pascal.vim @dkearns
runtime/syntax/pbtxt.vim @lakshayg
runtime/syntax/pdf.vim @tpope

View File

@ -1521,6 +1521,9 @@ au BufNewFile,BufRead *.hook
\ setf confini |
\ endif
" Pacman log
au BufNewFile,BufRead pacman.log setf pacmanlog
" Pam conf
au BufNewFile,BufRead */etc/pam.conf setf pamconf

View File

@ -0,0 +1,41 @@
" Vim syntax file
" Language: pacman.log
" Maintainer: Ronan Pigott <ronan@rjp.ie>
" Last Change: 2023 Dec 04
if exists("b:current_syntax")
finish
endif
syn sync maxlines=1
syn region pacmanlogMsg start='\S' end='$' keepend contains=pacmanlogTransaction,pacmanlogALPMMsg
syn region pacmanlogTag start='\['hs=s+1 end='\]'he=e-1 keepend nextgroup=pacmanlogMsg
syn region pacmanlogTime start='^\['hs=s+1 end='\]'he=e-1 keepend nextgroup=pacmanlogTag
syn match pacmanlogPackageName '\v[a-z0-9@_+.-]+' contained skipwhite nextgroup=pacmanlogPackageVersion
syn match pacmanlogPackageVersion '(.*)' contained
syn match pacmanlogTransaction 'transaction \v(started|completed)$' contained
syn match pacmanlogInstalled '\v(re)?installed' contained nextgroup=pacmanlogPackageName
syn match pacmanlogUpgraded 'upgraded' contained nextgroup=pacmanlogPackageName
syn match pacmanlogDowngraded 'downgraded' contained nextgroup=pacmanlogPackageName
syn match pacmanlogRemoved 'removed' contained nextgroup=pacmanlogPackageName
syn match pacmanlogWarning 'warning:.*$' contained
syn region pacmanlogALPMMsg start='\v(\[ALPM\] )@<=(transaction|(re)?installed|upgraded|downgraded|removed|warning)>' end='$' contained
\ contains=pacmanlogTransaction,pacmanlogInstalled,pacmanlogUpgraded,pacmanlogDowngraded,pacmanlogRemoved,pacmanlogWarning,pacmanlogPackageName,pacmanlogPackgeVersion
hi def link pacmanlogTime String
hi def link pacmanlogTag Type
hi def link pacmanlogTransaction Special
hi def link pacmanlogInstalled Identifier
hi def link pacmanlogRemoved Repeat
hi def link pacmanlogUpgraded pacmanlogInstalled
hi def link pacmanlogDowngraded pacmanlogRemoved
hi def link pacmanlogWarning WarningMsg
hi def link pacmanlogPackageName Normal
hi def link pacmanlogPackageVersion Comment
let b:current_syntax = "pacmanlog"

View File

@ -511,6 +511,7 @@ def s:GetFilenameChecks(): dict<list<string>>
opl: ['file.OPL', 'file.OPl', 'file.OpL', 'file.Opl', 'file.oPL', 'file.oPl', 'file.opL', 'file.opl'],
ora: ['file.ora'],
org: ['file.org', 'file.org_archive'],
pacmanlog: ['pacman.log'],
pamconf: ['/etc/pam.conf', '/etc/pam.d/file', 'any/etc/pam.conf', 'any/etc/pam.d/file'],
pamenv: ['/etc/security/pam_env.conf', '/home/user/.pam_environment', '.pam_environment', 'pam_env.conf'],
papp: ['file.papp', 'file.pxml', 'file.pxsl'],

View File

@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
2148,
/**/
2147,
/**/