Skip to content

Commit c76ae11

Browse files
committed
Better module support
1 parent 1769504 commit c76ae11

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

syntax/javascript.vim

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,11 @@ syntax keyword jsOperator delete instanceof typeof void new in
3535
syntax match jsOperator /\(!\||\|&\|+\|-\|<\|>\|=\|%\|\/\|*\|\~\|\^\)/
3636
syntax keyword jsBooleanTrue true
3737
syntax keyword jsBooleanFalse false
38-
syntax keyword jsModules import export default from as
38+
syntax match jsModules /import\|export/
39+
syntax keyword jsModuleWords default from as contained
40+
41+
syntax region jsModuleContainer start="\(import\|export\) \?" end="$" contains=jsModuleWords,jsStringS,jsStringD,jsTemplateString,jsModules,jsArrowFunction,jsClass,jsFunction,jsStorageClass,jsOperator
42+
3943

4044
"" JavaScript comments
4145
syntax keyword jsCommentTodo TODO FIXME XXX TBD contained
@@ -84,7 +88,7 @@ syntax match jsSpecial "\v\\%(0|\\x\x\{2\}\|\\u\x\{4\}\|\c[A-Z]|.)" c
8488
syntax match jsTemplateVar "\${.\{-}}" contained
8589
syntax region jsStringD start=+"+ skip=+\\\("\|$\)+ end=+"\|$+ contains=jsSpecial,@htmlPreproc,@Spell
8690
syntax region jsStringS start=+'+ skip=+\\\('\|$\)+ end=+'\|$+ contains=jsSpecial,@htmlPreproc,@Spell
87-
syntax region jsTemplateString start=+`+ skip=+\\\(`\|$\)+ end=+`\|$+ contains=jsTemplateVar,jsSpecial,@htmlPreproc
91+
syntax region jsTemplateString start=+`+ skip=+\\\(`\|$\)+ end=+`+ contains=jsTemplateVar,jsSpecial,@htmlPreproc
8892
syntax region jsRegexpCharClass start=+\[+ skip=+\\.+ end=+\]+ contained
8993
syntax match jsRegexpBoundary "\v%(\<@![\^$]|\\[bB])" contained
9094
syntax match jsRegexpBackRef "\v\\[1-9][0-9]*" contained
@@ -179,9 +183,8 @@ endif "DOM/HTML/CSS
179183

180184
"" end DOM/HTML/CSS specified things
181185

182-
183186
"" Code blocks
184-
syntax cluster jsExpression contains=jsComment,jsLineComment,jsBlockComment,jsTemplateString,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsBlock,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsCommonJS,jsAssignmentExpr,jsModules
187+
syntax cluster jsExpression contains=jsComment,jsLineComment,jsBlockComment,jsTemplateString,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsBlock,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins,jsNoise,jsCommonJS,jsAssignmentExpr,jsModuleContainer
185188
syntax cluster jsAll contains=@jsExpression,jsLabel,jsConditional,jsRepeat,jsReturn,jsStatement,jsTernaryIf,jsException
186189
syntax region jsBracket matchgroup=jsBrackets start="\[" end="\]" contains=@jsAll,jsParensErrB,jsParensErrC,jsBracket,jsParen,jsBlock,@htmlPreproc fold
187190
syntax region jsParen matchgroup=jsParens start="(" end=")" contains=@jsAll,jsParensErrA,jsParensErrC,jsParen,jsBracket,jsBlock,@htmlPreproc fold
@@ -290,6 +293,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")
290293
HiLink jsFutureKeys Special
291294
HiLink jsBuiltins Special
292295
HiLink jsModules Include
296+
HiLink jsModuleWords Include
293297

294298
HiLink jsDomErrNo Constant
295299
HiLink jsDomNodeConsts Constant

0 commit comments

Comments
 (0)