aboutsummaryrefslogtreecommitdiff
path: root/runtime/syntax/javascript.vim
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2018-10-29 17:47:27 +0100
committerGitHub <noreply@github.com>2018-10-29 17:47:27 +0100
commitf5406dfe7772dca82e31f27c042c5718198f0ec8 (patch)
tree4dd3a3c82b0f4e762d36501f19a652fc6b41ee48 /runtime/syntax/javascript.vim
parentcf93b5e9f9eea1b08ca8d7cb124265867b2f3bf9 (diff)
parent6d1827aebc88698b75094029fb0a9e45c1d67632 (diff)
downloadrneovim-f5406dfe7772dca82e31f27c042c5718198f0ec8.tar.gz
rneovim-f5406dfe7772dca82e31f27c042c5718198f0ec8.tar.bz2
rneovim-f5406dfe7772dca82e31f27c042c5718198f0ec8.zip
Merge #9164 from justinmk/vim-a2a80162deb1
vim-patch: runtime updates
Diffstat (limited to 'runtime/syntax/javascript.vim')
-rw-r--r--runtime/syntax/javascript.vim13
1 files changed, 11 insertions, 2 deletions
diff --git a/runtime/syntax/javascript.vim b/runtime/syntax/javascript.vim
index 9589b1938f..78714d0170 100644
--- a/runtime/syntax/javascript.vim
+++ b/runtime/syntax/javascript.vim
@@ -7,8 +7,9 @@
" (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: 2012 Oct 05
+" Last Change: 2018 Jul 28
" 2013 Jun 12: adjusted javaScriptRegexpString (Kevin Locke)
+" 2018 Apr 14: adjusted javaScriptRegexpString (LongJohnCoder)
" tuning parameters:
" unlet javaScript_fold
@@ -34,10 +35,13 @@ syn region javaScriptComment start="/\*" end="\*/" contains=@Spell,java
syn match javaScriptSpecial "\\\d\d\d\|\\."
syn region javaScriptStringD start=+"+ skip=+\\\\\|\\"+ end=+"\|$+ contains=javaScriptSpecial,@htmlPreproc
syn region javaScriptStringS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ contains=javaScriptSpecial,@htmlPreproc
+syn region javaScriptStringT start=+`+ skip=+\\\\\|\\`+ end=+`+ contains=javaScriptSpecial,javaScriptEmbed,@htmlPreproc
+
+syn region javaScriptEmbed start=+${+ end=+}+ contains=@javaScriptEmbededExpr
syn match javaScriptSpecialCharacter "'\\.'"
syn match javaScriptNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
-syn region javaScriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gim]\{0,2\}\s*$+ end=+/[gim]\{0,2\}\s*[;.,)\]}]+me=e-1 contains=@htmlPreproc oneline
+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 keyword javaScriptConditional if else switch
syn keyword javaScriptRepeat while for do in
@@ -56,6 +60,8 @@ 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
+syn cluster javaScriptEmbededExpr contains=javaScriptBoolean,javaScriptNull,javaScriptIdentifier,javaScriptStringD,javaScriptStringS,javaScriptStringT
+
if exists("javaScript_fold")
syn match javaScriptFunction "\<function\>"
syn region javaScriptFunctionFold start="\<function\>.*[^};]$" end="^\z1}.*$" transparent fold keepend
@@ -86,6 +92,7 @@ hi def link javaScriptCommentTodo Todo
hi def link javaScriptSpecial Special
hi def link javaScriptStringS String
hi def link javaScriptStringD String
+hi def link javaScriptStringT String
hi def link javaScriptCharacter Character
hi def link javaScriptSpecialCharacter javaScriptSpecial
hi def link javaScriptNumber javaScriptValue
@@ -113,6 +120,8 @@ hi def link javaScriptDeprecated Exception
hi def link javaScriptReserved Keyword
hi def link javaScriptDebug Debug
hi def link javaScriptConstant Label
+hi def link javaScriptEmbed Special
+
let b:current_syntax = "javascript"