blob: 8b970aaa7f5618aab3a85a043c714331632a20b5 [file] [log] [blame]
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00001" Vim syntax file
2" Language: /var/log/messages file
3" Maintainer: Yakov Lerner <iler.ml@gmail.com>
Bram Moolenaarc236c162008-07-13 17:41:49 +00004" Latest Revision: 2008-06-29
5" Changes: 2008-06-29 support for RFC3339 tuimestamps James Vega
Bram Moolenaar13d5aee2016-01-21 23:36:05 +01006" 2016 Jan 19: messagesDate changed by Bram
Bram Moolenaar942db232021-02-13 18:14:48 +01007" 2021 Jan 27: messagesHourRFC3339 changed from #946
Bram Moolenaarc81e5e72007-05-05 18:24:42 +00008
9if exists("b:current_syntax")
10 finish
11endif
12
13let s:cpo_save = &cpo
14set cpo&vim
15
Bram Moolenaarc236c162008-07-13 17:41:49 +000016syn match messagesBegin display '^' nextgroup=messagesDate,messagesDateRFC3339
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000017
Bram Moolenaar13d5aee2016-01-21 23:36:05 +010018syn match messagesDate contained display '[[:lower:][:upper:]][[:lower:][:upper:]][[:lower:][:upper:]] [ 0-9]\d *'
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000019 \ nextgroup=messagesHour
20
21syn match messagesHour contained display '\d\d:\d\d:\d\d\s*'
22 \ nextgroup=messagesHost
23
Bram Moolenaarc236c162008-07-13 17:41:49 +000024syn match messagesDateRFC3339 contained display '\d\{4}-\d\d-\d\d'
25 \ nextgroup=messagesRFC3339T
26
27syn match messagesRFC3339T contained display '\cT'
28 \ nextgroup=messagesHourRFC3339
29
Bram Moolenaar942db232021-02-13 18:14:48 +010030syn match messagesHourRFC3339 contained display '\c\d\d:\d\d:\d\d\(\.\d\+\)\=\([+-]\d\d:\d\d\|Z\)\s*'
Bram Moolenaarc236c162008-07-13 17:41:49 +000031 \ nextgroup=messagesHost
32
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000033syn match messagesHost contained display '\S*\s*'
34 \ nextgroup=messagesLabel
35
36syn match messagesLabel contained display '\s*[^:]*:\s*'
37 \ nextgroup=messagesText contains=messagesKernel,messagesPID
38
39syn match messagesPID contained display '\[\zs\d\+\ze\]'
40
41syn match messagesKernel contained display 'kernel:'
42
43
44syn match messagesIP '\d\+\.\d\+\.\d\+\.\d\+'
45
46syn match messagesURL '\w\+://\S\+'
47
48syn match messagesText contained display '.*'
49 \ contains=messagesNumber,messagesIP,messagesURL,messagesError
50
51syn match messagesNumber contained '0x[0-9a-fA-F]*\|\[<[0-9a-f]\+>\]\|\<\d[0-9a-fA-F]*'
52
53syn match messagesError contained '\c.*\<\(FATAL\|ERROR\|ERRORS\|FAILED\|FAILURE\).*'
54
55
56hi def link messagesDate Constant
57hi def link messagesHour Type
Bram Moolenaarc236c162008-07-13 17:41:49 +000058hi def link messagesDateRFC3339 Constant
59hi def link messagesHourRFC3339 Type
60hi def link messagesRFC3339T Normal
Bram Moolenaarc81e5e72007-05-05 18:24:42 +000061hi def link messagesHost Identifier
62hi def link messagesLabel Operator
63hi def link messagesPID Constant
64hi def link messagesKernel Special
65hi def link messagesError ErrorMsg
66hi def link messagesIP Constant
67hi def link messagesURL Underlined
68hi def link messagesText Normal
69hi def link messagesNumber Number
70
71let b:current_syntax = "messages"
72
73let &cpo = s:cpo_save
74unlet s:cpo_save