github-linguist 4.8.5 → 4.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/grammars/{source.sas_log.json → source.SASLog.json} +5 -6
- data/grammars/source.ahk.json +81 -57
- data/grammars/source.assembly.json +1 -1
- data/grammars/source.bro.json +4 -4
- data/grammars/source.clojure.json +32 -8
- data/grammars/source.coq.json +1 -1
- data/grammars/source.crystal.json +21 -6
- data/grammars/source.csound-document.json +71 -0
- data/grammars/source.csound-score.json +65 -0
- data/grammars/source.csound.json +494 -0
- data/grammars/source.elm.json +27 -2
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.glsl.json +96 -6
- data/grammars/source.js.jsx.json +664 -524
- data/grammars/source.nu.json +526 -0
- data/grammars/source.pawn.json +8 -109
- data/grammars/source.pony.json +1 -1
- data/grammars/source.python.json +4 -4
- data/grammars/source.regexp.babel.json +1 -1
- data/grammars/source.shell.json +4 -1
- data/grammars/source.swift.json +2 -2
- data/grammars/source.wavefront.mtl.json +1177 -0
- data/grammars/source.wavefront.obj.json +1344 -0
- data/grammars/text.html.creole.json +329 -0
- data/grammars/text.html.ecr.json +52 -0
- data/grammars/text.html.handlebars.json +1 -1
- data/grammars/text.html.mako.json +17 -2
- data/grammars/text.html.vue.json +36 -1
- data/grammars/text.slim.json +1 -4
- data/grammars/text.tex.latex.json +2 -2
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +75 -6
- data/lib/linguist/samples.json +1856 -71
- data/lib/linguist/version.rb +1 -1
- metadata +11 -4
- data/grammars/source.fan.json +0 -188
data/grammars/source.elm.json
CHANGED
@@ -21,13 +21,16 @@
|
|
21
21
|
"name": "constant.language.unit.elm"
|
22
22
|
},
|
23
23
|
{
|
24
|
-
"begin": "^\\b(module)\\s+",
|
24
|
+
"begin": "^\\b((effect|port)\\s+)?(module)\\s+",
|
25
25
|
"beginCaptures": {
|
26
26
|
"1": {
|
27
27
|
"name": "keyword.other.elm"
|
28
|
+
},
|
29
|
+
"3": {
|
30
|
+
"name": "keyword.other.elm"
|
28
31
|
}
|
29
32
|
},
|
30
|
-
"end": "
|
33
|
+
"end": "$|;",
|
31
34
|
"endCaptures": {
|
32
35
|
"1": {
|
33
36
|
"name": "keyword.other.elm"
|
@@ -38,9 +41,31 @@
|
|
38
41
|
{
|
39
42
|
"include": "#module_name"
|
40
43
|
},
|
44
|
+
{
|
45
|
+
"begin": "(where)\\s*\\{",
|
46
|
+
"beginCaptures": {
|
47
|
+
"1": {
|
48
|
+
"name": "keyword.other.elm"
|
49
|
+
}
|
50
|
+
},
|
51
|
+
"end": "\\}",
|
52
|
+
"patterns": [
|
53
|
+
{
|
54
|
+
"include": "#type_signature"
|
55
|
+
}
|
56
|
+
]
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"match": "(exposing)",
|
60
|
+
"name": "keyword.other.elm"
|
61
|
+
},
|
41
62
|
{
|
42
63
|
"include": "#module_exports"
|
43
64
|
},
|
65
|
+
{
|
66
|
+
"match": "(where)",
|
67
|
+
"name": "keyword.other.elm"
|
68
|
+
},
|
44
69
|
{
|
45
70
|
"match": "[a-z]+",
|
46
71
|
"name": "invalid"
|
data/grammars/source.fsharp.json
CHANGED
data/grammars/source.glsl.json
CHANGED
@@ -25,6 +25,37 @@
|
|
25
25
|
"keyEquivalent": "^~G",
|
26
26
|
"name": "GLSL",
|
27
27
|
"patterns": [
|
28
|
+
{
|
29
|
+
"include": "#literal"
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"include": "#operator"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"begin": "/\\*",
|
36
|
+
"beginCaptures": {
|
37
|
+
"0": {
|
38
|
+
"name": "punctuation.definition.comment.block.begin.glsl"
|
39
|
+
}
|
40
|
+
},
|
41
|
+
"end": "\\*/",
|
42
|
+
"endCaptures": {
|
43
|
+
"0": {
|
44
|
+
"name": "punctuation.definition.comment.block.end.glsl"
|
45
|
+
}
|
46
|
+
},
|
47
|
+
"name": "comment.block.glsl"
|
48
|
+
},
|
49
|
+
{
|
50
|
+
"begin": "//",
|
51
|
+
"beginCapture": {
|
52
|
+
"0": {
|
53
|
+
"name": "punctuation.definition.comment.glsl"
|
54
|
+
}
|
55
|
+
},
|
56
|
+
"end": "\\n",
|
57
|
+
"name": "comment.line.double-slash.glsl"
|
58
|
+
},
|
28
59
|
{
|
29
60
|
"match": "^\\s*#\\s*(define|undef|if|ifdef|ifndef|else|elif|endif|error|pragma|extension|version|line)\\b",
|
30
61
|
"name": "keyword.directive.preprocessor.glsl"
|
@@ -60,15 +91,74 @@
|
|
60
91
|
{
|
61
92
|
"match": "\\b(abs|acos|all|any|asin|atan|ceil|clamp|cos|cross|degrees|dFdx|dFdy|distance|dot|equal|exp|exp2|faceforward|floor|fract|ftransform|fwidth|greaterThan|greaterThanEqual|inversesqrt|length|lessThan|lessThanEqual|log|log2|matrixCompMult|max|min|mix|mod|noise[1-4]|normalize|not|notEqual|outerProduct|pow|radians|reflect|refract|shadow1D|shadow1DLod|shadow1DProj|shadow1DProjLod|shadow2D|shadow2DLod|shadow2DProj|shadow2DProjLod|sign|sin|smoothstep|sqrt|step|tan|texture1D|texture1DLod|texture1DProj|texture1DProjLod|texture2D|texture2DLod|texture2DProj|texture2DProjLod|texture3D|texture3DLod|texture3DProj|texture3DProjLod|textureCube|textureCubeLod|transpose)\\b",
|
62
93
|
"name": "support.function.glsl"
|
94
|
+
}
|
95
|
+
],
|
96
|
+
"repository": {
|
97
|
+
"literal": {
|
98
|
+
"patterns": [
|
99
|
+
{
|
100
|
+
"include": "#numeric-literal"
|
101
|
+
}
|
102
|
+
]
|
63
103
|
},
|
64
|
-
{
|
65
|
-
"
|
66
|
-
|
104
|
+
"operator": {
|
105
|
+
"patterns": [
|
106
|
+
{
|
107
|
+
"include": "#arithmetic-operator"
|
108
|
+
},
|
109
|
+
{
|
110
|
+
"include": "#increment-decrement-operator"
|
111
|
+
},
|
112
|
+
{
|
113
|
+
"include": "#bitwise-operator"
|
114
|
+
},
|
115
|
+
{
|
116
|
+
"include": "#comparative-operator"
|
117
|
+
},
|
118
|
+
{
|
119
|
+
"include": "#assignment-operator"
|
120
|
+
},
|
121
|
+
{
|
122
|
+
"include": "#logical-operator"
|
123
|
+
},
|
124
|
+
{
|
125
|
+
"include": "#ternary-operator"
|
126
|
+
}
|
127
|
+
]
|
67
128
|
},
|
68
|
-
{
|
69
|
-
"
|
129
|
+
"numeric-literal": {
|
130
|
+
"match": "\\b([0-9][0-9_]*)(\\.([0-9][0-9_]*))?([eE][+/-]?([0-9][0-9_]*))?\\b",
|
131
|
+
"name": "constant.numeric.glsl"
|
132
|
+
},
|
133
|
+
"arithmetic-operator": {
|
134
|
+
"match": "(?<![/=\\-+!*%<>&|\\^~.])(\\+|\\-|\\*|\\/|\\%)(?![/=\\-+!*%<>&|^~.])",
|
135
|
+
"name": "keyword.operator.arithmetic.glsl"
|
136
|
+
},
|
137
|
+
"increment-decrement-operator": {
|
138
|
+
"match": "(?<![/=\\-+!*%<>&|\\^~.])(\\+\\+|\\-\\-)(?![/=\\-+!*%<>&|^~.])",
|
139
|
+
"name": "keyword.operator.increment-or-decrement.glsl"
|
140
|
+
},
|
141
|
+
"bitwise-operator": {
|
142
|
+
"match": "(?<![/=\\-+!*%<>&|\\^~.])(~|&|\\||\\^|<<|>>)(?![/=\\-+!*%<>&|^~.])",
|
143
|
+
"name": "keyword.operator.bitwise.glsl"
|
144
|
+
},
|
145
|
+
"assignment-operator": {
|
146
|
+
"match": "(?<![/=\\-+!*%<>&|\\^~.])(\\+|\\-|\\*|\\%|\\/|<<|>>|&|\\^|\\|)?=(?![/=\\-+!*%<>&|^~.])",
|
147
|
+
"name": "keyword.operator.assignment.glsl"
|
148
|
+
},
|
149
|
+
"comparative-operator": {
|
150
|
+
"match": "(?<![/=\\-+!*%<>&|\\^~.])((=|!)=|(<|>)=?)(?![/=\\-+!*%<>&|^~.])",
|
151
|
+
"name": "keyword.operator.comparative.glsl"
|
152
|
+
},
|
153
|
+
"logical-operator": {
|
154
|
+
"match": "(?<![/=\\-+!*%<>&|\\^~.])(!|&&|\\|\\||\\^\\^)(?![/=\\-+!*%<>&|^~.])",
|
155
|
+
"name": "keyword.operator.arithmetic.glsl"
|
156
|
+
},
|
157
|
+
"ternary-operator": {
|
158
|
+
"match": "(\\?|:)",
|
159
|
+
"name": "keyword.operator.ternary.glsl"
|
70
160
|
}
|
71
|
-
|
161
|
+
},
|
72
162
|
"scopeName": "source.glsl",
|
73
163
|
"uuid": "D0FD1B52-F137-4FBA-A148-B8A893CD948C"
|
74
164
|
}
|
data/grammars/source.js.jsx.json
CHANGED
@@ -24,13 +24,7 @@
|
|
24
24
|
"include": "#ignore-long-lines"
|
25
25
|
},
|
26
26
|
{
|
27
|
-
"include": "#flowtype-
|
28
|
-
},
|
29
|
-
{
|
30
|
-
"include": "#flowtype-type-aliases"
|
31
|
-
},
|
32
|
-
{
|
33
|
-
"include": "#flowtype-interface"
|
27
|
+
"include": "#flowtype-keywords"
|
34
28
|
},
|
35
29
|
{
|
36
30
|
"include": "#literal-function-labels"
|
@@ -84,6 +78,9 @@
|
|
84
78
|
{
|
85
79
|
"include": "#literal-arrow-function"
|
86
80
|
},
|
81
|
+
{
|
82
|
+
"include": "#literal-method-alternate"
|
83
|
+
},
|
87
84
|
{
|
88
85
|
"include": "#literal-prototype",
|
89
86
|
"comment": "after literal-function, which includes some prototype strings"
|
@@ -108,7 +105,8 @@
|
|
108
105
|
"include": "#literal-language-variable"
|
109
106
|
},
|
110
107
|
{
|
111
|
-
"include": "#literal-object"
|
108
|
+
"include": "#literal-object",
|
109
|
+
"comment": "before literal-module as it traps default {"
|
112
110
|
},
|
113
111
|
{
|
114
112
|
"include": "#literal-module"
|
@@ -187,7 +185,7 @@
|
|
187
185
|
{
|
188
186
|
"comment": "e.g. 'play': function(arg1, arg2) { }",
|
189
187
|
"name": "meta.function.json.js",
|
190
|
-
"begin": "(?<=^|{|,)\\s*+(('|\\\")(
|
188
|
+
"begin": "(?<=^|{|,)\\s*+(('|\\\")([^\"']*)(\\k<-3>))\\s*+(:)\\s*+(async)?\\s*+((?<!\\.)\\bfunction\\b)\\s*(\\*\\s*)?\\s*(?=\\(|<)",
|
191
189
|
"end": "(?=\\{)",
|
192
190
|
"applyEndPatternLast": 1,
|
193
191
|
"beginCaptures": {
|
@@ -229,7 +227,7 @@
|
|
229
227
|
{
|
230
228
|
"comment": "e.g. play: async <T>(args) => { }",
|
231
229
|
"name": "meta.function.json.arrow.js",
|
232
|
-
"begin": "(?<=^|{|,)\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s
|
230
|
+
"begin": "(?<=^|{|,)\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
233
231
|
"end": "\\s*(=>)",
|
234
232
|
"beginCaptures": {
|
235
233
|
"1": {
|
@@ -256,7 +254,7 @@
|
|
256
254
|
{
|
257
255
|
"comment": "e.g. play: arg => { }",
|
258
256
|
"name": "meta.function.json.arrow.js",
|
259
|
-
"begin": "(?<=^|{|,)\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+([_$a-zA-Z][$\\w]*)\\s*+(?:\\s
|
257
|
+
"begin": "(?<=^|{|,)\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+([_$a-zA-Z][$\\w]*)\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
260
258
|
"end": "\\s*(=>)",
|
261
259
|
"beginCaptures": {
|
262
260
|
"1": {
|
@@ -286,7 +284,7 @@
|
|
286
284
|
{
|
287
285
|
"comment": "e.g. 'play': (args) => { }",
|
288
286
|
"name": "meta.function.json.arrow.js",
|
289
|
-
"begin": "(?<=^|{|,)\\s*+(('|\\\")(
|
287
|
+
"begin": "(?<=^|{|,)\\s*+(('|\\\")([^\"']*)(\\k<-3>))\\s*(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
290
288
|
"end": "\\s*(=>)",
|
291
289
|
"applyEndPatternLast": 1,
|
292
290
|
"endCaptures": {
|
@@ -323,7 +321,7 @@
|
|
323
321
|
{
|
324
322
|
"comment": "e.g. 'play': arg => { }",
|
325
323
|
"name": "meta.function.json.arrow.js",
|
326
|
-
"begin": "(?<=^|{|,)\\s*+(('|\\\")(
|
324
|
+
"begin": "(?<=^|{|,)\\s*+(('|\\\")([^\"']*)(\\k<-3>))\\s*+(:)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+([_$a-zA-Z][$\\w]*)\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
327
325
|
"end": "\\s*(=>)",
|
328
326
|
"beginCaptures": {
|
329
327
|
"1": {
|
@@ -825,69 +823,30 @@
|
|
825
823
|
"literal-keyword-storage": {
|
826
824
|
"patterns": [
|
827
825
|
{
|
828
|
-
"
|
829
|
-
"
|
830
|
-
"end": "\\s*((\\;)|(?=\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare)\\b|^\\s*$|}))",
|
831
|
-
"beginCaptures": {
|
832
|
-
"1": {
|
833
|
-
"name": "storage.type.js"
|
834
|
-
}
|
835
|
-
},
|
836
|
-
"endCaptures": {
|
837
|
-
"2": {
|
838
|
-
"name": "punctuation.terminator.statement.js"
|
839
|
-
}
|
840
|
-
},
|
841
|
-
"patterns": [
|
842
|
-
{
|
843
|
-
"include": "#flowtype-variable"
|
844
|
-
}
|
845
|
-
]
|
846
|
-
},
|
847
|
-
{
|
848
|
-
"comment": "flowtype objects {a,b,{z}} with a : to indicate type",
|
849
|
-
"begin": "\\s*+(?<!\\.)\\b(const|let|var)\\b\\s+(?=(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})\\s*+:)",
|
850
|
-
"end": "\\s*((\\;)|(?=\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare)\\b|^\\s*$|}))",
|
851
|
-
"beginCaptures": {
|
852
|
-
"1": {
|
853
|
-
"name": "storage.type.js"
|
854
|
-
}
|
855
|
-
},
|
856
|
-
"endCaptures": {
|
857
|
-
"2": {
|
858
|
-
"name": "punctuation.terminator.statement.js"
|
859
|
-
}
|
860
|
-
},
|
861
|
-
"patterns": [
|
862
|
-
{
|
863
|
-
"include": "#flowtype-destruct-lhs"
|
864
|
-
}
|
865
|
-
]
|
866
|
-
},
|
867
|
-
{
|
868
|
-
"comment": "flowtype arrays [a,[b,c]] with a : to indicate type",
|
869
|
-
"begin": "\\s*+(?<!\\.)\\b(const|let|var)\\b\\s+(?=(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])\\s*+:)",
|
870
|
-
"end": "\\s*((\\;)|(?=\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare)\\b|^\\s*$|}))",
|
826
|
+
"begin": "\\s*+(?<!\\.)\\b(const|let|var)\\b",
|
827
|
+
"end": "\\s*(?=\\;|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
|
871
828
|
"beginCaptures": {
|
872
829
|
"1": {
|
873
830
|
"name": "storage.type.js"
|
874
831
|
}
|
875
832
|
},
|
876
|
-
"endCaptures": {
|
877
|
-
"2": {
|
878
|
-
"name": "punctuation.terminator.statement.js"
|
879
|
-
}
|
880
|
-
},
|
881
833
|
"patterns": [
|
882
834
|
{
|
883
|
-
"
|
835
|
+
"comment": "other variables",
|
836
|
+
"begin": "\\s*",
|
837
|
+
"end": "\\s*((,)|(?=(\\;)|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|}))",
|
838
|
+
"endCaptures": {
|
839
|
+
"2": {
|
840
|
+
"name": "punctuation.terminator.statement.js"
|
841
|
+
}
|
842
|
+
},
|
843
|
+
"patterns": [
|
844
|
+
{
|
845
|
+
"include": "#flowtype-variable"
|
846
|
+
}
|
847
|
+
]
|
884
848
|
}
|
885
849
|
]
|
886
|
-
},
|
887
|
-
{
|
888
|
-
"comment": "var statements that done start with a flow indicator",
|
889
|
-
"name": "storage.type.js",
|
890
|
-
"match": "\\s*+(?<!\\.)\\b(const|let|var)\\b"
|
891
850
|
}
|
892
851
|
]
|
893
852
|
},
|
@@ -897,7 +856,7 @@
|
|
897
856
|
"comment": "e.g. function play<T>(arg1, arg2) { }",
|
898
857
|
"name": "meta.function.js",
|
899
858
|
"begin": "\\s*+(?:\\b(async)\\b\\s+)?\\s*+(?:(?<=\\.\\.\\.)|(?<!\\.))(\\bfunction\\b)\\s*+(\\*?)\\s*+([_$a-zA-Z][$\\w]*)?\\s*+(?=\\(|<)",
|
900
|
-
"end": "(
|
859
|
+
"end": "\\s*(?=\\;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
|
901
860
|
"applyEndPatternLast": 1,
|
902
861
|
"beginCaptures": {
|
903
862
|
"1": {
|
@@ -923,7 +882,7 @@
|
|
923
882
|
"comment": "e.g. play = function(arg1, arg2) { }",
|
924
883
|
"name": "meta.function.js",
|
925
884
|
"begin": "\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(?:(async)\\s+)?\\s*+((?<!\\.)\\bfunction\\b)\\s*+(\\*?)\\s*+([_$a-zA-Z][$\\w]*)?\\s*+(?=\\(|<)",
|
926
|
-
"end": "(
|
885
|
+
"end": "\\s*(?=\\;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
|
927
886
|
"applyEndPatternLast": 1,
|
928
887
|
"beginCaptures": {
|
929
888
|
"1": {
|
@@ -955,7 +914,7 @@
|
|
955
914
|
"comment": "e.g. Sound.prototype.play = function(arg1, arg2) { }",
|
956
915
|
"name": "meta.prototype.function.js",
|
957
916
|
"begin": "\\s*+(\\b_?[A-Z][$\\w]*)?(\\.)(prototype)(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(?:(async)\\s+)?\\s*+((?<!\\.)\\bfunction\\b)\\s*+(\\*?)\\s*+([_$a-zA-Z][$\\w]*)?\\s*+(?=\\(|<)",
|
958
|
-
"end": "(
|
917
|
+
"end": "\\s*(?=\\;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
|
959
918
|
"applyEndPatternLast": 1,
|
960
919
|
"beginCaptures": {
|
961
920
|
"1": {
|
@@ -999,7 +958,7 @@
|
|
999
958
|
"comment": "e.g. Sound.play = function(arg1, arg2) { }",
|
1000
959
|
"name": "meta.function.static.js",
|
1001
960
|
"begin": "\\s*+(\\b_?[A-Z][$\\w]*)?(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(?:(async)\\s+)?\\s*+((?<!\\.)\\bfunction\\b)\\s*+(\\*?)\\s*+([_$a-zA-Z][$\\w]*)?\\s*+(?=\\(|<)",
|
1002
|
-
"end": "(
|
961
|
+
"end": "\\s*(?=\\;|{|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|})",
|
1003
962
|
"applyEndPatternLast": 1,
|
1004
963
|
"beginCaptures": {
|
1005
964
|
"1": {
|
@@ -1094,7 +1053,7 @@
|
|
1094
1053
|
"patterns": [
|
1095
1054
|
{
|
1096
1055
|
"comment": "obj lteral ({ or ,{ or [{ or ={ or return { or default {",
|
1097
|
-
"begin": "(?:(?<=\\(|\\[
|
1056
|
+
"begin": "(?:(?<=\\(|\\[)|(?:\\s*(?:(=)|\\b(default)\\b|\\b(return)\\b|(,))))\\s*({)",
|
1098
1057
|
"end": "\\s*+(})",
|
1099
1058
|
"beginCaptures": {
|
1100
1059
|
"1": {
|
@@ -1216,21 +1175,21 @@
|
|
1216
1175
|
},
|
1217
1176
|
{
|
1218
1177
|
"name": "meta.function-call.without-arguments.js",
|
1219
|
-
"
|
1220
|
-
"
|
1221
|
-
"beginCaptures": {
|
1178
|
+
"match": "\\s*+((\\bnew\\b)*)\\s*+([_$a-zA-Z][$\\w]*)\\s*+(\\()\\s*+(\\))",
|
1179
|
+
"captures": {
|
1222
1180
|
"2": {
|
1223
1181
|
"name": "keyword.operator.js"
|
1224
1182
|
},
|
1225
1183
|
"3": {
|
1226
1184
|
"name": "entity.name.function.js"
|
1185
|
+
},
|
1186
|
+
"4": {
|
1187
|
+
"name": "meta.brace.round.js"
|
1188
|
+
},
|
1189
|
+
"5": {
|
1190
|
+
"name": "meta.brace.round.js"
|
1227
1191
|
}
|
1228
|
-
}
|
1229
|
-
"patterns": [
|
1230
|
-
{
|
1231
|
-
"include": "#flowtype-bracketed-parameters"
|
1232
|
-
}
|
1233
|
-
]
|
1192
|
+
}
|
1234
1193
|
},
|
1235
1194
|
{
|
1236
1195
|
"name": "meta.function-call.without-arguments.js",
|
@@ -1244,10 +1203,10 @@
|
|
1244
1203
|
},
|
1245
1204
|
"patterns": [
|
1246
1205
|
{
|
1247
|
-
"include": "#
|
1206
|
+
"include": "#square-brackets"
|
1248
1207
|
},
|
1249
1208
|
{
|
1250
|
-
"include": "#
|
1209
|
+
"include": "#round-brackets"
|
1251
1210
|
}
|
1252
1211
|
]
|
1253
1212
|
},
|
@@ -1266,7 +1225,7 @@
|
|
1266
1225
|
},
|
1267
1226
|
"patterns": [
|
1268
1227
|
{
|
1269
|
-
"include": "#
|
1228
|
+
"include": "#round-brackets"
|
1270
1229
|
}
|
1271
1230
|
]
|
1272
1231
|
},
|
@@ -1282,10 +1241,10 @@
|
|
1282
1241
|
},
|
1283
1242
|
"patterns": [
|
1284
1243
|
{
|
1285
|
-
"include": "#
|
1244
|
+
"include": "#square-brackets"
|
1286
1245
|
},
|
1287
1246
|
{
|
1288
|
-
"include": "#
|
1247
|
+
"include": "#round-brackets"
|
1289
1248
|
}
|
1290
1249
|
]
|
1291
1250
|
}
|
@@ -1421,7 +1380,7 @@
|
|
1421
1380
|
{
|
1422
1381
|
"comment": "Classes",
|
1423
1382
|
"begin": "\\s*+(?<!\\.)\\b(class)\\s+",
|
1424
|
-
"end": "\\s*(})",
|
1383
|
+
"end": "\\s*(?<=})",
|
1425
1384
|
"beginCaptures": {
|
1426
1385
|
"0": {
|
1427
1386
|
"name": "meta.class.js"
|
@@ -1430,11 +1389,6 @@
|
|
1430
1389
|
"name": "storage.type.class.js"
|
1431
1390
|
}
|
1432
1391
|
},
|
1433
|
-
"endCaptures": {
|
1434
|
-
"1": {
|
1435
|
-
"name": "punctuation.section.class.end.js"
|
1436
|
-
}
|
1437
|
-
},
|
1438
1392
|
"patterns": [
|
1439
1393
|
{
|
1440
1394
|
"match": "\\s*+\\b(extends)\\b\\s*+",
|
@@ -1448,42 +1402,30 @@
|
|
1448
1402
|
}
|
1449
1403
|
},
|
1450
1404
|
{
|
1451
|
-
"
|
1405
|
+
"comment": "look for classes names but dont assume uppercase start char",
|
1406
|
+
"match": "(?<!\\.)\\s*+([$_\\p{L}](?:[$\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)",
|
1407
|
+
"name": "entity.name.class.js"
|
1452
1408
|
},
|
1453
1409
|
{
|
1454
1410
|
"include": "#flowtype-polymorphs"
|
1455
1411
|
},
|
1456
1412
|
{
|
1457
1413
|
"begin": "\\s*+{",
|
1458
|
-
"end": "\\s*(
|
1414
|
+
"end": "\\s*(})",
|
1459
1415
|
"contentName": "meta.class.body.js",
|
1460
1416
|
"beginCaptures": {
|
1461
1417
|
"0": {
|
1462
1418
|
"name": "punctuation.section.class.begin.js"
|
1463
1419
|
}
|
1464
1420
|
},
|
1421
|
+
"endCaptures": {
|
1422
|
+
"1": {
|
1423
|
+
"name": "punctuation.section.class.end.js"
|
1424
|
+
}
|
1425
|
+
},
|
1465
1426
|
"patterns": [
|
1466
1427
|
{
|
1467
|
-
"
|
1468
|
-
"name": "storage.modifier.js"
|
1469
|
-
},
|
1470
|
-
{
|
1471
|
-
"include": "#literal-method"
|
1472
|
-
},
|
1473
|
-
{
|
1474
|
-
"include": "#brackets"
|
1475
|
-
},
|
1476
|
-
{
|
1477
|
-
"include": "#es7-decorators"
|
1478
|
-
},
|
1479
|
-
{
|
1480
|
-
"include": "#comments"
|
1481
|
-
},
|
1482
|
-
{
|
1483
|
-
"include": "#flowtype-variable"
|
1484
|
-
},
|
1485
|
-
{
|
1486
|
-
"include": "#literal-semi-colon"
|
1428
|
+
"include": "#class-body"
|
1487
1429
|
}
|
1488
1430
|
]
|
1489
1431
|
},
|
@@ -1494,6 +1436,50 @@
|
|
1494
1436
|
}
|
1495
1437
|
]
|
1496
1438
|
},
|
1439
|
+
"class-body": {
|
1440
|
+
"patterns": [
|
1441
|
+
{
|
1442
|
+
"include": "#flowtype-keywords"
|
1443
|
+
},
|
1444
|
+
{
|
1445
|
+
"include": "#literal-method"
|
1446
|
+
},
|
1447
|
+
{
|
1448
|
+
"include": "#brackets"
|
1449
|
+
},
|
1450
|
+
{
|
1451
|
+
"include": "#es7-decorators"
|
1452
|
+
},
|
1453
|
+
{
|
1454
|
+
"include": "#comments"
|
1455
|
+
},
|
1456
|
+
{
|
1457
|
+
"comment": "a line starts with a static, [, name( or a semi-colon anywhere",
|
1458
|
+
"begin": "\\s*+(?==[^=>])",
|
1459
|
+
"end": "(^\\s*+(?=([$\\w]*\\s*+\\??\\s*+(:|=(?!^==|=>))|\\[|[$\\w]\\s*+\\(|\\bstatic\\b|\\s*++)))|\\s*(;)",
|
1460
|
+
"endCaptures": {
|
1461
|
+
"4": {
|
1462
|
+
"name": "punctuation.terminator.statement.js"
|
1463
|
+
}
|
1464
|
+
},
|
1465
|
+
"patterns": [
|
1466
|
+
{
|
1467
|
+
"include": "#expression"
|
1468
|
+
}
|
1469
|
+
]
|
1470
|
+
},
|
1471
|
+
{
|
1472
|
+
"match": "\\s*+\\b(?<!\\.)static\\b(?!\\.)",
|
1473
|
+
"name": "storage.modifier.js"
|
1474
|
+
},
|
1475
|
+
{
|
1476
|
+
"include": "#flowtype-variable"
|
1477
|
+
},
|
1478
|
+
{
|
1479
|
+
"include": "#literal-semi-colon"
|
1480
|
+
}
|
1481
|
+
]
|
1482
|
+
},
|
1497
1483
|
"literal-method-call": {
|
1498
1484
|
"patterns": [
|
1499
1485
|
{
|
@@ -1517,8 +1503,10 @@
|
|
1517
1503
|
},
|
1518
1504
|
{
|
1519
1505
|
"name": "meta.function-call.static.with-arguments.js",
|
1520
|
-
"
|
1521
|
-
"
|
1506
|
+
"begin": "\\s*+(?:(?<=\\.)|\\b)\\s*+([A-Z][$\\w]*)\\s*+(\\.)([_$a-zA-Z][$\\w]*)\\s*+(?=\\()",
|
1507
|
+
"end": "(?=.)",
|
1508
|
+
"applyEndPatternLast": 1,
|
1509
|
+
"beginCaptures": {
|
1522
1510
|
"1": {
|
1523
1511
|
"name": "variable.other.class.js"
|
1524
1512
|
},
|
@@ -1528,7 +1516,12 @@
|
|
1528
1516
|
"3": {
|
1529
1517
|
"name": "entity.name.function.js"
|
1530
1518
|
}
|
1531
|
-
}
|
1519
|
+
},
|
1520
|
+
"patterns": [
|
1521
|
+
{
|
1522
|
+
"include": "#round-brackets"
|
1523
|
+
}
|
1524
|
+
]
|
1532
1525
|
},
|
1533
1526
|
{
|
1534
1527
|
"name": "meta.function-call.method.without-arguments.js",
|
@@ -1544,12 +1537,19 @@
|
|
1544
1537
|
},
|
1545
1538
|
{
|
1546
1539
|
"name": "meta.function-call.method.with-arguments.js",
|
1547
|
-
"
|
1548
|
-
"
|
1540
|
+
"begin": "\\s*+(?<=\\.)([_$a-zA-Z][$\\w]*)\\s*+(?=\\()",
|
1541
|
+
"end": "(?=.)",
|
1542
|
+
"applyEndPatternLast": 1,
|
1543
|
+
"beginCaptures": {
|
1549
1544
|
"1": {
|
1550
1545
|
"name": "entity.name.function.js"
|
1551
1546
|
}
|
1552
|
-
}
|
1547
|
+
},
|
1548
|
+
"patterns": [
|
1549
|
+
{
|
1550
|
+
"include": "#round-brackets"
|
1551
|
+
}
|
1552
|
+
]
|
1553
1553
|
}
|
1554
1554
|
]
|
1555
1555
|
},
|
@@ -1658,7 +1658,7 @@
|
|
1658
1658
|
{
|
1659
1659
|
"comment": "e.g. (args) => { }",
|
1660
1660
|
"name": "meta.function.arrow.js",
|
1661
|
-
"begin": "\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*+(
|
1661
|
+
"begin": "\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
1662
1662
|
"end": "\\s*(=>)",
|
1663
1663
|
"applyEndPatternLast": 1,
|
1664
1664
|
"endCaptures": {
|
@@ -1680,31 +1680,23 @@
|
|
1680
1680
|
{
|
1681
1681
|
"comment": "e.g. arg => { }",
|
1682
1682
|
"name": "meta.function.arrow.js",
|
1683
|
-
"
|
1684
|
-
"
|
1685
|
-
"beginCaptures": {
|
1683
|
+
"match": "\\s*+(\\basync\\b)?\\s*+([_$a-zA-Z][$\\w]*)\\s*(=>)",
|
1684
|
+
"captures": {
|
1686
1685
|
"1": {
|
1687
1686
|
"name": "storage.type.js"
|
1688
|
-
}
|
1689
|
-
},
|
1690
|
-
"endCaptures": {
|
1691
|
-
"1": {
|
1692
|
-
"name": "storage.type.function.arrow.js"
|
1693
|
-
}
|
1694
|
-
},
|
1695
|
-
"patterns": [
|
1696
|
-
{
|
1697
|
-
"include": "#flowtype-polymorphs"
|
1698
1687
|
},
|
1699
|
-
{
|
1700
|
-
"
|
1688
|
+
"2": {
|
1689
|
+
"name": "variable.other.readwrite.js"
|
1690
|
+
},
|
1691
|
+
"3": {
|
1692
|
+
"name": "storage.type.function.arrow.js"
|
1701
1693
|
}
|
1702
|
-
|
1694
|
+
}
|
1703
1695
|
},
|
1704
1696
|
{
|
1705
1697
|
"comment": "e.g. play = (args) => { }",
|
1706
1698
|
"name": "meta.function.arrow.js",
|
1707
|
-
"begin": "\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*+(
|
1699
|
+
"begin": "\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
1708
1700
|
"end": "\\s*(=>)",
|
1709
1701
|
"applyEndPatternLast": 1,
|
1710
1702
|
"beginCaptures": {
|
@@ -1732,9 +1724,8 @@
|
|
1732
1724
|
{
|
1733
1725
|
"comment": "e.g. play = arg => { }",
|
1734
1726
|
"name": "meta.function.arrow.js",
|
1735
|
-
"
|
1736
|
-
"
|
1737
|
-
"beginCaptures": {
|
1727
|
+
"match": "\\s*+(\\b[_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+\\s*+(\\basync\\b)?\\s*+([_$a-zA-Z][$\\w]*)\\s*(=>)",
|
1728
|
+
"captures": {
|
1738
1729
|
"1": {
|
1739
1730
|
"name": "entity.name.function.js"
|
1740
1731
|
},
|
@@ -1743,26 +1734,19 @@
|
|
1743
1734
|
},
|
1744
1735
|
"3": {
|
1745
1736
|
"name": "storage.type.js"
|
1746
|
-
}
|
1747
|
-
},
|
1748
|
-
"endCaptures": {
|
1749
|
-
"1": {
|
1750
|
-
"name": "storage.type.function.arrow.js"
|
1751
|
-
}
|
1752
|
-
},
|
1753
|
-
"patterns": [
|
1754
|
-
{
|
1755
|
-
"include": "#flowtype-polymorphs"
|
1756
1737
|
},
|
1757
|
-
{
|
1758
|
-
"
|
1738
|
+
"4": {
|
1739
|
+
"name": "variable.other.readwrite.js"
|
1740
|
+
},
|
1741
|
+
"5": {
|
1742
|
+
"name": "storage.type.function.arrow.js"
|
1759
1743
|
}
|
1760
|
-
|
1744
|
+
}
|
1761
1745
|
},
|
1762
1746
|
{
|
1763
1747
|
"comment": "Sound.prototype.play = (args) => { }",
|
1764
1748
|
"name": "meta.prototype.function.arrow.js",
|
1765
|
-
"begin": "\\s*+(\\b[A-Z][$\\w]*)?(\\.)(prototype)(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*+(
|
1749
|
+
"begin": "\\s*+(\\b[A-Z][$\\w]*)?(\\.)(prototype)(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
1766
1750
|
"end": "\\s*(=>)",
|
1767
1751
|
"applyEndPatternLast": 1,
|
1768
1752
|
"beginCaptures": {
|
@@ -1802,9 +1786,8 @@
|
|
1802
1786
|
{
|
1803
1787
|
"comment": "e.g. Sound.prototype.play = arg => { }",
|
1804
1788
|
"name": "meta.prototype.function.arrow.js",
|
1805
|
-
"
|
1806
|
-
"
|
1807
|
-
"beginCaptures": {
|
1789
|
+
"match": "\\s*+(\\b_?[A-Z][$\\w]*)?(\\.)(prototype)(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+([_$a-zA-Z][$\\w]*)\\s*(=>)",
|
1790
|
+
"captures": {
|
1808
1791
|
"1": {
|
1809
1792
|
"name": "entity.name.class.js"
|
1810
1793
|
},
|
@@ -1825,26 +1808,19 @@
|
|
1825
1808
|
},
|
1826
1809
|
"7": {
|
1827
1810
|
"name": "storage.type.js"
|
1828
|
-
}
|
1829
|
-
},
|
1830
|
-
"endCaptures": {
|
1831
|
-
"1": {
|
1832
|
-
"name": "storage.type.function.arrow.js"
|
1833
|
-
}
|
1834
|
-
},
|
1835
|
-
"patterns": [
|
1836
|
-
{
|
1837
|
-
"include": "#flowtype-polymorphs"
|
1838
1811
|
},
|
1839
|
-
{
|
1840
|
-
"
|
1812
|
+
"8": {
|
1813
|
+
"name": "variable.other.readwrite.js"
|
1814
|
+
},
|
1815
|
+
"9": {
|
1816
|
+
"name": "storage.type.function.arrow.js"
|
1841
1817
|
}
|
1842
|
-
|
1818
|
+
}
|
1843
1819
|
},
|
1844
1820
|
{
|
1845
1821
|
"comment": "e.g. Sound.play = (args) => { }",
|
1846
1822
|
"name": "meta.function.static.arrow.js",
|
1847
|
-
"begin": "\\s*+(\\b_?[A-Z][$\\w]*)?(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*+(
|
1823
|
+
"begin": "\\s*+(\\b_?[A-Z][$\\w]*)?(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*=>)",
|
1848
1824
|
"end": "\\s*(=>)",
|
1849
1825
|
"applyEndPatternLast": 1,
|
1850
1826
|
"beginCaptures": {
|
@@ -1878,9 +1854,8 @@
|
|
1878
1854
|
{
|
1879
1855
|
"comment": "e.g. Sound.play = arg => { }",
|
1880
1856
|
"name": "meta.function.static.arrow.js",
|
1881
|
-
"
|
1882
|
-
"
|
1883
|
-
"beginCaptures": {
|
1857
|
+
"match": "\\s*+(\\b_?[A-Z][$\\w]*)?(\\.)([_$a-zA-Z][$\\w]*)\\s*+(=)\\s*+(\\basync\\b)?\\s*+([_$a-zA-Z][$\\w]*)\\s*(=>)",
|
1858
|
+
"captures": {
|
1884
1859
|
"1": {
|
1885
1860
|
"name": "entity.name.class.js"
|
1886
1861
|
},
|
@@ -1895,30 +1870,24 @@
|
|
1895
1870
|
},
|
1896
1871
|
"5": {
|
1897
1872
|
"name": "storage.type.js"
|
1898
|
-
}
|
1899
|
-
},
|
1900
|
-
"endCaptures": {
|
1901
|
-
"1": {
|
1902
|
-
"name": "storage.type.function.arrow.js"
|
1903
|
-
}
|
1904
|
-
},
|
1905
|
-
"patterns": [
|
1906
|
-
{
|
1907
|
-
"include": "#flowtype-polymorphs"
|
1908
1873
|
},
|
1909
|
-
{
|
1910
|
-
"
|
1874
|
+
"6": {
|
1875
|
+
"name": "variable.other.readwrite.js"
|
1876
|
+
},
|
1877
|
+
"7": {
|
1878
|
+
"name": "storage.type.function.arrow.js"
|
1911
1879
|
}
|
1912
|
-
|
1880
|
+
}
|
1913
1881
|
}
|
1914
1882
|
]
|
1915
1883
|
},
|
1916
|
-
"literal-method": {
|
1884
|
+
"literal-method-alternate": {
|
1885
|
+
"comment": "it assumes methods start on a new line/statement and have a open brace on the same line",
|
1917
1886
|
"patterns": [
|
1918
1887
|
{
|
1919
1888
|
"comment": "e.g. play<T,T>(arg1, arg2): Type<T> { }",
|
1920
1889
|
"name": "meta.function.method.js",
|
1921
|
-
"begin": "\\s*+(\\bstatic\\b)?\\s*+(\\basync\\b)?\\s*+(\\*?)\\s*+(?<!\\.)([_$a-zA-Z][$\\w]*)\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?(\\())",
|
1890
|
+
"begin": "(?:^|;)\\s*+(\\bstatic\\b)?\\s*+(\\basync\\b)?\\s*+(\\*?)\\s*+(?<!\\.)(?!\\b(break|case|catch|continue|do|else|finally|for|function|if|export|import|package|return|switch|throw|try|while|with)\\b)([_$a-zA-Z][$\\w]*)\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*+(?:\\s*:(\\s*+(&|\\|)?(\\s*+[$_a-zA-Z0-9]+(<(?:(?>[^<>]+)|\\g<-1>)*>)?|\\s*+(\\{(?:(?>[^{}]+)|\\g<-1>)*\\})|\\s*+(\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\])|\\s*+(\\s*([\"']).*?\\k<-1>(?<!\\\\.))|\\s*[x0-9A-Fa-f]+))*+)*\\s*\\{)",
|
1922
1891
|
"end": "\\s*(?=.)",
|
1923
1892
|
"applyEndPatternLast": 1,
|
1924
1893
|
"beginCaptures": {
|
@@ -1931,7 +1900,7 @@
|
|
1931
1900
|
"3": {
|
1932
1901
|
"name": "keyword.generator.asterisk.js"
|
1933
1902
|
},
|
1934
|
-
"
|
1903
|
+
"5": {
|
1935
1904
|
"name": "entity.name.function.method.js"
|
1936
1905
|
}
|
1937
1906
|
},
|
@@ -1940,11 +1909,15 @@
|
|
1940
1909
|
"include": "#flowtype"
|
1941
1910
|
}
|
1942
1911
|
]
|
1943
|
-
}
|
1944
|
-
|
1945
|
-
|
1946
|
-
|
1947
|
-
|
1912
|
+
}
|
1913
|
+
]
|
1914
|
+
},
|
1915
|
+
"literal-method": {
|
1916
|
+
"patterns": [
|
1917
|
+
{
|
1918
|
+
"comment": "e.g. play<T,T>(arg1, arg2): Type<T> { }",
|
1919
|
+
"name": "meta.function.method.js",
|
1920
|
+
"begin": "(?<!:)\\s*+(\\bstatic\\b)?\\s*+(\\basync\\b)?\\s*+(\\*?)\\s*+(?<!\\.)([_$a-zA-Z][$\\w]*)\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?(\\())",
|
1948
1921
|
"end": "\\s*(?=.)",
|
1949
1922
|
"applyEndPatternLast": 1,
|
1950
1923
|
"beginCaptures": {
|
@@ -1959,20 +1932,66 @@
|
|
1959
1932
|
},
|
1960
1933
|
"4": {
|
1961
1934
|
"name": "entity.name.function.method.js"
|
1935
|
+
}
|
1936
|
+
},
|
1937
|
+
"patterns": [
|
1938
|
+
{
|
1939
|
+
"include": "#flowtype"
|
1940
|
+
}
|
1941
|
+
]
|
1942
|
+
},
|
1943
|
+
{
|
1944
|
+
"comment": "e.g. 'play'<T,T>(arg1, arg2): Type<T> { }",
|
1945
|
+
"name": "meta.function.method.js",
|
1946
|
+
"begin": "(?<!:)\\s*+(\\bstatic\\b)?\\s*+(\\basync\\b)?\\s*+(\\*?)\\s*+(?<!\\.)(('|\\\")([^\"']*)(\\k<-3>))\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?(\\())",
|
1947
|
+
"end": "\\s*(?=.)",
|
1948
|
+
"applyEndPatternLast": 1,
|
1949
|
+
"beginCaptures": {
|
1950
|
+
"1": {
|
1951
|
+
"name": "storage.modifier.js"
|
1962
1952
|
},
|
1963
|
-
"
|
1953
|
+
"2": {
|
1954
|
+
"name": "storage.type.js"
|
1955
|
+
},
|
1956
|
+
"3": {
|
1957
|
+
"name": "keyword.generator.asterisk.js"
|
1958
|
+
},
|
1959
|
+
"4": {
|
1964
1960
|
"name": "entity.name.function.method.js"
|
1965
1961
|
}
|
1966
1962
|
},
|
1967
1963
|
"patterns": [
|
1968
1964
|
{
|
1969
|
-
"include": "#flowtype
|
1965
|
+
"include": "#flowtype"
|
1966
|
+
}
|
1967
|
+
]
|
1968
|
+
},
|
1969
|
+
{
|
1970
|
+
"comment": "e.g. [var]<T,T>(arg1, arg2): Type<T> { } or 'var'<T,T>(arg1, arg2)",
|
1971
|
+
"name": "meta.function.method.js",
|
1972
|
+
"begin": "(?<!:)\\s*+(\\bstatic\\b)?\\s*+(\\basync\\b)?\\s*+(\\*?)\\s*+(?=((\\[(?:(?>[^\\[\\]]+)|\\g<-1>)*\\]))\\s*+(<(?:(?>[^<>]+)|\\g<-1>)*>)?\\s*+(\\())",
|
1973
|
+
"end": "\\s*(?=.)",
|
1974
|
+
"applyEndPatternLast": 1,
|
1975
|
+
"beginCaptures": {
|
1976
|
+
"1": {
|
1977
|
+
"name": "storage.modifier.js"
|
1970
1978
|
},
|
1971
|
-
{
|
1972
|
-
"
|
1979
|
+
"2": {
|
1980
|
+
"name": "storage.type.js"
|
1973
1981
|
},
|
1982
|
+
"3": {
|
1983
|
+
"name": "keyword.generator.asterisk.js"
|
1984
|
+
},
|
1985
|
+
"4": {
|
1986
|
+
"name": "entity.name.function.method.js"
|
1987
|
+
}
|
1988
|
+
},
|
1989
|
+
"patterns": [
|
1974
1990
|
{
|
1975
1991
|
"include": "#flowtype"
|
1992
|
+
},
|
1993
|
+
{
|
1994
|
+
"include": "#square-brackets"
|
1976
1995
|
}
|
1977
1996
|
]
|
1978
1997
|
},
|
@@ -1984,7 +2003,7 @@
|
|
1984
2003
|
"applyEndPatternLast": 1,
|
1985
2004
|
"beginCaptures": {
|
1986
2005
|
"1": {
|
1987
|
-
"name": "storage.modifier.
|
2006
|
+
"name": "storage.modifier.js"
|
1988
2007
|
},
|
1989
2008
|
"2": {
|
1990
2009
|
"name": "storage.type.accessor.js"
|
@@ -2007,7 +2026,7 @@
|
|
2007
2026
|
"applyEndPatternLast": 1,
|
2008
2027
|
"beginCaptures": {
|
2009
2028
|
"1": {
|
2010
|
-
"name": "storage.modifier.
|
2029
|
+
"name": "storage.modifier.js"
|
2011
2030
|
},
|
2012
2031
|
"2": {
|
2013
2032
|
"name": "storage.type.accessor.js"
|
@@ -2122,12 +2141,202 @@
|
|
2122
2141
|
"literal-module": {
|
2123
2142
|
"patterns": [
|
2124
2143
|
{
|
2125
|
-
"
|
2126
|
-
|
2144
|
+
"include": "#literal-module-import"
|
2145
|
+
},
|
2146
|
+
{
|
2147
|
+
"include": "#literal-module-export"
|
2148
|
+
}
|
2149
|
+
]
|
2150
|
+
},
|
2151
|
+
"literal-module-import": {
|
2152
|
+
"begin": "\\s*+(?<!\\.)\\b(import)(?!\\s*:)\\b",
|
2153
|
+
"end": "\\s*(?:(?:(\\bfrom\\b)?+\\s++(('|\\\")([^\\\"']*)(\\k<-3>)))|(?=\\;|^\\s*\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|}))",
|
2154
|
+
"beginCaptures": {
|
2155
|
+
"1": {
|
2156
|
+
"name": "keyword.control.module.js"
|
2157
|
+
}
|
2158
|
+
},
|
2159
|
+
"endCaptures": {
|
2160
|
+
"1": {
|
2161
|
+
"name": "keyword.control.module.js"
|
2162
|
+
},
|
2163
|
+
"3": {
|
2164
|
+
"name": "punctuation.definition.string.begin.js"
|
2165
|
+
},
|
2166
|
+
"4": {
|
2167
|
+
"name": "string.quoted.module.js"
|
2168
|
+
},
|
2169
|
+
"5": {
|
2170
|
+
"name": "punctuation.definition.string.begin.js"
|
2171
|
+
}
|
2172
|
+
},
|
2173
|
+
"patterns": [
|
2174
|
+
{
|
2175
|
+
"match": "\\s*\\b(default)\\b",
|
2176
|
+
"captures": {
|
2177
|
+
"1": {
|
2178
|
+
"name": "keyword.control.module.js"
|
2179
|
+
}
|
2180
|
+
}
|
2181
|
+
},
|
2182
|
+
{
|
2183
|
+
"match": "\\s*\\b(typeof|type)\\b\\s++(?=\\{|[$_a-zA-Z])(?!\\b(instanceof|in|as)\\b|,)",
|
2184
|
+
"captures": {
|
2185
|
+
"1": {
|
2186
|
+
"name": "keyword.other.typedef.flowtype"
|
2187
|
+
}
|
2188
|
+
}
|
2189
|
+
},
|
2190
|
+
{
|
2191
|
+
"name": "keyword.operator.module.all.js",
|
2192
|
+
"match": "\\*"
|
2193
|
+
},
|
2194
|
+
{
|
2195
|
+
"include": "#literal-module-as"
|
2196
|
+
},
|
2197
|
+
{
|
2198
|
+
"include": "#literal-module-brackets"
|
2199
|
+
},
|
2200
|
+
{
|
2201
|
+
"include": "#literal-variable"
|
2202
|
+
},
|
2203
|
+
{
|
2204
|
+
"include": "#comments"
|
2205
|
+
},
|
2206
|
+
{
|
2207
|
+
"include": "#literal-comma"
|
2208
|
+
}
|
2209
|
+
]
|
2210
|
+
},
|
2211
|
+
"literal-module-export": {
|
2212
|
+
"patterns": [
|
2213
|
+
{
|
2214
|
+
"comment": "e.g. export let variable =, export type a=",
|
2215
|
+
"match": "\\s*+(?<!\\.)\\b(export)(?!\\s*:)\\b(?=\\s++(let|type|typeof)\\s++[$_a-zA-Z])",
|
2216
|
+
"captures": {
|
2217
|
+
"1": {
|
2218
|
+
"name": "keyword.control.module.js"
|
2219
|
+
}
|
2220
|
+
}
|
2221
|
+
},
|
2222
|
+
{
|
2223
|
+
"comment": "export { or export * or export var from module",
|
2224
|
+
"begin": "\\s*+(?<!\\.)\\b(export)\\b(?=\\s++({|\\*|[$_a-zA-Z][$_\\w]*(\\s++from\\b|\\s*,)))",
|
2225
|
+
"end": "\\s*(?:(?:(\\bfrom\\b)?+\\s++(('|\\\")([^\\\"']*)(\\k<-3>)))|(?=\\;|^\\s*\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b|\\)|}))",
|
2226
|
+
"beginCaptures": {
|
2227
|
+
"1": {
|
2228
|
+
"name": "keyword.control.module.js"
|
2229
|
+
}
|
2230
|
+
},
|
2231
|
+
"endCaptures": {
|
2232
|
+
"1": {
|
2233
|
+
"name": "keyword.control.module.js"
|
2234
|
+
},
|
2235
|
+
"3": {
|
2236
|
+
"name": "punctuation.definition.string.begin.js"
|
2237
|
+
},
|
2238
|
+
"4": {
|
2239
|
+
"name": "string.quoted.module.js"
|
2240
|
+
},
|
2241
|
+
"5": {
|
2242
|
+
"name": "punctuation.definition.string.begin.js"
|
2243
|
+
}
|
2244
|
+
},
|
2245
|
+
"patterns": [
|
2246
|
+
{
|
2247
|
+
"name": "keyword.operator.module.all.js",
|
2248
|
+
"match": "\\*"
|
2249
|
+
},
|
2250
|
+
{
|
2251
|
+
"include": "#literal-module-as"
|
2252
|
+
},
|
2253
|
+
{
|
2254
|
+
"include": "#literal-module-brackets"
|
2255
|
+
},
|
2256
|
+
{
|
2257
|
+
"include": "#literal-variable"
|
2258
|
+
},
|
2259
|
+
{
|
2260
|
+
"include": "#comments"
|
2261
|
+
},
|
2262
|
+
{
|
2263
|
+
"include": "#literal-comma"
|
2264
|
+
}
|
2265
|
+
]
|
2266
|
+
},
|
2267
|
+
{
|
2268
|
+
"comment": "trap expressions among - export function* () {}",
|
2269
|
+
"match": "\\s*+(?<!\\.)\\b(export|default)(?!\\s*:)\\b",
|
2270
|
+
"captures": {
|
2271
|
+
"1": {
|
2272
|
+
"name": "keyword.control.module.js"
|
2273
|
+
}
|
2274
|
+
}
|
2275
|
+
}
|
2276
|
+
]
|
2277
|
+
},
|
2278
|
+
"literal-module-as": {
|
2279
|
+
"match": "\\s*+(?:(\\*)|([$_a-zA-Z][$_\\w]*))\\s++(\\bas\\b)\\s++(?:(\\bdefault\\b)|([$_a-zA-Z][$_\\w]*))",
|
2280
|
+
"captures": {
|
2281
|
+
"1": {
|
2282
|
+
"name": "keyword.operator.module.all.js"
|
2283
|
+
},
|
2284
|
+
"2": {
|
2285
|
+
"name": "variable.other.readwrite.js"
|
2286
|
+
},
|
2287
|
+
"3": {
|
2288
|
+
"name": "keyword.control.module.reference.js"
|
2127
2289
|
},
|
2290
|
+
"4": {
|
2291
|
+
"name": "keyword.control.module.js"
|
2292
|
+
},
|
2293
|
+
"5": {
|
2294
|
+
"name": "variable.other.readwrite.js"
|
2295
|
+
}
|
2296
|
+
}
|
2297
|
+
},
|
2298
|
+
"literal-module-brackets": {
|
2299
|
+
"patterns": [
|
2128
2300
|
{
|
2129
|
-
"
|
2130
|
-
"
|
2301
|
+
"begin": "\\s*+(?:(\\{)|(\\[))",
|
2302
|
+
"end": "\\s*(?:(\\})|(\\]))",
|
2303
|
+
"beginCaptures": {
|
2304
|
+
"1": {
|
2305
|
+
"name": "meta.brace.curly.js"
|
2306
|
+
},
|
2307
|
+
"2": {
|
2308
|
+
"name": "meta.brace.square.js"
|
2309
|
+
}
|
2310
|
+
},
|
2311
|
+
"endCaptures": {
|
2312
|
+
"1": {
|
2313
|
+
"name": "meta.brace.curly.js"
|
2314
|
+
},
|
2315
|
+
"2": {
|
2316
|
+
"name": "meta.brace.square.js"
|
2317
|
+
}
|
2318
|
+
},
|
2319
|
+
"patterns": [
|
2320
|
+
{
|
2321
|
+
"name": "keyword.operator.module.all.js",
|
2322
|
+
"match": "\\*"
|
2323
|
+
},
|
2324
|
+
{
|
2325
|
+
"include": "#literal-module-as"
|
2326
|
+
},
|
2327
|
+
{
|
2328
|
+
"include": "#literal-module-brackets"
|
2329
|
+
},
|
2330
|
+
{
|
2331
|
+
"include": "#literal-variable"
|
2332
|
+
},
|
2333
|
+
{
|
2334
|
+
"include": "#literal-string"
|
2335
|
+
},
|
2336
|
+
{
|
2337
|
+
"include": "#literal-comma"
|
2338
|
+
}
|
2339
|
+
]
|
2131
2340
|
}
|
2132
2341
|
]
|
2133
2342
|
},
|
@@ -2526,6 +2735,18 @@
|
|
2526
2735
|
},
|
2527
2736
|
"flowtype-variable": {
|
2528
2737
|
"patterns": [
|
2738
|
+
{
|
2739
|
+
"comment": "e.g. let a: ()=>null = function() {return null}",
|
2740
|
+
"match": "(?<!\\.)\\s*+([$_\\p{L}](?:[$.\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)\\s*+(\\??)\\s*+(?=:\\s*(\\bFunction\\b|(\\((?:(?>[^()]+)|\\g<-1>)*\\))\\s*=>|\\(\\s*$))",
|
2741
|
+
"captures": {
|
2742
|
+
"1": {
|
2743
|
+
"name": "storage.type.function.js"
|
2744
|
+
},
|
2745
|
+
"2": {
|
2746
|
+
"name": "keyword.operator.optional.parameter.flowtype"
|
2747
|
+
}
|
2748
|
+
}
|
2749
|
+
},
|
2529
2750
|
{
|
2530
2751
|
"comment": "name of variable spread var with optional ? and optional flowtype :",
|
2531
2752
|
"match": "\\s*+((?<!\\.)\\.\\.\\.)?([$_\\p{L}](?:[$.\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)\\s*+(\\??)\\s*+(?=:|=>)",
|
@@ -2546,118 +2767,71 @@
|
|
2546
2767
|
}
|
2547
2768
|
]
|
2548
2769
|
},
|
2549
|
-
"flowtype-
|
2550
|
-
"comment": "use this pattern to colour code the variable part correctly",
|
2770
|
+
"flowtype-vars-and-props": {
|
2551
2771
|
"patterns": [
|
2552
2772
|
{
|
2553
|
-
"
|
2554
|
-
"
|
2773
|
+
"comment": "flowtype optional arg/parameter e.g. protocol? : string",
|
2774
|
+
"name": "punctuation.type.flowtype",
|
2775
|
+
"match": "\\s*+\\?"
|
2776
|
+
},
|
2777
|
+
{
|
2778
|
+
"comment": "Type Unions |",
|
2779
|
+
"name": "kewyword.operator.union.flowtype",
|
2780
|
+
"match": "\\s*+\\|"
|
2781
|
+
},
|
2782
|
+
{
|
2783
|
+
"comment": "intersection of types &",
|
2784
|
+
"name": "kewyword.operator.intersection.flowtype",
|
2785
|
+
"match": "\\s*+\\&"
|
2786
|
+
},
|
2787
|
+
{
|
2788
|
+
"comment": "typed entity :",
|
2789
|
+
"begin": "\\s*+(:)",
|
2790
|
+
"end": "(?=.)",
|
2791
|
+
"applyEndPatternLast": 1,
|
2792
|
+
"beginCaptures": {
|
2793
|
+
"1": {
|
2794
|
+
"name": "punctuation.type.flowtype"
|
2795
|
+
}
|
2796
|
+
},
|
2555
2797
|
"patterns": [
|
2556
2798
|
{
|
2557
|
-
"include": "#flowtype-
|
2799
|
+
"include": "#flowtype-parse-types"
|
2558
2800
|
}
|
2559
2801
|
]
|
2560
2802
|
},
|
2561
2803
|
{
|
2562
|
-
"
|
2563
|
-
|
2804
|
+
"include": "#literal-comma"
|
2805
|
+
},
|
2806
|
+
{
|
2807
|
+
"comment": "An Iterator prefix?",
|
2808
|
+
"match": "\\s*+@@"
|
2809
|
+
},
|
2810
|
+
{
|
2811
|
+
"begin": "\\s*+(=>)",
|
2812
|
+
"end": "(?=.)",
|
2813
|
+
"applyEndPatternLast": 1,
|
2814
|
+
"beginCaptures": {
|
2815
|
+
"1": {
|
2816
|
+
"name": "storage.type.function.arrow.js"
|
2817
|
+
}
|
2818
|
+
},
|
2564
2819
|
"patterns": [
|
2565
2820
|
{
|
2566
|
-
"include": "#flowtype-
|
2821
|
+
"include": "#flowtype-parse-types"
|
2567
2822
|
}
|
2568
2823
|
]
|
2569
2824
|
},
|
2570
2825
|
{
|
2571
|
-
"comment": "
|
2572
|
-
"
|
2573
|
-
"
|
2574
|
-
"1": {
|
2575
|
-
"name": "string.quoted.js"
|
2576
|
-
},
|
2577
|
-
"3": {
|
2578
|
-
"name": "punctuation"
|
2579
|
-
},
|
2580
|
-
"4": {
|
2581
|
-
"name": "variable.other.property.js"
|
2582
|
-
}
|
2583
|
-
}
|
2584
|
-
},
|
2585
|
-
{
|
2586
|
-
"comment": "prop name : var name as destructor target",
|
2587
|
-
"match": "\\s*+([$_\\p{L}](?:[$.\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)\\s*+(:)\\s*+(([$_\\p{L}](?:[$.\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+))",
|
2588
|
-
"captures": {
|
2589
|
-
"1": {
|
2590
|
-
"name": "string.unquoted.js"
|
2591
|
-
},
|
2592
|
-
"2": {
|
2593
|
-
"name": "punctuation"
|
2594
|
-
},
|
2595
|
-
"3": {
|
2596
|
-
"name": "variable.other.property.js"
|
2597
|
-
}
|
2598
|
-
}
|
2599
|
-
},
|
2600
|
-
{
|
2601
|
-
"comment": "var name as destructor target",
|
2602
|
-
"match": "\\s*+((?<!\\.)\\.\\.\\.)?([$_\\p{L}](?:[$.\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)",
|
2603
|
-
"captures": {
|
2604
|
-
"1": {
|
2605
|
-
"name": "keyword.operator.spread.js"
|
2606
|
-
},
|
2607
|
-
"2": {
|
2608
|
-
"name": "variable.other.property.js"
|
2609
|
-
}
|
2610
|
-
}
|
2611
|
-
},
|
2612
|
-
{
|
2613
|
-
"include": "#literal-comma"
|
2614
|
-
},
|
2615
|
-
{
|
2616
|
-
"include": "#flowtype-vars-and-props"
|
2617
|
-
}
|
2618
|
-
]
|
2619
|
-
},
|
2620
|
-
"flowtype-vars-and-props": {
|
2621
|
-
"patterns": [
|
2622
|
-
{
|
2623
|
-
"comment": "flowtype optional arg/parameter e.g. protocol? : string",
|
2624
|
-
"name": "punctuation.type.flowtype",
|
2625
|
-
"match": "\\s*+\\?"
|
2626
|
-
},
|
2627
|
-
{
|
2628
|
-
"comment": "typed entity :",
|
2629
|
-
"begin": "\\s*+(:)",
|
2630
|
-
"end": "(?=.)",
|
2631
|
-
"applyEndPatternLast": 1,
|
2632
|
-
"beginCaptures": {
|
2633
|
-
"1": {
|
2634
|
-
"name": "punctuation.type.flowtype"
|
2635
|
-
}
|
2636
|
-
},
|
2826
|
+
"comment": "assignment var = or = ",
|
2827
|
+
"begin": "\\s*+(?=([$_\\p{L}](?:[$.\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)?\\s*=)(?!=>|==)",
|
2828
|
+
"end": "\\s*(?=,|;|\\)|}|\\]|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield)\\b|type\\s+[$\\w]+|declare\\s+[$\\w]+|interface\\s+[$\\w]+)",
|
2637
2829
|
"patterns": [
|
2638
2830
|
{
|
2639
|
-
"include": "#
|
2831
|
+
"include": "#expression"
|
2640
2832
|
}
|
2641
2833
|
]
|
2642
2834
|
},
|
2643
|
-
{
|
2644
|
-
"include": "#literal-object"
|
2645
|
-
},
|
2646
|
-
{
|
2647
|
-
"include": "#literal-comma"
|
2648
|
-
},
|
2649
|
-
{
|
2650
|
-
"comment": "An Iterator prefix?",
|
2651
|
-
"match": "\\s*+@@"
|
2652
|
-
},
|
2653
|
-
{
|
2654
|
-
"match": "\\s*+(=>)",
|
2655
|
-
"captures": {
|
2656
|
-
"1": {
|
2657
|
-
"name": "storage.type.function.arrow.js"
|
2658
|
-
}
|
2659
|
-
}
|
2660
|
-
},
|
2661
2835
|
{
|
2662
2836
|
"include": "#flowtype-bracketed-parameters"
|
2663
2837
|
},
|
@@ -2669,47 +2843,6 @@
|
|
2669
2843
|
}
|
2670
2844
|
]
|
2671
2845
|
},
|
2672
|
-
"flowtype-parse-operators": {
|
2673
|
-
"patterns": [
|
2674
|
-
{
|
2675
|
-
"comment": "call back with a form ) => type",
|
2676
|
-
"begin": "(?<=\\))\\s*+(=>)",
|
2677
|
-
"end": "(?=.)",
|
2678
|
-
"applyEndPatternLast": 1,
|
2679
|
-
"beginCaptures": {
|
2680
|
-
"1": {
|
2681
|
-
"name": "storage.type.function.arrow.js"
|
2682
|
-
}
|
2683
|
-
},
|
2684
|
-
"patterns": [
|
2685
|
-
{
|
2686
|
-
"include": "#flowtype-parse-types"
|
2687
|
-
}
|
2688
|
-
]
|
2689
|
-
},
|
2690
|
-
{
|
2691
|
-
"include": "#literal-object"
|
2692
|
-
},
|
2693
|
-
{
|
2694
|
-
"comment": "some form of default assignment for func args",
|
2695
|
-
"begin": "\\s*+=(?!>|=|==)",
|
2696
|
-
"end": "\\s*(?=,|;|\\)|}|\\]|\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare)\\b)",
|
2697
|
-
"beginCaptures": {
|
2698
|
-
"0": {
|
2699
|
-
"name": "keyword.operator.assignment.js"
|
2700
|
-
}
|
2701
|
-
},
|
2702
|
-
"patterns": [
|
2703
|
-
{
|
2704
|
-
"include": "#literal-labels"
|
2705
|
-
},
|
2706
|
-
{
|
2707
|
-
"include": "#expression"
|
2708
|
-
}
|
2709
|
-
]
|
2710
|
-
}
|
2711
|
-
]
|
2712
|
-
},
|
2713
2846
|
"flowtype-parse-types": {
|
2714
2847
|
"patterns": [
|
2715
2848
|
{
|
@@ -2753,7 +2886,7 @@
|
|
2753
2886
|
},
|
2754
2887
|
{
|
2755
2888
|
"comment": "custom primitive/var Types e.g. abc avoid abc(",
|
2756
|
-
"match": "(?!^)\\s*+(?!\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare)\\b)([$_\\p{L}][$.\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}]*+)(?!\\s*+\\()",
|
2889
|
+
"match": "(?!^)\\s*+(?!\\b(if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b)([$_\\p{L}][$.\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}]*+)(?!\\s*+\\()",
|
2757
2890
|
"captures": {
|
2758
2891
|
"2": {
|
2759
2892
|
"name": "support.type.primitive.flowtype"
|
@@ -2775,6 +2908,20 @@
|
|
2775
2908
|
"name": "kewyword.operator.existential.flowtype",
|
2776
2909
|
"match": "\\s*+\\*"
|
2777
2910
|
},
|
2911
|
+
{
|
2912
|
+
"comment": "types of type marker e.g. <T: number | string>",
|
2913
|
+
"name": "punctuation.type.flowtype",
|
2914
|
+
"match": "\\s*+(:)"
|
2915
|
+
},
|
2916
|
+
{
|
2917
|
+
"comment": "call back with a form ) => type",
|
2918
|
+
"match": "(?<=\\))\\s*+(=>)",
|
2919
|
+
"captures": {
|
2920
|
+
"1": {
|
2921
|
+
"name": "storage.type.function.arrow.js"
|
2922
|
+
}
|
2923
|
+
}
|
2924
|
+
},
|
2778
2925
|
{
|
2779
2926
|
"include": "#literal-string"
|
2780
2927
|
},
|
@@ -2787,9 +2934,6 @@
|
|
2787
2934
|
{
|
2788
2935
|
"include": "#flowtype-parse-objects"
|
2789
2936
|
},
|
2790
|
-
{
|
2791
|
-
"include": "#flowtype-parse-operators"
|
2792
|
-
},
|
2793
2937
|
{
|
2794
2938
|
"include": "#flowtype-parse-array"
|
2795
2939
|
},
|
@@ -2802,7 +2946,7 @@
|
|
2802
2946
|
"patterns": [
|
2803
2947
|
{
|
2804
2948
|
"comment": "Get parameters within a function/method call",
|
2805
|
-
"begin": "\\s*+(\\()",
|
2949
|
+
"begin": "(?<!=)\\s*+(\\()",
|
2806
2950
|
"end": "\\s*(\\))",
|
2807
2951
|
"beginCaptures": {
|
2808
2952
|
"1": {
|
@@ -2844,12 +2988,7 @@
|
|
2844
2988
|
},
|
2845
2989
|
"patterns": [
|
2846
2990
|
{
|
2847
|
-
"
|
2848
|
-
"captures": {
|
2849
|
-
"1": {
|
2850
|
-
"name": "punctuation.type.separator.flowtype"
|
2851
|
-
}
|
2852
|
-
}
|
2991
|
+
"include": "#literal-comma"
|
2853
2992
|
},
|
2854
2993
|
{
|
2855
2994
|
"match": "\\s*+(\\+|-)",
|
@@ -2880,12 +3019,7 @@
|
|
2880
3019
|
},
|
2881
3020
|
"patterns": [
|
2882
3021
|
{
|
2883
|
-
"
|
2884
|
-
"captures": {
|
2885
|
-
"1": {
|
2886
|
-
"name": "punctuation.type.separator.flowtype"
|
2887
|
-
}
|
2888
|
-
}
|
3022
|
+
"include": "#literal-comma"
|
2889
3023
|
},
|
2890
3024
|
{
|
2891
3025
|
"match": "\\s*+(\\+|-)",
|
@@ -2903,8 +3037,8 @@
|
|
2903
3037
|
]
|
2904
3038
|
},
|
2905
3039
|
"flowtype-parse-objects": {
|
2906
|
-
"comment": "object literal flowtype preceded by either
|
2907
|
-
"begin": "(
|
3040
|
+
"comment": "object literal flowtype preceded by either => : | & ? symbols",
|
3041
|
+
"begin": "(?<=:|\\||&|\\?|=>|<)\\s*+(\\{)",
|
2908
3042
|
"end": "\\s*(\\})",
|
2909
3043
|
"applyEndPatternLast": 1,
|
2910
3044
|
"beginCaptures": {
|
@@ -2944,7 +3078,7 @@
|
|
2944
3078
|
},
|
2945
3079
|
"flowtype-parse-array": {
|
2946
3080
|
"comment": "arrays such as [name: string, dob: Date]",
|
2947
|
-
"begin": "\\s*+(\\[)",
|
3081
|
+
"begin": "(?<!=|[$_A-Za-z0-9])\\s*+(\\[)",
|
2948
3082
|
"end": "\\s*(\\])",
|
2949
3083
|
"beginCaptures": {
|
2950
3084
|
"1": {
|
@@ -2964,25 +3098,13 @@
|
|
2964
3098
|
},
|
2965
3099
|
"flowtype-type-aliases": {
|
2966
3100
|
"patterns": [
|
2967
|
-
{
|
2968
|
-
"comment": "import for types",
|
2969
|
-
"match": "\\s*+(?<!\\.)\\b(import)\\b\\s*+(type)\\b",
|
2970
|
-
"captures": {
|
2971
|
-
"1": {
|
2972
|
-
"name": "keyword.control.module.js"
|
2973
|
-
},
|
2974
|
-
"2": {
|
2975
|
-
"name": "support.type.type.flowtype"
|
2976
|
-
}
|
2977
|
-
}
|
2978
|
-
},
|
2979
3101
|
{
|
2980
3102
|
"comment": "type aliases for export but avoid type instaceof or type in operators",
|
2981
|
-
"begin": "\\s*+\\b(type)\\b\\s
|
2982
|
-
"end": "\\s*(
|
3103
|
+
"begin": "\\s*+\\b(type)\\b\\s*(?!(instanceof|in)\\b)(?=[$_A-Za-z{\\[])",
|
3104
|
+
"end": "\\s*(\\;)|\\b(?=if|switch|try|var|let|const|static|function|return|class|do|for|while|debugger|export|import|yield|type|declare|interface)\\b",
|
2983
3105
|
"beginCaptures": {
|
2984
3106
|
"1": {
|
2985
|
-
"name": "
|
3107
|
+
"name": "keyword.other.typedef.flowtype"
|
2986
3108
|
}
|
2987
3109
|
},
|
2988
3110
|
"endCaptures": {
|
@@ -3040,232 +3162,250 @@
|
|
3040
3162
|
]
|
3041
3163
|
},
|
3042
3164
|
"flowtype-interface": {
|
3165
|
+
"begin": "\\s*+(?<!\\.)\\b(interface)\\s++",
|
3166
|
+
"end": "\\s*(?<=})",
|
3167
|
+
"beginCaptures": {
|
3168
|
+
"1": {
|
3169
|
+
"name": "keyword.other.interface.flowtype"
|
3170
|
+
}
|
3171
|
+
},
|
3043
3172
|
"patterns": [
|
3044
3173
|
{
|
3045
|
-
"comment": "
|
3046
|
-
"
|
3047
|
-
"
|
3048
|
-
|
3174
|
+
"comment": "look for interface names but dont assume uppercase start char",
|
3175
|
+
"match": "(?<!\\.)\\s*+([$_\\p{L}](?:[$\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)",
|
3176
|
+
"name": "support.type.class.interface.js"
|
3177
|
+
},
|
3178
|
+
{
|
3179
|
+
"include": "#flowtype-polymorphs"
|
3180
|
+
},
|
3181
|
+
{
|
3182
|
+
"begin": "\\s*+{",
|
3183
|
+
"end": "\\s*(})",
|
3184
|
+
"contentName": "meta.class.body.js",
|
3049
3185
|
"beginCaptures": {
|
3050
|
-
"
|
3051
|
-
"name": "
|
3186
|
+
"0": {
|
3187
|
+
"name": "punctuation.section.class.begin.js"
|
3052
3188
|
}
|
3053
3189
|
},
|
3054
3190
|
"endCaptures": {
|
3055
3191
|
"1": {
|
3056
|
-
"name": "punctuation.terminator.statement.js"
|
3057
|
-
},
|
3058
|
-
"2": {
|
3059
3192
|
"name": "punctuation.section.class.end.js"
|
3060
3193
|
}
|
3061
3194
|
},
|
3062
3195
|
"patterns": [
|
3063
3196
|
{
|
3064
|
-
"include": "#
|
3197
|
+
"include": "#flowtype-literal-method"
|
3065
3198
|
},
|
3066
3199
|
{
|
3067
|
-
"
|
3068
|
-
"captures": {
|
3069
|
-
"1": {
|
3070
|
-
"name": "storage.type.extends.flowtype"
|
3071
|
-
}
|
3072
|
-
}
|
3073
|
-
},
|
3074
|
-
{
|
3075
|
-
"include": "#flowtype"
|
3076
|
-
},
|
3077
|
-
{
|
3078
|
-
"include": "#flowtype-interface-name"
|
3079
|
-
},
|
3080
|
-
{
|
3081
|
-
"begin": "\\s*+{",
|
3082
|
-
"end": "\\s*(?=})",
|
3083
|
-
"contentName": "meta.class.body.js",
|
3084
|
-
"beginCaptures": {
|
3085
|
-
"0": {
|
3086
|
-
"name": "punctuation.section.class.begin.js"
|
3087
|
-
}
|
3088
|
-
},
|
3089
|
-
"patterns": [
|
3090
|
-
{
|
3091
|
-
"match": "\\s*+\\b(?<!\\.)static\\b(?!\\.)",
|
3092
|
-
"name": "storage.modifier.js"
|
3093
|
-
},
|
3094
|
-
{
|
3095
|
-
"include": "#flowtype"
|
3096
|
-
},
|
3097
|
-
{
|
3098
|
-
"include": "#flowtype-variable"
|
3099
|
-
},
|
3100
|
-
{
|
3101
|
-
"include": "#comments"
|
3102
|
-
},
|
3103
|
-
{
|
3104
|
-
"include": "#flowtype-function-name"
|
3105
|
-
}
|
3106
|
-
]
|
3200
|
+
"include": "#class-body"
|
3107
3201
|
}
|
3108
3202
|
]
|
3109
3203
|
}
|
3110
3204
|
]
|
3111
3205
|
},
|
3112
|
-
"flowtype-function-name": {
|
3113
|
-
"match": "\\s*+(\\bstatic\\b)?\\s*+([$_\\p{L}][$.\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}]*)?\\s*+(?!:)(?=\\(|<.*\\()",
|
3114
|
-
"captures": {
|
3115
|
-
"1": {
|
3116
|
-
"name": "storage.modifier.static.js"
|
3117
|
-
},
|
3118
|
-
"2": {
|
3119
|
-
"name": "entity.name.function.js"
|
3120
|
-
}
|
3121
|
-
}
|
3122
|
-
},
|
3123
|
-
"flowtype-class-name": {
|
3124
|
-
"comment": "look for classes names but dont assume uppercase start char",
|
3125
|
-
"match": "(?<!\\.)\\s*+([$_\\p{L}](?:[$\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)",
|
3126
|
-
"name": "entity.name.class.js"
|
3127
|
-
},
|
3128
|
-
"flowtype-interface-name": {
|
3129
|
-
"comment": "look for interface names but dont assume uppercase start char",
|
3130
|
-
"match": "(?<!\\.)\\s*+([$_\\p{L}](?:[$\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)",
|
3131
|
-
"name": "support.type.class.interface.js"
|
3132
|
-
},
|
3133
3206
|
"flowtype-declare": {
|
3134
3207
|
"patterns": [
|
3135
3208
|
{
|
3136
|
-
"
|
3209
|
+
"match": "\\s*+(?<!\\.)\\b(declare)\\b\\s++(?=\\b(function|var|type|interface)\\s++)",
|
3210
|
+
"captures": {
|
3211
|
+
"1": {
|
3212
|
+
"name": "keyword.other.declare.flowtype"
|
3213
|
+
}
|
3214
|
+
}
|
3215
|
+
},
|
3216
|
+
{
|
3217
|
+
"comment": "declare module.exports:",
|
3218
|
+
"begin": "\\s*+(?<!\\.)\\b(declare)\\b\\s*+\\b(module)(.)(exports)(:)",
|
3137
3219
|
"end": "(?=.)",
|
3138
3220
|
"applyEndPatternLast": 1,
|
3139
3221
|
"beginCaptures": {
|
3140
3222
|
"1": {
|
3141
|
-
"name": "
|
3223
|
+
"name": "keyword.other.declare.flowtype"
|
3224
|
+
},
|
3225
|
+
"2": {
|
3226
|
+
"name": "storage.type.module.flowtype"
|
3227
|
+
},
|
3228
|
+
"3": {
|
3229
|
+
"name": "keyword.operator.accessor.flowtype"
|
3230
|
+
},
|
3231
|
+
"4": {
|
3232
|
+
"name": "storage.type.module.flowtype"
|
3233
|
+
},
|
3234
|
+
"5": {
|
3235
|
+
"name": "punctuation.type.flowtype"
|
3236
|
+
}
|
3237
|
+
},
|
3238
|
+
"patterns": [
|
3239
|
+
{
|
3240
|
+
"include": "#flowtype-parse-types"
|
3241
|
+
}
|
3242
|
+
]
|
3243
|
+
},
|
3244
|
+
{
|
3245
|
+
"comment": "declare modules",
|
3246
|
+
"begin": "\\s*+(?<!\\.)\\b(declare)\\b\\s*+\\b(module)\\b",
|
3247
|
+
"end": "\\s*(?<=})",
|
3248
|
+
"beginCaptures": {
|
3249
|
+
"1": {
|
3250
|
+
"name": "keyword.other.declare.flowtype"
|
3251
|
+
},
|
3252
|
+
"2": {
|
3253
|
+
"name": "storage.type.module.flowtype"
|
3142
3254
|
}
|
3143
3255
|
},
|
3144
3256
|
"patterns": [
|
3145
3257
|
{
|
3146
|
-
"include": "#flowtype-
|
3258
|
+
"include": "#flowtype-polymorphs"
|
3147
3259
|
},
|
3148
3260
|
{
|
3149
|
-
"
|
3261
|
+
"comment": "look for module names but dont assume uppercase start char",
|
3262
|
+
"match": "(?<!\\.)\\s*+([$_\\p{L}](?:[$\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)",
|
3263
|
+
"name": "entity.name.class.js"
|
3150
3264
|
},
|
3151
3265
|
{
|
3152
|
-
"
|
3266
|
+
"comment": "look for module names in quoted string forms",
|
3267
|
+
"include": "#literal-string"
|
3153
3268
|
},
|
3154
3269
|
{
|
3155
|
-
"
|
3270
|
+
"begin": "\\s*+({)",
|
3271
|
+
"end": "\\s*(})",
|
3272
|
+
"contentName": "meta.class.body.js",
|
3273
|
+
"beginCaptures": {
|
3274
|
+
"1": {
|
3275
|
+
"name": "punctuation.section.class.begin.js"
|
3276
|
+
}
|
3277
|
+
},
|
3278
|
+
"endCaptures": {
|
3279
|
+
"1": {
|
3280
|
+
"name": "punctuation.section.class.end.js"
|
3281
|
+
}
|
3282
|
+
},
|
3283
|
+
"patterns": [
|
3284
|
+
{
|
3285
|
+
"include": "#flowtype-literal-method"
|
3286
|
+
},
|
3287
|
+
{
|
3288
|
+
"include": "#class-body"
|
3289
|
+
}
|
3290
|
+
]
|
3156
3291
|
}
|
3157
3292
|
]
|
3158
|
-
}
|
3159
|
-
]
|
3160
|
-
},
|
3161
|
-
"flowtype-declare-modules": {
|
3162
|
-
"match": "\\s*+\\bmodule\\b\\s+",
|
3163
|
-
"name": "support.type.object.module.js"
|
3164
|
-
},
|
3165
|
-
"flowtype-declare-classes": {
|
3166
|
-
"patterns": [
|
3293
|
+
},
|
3167
3294
|
{
|
3168
|
-
"
|
3169
|
-
"
|
3170
|
-
"
|
3295
|
+
"comment": "declare classes",
|
3296
|
+
"begin": "\\s*+(?<!\\.)\\b(declare)\\b\\s*+\\b(class)\\b",
|
3297
|
+
"end": "\\s*(?<=})",
|
3171
3298
|
"beginCaptures": {
|
3172
3299
|
"1": {
|
3300
|
+
"name": "keyword.other.declare.flowtype"
|
3301
|
+
},
|
3302
|
+
"2": {
|
3173
3303
|
"name": "storage.type.class.flowtype"
|
3174
3304
|
}
|
3175
3305
|
},
|
3176
|
-
"endCaptures": {
|
3177
|
-
"1": {
|
3178
|
-
"name": "punctuation.section.class.end.js"
|
3179
|
-
}
|
3180
|
-
},
|
3181
3306
|
"patterns": [
|
3182
3307
|
{
|
3183
|
-
"
|
3308
|
+
"include": "#flowtype-polymorphs"
|
3309
|
+
},
|
3310
|
+
{
|
3311
|
+
"comment": "look for extends keyword",
|
3312
|
+
"match": "\\s*+\\b((extends))\\b\\s*+",
|
3184
3313
|
"captures": {
|
3185
3314
|
"1": {
|
3186
|
-
"name": "
|
3315
|
+
"name": "meta.class.extends.js"
|
3316
|
+
},
|
3317
|
+
"2": {
|
3318
|
+
"name": "storage.type.extends.js"
|
3187
3319
|
}
|
3188
3320
|
}
|
3189
3321
|
},
|
3190
3322
|
{
|
3191
|
-
"
|
3192
|
-
"
|
3193
|
-
"
|
3323
|
+
"comment": "look for mixins keyword",
|
3324
|
+
"begin": "\\s*+\\b((mixins))\\b\\s*+",
|
3325
|
+
"end": "\\s*(?={)",
|
3194
3326
|
"beginCaptures": {
|
3195
|
-
"
|
3196
|
-
"name": "
|
3327
|
+
"1": {
|
3328
|
+
"name": "meta.class.extends.js"
|
3329
|
+
},
|
3330
|
+
"2": {
|
3331
|
+
"name": "storage.type.extends.js"
|
3197
3332
|
}
|
3198
3333
|
},
|
3199
3334
|
"patterns": [
|
3200
3335
|
{
|
3201
|
-
"
|
3202
|
-
"
|
3203
|
-
|
3204
|
-
{
|
3205
|
-
"include": "#literal-method"
|
3206
|
-
},
|
3207
|
-
{
|
3208
|
-
"include": "#flowtype"
|
3209
|
-
},
|
3210
|
-
{
|
3211
|
-
"include": "#flowtype-variable"
|
3212
|
-
},
|
3213
|
-
{
|
3214
|
-
"include": "#comments"
|
3336
|
+
"comment": "look for mixin names but dont assume uppercase start char",
|
3337
|
+
"match": "(?<!\\.)\\s*+([$_\\p{L}](?:[$\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)",
|
3338
|
+
"name": "entity.name.class.js"
|
3215
3339
|
},
|
3216
3340
|
{
|
3217
|
-
"include": "#
|
3341
|
+
"include": "#literal-comma"
|
3218
3342
|
}
|
3219
3343
|
]
|
3220
3344
|
},
|
3221
3345
|
{
|
3222
|
-
"
|
3346
|
+
"comment": "look for class names but dont assume uppercase start char",
|
3347
|
+
"match": "(?<!\\.)\\s*+([$_\\p{L}](?:[$\\p{L}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Nl}\\p{Pc}])*+)",
|
3348
|
+
"name": "entity.name.class.js"
|
3223
3349
|
},
|
3224
3350
|
{
|
3225
|
-
"
|
3351
|
+
"begin": "\\s*+({)",
|
3352
|
+
"end": "\\s*(})",
|
3353
|
+
"contentName": "meta.class.body.js",
|
3354
|
+
"beginCaptures": {
|
3355
|
+
"1": {
|
3356
|
+
"name": "punctuation.section.class.begin.js"
|
3357
|
+
}
|
3358
|
+
},
|
3359
|
+
"endCaptures": {
|
3360
|
+
"1": {
|
3361
|
+
"name": "punctuation.section.class.end.js"
|
3362
|
+
}
|
3363
|
+
},
|
3364
|
+
"patterns": [
|
3365
|
+
{
|
3366
|
+
"include": "#flowtype-literal-method"
|
3367
|
+
},
|
3368
|
+
{
|
3369
|
+
"include": "#class-body"
|
3370
|
+
}
|
3371
|
+
]
|
3226
3372
|
}
|
3227
3373
|
]
|
3228
3374
|
}
|
3229
3375
|
]
|
3230
3376
|
},
|
3231
|
-
"flowtype-
|
3377
|
+
"flowtype-literal-method": {
|
3378
|
+
"comment": "trap methods without a name e.g. <Key, Value>(): Map<Key, Value>",
|
3379
|
+
"begin": "(?<!:)\\s*+(?=(<(?:(?>[^<>]+)|\\g<-1>)*>)?(\\())",
|
3380
|
+
"end": "\\s*(?=.)",
|
3381
|
+
"applyEndPatternLast": 1,
|
3382
|
+
"beginCaptures": {
|
3383
|
+
"1": {
|
3384
|
+
"name": "storage.modifier.js"
|
3385
|
+
},
|
3386
|
+
"2": {
|
3387
|
+
"name": "storage.type.js"
|
3388
|
+
},
|
3389
|
+
"3": {
|
3390
|
+
"name": "keyword.generator.asterisk.js"
|
3391
|
+
}
|
3392
|
+
},
|
3232
3393
|
"patterns": [
|
3233
3394
|
{
|
3234
|
-
"
|
3235
|
-
"end": "\\s*(;)",
|
3236
|
-
"applyEndPatternLast": 1,
|
3237
|
-
"beginCaptures": {
|
3238
|
-
"1": {
|
3239
|
-
"name": "storage.type.function.js"
|
3240
|
-
}
|
3241
|
-
},
|
3242
|
-
"patterns": [
|
3243
|
-
{
|
3244
|
-
"include": "#flowtype"
|
3245
|
-
},
|
3246
|
-
{
|
3247
|
-
"include": "#flowtype-function-name"
|
3248
|
-
}
|
3249
|
-
]
|
3395
|
+
"include": "#flowtype"
|
3250
3396
|
}
|
3251
3397
|
]
|
3252
3398
|
},
|
3253
|
-
"flowtype-
|
3399
|
+
"flowtype-keywords": {
|
3254
3400
|
"patterns": [
|
3255
3401
|
{
|
3256
|
-
"
|
3257
|
-
|
3258
|
-
|
3259
|
-
"
|
3260
|
-
|
3261
|
-
|
3262
|
-
|
3263
|
-
},
|
3264
|
-
"patterns": [
|
3265
|
-
{
|
3266
|
-
"include": "#flowtype-variable"
|
3267
|
-
}
|
3268
|
-
]
|
3402
|
+
"include": "#flowtype-declare"
|
3403
|
+
},
|
3404
|
+
{
|
3405
|
+
"include": "#flowtype-type-aliases"
|
3406
|
+
},
|
3407
|
+
{
|
3408
|
+
"include": "#flowtype-interface"
|
3269
3409
|
}
|
3270
3410
|
]
|
3271
3411
|
},
|