Commit: runtime(javascript): fix a few issues with syntax higlighting

6 views
Skip to first unread message

Christian Brabandt

unread,
Aug 14, 2024, 9:00:14 AM8/14/24
to vim...@googlegroups.com
runtime(javascript): fix a few issues with syntax higlighting

Commit: https://github.com/vim/vim/commit/ea76096fa98ac26c23703bffdc4d9b3dc8a94d7e
Author: Tobiasz Laskowski <tobi...@outlook.com>
Date: Wed Aug 14 14:50:56 2024 +0200

runtime(javascript): fix a few issues with syntax higlighting

It addresses the following issues:

- Fix highlight of let and var javascript keywords

According to runtime/doc/syntax.txt, Identifier is for variable names.
let/var are not variable names, they are keywords

- Add highlighting for "from" keyword in javascript

- Fix highlight of function keyword in javascript

According to docs, Function is for function names, so the function
keyword should just be Keyword.

- Fix highlight of static keyword in javascript

According to vim docs: StorageClass static, register, volatile, etc.

closes: #15480

Signed-off-by: Tobiasz Laskowski <tobi...@outlook.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/syntax/javascript.vim b/runtime/syntax/javascript.vim
index e3b4cdf70..c73f5d709 100644
--- a/runtime/syntax/javascript.vim
+++ b/runtime/syntax/javascript.vim
@@ -10,6 +10,7 @@
" 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)

" tuning parameters:
" unlet javaScript_fold
@@ -59,14 +60,15 @@ syn keyword javaScriptType Array Boolean Date Function Number Object String Reg
syn keyword javaScriptStatement return with await yield
syn keyword javaScriptBoolean true false
syn keyword javaScriptNull null undefined
-syn keyword javaScriptIdentifier arguments this var let
+syn keyword javaScriptIdentifier arguments this
syn keyword javaScriptLabel case default
syn keyword javaScriptException try catch finally throw
syn keyword javaScriptMessage alert confirm prompt status
syn keyword javaScriptGlobal self window top parent
syn keyword javaScriptMember document event location
syn keyword javaScriptDeprecated escape unescape
-syn keyword javaScriptReserved abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile async
+syn keyword javaScriptReserved abstract boolean byte char class const debugger double enum export extends final float from goto implements import int interface let long native package private protected public short super synchronized throws transient var volatile async
+syn keyword javaScriptModifier static

syn cluster javaScriptEmbededExpr contains=javaScriptBoolean,javaScriptNull,javaScriptIdentifier,javaScriptStringD,javaScriptStringS,javaScriptStringT

@@ -110,7 +112,7 @@ hi def link javaScriptBranch Conditional
hi def link javaScriptOperator Operator
hi def link javaScriptType Type
hi def link javaScriptStatement Statement
-hi def link javaScriptFunction Function
+hi def link javaScriptFunction Keyword
hi def link javaScriptBraces Function
hi def link javaScriptError Error
hi def link javaScrParenError javaScriptError
@@ -126,6 +128,7 @@ hi def link javaScriptGlobal Keyword
hi def link javaScriptMember Keyword
hi def link javaScriptDeprecated Exception
hi def link javaScriptReserved Keyword
+hi def link javaScriptModifier StorageClass
hi def link javaScriptDebug Debug
hi def link javaScriptConstant Label
hi def link javaScriptEmbed Special
Reply all
Reply to author
Forward
0 new messages