neovim/runtime/syntax/messages.vim

75 lines
2.7 KiB
VimL

" Vim syntax file
" Language: /var/log/messages file
" Maintainer: Yakov Lerner <iler.ml@gmail.com>
" Latest Revision: 2008-06-29
" Changes: 2008-06-29 support for RFC3339 tuimestamps James Vega
" 2016 Jan 19: messagesDate changed by Bram
" 2021 Jan 27: messagesHourRFC3339 changed from #946
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn match messagesBegin display '^' nextgroup=messagesDate,messagesDateRFC3339
syn match messagesDate contained display '[[:lower:][:upper:]][[:lower:][:upper:]][[:lower:][:upper:]] [ 0-9]\d *'
\ nextgroup=messagesHour
syn match messagesHour contained display '\d\d:\d\d:\d\d\s*'
\ nextgroup=messagesHost
syn match messagesDateRFC3339 contained display '\d\{4}-\d\d-\d\d'
\ nextgroup=messagesRFC3339T
syn match messagesRFC3339T contained display '\cT'
\ nextgroup=messagesHourRFC3339
syn match messagesHourRFC3339 contained display '\c\d\d:\d\d:\d\d\(\.\d\+\)\=\([+-]\d\d:\d\d\|Z\)\s*'
\ nextgroup=messagesHost
syn match messagesHost contained display '\S*\s*'
\ nextgroup=messagesLabel
syn match messagesLabel contained display '\s*[^:]*:\s*'
\ nextgroup=messagesText contains=messagesKernel,messagesPID
syn match messagesPID contained display '\[\zs\d\+\ze\]'
syn match messagesKernel contained display 'kernel:'
syn match messagesIP '\d\+\.\d\+\.\d\+\.\d\+'
syn match messagesURL '\w\+://\S\+'
syn match messagesText contained display '.*'
\ contains=messagesNumber,messagesIP,messagesURL,messagesError
syn match messagesNumber contained '0x[0-9a-fA-F]*\|\[<[0-9a-f]\+>\]\|\<\d[0-9a-fA-F]*'
syn match messagesError contained '\c.*\<\(FATAL\|ERROR\|ERRORS\|FAILED\|FAILURE\).*'
hi def link messagesDate Constant
hi def link messagesHour Type
hi def link messagesDateRFC3339 Constant
hi def link messagesHourRFC3339 Type
hi def link messagesRFC3339T Normal
hi def link messagesHost Identifier
hi def link messagesLabel Operator
hi def link messagesPID Constant
hi def link messagesKernel Special
hi def link messagesError ErrorMsg
hi def link messagesIP Constant
hi def link messagesURL Underlined
hi def link messagesText Normal
hi def link messagesNumber Number
let b:current_syntax = "messages"
let &cpo = s:cpo_save
unlet s:cpo_save