From 87a1e99400805727813f07214dd7a91bb74f3f2b Mon Sep 17 00:00:00 2001 From: Tobias Witt Date: Mon, 6 Apr 2020 19:41:06 +0200 Subject: [PATCH] Fix matching of jsClassProperty without an initial value Given the following code ```javascript class Foo { bar; baz = 'biz'; } ``` The `baz` is properly matched as a `jsClassProperty` but `bar is `jsClassBody`. The regex for `jsClassProperty` was requiring the `=` that followed the property name. The changes allow value less properties by allowing either `;` or `=` to follow the name. --- syntax/javascript.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/javascript.vim b/syntax/javascript.vim index 4d1a7e50..3b3689b2 100644 --- a/syntax/javascript.vim +++ b/syntax/javascript.vim @@ -184,7 +184,7 @@ syntax match jsClassNoise contained /\./ syntax match jsClassFuncName contained /\<\K\k*\ze\s*[(<]/ skipwhite skipempty nextgroup=jsFuncArgs,jsFlowClassFunctionGroup syntax match jsClassMethodType contained /\<\%([gs]et\|static\)\ze\s\+\K\k*/ skipwhite skipempty nextgroup=jsAsyncKeyword,jsClassFuncName,jsClassProperty syntax region jsClassDefinition start=/\/ end=/\(\\s\+\)\@