Skip to content

Commit c1acfa3

Browse files
committed
fix syntax modules path and highlight linking
* modules include path was wrong in the main syntax file * the `did_javascript_hilink` variable used by the modules was not set in the main syntax file * moved the definition of `HiLink` function before loading modules, as it's used in the modules too
1 parent 1f85075 commit c1acfa3

File tree

1 file changed

+24
-14
lines changed

1 file changed

+24
-14
lines changed

syntax/javascript.vim

+24-14
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,22 @@ syntax match javaScriptOpSymbols "=\{1,3}\|!==\|!=\|<\|>\|>=\|<=\|++\|+=\|--\
8989
syntax match javaScriptEndColons "[;,]"
9090
syntax match javaScriptLogicSymbols "\(&&\)\|\(||\)"
9191

92+
" The HiLink function is used by submodules, thus needs to be defined before loading them.
93+
" did_javascript_hilink variable is set to indicate HiLink is available and linking should be done.
94+
" For version 5.7 and earlier: only when not done already
95+
" For version 5.8 and later: only when an item doesn't have highlighting yet
96+
if version >= 508 || !exists("did_javascript_syn_inits")
97+
if version < 508
98+
let did_javascript_syn_inits = 1
99+
command -nargs=+ HiLink hi link <args>
100+
else
101+
command -nargs=+ HiLink hi def link <args>
102+
endif
103+
let did_javascript_hilink = 1
104+
endif
105+
92106
" include syntax modules
93-
runtime syntax/vim-es6/modules/*.vim
107+
runtime syntax/modules/*.vim
94108

95109
" JavaScriptFold Function
96110
function! JavaScriptFold()
@@ -101,15 +115,7 @@ endfunction
101115

102116
" Highlight links
103117
" Define the default highlighting.
104-
" For version 5.7 and earlier: only when not done already
105-
" For version 5.8 and later: only when an item doesn't have highlighting yet
106-
if version >= 508 || !exists("did_javascript_syn_inits")
107-
if version < 508
108-
let did_javascript_syn_inits = 1
109-
command -nargs=+ HiLink hi link <args>
110-
else
111-
command -nargs=+ HiLink hi def link <args>
112-
endif
118+
if exists("did_javascript_hilink")
113119
HiLink javaScriptEndColons Operator
114120
HiLink javaScriptOpSymbols Operator
115121
HiLink javaScriptLogicSymbols Boolean
@@ -126,10 +132,10 @@ if version >= 508 || !exists("did_javascript_syn_inits")
126132
HiLink javaScriptDocParam Function
127133

128134
HiLink javaScriptString String
129-
HiLink javascriptTemplate String
130-
HiLink javascriptTemplateSubstitution Label
135+
HiLink javascriptTemplate String
136+
HiLink javascriptTemplateSubstitution Label
131137
HiLink javaScriptRegexpString String
132-
HiLink javascriptTemplateSB javascriptTemplateSubstitution
138+
HiLink javascriptTemplateSB javascriptTemplateSubstitution
133139

134140
HiLink javaScriptNumber Number
135141
HiLink javaScriptFloat Number
@@ -151,7 +157,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
151157
HiLink javaScriptSource Special
152158
HiLink javaScriptGlobalObjects Special
153159
HiLink javaScriptExceptions Special
154-
HiLink javascriptDollar Special
160+
HiLink javascriptDollar Special
155161

156162
HiLink javaScriptDeprecated Exception
157163
HiLink javaScriptError Error
@@ -197,6 +203,10 @@ if version >= 508 || !exists("did_javascript_syn_inits")
197203
HiLink javaScriptPropietaryObjects Constant
198204

199205
delcommand HiLink
206+
if exists(did_javascript_syn_inits)
207+
unlet did_javascript_syn_inits
208+
endif
209+
unlet did_javascript_hilink
200210
endif
201211

202212
" Define the htmlJavaScript for HTML syntax html.vim

0 commit comments

Comments
 (0)