Mercurial > vim
view runtime/syntax/typescript.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 | 2acb87ee55fc |
children | 71cbad0921c9 |
line wrap: on
line source
" Vim syntax file " Language: TypeScript " Maintainer: Bram Moolenaar, Herrington Darkholme " Last Change: 2019 Nov 30 " Based On: Herrington Darkholme's yats.vim " Changes: Go to https:github.com/HerringtonDarkholme/yats.vim for recent changes. " Origin: https://github.com/othree/yajs " Credits: Kao Wei-Ko(othree), Jose Elera Campana, Zhao Yi, Claudio Fleiner, Scott Shattuck " (This file is based on their hard work), gumnos (From the #vim " IRC Channel in Freenode) " This is the same syntax that is in yats.vim, but: " - flattened into one file " - HiLink commands changed to "hi def link" " - Setting 'cpo' to the Vim value if !exists("main_syntax") if exists("b:current_syntax") finish endif let main_syntax = 'typescript' endif let s:cpo_save = &cpo set cpo&vim " this region is NOT used in TypeScriptReact " nextgroup doesn't contain objectLiteral, let outer region contains it syntax region typescriptTypeCast matchgroup=typescriptTypeBrackets \ start=/< \@!/ end=/>/ \ contains=@typescriptType \ nextgroup=@typescriptExpression \ contained skipwhite oneline """"""""""""""""""""""""""""""""""""""""""""""""""" " Source the part common with typescriptreact.vim source <sfile>:h/shared/typescriptcommon.vim let b:current_syntax = "typescript" if main_syntax == 'typescript' unlet main_syntax endif let &cpo = s:cpo_save unlet s:cpo_save