blob: 98abd586854260102be7138edb950f10491420a6 [file] [log] [blame]
Ronan Pigott1e5d6642023-12-04 20:46:15 +01001" Vim syntax file
2" Language: pacman.log
3" Maintainer: Ronan Pigott <ronan@rjp.ie>
4" Last Change: 2023 Dec 04
5
6if exists("b:current_syntax")
7 finish
8endif
9
10syn sync maxlines=1
11syn region pacmanlogMsg start='\S' end='$' keepend contains=pacmanlogTransaction,pacmanlogALPMMsg
12syn region pacmanlogTag start='\['hs=s+1 end='\]'he=e-1 keepend nextgroup=pacmanlogMsg
13syn region pacmanlogTime start='^\['hs=s+1 end='\]'he=e-1 keepend nextgroup=pacmanlogTag
14
15syn match pacmanlogPackageName '\v[a-z0-9@_+.-]+' contained skipwhite nextgroup=pacmanlogPackageVersion
16syn match pacmanlogPackageVersion '(.*)' contained
17
18syn match pacmanlogTransaction 'transaction \v(started|completed)$' contained
19syn match pacmanlogInstalled '\v(re)?installed' contained nextgroup=pacmanlogPackageName
20syn match pacmanlogUpgraded 'upgraded' contained nextgroup=pacmanlogPackageName
21syn match pacmanlogDowngraded 'downgraded' contained nextgroup=pacmanlogPackageName
22syn match pacmanlogRemoved 'removed' contained nextgroup=pacmanlogPackageName
23syn match pacmanlogWarning 'warning:.*$' contained
24
25syn region pacmanlogALPMMsg start='\v(\[ALPM\] )@<=(transaction|(re)?installed|upgraded|downgraded|removed|warning)>' end='$' contained
26 \ contains=pacmanlogTransaction,pacmanlogInstalled,pacmanlogUpgraded,pacmanlogDowngraded,pacmanlogRemoved,pacmanlogWarning,pacmanlogPackageName,pacmanlogPackgeVersion
27
28hi def link pacmanlogTime String
29hi def link pacmanlogTag Type
30
31hi def link pacmanlogTransaction Special
32hi def link pacmanlogInstalled Identifier
33hi def link pacmanlogRemoved Repeat
34hi def link pacmanlogUpgraded pacmanlogInstalled
35hi def link pacmanlogDowngraded pacmanlogRemoved
36hi def link pacmanlogWarning WarningMsg
37
38hi def link pacmanlogPackageName Normal
39hi def link pacmanlogPackageVersion Comment
40
41let b:current_syntax = "pacmanlog"