mirror of
https://github.com/neovim/neovim.git
synced 2024-12-29 14:41:06 -07:00
c9828200ac
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>
42 lines
1.8 KiB
VimL
42 lines
1.8 KiB
VimL
" 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"
|