diff runtime/syntax/pacmanlog.vim @ 33877:eb3f61da6d5e v9.0.2148

patch 9.0.2148: Vim does not detect pacman.log file Commit: https://github.com/vim/vim/commit/1e5d66408ef85c750a5af03bbf5cc19b5de7a6bc Author: Ronan Pigott <ronan@rjp.ie> Date: Mon Dec 4 20:46:15 2023 +0100 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>
author Christian Brabandt <cb@256bit.org>
date Sun, 10 Dec 2023 15:16:15 +0100
parents
children
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/pacmanlog.vim
@@ -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"