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: vim/vim#13618

1e5d66408e

Co-authored-by: Ronan Pigott <ronan@rjp.ie>
This commit is contained in:
Christian Clason 2023-12-05 09:24:28 +01:00
parent 3159a2c28f
commit c9828200ac
3 changed files with 43 additions and 0 deletions

View File

@ -1394,6 +1394,7 @@ local filename = {
octaverc = 'octave',
['octave.conf'] = 'octave',
opam = 'opam',
['pacman.log'] = 'pacmanlog',
['/etc/pam.conf'] = 'pamconf',
['pam_env.conf'] = 'pamenv',
['.pam_environment'] = 'pamenv',

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

@ -471,6 +471,7 @@ func s:GetFilenameChecks() abort
\ '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'],