annotate vendor/vim-syntax/javascript.vim @ 646:673c14e2a45e

Update syntaxes
author nanaya <me@nanaya.pro>
date Wed, 16 Sep 2020 15:35:09 +0900
parents c548e83e4c57
children c74dffea6a0a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
604
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
1 " Vim syntax file
634
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
2 " Language: JavaScript
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
3 " Maintainer: Claudio Fleiner <claudio@fleiner.com>
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
4 " Updaters: Scott Shattuck (ss) <ss@technicalpursuit.com>
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
5 " URL: http://www.fleiner.com/vim/syntax/javascript.vim
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
6 " Changes: (ss) added keywords, reserved words, and other identifiers
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
7 " (ss) repaired several quoting and grouping glitches
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
8 " (ss) fixed regex parsing issue with multiple qualifiers [gi]
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
9 " (ss) additional factoring of keywords, globals, and members
642
c548e83e4c57 [vim syntax] Update from upstream
nanaya <me@nanaya.pro>
parents: 634
diff changeset
10 " Last Change: 2020 May 14
634
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
11 " 2013 Jun 12: adjusted javaScriptRegexpString (Kevin Locke)
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
12 " 2018 Apr 14: adjusted javaScriptRegexpString (LongJohnCoder)
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
13
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
14 " tuning parameters:
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
15 " unlet javaScript_fold
604
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
16
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
17 if !exists("main_syntax")
634
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
18 " quit when a syntax file was already loaded
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
19 if exists("b:current_syntax")
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
20 finish
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
21 endif
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
22 let main_syntax = 'javascript'
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
23 elseif exists("b:current_syntax") && b:current_syntax == "javascript"
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
24 finish
604
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
25 endif
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
26
634
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
27 let s:cpo_save = &cpo
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
28 set cpo&vim
604
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
29
629
035b23bb15da Update syntaxes
nanaya <me@nanaya.pro>
parents: 612
diff changeset
30
634
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
31 syn keyword javaScriptCommentTodo TODO FIXME XXX TBD contained
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
32 syn match javaScriptLineComment "\/\/.*" contains=@Spell,javaScriptCommentTodo
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
33 syn match javaScriptCommentSkip "^[ \t]*\*\($\|[ \t]\+\)"
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
34 syn region javaScriptComment start="/\*" end="\*/" contains=@Spell,javaScriptCommentTodo
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
35 syn match javaScriptSpecial "\\\d\d\d\|\\."
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
36 syn region javaScriptStringD start=+"+ skip=+\\\\\|\\"+ end=+"\|$+ contains=javaScriptSpecial,@htmlPreproc
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
37 syn region javaScriptStringS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ contains=javaScriptSpecial,@htmlPreproc
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
38 syn region javaScriptStringT start=+`+ skip=+\\\\\|\\`+ end=+`+ contains=javaScriptSpecial,javaScriptEmbed,@htmlPreproc
604
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
39
634
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
40 syn region javaScriptEmbed start=+${+ end=+}+ contains=@javaScriptEmbededExpr
629
035b23bb15da Update syntaxes
nanaya <me@nanaya.pro>
parents: 612
diff changeset
41
634
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
42 syn match javaScriptSpecialCharacter "'\\.'"
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
43 syn match javaScriptNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
44 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
604
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
45
634
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
46 syn keyword javaScriptConditional if else switch
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
47 syn keyword javaScriptRepeat while for do in
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
48 syn keyword javaScriptBranch break continue
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
49 syn keyword javaScriptOperator new delete instanceof typeof
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
50 syn keyword javaScriptType Array Boolean Date Function Number Object String RegExp
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
51 syn keyword javaScriptStatement return with await
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
52 syn keyword javaScriptBoolean true false
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
53 syn keyword javaScriptNull null undefined
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
54 syn keyword javaScriptIdentifier arguments this var let
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
55 syn keyword javaScriptLabel case default
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
56 syn keyword javaScriptException try catch finally throw
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
57 syn keyword javaScriptMessage alert confirm prompt status
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
58 syn keyword javaScriptGlobal self window top parent
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
59 syn keyword javaScriptMember document event location
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
60 syn keyword javaScriptDeprecated escape unescape
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
61 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
604
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
62
634
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
63 syn cluster javaScriptEmbededExpr contains=javaScriptBoolean,javaScriptNull,javaScriptIdentifier,javaScriptStringD,javaScriptStringS,javaScriptStringT
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
64
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
65 if exists("javaScript_fold")
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
66 syn match javaScriptFunction "\<function\>"
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
67 syn region javaScriptFunctionFold start="\<function\>.*[^};]$" end="^\z1}.*$" transparent fold keepend
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
68
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
69 syn sync match javaScriptSync grouphere javaScriptFunctionFold "\<function\>"
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
70 syn sync match javaScriptSync grouphere NONE "^}"
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
71
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
72 setlocal foldmethod=syntax
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
73 setlocal foldtext=getline(v:foldstart)
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
74 else
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
75 syn keyword javaScriptFunction function
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
76 syn match javaScriptBraces "[{}\[\]]"
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
77 syn match javaScriptParens "[()]"
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
78 endif
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
79
642
c548e83e4c57 [vim syntax] Update from upstream
nanaya <me@nanaya.pro>
parents: 634
diff changeset
80 if main_syntax == "javascript"
c548e83e4c57 [vim syntax] Update from upstream
nanaya <me@nanaya.pro>
parents: 634
diff changeset
81 syn sync fromstart
c548e83e4c57 [vim syntax] Update from upstream
nanaya <me@nanaya.pro>
parents: 634
diff changeset
82 syn sync maxlines=100
604
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
83
634
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
84 syn sync ccomment javaScriptComment
604
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
85 endif
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
86
634
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
87 " Define the default highlighting.
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
88 " Only when an item doesn't have highlighting yet
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
89 hi def link javaScriptComment Comment
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
90 hi def link javaScriptLineComment Comment
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
91 hi def link javaScriptCommentTodo Todo
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
92 hi def link javaScriptSpecial Special
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
93 hi def link javaScriptStringS String
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
94 hi def link javaScriptStringD String
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
95 hi def link javaScriptStringT String
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
96 hi def link javaScriptCharacter Character
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
97 hi def link javaScriptSpecialCharacter javaScriptSpecial
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
98 hi def link javaScriptNumber javaScriptValue
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
99 hi def link javaScriptConditional Conditional
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
100 hi def link javaScriptRepeat Repeat
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
101 hi def link javaScriptBranch Conditional
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
102 hi def link javaScriptOperator Operator
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
103 hi def link javaScriptType Type
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
104 hi def link javaScriptStatement Statement
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
105 hi def link javaScriptFunction Function
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
106 hi def link javaScriptBraces Function
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
107 hi def link javaScriptError Error
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
108 hi def link javaScrParenError javaScriptError
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
109 hi def link javaScriptNull Keyword
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
110 hi def link javaScriptBoolean Boolean
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
111 hi def link javaScriptRegexpString String
604
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
112
634
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
113 hi def link javaScriptIdentifier Identifier
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
114 hi def link javaScriptLabel Label
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
115 hi def link javaScriptException Exception
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
116 hi def link javaScriptMessage Keyword
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
117 hi def link javaScriptGlobal Keyword
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
118 hi def link javaScriptMember Keyword
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
119 hi def link javaScriptDeprecated Exception
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
120 hi def link javaScriptReserved Keyword
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
121 hi def link javaScriptDebug Debug
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
122 hi def link javaScriptConstant Label
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
123 hi def link javaScriptEmbed Special
604
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
124
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
125
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
126
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
127 let b:current_syntax = "javascript"
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
128 if main_syntax == 'javascript'
634
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
129 unlet main_syntax
604
d4d316db35d7 Add latestest javascript
nanaya <me@nanaya.pro>
parents:
diff changeset
130 endif
634
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
131 let &cpo = s:cpo_save
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
132 unlet s:cpo_save
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
133
ced2ee9efd9f Update various syntaxes to the ones in vim repo
nanaya <me@nanaya.pro>
parents: 629
diff changeset
134 " vim: ts=8