view runtime/syntax/lyrics.vim @ 33017:7d0357f70cf8 v9.0.1800

patch 9.0.1800: Cursor position still wrong with 'showbreak' and virtual text Commit: https://github.com/vim/vim/commit/6a3897232aecd3e8b9e8b23955e55c1993e5baec Author: zeertzjq <zeertzjq@outlook.com> Date: Sun Aug 27 19:04:14 2023 +0200 patch 9.0.1800: Cursor position still wrong with 'showbreak' and virtual text Problem: Cursor position still wrong with 'showbreak' and virtual text after last character or 'listchars' "eol". Solution: Remove unnecessary w_wcol adjustment in curs_columns(). Also fix first char of virtual text not shown at the start of a screen line. closes: #12478 closes: #12532 closes: #12904 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
author Christian Brabandt <cb@256bit.org>
date Sun, 27 Aug 2023 19:15:05 +0200
parents 0827d3d6d8c0
children
line wrap: on
line source

" Vim syntax file
" Language:     LyRiCs
" Maintainer:   ObserverOfTime <chronobserver@disroot.org>
" Filenames:    *.lrc
" Last Change:  2022 Sep 18

if exists('b:current_syntax')
    finish
endif

let s:cpo_save = &cpoptions
set cpoptions&vim

syn case ignore

" Errors
syn match lrcError /^.\+$/

" ID tags
syn match lrcTag /^\s*\[\a\+:.\+\]\s*$/ contains=lrcTagName,lrcTagValue
syn match lrcTagName contained nextgroup=lrcTagValue
            \ /\[\zs\(al\|ar\|au\|by\|encoding\|la\|id\|length\|offset\|re\|ti\|ve\)\ze:/
syn match lrcTagValue /:\zs.\+\ze\]/ contained

" Lyrics
syn match lrcLyricTime /^\s*\[\d\d:\d\d\.\d\d\]/
            \ contains=lrcNumber nextgroup=lrcLyricLine
syn match lrcLyricLine /.*$/ contained contains=lrcWordTime,@Spell
syn match lrcWordTime /<\d\d:\d\d\.\d\d>/ contained contains=lrcNumber,@NoSpell
syn match lrcNumber /[+-]\=\d\+/ contained

hi def link lrcLyricTime Label
hi def link lrcNumber Number
hi def link lrcTag PreProc
hi def link lrcTagName Identifier
hi def link lrcTagValue String
hi def link lrcWordTime Special
hi def link lrcError Error

let b:current_syntax = 'lyrics'

let &cpoptions = s:cpo_save
unlet s:cpo_save