Skip to content

Commit 75b9896

Browse files
author
Quinn Strahl
committed
Merge branch 'release/0.8.0'
2 parents 033062e + a2710cd commit 75b9896

3 files changed

Lines changed: 19 additions & 21 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# vim-javascript v0.1.4
1+
# vim-javascript v0.8.0
22

33
JavaScript bundle for vim, this bundle provides syntax and indent plugins.
44

syntax/javascript.vim

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
" Vim syntax file
22
" Language: JavaScript
3-
" Maintainer: Josh Perez <josh at goatslacker.com>
4-
" Version: 0.7.9
3+
" Maintainer: vim-javascript community
54
" URL: https://github.com/pangloss/vim-javascript
6-
"
7-
" TODO:
8-
" - Add the HTML syntax inside the JSDoc
95

106
if !exists("main_syntax")
117
if version < 600
@@ -37,7 +33,8 @@ syntax match jsNoise /\%(:\|,\|\;\|\.\)/
3733
syntax keyword jsStorageClass const var let
3834
syntax keyword jsOperator delete instanceof typeof void new in
3935
syntax match jsOperator /\(!\||\|&\|+\|-\|<\|>\|=\|%\|\/\|*\|\~\|\^\)/
40-
syntax keyword jsBoolean true false
36+
syntax keyword jsBooleanTrue true
37+
syntax keyword jsBooleanFalse false
4138

