Mercurial > vim
view runtime/syntax/cabalproject.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 | 29c5f168c6fd |
children |
line wrap: on
line source
" Vim syntax file " Language: Cabal Project " Maintainer: profunctor@pm.me " Last Change: Marcin Szamotulski " Original Author: Marcin Szamotulski if exists("b:current_syntax") finish endif syn match CabalProjectComment /^\s*--.*/ contains=@Spell syn match CabalProjectField /^\w\%(\w\|-\)\+/ contains=@NoSpell syn keyword CabalProjectBoolean true false True False syn keyword CabalProjectCompiler ghc ghcjs jhc lhc uhc haskell-suite syn match CabalProjectNat /\<\d\+\>/ syn keyword CabalProjectJobs $ncpus syn keyword CabalProjectProfilingLevel default none exported-functions toplevel-functions all-functions hi def link CabalProjectComment Comment hi def link CabalProjectField Statement hi def link CabalProjectBoolean Boolean hi def link CabalProjectCompiler Identifier hi def link CabalProjectNat Number hi def link CabalProjectJobs Number hi def link CabalProjectProfilingLevel Statement let b:current_syntax = "cabal.project"