Mercurial > vim
view runtime/syntax/lyrics.vim @ 32960:d5c05e15cf81 v9.0.1780
patch 9.0.1780: Vim9 type not defined during object creation
Commit: https://github.com/vim/vim/commit/618e47d1cd93954bad26d47e5353b4f1432daa5e
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Tue Aug 22 21:29:28 2023 +0200
patch 9.0.1780: Vim9 type not defined during object creation
Problem: Vim9 type not defined during object creation
Solution: Define type during object creation and not during class
definition, parse mulit-line member initializers, fix lock
initialization
If type is not specified for a member, set it during object creation
instead of during class definition. Add a runtime type check for the
object member initialization expression
Also, while at it, when copying an object or class, make sure the lock
is correctly initialized.
And finally, parse multi-line member initializers correctly.
closes: #11957
closes: #12868
closes: #12869
closes: #12881
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 22 Aug 2023 21:45:02 +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