view runtime/syntax/lyrics.vim @ 32423:667d85c09e9c v9.0.1543

patch 9.0.1543: display errors when making topline shorter Commit: https://github.com/vim/vim/commit/5d01f86d99bc3a3fd92d4f4e9338a9e78e9ebe16 Author: Luuk van Baal <luukvbaal@gmail.com> Date: Thu May 11 19:24:20 2023 +0100 patch 9.0.1543: display errors when making topline shorter Problem: Display errors when making topline shorter and 'smoothscroll' is set. Solution: Reset w_skipcol when the topline becomes shorter than its current value. (Luuk van Baal, closes #12367)
author Bram Moolenaar <Bram@vim.org>
date Thu, 11 May 2023 20:30:03 +0200
parents 0827d3d6d8c0
children 7b4f0a2a87bf
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