blob: 27f73493bd18f555370141adcd3a23be4addcb8a [file] [log] [blame]
Richard Russona2aa9212024-10-13 19:40:43 +02001" Vim syntax file
2" Language: NeoMutt log files
3" Maintainer: Richard Russon <rich@flatcap.org>
4" Last Change: 2024 Oct 12
5
6" quit when a syntax file was already loaded
7if exists("b:current_syntax")
8 finish
9endif
10
11syntax match neolog_date "\v^\[\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d\] *" conceal
12syntax match neolog_version "\v<NeoMutt-\d{8}(-\d+-\x+)*(-dirty)*>"
13syntax match neolog_banner "\v^\[\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d\] .*" contains=neolog_date,neolog_version
14syntax match neolog_function "\v%26v\i+\(\)"
15
16syntax match neolog_perror_key "\v%22v\<P\> " conceal transparent
17syntax match neolog_error_key "\v%22v\<E\> " conceal transparent
18syntax match neolog_warning_key "\v%22v\<W\> " conceal transparent
19syntax match neolog_message_key "\v%22v\<M\> " conceal transparent
20syntax match neolog_debug1_key "\v%22v\<1\> " conceal transparent
21syntax match neolog_debug2_key "\v%22v\<2\> " conceal transparent
22syntax match neolog_debug3_key "\v%22v\<3\> " conceal transparent
23syntax match neolog_debug4_key "\v%22v\<4\> " conceal transparent
24syntax match neolog_debug5_key "\v%22v\<5\> " conceal transparent
25syntax match neolog_notify_key "\v%22v\<N\> " conceal transparent
26
27syntax match neolog_perror "\v%22v\<P\> .*" contains=neolog_perror_key,neolog_function
28syntax match neolog_error "\v%22v\<E\> .*" contains=neolog_error_key,neolog_function
29syntax match neolog_warning "\v%22v\<W\> .*" contains=neolog_warning_key,neolog_function
30syntax match neolog_message "\v%22v\<M\> .*" contains=neolog_message_key,neolog_function
31syntax match neolog_debug1 "\v%22v\<1\> .*" contains=neolog_debug1_key,neolog_function
32syntax match neolog_debug2 "\v%22v\<2\> .*" contains=neolog_debug2_key,neolog_function
33syntax match neolog_debug3 "\v%22v\<3\> .*" contains=neolog_debug3_key,neolog_function
34syntax match neolog_debug4 "\v%22v\<4\> .*" contains=neolog_debug4_key,neolog_function
35syntax match neolog_debug5 "\v%22v\<5\> .*" contains=neolog_debug5_key,neolog_function
36syntax match neolog_notify "\v%22v\<N\> .*" contains=neolog_notify_key,neolog_function
37
38if !exists('g:neolog_disable_default_colors')
39 highlight neolog_date ctermfg=cyan guifg=#40ffff
40 highlight neolog_banner ctermfg=magenta guifg=#ff00ff
41 highlight neolog_version cterm=reverse gui=reverse
42 highlight neolog_function guibg=#282828
43
44 highlight neolog_perror ctermfg=red guifg=#ff8080
45 highlight neolog_error ctermfg=red guifg=#ff8080
46 highlight neolog_warning ctermfg=yellow guifg=#ffff80
47 highlight neolog_message ctermfg=green guifg=#80ff80
48 highlight neolog_debug1 ctermfg=white guifg=#ffffff
49 highlight neolog_debug2 ctermfg=white guifg=#ffffff
50 highlight neolog_debug3 ctermfg=grey guifg=#c0c0c0
51 highlight neolog_debug4 ctermfg=grey guifg=#c0c0c0
52 highlight neolog_debug5 ctermfg=grey guifg=#c0c0c0
53 highlight neolog_notify ctermfg=grey guifg=#c0c0c0
54endif
55
56highlight link neolog_perror_key neolog_perror
57highlight link neolog_error_key neolog_error
58highlight link neolog_warning_key neolog_warning
59highlight link neolog_message_key neolog_message
60highlight link neolog_debug1_key neolog_debug1
61highlight link neolog_debug2_key neolog_debug2
62highlight link neolog_debug3_key neolog_debug3
63highlight link neolog_debug4_key neolog_debug4
64highlight link neolog_debug5_key neolog_debug5
65highlight link neolog_notify_key neolog_notify
66
67let b:current_syntax = "neomuttlog"
68
69" vim: ts=2 et tw=100 sw=2 sts=0 ft=vim