Mercurial > ec-dotfiles
annotate vendor/vim-syntax/javascript.vim @ 648:2bb0035876b1
Track weird spaces
author | nanaya <me@nanaya.pro> |
---|---|
date | Thu, 17 Sep 2020 17:38:23 +0900 |
parents | c548e83e4c57 |
children | c74dffea6a0a |
rev | line source |
---|---|
604 | 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 | 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 | 16 |
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 | 25 endif |
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 | 29 |
629 | 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 | 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 | 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 | 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 | 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 | 80 if main_syntax == "javascript" |
81 syn sync fromstart | |
82 syn sync maxlines=100 | |
604 | 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 | 85 endif |
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 | 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 | 124 |
125 | |
126 | |
127 let b:current_syntax = "javascript" | |
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 | 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 |