4239
"" JavaScript comments
4340
syntax keyword jsCommentTodo TODO FIXME XXX TBD contained
@@ -92,11 +89,12 @@ syntax match jsRegexpQuantifier "\v\\@<!%([?*+]|\{\d+%(,|,\d+)?})\??" containe
9289
syntax match jsRegexpOr "\v\<@!\|" contained
9390
syntax match jsRegexpMod "\v\(@<=\?[:=!>]" contained
9491
syntax cluster jsRegexpSpecial contains=jsRegexpBoundary,jsRegexpBackRef,jsRegexpQuantifier,jsRegexpOr,jsRegexpMod
95-
syntax region jsRegexpGroup start="\\\@<!(" matchgroup=jsRegexGroup end="\\\@<!)" contained contains=jsRegexpCharClass,@jsRegexpSpecial
96-
syntax region jsRegexpString start=+\(\(\(return\|case\)\s\+\)\@<=\|\(\([)\]"']\|\d\|\w\)\s*\)\@<!\)/\(\*\|/\)\@!+ skip=+\\\\\|\\/+ end=+/[gimy]\{,4}+ contains=jsSpecial,jsRegexpCharClass,jsRegexpGroup,@jsRegexpSpecial,@htmlPreproc oneline
92+
syntax region jsRegexpGroup start="\\\@<!(" end="\\\@<!)" contained contains=jsRegexpCharClass,@jsRegexpSpecial keepend
93+
syntax region jsRegexpString start=+\(\(\(return\|case\)\s\+\)\@<=\|\(\([)\]"']\|\d\|\w\)\s*\)\@<!\)/\(\*\|/\)\@!+ skip=+\\\\\|\\/+ end=+/[gimy]\{,4}+ contains=jsSpecial,jsRegexpCharClass,jsRegexpGroup,@jsRegexpSpecial,@htmlPreproc oneline keepend
9794
syntax match jsNumber /\<-\=\d\+L\=\>\|\<0[xX]\x\+\>/
9895
syntax keyword jsNumber Infinity
9996
syntax match jsFloat /\<-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/
97+
syntax match jsObjectKey /\<[a-zA-Z_$][0-9a-zA-Z_$\-]*\(\s*:\)\@=/
10098

10199
"" JavaScript Prototype
102100
syntax keyword jsPrototype prototype
@@ -182,13 +180,13 @@ endif "DOM/HTML/CSS
182180

183181

184182
"" Code blocks
185-
syntax cluster jsExpression contains=jsComment,jsLineComment,jsDocComment,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBoolean,jsNull,jsFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsBlock,jsParenError,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins
186-
syntax cluster jsAll contains=@jsExpression,jsLabel,jsConditional,jsRepeat,jsBranch,jsReturn,jsStatement,jsTernaryIf,jsNoise,jsException
187-
syntax region jsBracket matchgroup=jsBrackets start="\[" end="\]" contains=@jsAll,jsParensErrB,jsParensErrC,jsBracket,jsParen,jsBlock,@htmlPreproc
188-
syntax region jsParen matchgroup=jsParens start="(" end=")" contains=@jsAll,jsParensErrA,jsParensErrC,jsParen,jsBracket,jsBlock,@htmlPreproc
189-
syntax region jsBlock matchgroup=jsBraces start="{" end="}" contains=@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,@htmlPreproc
190-
syntax region jsFuncBlock matchgroup=jsFuncBraces start="{" end="}" contains=@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,@htmlPreproc contained
191-
syntax region jsTernaryIf matchgroup=jsTernaryIfOperator start=+?+ end=+:+ contains=@jsExpression
183+
syntax cluster jsExpression contains=jsComment,jsLineComment,jsDocComment,jsStringD,jsStringS,jsRegexpString,jsNumber,jsFloat,jsThis,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsDotNotation,jsBracket,jsParen,jsBlock,jsFuncCall,jsUndefined,jsNan,jsKeyword,jsStorageClass,jsPrototype,jsBuiltins
184+
syntax cluster jsAll contains=@jsExpression,jsLabel,jsConditional,jsRepeat,jsReturn,jsStatement,jsTernaryIf,jsNoise,jsException
185+
syntax region jsBracket matchgroup=jsBrackets start="\[" end="\]" contains=@jsAll,jsParensErrB,jsParensErrC,jsBracket,jsParen,jsBlock,@htmlPreproc fold
186+
syntax region jsParen matchgroup=jsParens start="(" end=")" contains=@jsAll,jsParensErrA,jsParensErrC,jsParen,jsBracket,jsBlock,@htmlPreproc fold
187+
syntax region jsBlock matchgroup=jsBraces start="{" end="}" contains=@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,jsObjectKey,@htmlPreproc fold
188+
syntax region jsFuncBlock matchgroup=jsFuncBraces start="{" end="}" contains=@jsAll,jsParensErrA,jsParensErrB,jsParen,jsBracket,jsBlock,@htmlPreproc contained fold
189+
syntax region jsTernaryIf matchgroup=jsTernaryIfOperator start=+?+ end=+:+ contains=@jsExpression,jsTernaryIf
192190

193191
"" catch errors caused by wrong parenthesis
194192
syntax match jsParensError ")\|}\|\]"
@@ -208,7 +206,6 @@ else
208206
syntax match jsFunction /\<function\>/ nextgroup=jsFuncName,jsFuncArgs skipwhite
209207
endif
210208

211-
syntax match jsOpAssign /=\@<!=/ nextgroup=jsFuncBlock skipwhite skipempty
212209
syntax match jsFuncName contained /\<[a-zA-Z_$][0-9a-zA-Z_$]*/ nextgroup=jsFuncArgs skipwhite
213210
syntax region jsFuncArgs contained matchgroup=jsFuncParens start='(' end=')' contains=jsFuncArgCommas nextgroup=jsFuncBlock keepend skipwhite
214211
syntax match jsFuncArgCommas contained ','
@@ -258,7 +255,6 @@ if version >= 508 || !exists("did_javascript_syn_inits")
258255
HiLink jsKeyword Keyword
259256
HiLink jsFunction Type
260257
HiLink jsFuncName Function
261-
HiLink jsFuncCall Function
262258
HiLink jsArgsObj Special
263259
HiLink jsError Error
264260
HiLink jsParensError Error
@@ -273,12 +269,14 @@ if version >= 508 || !exists("did_javascript_syn_inits")
273269
HiLink jsUndefined Type
274270
HiLink jsNumber Number
275271
HiLink jsFloat Float
276-
HiLink jsBoolean Boolean
272+
HiLink jsBooleanTrue Boolean
273+
HiLink jsBooleanFalse Boolean
277274
HiLink jsNoise Noise
278275
HiLink jsBrackets Noise
279276
HiLink jsParens Noise
280277
HiLink jsBraces Noise
281278
HiLink jsFuncBraces Noise
279+
HiLink jsFuncParens Noise
282280
HiLink jsSpecial Special
283281
HiLink jsGlobalObjects Special
284282
HiLink jsExceptions Special
@@ -302,8 +300,8 @@ endif
302300
" Define the htmlJavaScript for HTML syntax html.vim
303301
"syntax clear htmlJavaScript
304302
"syntax clear jsExpression
305-
syntax cluster htmlJavaScript contains=@jsAll,jsBracket,jsParen,jsBlock,jsParenError
306-
syntax cluster javaScriptExpression contains=@jsAll,jsBracket,jsParen,jsBlock,jsParenError,@htmlPreproc
303+
syntax cluster htmlJavaScript contains=@jsAll,jsBracket,jsParen,jsBlock
304+
syntax cluster javaScriptExpression contains=@jsAll,jsBracket,jsParen,jsBlock,@htmlPreproc
307305
" Vim's default html.vim highlights all javascript as 'Special'
308306
hi! def link javaScript NONE
309307

tmp/.keep

Whitespace-only changes.

0 commit comments

Comments
 (0)