mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 18:55:14 -07:00
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:
parent
3159a2c28f
commit
c9828200ac
@ -1394,6 +1394,7 @@ local filename = {
|
|||||||
octaverc = 'octave',
|
octaverc = 'octave',
|
||||||
['octave.conf'] = 'octave',
|
['octave.conf'] = 'octave',
|
||||||
opam = 'opam',
|
opam = 'opam',
|
||||||
|
['pacman.log'] = 'pacmanlog',
|
||||||
['/etc/pam.conf'] = 'pamconf',
|
['/etc/pam.conf'] = 'pamconf',
|
||||||
['pam_env.conf'] = 'pamenv',
|
['pam_env.conf'] = 'pamenv',
|
||||||
['.pam_environment'] = 'pamenv',
|
['.pam_environment'] = 'pamenv',
|
||||||
|
41
runtime/syntax/pacmanlog.vim
Normal file
41
runtime/syntax/pacmanlog.vim
Normal 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"
|
@ -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'],
|
\ 'opl': ['file.OPL', 'file.OPl', 'file.OpL', 'file.Opl', 'file.oPL', 'file.oPl', 'file.opL', 'file.opl'],
|
||||||
\ 'ora': ['file.ora'],
|
\ 'ora': ['file.ora'],
|
||||||
\ 'org': ['file.org', 'file.org_archive'],
|
\ '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'],
|
\ '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'],
|
\ 'pamenv': ['/etc/security/pam_env.conf', '/home/user/.pam_environment', '.pam_environment', 'pam_env.conf'],
|
||||||
\ 'papp': ['file.papp', 'file.pxml', 'file.pxsl'],
|
\ 'papp': ['file.papp', 'file.pxml', 'file.pxsl'],
|
||||||
|
Loading…
Reference in New Issue
Block a user