Mercurial > vim
view runtime/syntax/messages.vim @ 32570:5d8cff99a027 v9.0.1617
patch 9.0.1617: charidx() result is not consistent with byteidx()
Commit: https://github.com/vim/vim/commit/577922b917e48285a7a312daf7b5bbc6e272939c
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Thu Jun 8 17:09:45 2023 +0100
patch 9.0.1617: charidx() result is not consistent with byteidx()
Problem: charidx() and utf16idx() result is not consistent with byteidx().
Solution: When the index is equal to the length of the text return the
lenght of the text instead of -1. (Yegappan Lakshmanan,
closes #12503)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 08 Jun 2023 18:15:04 +0200 |
parents | 5b37a0bf7e3a |
children |
line wrap: on
line source
" 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