From 9505dfb9ed61b2c5999a8845c9e311d50366f491 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Mon, 27 Apr 2026 06:08:42 +0800 Subject: [PATCH] vim-patch:076366b: runtime(javascript): Fix regex highlighting after `(` - Fix regex highlighting after opening parens, javascriptParens was matching later. Fixes issue vim/vim#20069. - Add missing regex flags. - Mark the file as unmaintained. Thanks Claudio for all your work. closes: vim/vim#20076 https://github.com/vim/vim/commit/076366bd4e8b89e722efc72a1b62d5b3d2ba62e0 Co-authored-by: Doug Kearns --- runtime/syntax/javascript.vim | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/runtime/syntax/javascript.vim b/runtime/syntax/javascript.vim index c89fcedce6..c910a668a2 100644 --- a/runtime/syntax/javascript.vim +++ b/runtime/syntax/javascript.vim @@ -1,18 +1,12 @@ " Vim syntax file -" Language: JavaScript -" Maintainer: Claudio Fleiner -" Updaters: Scott Shattuck (ss) -" URL: http://www.fleiner.com/vim/syntax/javascript.vim -" Changes: (ss) added keywords, reserved words, and other identifiers -" (ss) repaired several quoting and grouping glitches -" (ss) fixed regex parsing issue with multiple qualifiers [gi] -" (ss) additional factoring of keywords, globals, and members -" Last Change: 2022 Jun 09 -" 2013 Jun 12: adjusted javaScriptRegexpString (Kevin Locke) -" 2018 Apr 14: adjusted javaScriptRegexpString (LongJohnCoder) -" 2024 Aug 14: fix a few stylistic issues (#15480) -" 2025 Aug 07: as is a reserved keyword (#17912) -" 2025 Sep 24: using is a reserved keyword (Devin Weaver) +" Language: JavaScript +" Maintainer: This runtime file is looking for a maintainer. +" Previous Maintainer: Claudio Fleiner +" Contributors: Scott Shattuck +" Kevin Locke +" LongJohnCoder +" Devin Weaver +" Last Change: 2026 Apr 26 " tuning parameters: " unlet javaScript_fold @@ -52,7 +46,14 @@ syn match javaScriptNumber "\<\d\+\(_\d\+\)*[eE][+-]\?\d\+\>" syn match javaScriptNumber "\<[1-9]\d*\(_\d\+\)*\(\.\(\d\+\(_\d\+\)*\([eE][+-]\?\d\+\)\?\)\?\)\?\>" syn match javaScriptNumber "\<\(\d\+\(_\d\+\)*\)\?\.\d\+\(_\d\+\)*\([eE][+-]\?\d\+\)\?\>" syn match javaScriptNumber "\<\d\+\(_\d\+\)*\.\(\d\+\(_\d\+\)*\([eE][+-]\?\d\+\)\?\)\?\>" -syn region javaScriptRegexpString start=+[,(=+]\s*/[^/*]+ms=e-1,me=e-1 skip=+\\\\\|\\/+ end=+/[gimuys]\{0,2\}\s*$+ end=+/[gimuys]\{0,2\}\s*[+;.,)\]}]+me=e-1 end=+/[gimuys]\{0,2\}\s\+\/+me=e-1 contains=@htmlPreproc,javaScriptComment oneline +syn region javaScriptRegexpString + \ start=+\%([,(=+]\s*\)\@8<=/[^/*]+ + \ skip=+\\\\\|\\/+ + \ end=+/[dgimsuvy]\{0,7\}\ze\s*$+ + \ end=+/[dgimsuvy]\{0,7\}\ze\s*[+;.,)\]}]+ + \ end=+/[dgimsuvy]\{0,7\}\ze\s\+\/+ + \ contains=@htmlPreproc,javaScriptComment + \ oneline syn keyword javaScriptConditional if else switch syn keyword javaScriptRepeat while for do in of