1c81e5e79SBram Moolenaar" Vim syntax file 2c81e5e79SBram Moolenaar" Language: /var/log/messages file 3c81e5e79SBram Moolenaar" Maintainer: Yakov Lerner <[email protected]> 4c236c16dSBram Moolenaar" Latest Revision: 2008-06-29 5c236c16dSBram Moolenaar" Changes: 2008-06-29 support for RFC3339 tuimestamps James Vega 613d5aeefSBram Moolenaar" 2016 Jan 19: messagesDate changed by Bram 7*942db23cSBram Moolenaar" 2021 Jan 27: messagesHourRFC3339 changed from #946 8c81e5e79SBram Moolenaar 9c81e5e79SBram Moolenaarif exists("b:current_syntax") 10c81e5e79SBram Moolenaar finish 11c81e5e79SBram Moolenaarendif 12c81e5e79SBram Moolenaar 13c81e5e79SBram Moolenaarlet s:cpo_save = &cpo 14c81e5e79SBram Moolenaarset cpo&vim 15c81e5e79SBram Moolenaar 16c236c16dSBram Moolenaarsyn match messagesBegin display '^' nextgroup=messagesDate,messagesDateRFC3339 17c81e5e79SBram Moolenaar 1813d5aeefSBram Moolenaarsyn match messagesDate contained display '[[:lower:][:upper:]][[:lower:][:upper:]][[:lower:][:upper:]] [ 0-9]\d *' 19c81e5e79SBram Moolenaar \ nextgroup=messagesHour 20c81e5e79SBram Moolenaar 21c81e5e79SBram Moolenaarsyn match messagesHour contained display '\d\d:\d\d:\d\d\s*' 22c81e5e79SBram Moolenaar \ nextgroup=messagesHost 23c81e5e79SBram Moolenaar 24c236c16dSBram Moolenaarsyn match messagesDateRFC3339 contained display '\d\{4}-\d\d-\d\d' 25c236c16dSBram Moolenaar \ nextgroup=messagesRFC3339T 26c236c16dSBram Moolenaar 27c236c16dSBram Moolenaarsyn match messagesRFC3339T contained display '\cT' 28c236c16dSBram Moolenaar \ nextgroup=messagesHourRFC3339 29c236c16dSBram Moolenaar 30*942db23cSBram Moolenaarsyn match messagesHourRFC3339 contained display '\c\d\d:\d\d:\d\d\(\.\d\+\)\=\([+-]\d\d:\d\d\|Z\)\s*' 31c236c16dSBram Moolenaar \ nextgroup=messagesHost 32c236c16dSBram Moolenaar 33c81e5e79SBram Moolenaarsyn match messagesHost contained display '\S*\s*' 34c81e5e79SBram Moolenaar \ nextgroup=messagesLabel 35c81e5e79SBram Moolenaar 36c81e5e79SBram Moolenaarsyn match messagesLabel contained display '\s*[^:]*:\s*' 37c81e5e79SBram Moolenaar \ nextgroup=messagesText contains=messagesKernel,messagesPID 38c81e5e79SBram Moolenaar 39c81e5e79SBram Moolenaarsyn match messagesPID contained display '\[\zs\d\+\ze\]' 40c81e5e79SBram Moolenaar 41c81e5e79SBram Moolenaarsyn match messagesKernel contained display 'kernel:' 42c81e5e79SBram Moolenaar 43c81e5e79SBram Moolenaar 44c81e5e79SBram Moolenaarsyn match messagesIP '\d\+\.\d\+\.\d\+\.\d\+' 45c81e5e79SBram Moolenaar 46c81e5e79SBram Moolenaarsyn match messagesURL '\w\+://\S\+' 47c81e5e79SBram Moolenaar 48c81e5e79SBram Moolenaarsyn match messagesText contained display '.*' 49c81e5e79SBram Moolenaar \ contains=messagesNumber,messagesIP,messagesURL,messagesError 50c81e5e79SBram Moolenaar 51c81e5e79SBram Moolenaarsyn match messagesNumber contained '0x[0-9a-fA-F]*\|\[<[0-9a-f]\+>\]\|\<\d[0-9a-fA-F]*' 52c81e5e79SBram Moolenaar 53c81e5e79SBram Moolenaarsyn match messagesError contained '\c.*\<\(FATAL\|ERROR\|ERRORS\|FAILED\|FAILURE\).*' 54c81e5e79SBram Moolenaar 55c81e5e79SBram Moolenaar 56c81e5e79SBram Moolenaarhi def link messagesDate Constant 57c81e5e79SBram Moolenaarhi def link messagesHour Type 58c236c16dSBram Moolenaarhi def link messagesDateRFC3339 Constant 59c236c16dSBram Moolenaarhi def link messagesHourRFC3339 Type 60c236c16dSBram Moolenaarhi def link messagesRFC3339T Normal 61c81e5e79SBram Moolenaarhi def link messagesHost Identifier 62c81e5e79SBram Moolenaarhi def link messagesLabel Operator 63c81e5e79SBram Moolenaarhi def link messagesPID Constant 64c81e5e79SBram Moolenaarhi def link messagesKernel Special 65c81e5e79SBram Moolenaarhi def link messagesError ErrorMsg 66c81e5e79SBram Moolenaarhi def link messagesIP Constant 67c81e5e79SBram Moolenaarhi def link messagesURL Underlined 68c81e5e79SBram Moolenaarhi def link messagesText Normal 69c81e5e79SBram Moolenaarhi def link messagesNumber Number 70c81e5e79SBram Moolenaar 71c81e5e79SBram Moolenaarlet b:current_syntax = "messages" 72c81e5e79SBram Moolenaar 73c81e5e79SBram Moolenaarlet &cpo = s:cpo_save 74c81e5e79SBram Moolenaarunlet s:cpo_save 75