github-linguist 5.2.0 → 5.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/grammars/annotation.liquidhaskell.haskell.json +1445 -0
- data/grammars/hint.haskell.json +134 -17
- data/grammars/hint.message.haskell.json +134 -17
- data/grammars/hint.type.haskell.json +134 -17
- data/grammars/source.abl.json +48 -48
- data/grammars/source.afm.json +8 -1
- data/grammars/source.angelscript.json +195 -0
- data/grammars/source.ats.json +128 -58
- data/grammars/source.awk.json +138 -138
- data/grammars/source.ballerina.json +434 -0
- data/grammars/source.chapel.json +1 -1
- data/grammars/source.clips.json +20 -20
- data/grammars/source.cobol.json +4 -3
- data/grammars/source.coffee.json +556 -109
- data/grammars/source.cs.json +10 -5
- data/grammars/source.csound-document.json +1 -1
- data/grammars/source.csound-score.json +9 -9
- data/grammars/source.csound.json +23 -28
- data/grammars/source.css.json +6 -5
- data/grammars/source.data-weave.json +1584 -0
- data/grammars/source.elixir.json +3 -61
- data/grammars/source.elm.json +88 -88
- data/grammars/source.emacs.lisp.json +12 -1
- data/grammars/source.haskell.json +134 -17
- data/grammars/source.hsig.json +1376 -0
- data/grammars/source.httpspec.json +128 -128
- data/grammars/source.jison.json +6 -14
- data/grammars/source.jisonlex.json +1 -9
- data/grammars/source.js.json +1 -0
- data/grammars/source.js.regexp.json +0 -4
- data/grammars/source.js.regexp.replacement.json +0 -4
- data/grammars/source.jsdoc.json +3 -3
- data/grammars/source.lsl.json +146 -53
- data/grammars/source.mercury.json +166 -166
- data/grammars/source.ne.json +108 -0
- data/grammars/source.nim_filter.json +51 -51
- data/grammars/source.nut.json +266 -0
- data/grammars/source.opal.json +112 -112
- data/grammars/source.opalsysdefs.json +16 -16
- data/grammars/source.pan.json +1 -1
- data/grammars/source.papyrus.skyrim.json +720 -720
- data/grammars/source.pawn.json +2 -2
- data/grammars/source.prolog.eclipse.json +42 -42
- data/grammars/source.prolog.json +41 -41
- data/grammars/source.purescript.json +41 -25
- data/grammars/source.python.json +47 -34
- data/grammars/source.racket.json +54 -54
- data/grammars/source.reason.json +37 -3
- data/grammars/source.regexp.python.json +31 -0
- data/grammars/source.ruby.gemfile.json +27 -0
- data/grammars/source.ruby.json +1057 -356
- data/grammars/source.rust.json +1 -1
- data/grammars/source.sbt.json +13 -3
- data/grammars/source.scala.json +74 -55
- data/grammars/source.shaderlab.json +1 -1
- data/grammars/source.shell.json +26 -21
- data/grammars/source.shen.json +91 -91
- data/grammars/source.sqf.json +1 -1
- data/grammars/source.supercollider.json +1 -1
- data/grammars/source.swift.json +4 -0
- data/grammars/source.terra.json +36 -37
- data/grammars/source.terraform.json +98 -98
- data/grammars/source.ts.json +2231 -1677
- data/grammars/source.tsx.json +142 -3520
- data/grammars/source.vbnet.json +201 -263
- data/grammars/source.viml.json +2 -2
- data/grammars/source.wdl.json +200 -0
- data/grammars/source.yaml.json +34 -16
- data/grammars/text.find-refs.json +3 -3
- data/grammars/text.haml.json +1 -1
- data/grammars/text.html.abl.json +6 -6
- data/grammars/text.html.erb.json +8 -11
- data/grammars/text.html.php.blade.json +256 -220
- data/grammars/text.html.vue.json +1 -1
- data/grammars/text.slim.json +31 -17
- data/grammars/text.tex.latex.haskell.json +150 -33
- data/lib/linguist/heuristics.rb +8 -0
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +82 -26
- data/lib/linguist/samples.json +134512 -132868
- data/lib/linguist/vendor.yml +3 -0
- data/lib/linguist/version.rb +1 -1
- metadata +13 -4
data/grammars/source.chapel.json
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
"include": "#comments"
|
11
11
|
},
|
12
12
|
{
|
13
|
-
"match": "\\b(align|as|atomic|begin|break|by|catch|class|cobegin|coforall|continue|delete|dmapped|do|else|enum|except|export|extern|for|forall|if|index|inline|in|iter|label|lambda|let|local|module|new|noinit|on|only|otherwise|pragma|private|proc|public|record|reduce|require|return|scan|select|serial|then|throw|throws|try|union|use|var|when|where|while|with|yield|zip)\\b",
|
13
|
+
"match": "\\b(align|as|atomic|begin|break|by|catch|class|cobegin|coforall|continue|delete|dmapped|do|else|enum|except|export|extern|for|forall|if|index|inline|in|iter|label|lambda|let|local|module|new|noinit|on|only|otherwise|pragma|private|proc|prototype|public|record|reduce|require|return|scan|select|serial|then|throw|throws|try|union|use|var|when|where|while|with|yield|zip)\\b",
|
14
14
|
"name": "keyword.control.chapel"
|
15
15
|
},
|
16
16
|
{
|
data/grammars/source.clips.json
CHANGED
@@ -1,31 +1,36 @@
|
|
1
1
|
{
|
2
|
+
"name": "CLIPS",
|
3
|
+
"scopeName": "source.clips",
|
2
4
|
"fileTypes": [
|
3
5
|
"clp"
|
4
6
|
],
|
5
|
-
"
|
7
|
+
"uuid": "1b2ecbe9-9ccb-401d-8707-9440305081df",
|
6
8
|
"patterns": [
|
7
9
|
{
|
10
|
+
"comment": "Comments line",
|
8
11
|
"begin": ";",
|
12
|
+
"end": "$\n?",
|
9
13
|
"captures": {
|
10
14
|
"0": {
|
11
15
|
"name": "punctuation.definition.comment.clips"
|
12
16
|
}
|
13
17
|
},
|
14
|
-
"comment": "Comments line",
|
15
|
-
"end": "$\n?",
|
16
18
|
"name": "comment.line.double-slash.clips"
|
17
19
|
},
|
18
20
|
{
|
19
21
|
"comment": "Keywords",
|
20
|
-
"
|
21
|
-
"
|
22
|
+
"name": "keyword.control.clips",
|
23
|
+
"match": "\\b(type|default|allowed-values|slot|not|or|and|assert|retract|gensym|printout|declare|salience|modify|export)\\b"
|
22
24
|
},
|
23
25
|
{
|
24
26
|
"comment": "RHD",
|
25
|
-
"
|
26
|
-
"
|
27
|
+
"name": "constant.language.clips",
|
28
|
+
"match": "=>"
|
27
29
|
},
|
28
30
|
{
|
31
|
+
"comment": "Functions",
|
32
|
+
"name": "meta.function.clips",
|
33
|
+
"match": "(\\?)([a-zA-Z0-9_\\-]*)",
|
29
34
|
"captures": {
|
30
35
|
"1": {
|
31
36
|
"name": "keyword.clips"
|
@@ -33,12 +38,11 @@
|
|
33
38
|
"2": {
|
34
39
|
"name": "variable.parameter"
|
35
40
|
}
|
36
|
-
}
|
37
|
-
"comment": "Functions",
|
38
|
-
"match": "(\\?)([a-zA-Z0-9_\\-]*)",
|
39
|
-
"name": "meta.function.clips"
|
41
|
+
}
|
40
42
|
},
|
41
43
|
{
|
44
|
+
"comment": "Definitions",
|
45
|
+
"match": "(^.*(defrule|deffacts|defmodule|deftemplate)[ \\t]+)([a-zA-Z0-9_\\-]+)",
|
42
46
|
"captures": {
|
43
47
|
"2": {
|
44
48
|
"name": "entity.name.function.clips"
|
@@ -46,9 +50,7 @@
|
|
46
50
|
"3": {
|
47
51
|
"name": "variable.clips"
|
48
52
|
}
|
49
|
-
}
|
50
|
-
"comment": "Definitions",
|
51
|
-
"match": "(^.*(defrule|deffacts|defmodule|deftemplate)[ \\t]+)([a-zA-Z0-9_\\-]+)"
|
53
|
+
}
|
52
54
|
},
|
53
55
|
{
|
54
56
|
"comment": "Constant A",
|
@@ -66,15 +68,13 @@
|
|
66
68
|
"name": "entity.name.function.clips"
|
67
69
|
},
|
68
70
|
{
|
71
|
+
"comment": "Operators",
|
72
|
+
"match": "(\\()(\\-)",
|
69
73
|
"captures": {
|
70
74
|
"2": {
|
71
75
|
"name": "entity.name.function.clips"
|
72
76
|
}
|
73
|
-
}
|
74
|
-
"comment": "Operators",
|
75
|
-
"match": "(\\()(\\-)"
|
77
|
+
}
|
76
78
|
}
|
77
|
-
]
|
78
|
-
"scopeName": "source.clips",
|
79
|
-
"uuid": "1b2ecbe9-9ccb-401d-8707-9440305081df"
|
79
|
+
]
|
80
80
|
}
|
data/grammars/source.cobol.json
CHANGED
@@ -5,7 +5,8 @@
|
|
5
5
|
"cob",
|
6
6
|
"dds",
|
7
7
|
"ss",
|
8
|
-
"wks"
|
8
|
+
"wks",
|
9
|
+
"pco"
|
9
10
|
],
|
10
11
|
"name": "COBOL",
|
11
12
|
"patterns": [
|
@@ -274,7 +275,7 @@
|
|
274
275
|
"name": "keyword.identifiers.cobol"
|
275
276
|
},
|
276
277
|
{
|
277
|
-
"match": "(\\s|^)(?i)(?i:end\\s*class|end\\s*property|end\\s*method|end\\s*object|exit\\s*method|end\\s*program|end\\s*operator|create|reset|instance|delegate|end-delegate|delegate-id|declare|debug-line|debug-name|debug-contents|sort-return|exception-object|return-code|json-code|as||stop\\srun|stop)(?=\\s|\\.|,|$)",
|
278
|
+
"match": "(\\s|^)(?i)(?i:end\\s*enum|end\\s*interface|end\\s*class|end\\s*property|end\\s*method|end\\s*object|exit\\s*method|end\\s*program|end\\s*operator|create|reset|instance|delegate|end-delegate|delegate-id|declare|debug-line|debug-name|debug-contents|sort-return|exception-object|return-code|json-code|as||stop\\srun|stop)(?=\\s|\\.|,|$)",
|
278
279
|
"name": "keyword.identifiers.cobol"
|
279
280
|
},
|
280
281
|
{
|
@@ -306,7 +307,7 @@
|
|
306
307
|
"name": "support.function.cobol"
|
307
308
|
},
|
308
309
|
{
|
309
|
-
"match": "\\b(?<!-)(?i:end-accept|end-add|end-sync|end-call|end-compute|end-delete|end-display|end-divide|end-if|end-
|
310
|
+
"match": "\\b(?<!-)(?i:end-accept|end-add|end-sync|end-call|end-compute|end-delete|end-display|end-divide|end-if|end-set|end-evaluate|end-multiply|end-of-page|end-perform|end-read|end-receive|end-return|end-rewrite|end-search|end-start|end-string|end-subtract|end-unstring|end-write|program|class|interface|enum|interface)(?=\\s|\\.)",
|
310
311
|
"name": "keyword.verbs.cobol"
|
311
312
|
},
|
312
313
|
{
|
data/grammars/source.coffee.json
CHANGED
@@ -10,19 +10,6 @@
|
|
10
10
|
],
|
11
11
|
"firstLineMatch": "(?x)\n# Hashbang\n^\\#!.*(?:\\s|\\/)\n coffee\n(?:$|\\s)\n|\n# Modeline\n(?i:\n # Emacs\n -\\*-(?:\\s*(?=[^:;\\s]+\\s*-\\*-)|(?:.*?[;\\s]|(?<=-\\*-))mode\\s*:\\s*)\n coffee\n (?=[\\s;]|(?<![-*])-\\*-).*?-\\*-\n |\n # Vim\n (?:(?:\\s|^)vi(?:m[<=>]?\\d+|m)?|\\sex)(?=:(?=\\s*set?\\s[^\\n:]+:)|:(?!\\s*set?\\s))(?:(?:\\s|\\s*:\\s*)\\w*(?:\\s*=(?:[^\\n\\\\\\s]|\\\\.)*)?)*[\\s:](?:filetype|ft|syntax)\\s*=\n coffee\n (?=\\s|:|$)\n)",
|
12
12
|
"patterns": [
|
13
|
-
{
|
14
|
-
"captures": {
|
15
|
-
"1": {
|
16
|
-
"name": "variable.parameter.function.coffee"
|
17
|
-
},
|
18
|
-
"2": {
|
19
|
-
"name": "storage.type.function.coffee"
|
20
|
-
}
|
21
|
-
},
|
22
|
-
"comment": "match stuff like: a -> … ",
|
23
|
-
"match": "(\\([^()]*?\\))\\s*([=-]>)",
|
24
|
-
"name": "meta.inline.function.coffee"
|
25
|
-
},
|
26
13
|
{
|
27
14
|
"captures": {
|
28
15
|
"1": {
|
@@ -97,34 +84,38 @@
|
|
97
84
|
]
|
98
85
|
},
|
99
86
|
{
|
100
|
-
"
|
101
|
-
"
|
102
|
-
|
87
|
+
"match": "(`)(.*)(`)",
|
88
|
+
"name": "string.quoted.script.coffee",
|
89
|
+
"captures": {
|
90
|
+
"1": {
|
103
91
|
"name": "punctuation.definition.string.begin.coffee"
|
104
|
-
}
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
92
|
+
},
|
93
|
+
"2": {
|
94
|
+
"name": "source.js.embedded.coffee",
|
95
|
+
"patterns": [
|
96
|
+
{
|
97
|
+
"include": "source.js"
|
98
|
+
}
|
99
|
+
]
|
100
|
+
},
|
101
|
+
"3": {
|
109
102
|
"name": "punctuation.definition.string.end.coffee"
|
110
103
|
}
|
111
|
-
}
|
112
|
-
"name": "string.quoted.script.coffee",
|
113
|
-
"contentName": "source.embedded.js",
|
114
|
-
"patterns": [
|
115
|
-
{
|
116
|
-
"include": "source.js"
|
117
|
-
}
|
118
|
-
]
|
104
|
+
}
|
119
105
|
},
|
120
106
|
{
|
121
107
|
"begin": "(?<!#)###(?!#)",
|
122
|
-
"
|
108
|
+
"beginCaptures": {
|
109
|
+
"0": {
|
110
|
+
"name": "punctuation.definition.comment.coffee"
|
111
|
+
}
|
112
|
+
},
|
113
|
+
"end": "###",
|
114
|
+
"endCaptures": {
|
123
115
|
"0": {
|
124
116
|
"name": "punctuation.definition.comment.coffee"
|
125
117
|
}
|
126
118
|
},
|
127
|
-
"end": "###(?:[ \\t]*\\n)",
|
128
119
|
"name": "comment.block.coffee",
|
129
120
|
"patterns": [
|
130
121
|
{
|
@@ -188,26 +179,97 @@
|
|
188
179
|
"name": "keyword.control.coffee"
|
189
180
|
},
|
190
181
|
{
|
191
|
-
"match": "
|
192
|
-
"name": "keyword.operator.coffee"
|
182
|
+
"match": "\\b(?<![\\.\\$])(delete|instanceof|new|typeof)(?!\\s*:)\\b",
|
183
|
+
"name": "keyword.operator.$1.coffee"
|
193
184
|
},
|
194
185
|
{
|
195
186
|
"match": "\\b(?<![\\.\\$])(case|function|var|void|with|const|let|enum|native|__hasProp|__extends|__slice|__bind|__indexOf|implements|interface|package|private|protected|public|static)(?!\\s*:)\\b",
|
196
187
|
"name": "keyword.reserved.coffee"
|
197
188
|
},
|
198
189
|
{
|
199
|
-
"
|
200
|
-
"
|
190
|
+
"begin": "(?x)\n(?<=\\s|^)((@)?[a-zA-Z_$][\\w$]*)\n\\s*([:=])\\s*\n(?=(\\([^\\(\\)]*\\)\\s*)?[=-]>)",
|
191
|
+
"beginCaptures": {
|
201
192
|
"1": {
|
202
|
-
"name": "
|
193
|
+
"name": "entity.name.function.coffee"
|
203
194
|
},
|
204
195
|
"2": {
|
205
|
-
"name": "
|
196
|
+
"name": "variable.other.readwrite.instance.coffee"
|
206
197
|
},
|
207
198
|
"3": {
|
208
|
-
"name": "keyword.operator.coffee"
|
199
|
+
"name": "keyword.operator.assignment.coffee"
|
209
200
|
}
|
210
|
-
}
|
201
|
+
},
|
202
|
+
"end": "[=-]>",
|
203
|
+
"endCaptures": {
|
204
|
+
"0": {
|
205
|
+
"name": "storage.type.function.coffee"
|
206
|
+
}
|
207
|
+
},
|
208
|
+
"name": "meta.function.coffee",
|
209
|
+
"patterns": [
|
210
|
+
{
|
211
|
+
"include": "#function_params"
|
212
|
+
}
|
213
|
+
]
|
214
|
+
},
|
215
|
+
{
|
216
|
+
"begin": "(?x)\n(?<=\\s|^)(?:((')([^']*?)('))|((\")([^\"]*?)(\")))\n\\s*([:=])\\s*\n(?=(\\([^\\(\\)]*\\)\\s*)?[=-]>)",
|
217
|
+
"beginCaptures": {
|
218
|
+
"1": {
|
219
|
+
"name": "string.quoted.single.coffee"
|
220
|
+
},
|
221
|
+
"2": {
|
222
|
+
"name": "punctuation.definition.string.begin.coffee"
|
223
|
+
},
|
224
|
+
"3": {
|
225
|
+
"name": "entity.name.function.coffee"
|
226
|
+
},
|
227
|
+
"4": {
|
228
|
+
"name": "punctuation.definition.string.end.coffee"
|
229
|
+
},
|
230
|
+
"5": {
|
231
|
+
"name": "string.quoted.double.coffee"
|
232
|
+
},
|
233
|
+
"6": {
|
234
|
+
"name": "punctuation.definition.string.begin.coffee"
|
235
|
+
},
|
236
|
+
"7": {
|
237
|
+
"name": "entity.name.function.coffee"
|
238
|
+
},
|
239
|
+
"8": {
|
240
|
+
"name": "punctuation.definition.string.end.coffee"
|
241
|
+
},
|
242
|
+
"9": {
|
243
|
+
"name": "keyword.operator.assignment.coffee"
|
244
|
+
}
|
245
|
+
},
|
246
|
+
"end": "[=-]>",
|
247
|
+
"endCaptures": {
|
248
|
+
"0": {
|
249
|
+
"name": "storage.type.function.coffee"
|
250
|
+
}
|
251
|
+
},
|
252
|
+
"name": "meta.function.coffee",
|
253
|
+
"patterns": [
|
254
|
+
{
|
255
|
+
"include": "#function_params"
|
256
|
+
}
|
257
|
+
]
|
258
|
+
},
|
259
|
+
{
|
260
|
+
"begin": "(?=(\\([^\\(\\)]*\\)\\s*)?[=-]>)",
|
261
|
+
"end": "[=-]>",
|
262
|
+
"endCaptures": {
|
263
|
+
"0": {
|
264
|
+
"name": "storage.type.function.coffee"
|
265
|
+
}
|
266
|
+
},
|
267
|
+
"name": "meta.function.inline.coffee",
|
268
|
+
"patterns": [
|
269
|
+
{
|
270
|
+
"include": "#function_params"
|
271
|
+
}
|
272
|
+
]
|
211
273
|
},
|
212
274
|
{
|
213
275
|
"begin": "(?<=\\s|^)({)(?=[^'\"#]+?}[\\s\\]}]*=)",
|
@@ -216,9 +278,9 @@
|
|
216
278
|
"name": "punctuation.definition.destructuring.begin.bracket.curly.coffee"
|
217
279
|
}
|
218
280
|
},
|
219
|
-
"end": "
|
281
|
+
"end": "}",
|
220
282
|
"endCaptures": {
|
221
|
-
"
|
283
|
+
"0": {
|
222
284
|
"name": "punctuation.definition.destructuring.end.bracket.curly.coffee"
|
223
285
|
}
|
224
286
|
},
|
@@ -228,7 +290,8 @@
|
|
228
290
|
"include": "$self"
|
229
291
|
},
|
230
292
|
{
|
231
|
-
"
|
293
|
+
"match": "[a-zA-Z$_]\\w*",
|
294
|
+
"name": "variable.assignment.coffee"
|
232
295
|
}
|
233
296
|
]
|
234
297
|
},
|
@@ -239,9 +302,9 @@
|
|
239
302
|
"name": "punctuation.definition.destructuring.begin.bracket.square.coffee"
|
240
303
|
}
|
241
304
|
},
|
242
|
-
"end": "
|
305
|
+
"end": "\\]",
|
243
306
|
"endCaptures": {
|
244
|
-
"
|
307
|
+
"0": {
|
245
308
|
"name": "punctuation.definition.destructuring.end.bracket.square.coffee"
|
246
309
|
}
|
247
310
|
},
|
@@ -251,25 +314,11 @@
|
|
251
314
|
"include": "$self"
|
252
315
|
},
|
253
316
|
{
|
254
|
-
"
|
317
|
+
"match": "[a-zA-Z$_]\\w*",
|
318
|
+
"name": "variable.assignment.coffee"
|
255
319
|
}
|
256
320
|
]
|
257
321
|
},
|
258
|
-
{
|
259
|
-
"match": "(?x)\n(?<=^|\\s)\n(?=@?[a-zA-Z\\$_])\n@?([a-zA-Z\\$_]\\w*)(\\$|:|\\.)?\\s*\n(?=[:=](\\s*\\(.*\\))?\\s*([=-]>))",
|
260
|
-
"captures": {
|
261
|
-
"1": {
|
262
|
-
"name": "entity.name.function.coffee"
|
263
|
-
},
|
264
|
-
"3": {
|
265
|
-
"name": "variable.parameter.function.coffee"
|
266
|
-
},
|
267
|
-
"4": {
|
268
|
-
"name": "storage.type.function.coffee"
|
269
|
-
}
|
270
|
-
},
|
271
|
-
"name": "meta.function.coffee"
|
272
|
-
},
|
273
322
|
{
|
274
323
|
"match": "\\b(?<!\\.|::)(true|on|yes)(?!\\s*[:=][^=])\\b",
|
275
324
|
"name": "constant.language.boolean.true.coffee"
|
@@ -278,18 +327,6 @@
|
|
278
327
|
"match": "\\b(?<!\\.|::)(false|off|no)(?!\\s*[:=][^=])\\b",
|
279
328
|
"name": "constant.language.boolean.false.coffee"
|
280
329
|
},
|
281
|
-
{
|
282
|
-
"match": "@?\\b(?!class|subclass|extends|decodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require)(\\w+)(?=\\s+(?!(of|in|then|is|isnt|and|or|for|else|when|not|if|unless)\\b)(?=(@?\\w+|\\->|\\-\\d|\\[|\\{|\"|'))|(?=\\())",
|
283
|
-
"captures": {
|
284
|
-
"4": {
|
285
|
-
"name": "entity.name.function.coffee"
|
286
|
-
}
|
287
|
-
}
|
288
|
-
},
|
289
|
-
{
|
290
|
-
"match": "[=-]>",
|
291
|
-
"name": "storage.type.function.coffee"
|
292
|
-
},
|
293
330
|
{
|
294
331
|
"match": "\\b(?<!\\.|::)null(?!\\s*[:=][^=])\\b",
|
295
332
|
"name": "constant.language.null.coffee"
|
@@ -299,8 +336,8 @@
|
|
299
336
|
"name": "variable.language.coffee"
|
300
337
|
},
|
301
338
|
{
|
302
|
-
"match": "\\b(
|
303
|
-
"name": "variable.language.
|
339
|
+
"match": "(?<!\\.)\\b(?<!\\$)(super|this|arguments)(?!\\s*[:=][^=]|\\$)\\b",
|
340
|
+
"name": "variable.language.$1.coffee"
|
304
341
|
},
|
305
342
|
{
|
306
343
|
"captures": {
|
@@ -351,10 +388,6 @@
|
|
351
388
|
"match": "((?<=console\\.)(debug|warn|info|log|error|time|timeEnd|assert))\\b",
|
352
389
|
"name": "support.function.console.coffee"
|
353
390
|
},
|
354
|
-
{
|
355
|
-
"match": "\\b(decodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require)\\b",
|
356
|
-
"name": "support.function.coffee"
|
357
|
-
},
|
358
391
|
{
|
359
392
|
"match": "((?<=\\.)(apply|call|concat|every|filter|forEach|from|hasOwnProperty|indexOf|isPrototypeOf|join|lastIndexOf|map|of|pop|propertyIsEnumerable|push|reduce(Right)?|reverse|shift|slice|some|sort|splice|to(Locale)?String|unshift|valueOf))\\b",
|
360
393
|
"name": "support.function.method.array.coffee"
|
@@ -384,28 +417,103 @@
|
|
384
417
|
"name": "constant.language.coffee"
|
385
418
|
},
|
386
419
|
{
|
387
|
-
"
|
388
|
-
"name": "punctuation.terminator.statement.coffee"
|
420
|
+
"include": "#operators"
|
389
421
|
},
|
390
422
|
{
|
391
|
-
"
|
392
|
-
"name": "meta.delimiter.object.comma.coffee"
|
423
|
+
"include": "#method_calls"
|
393
424
|
},
|
394
425
|
{
|
395
|
-
"
|
396
|
-
"name": "meta.delimiter.method.period.coffee"
|
426
|
+
"include": "#function_calls"
|
397
427
|
},
|
398
428
|
{
|
399
|
-
"
|
400
|
-
|
429
|
+
"include": "#numbers"
|
430
|
+
},
|
431
|
+
{
|
432
|
+
"include": "#objects"
|
433
|
+
},
|
434
|
+
{
|
435
|
+
"include": "#properties"
|
436
|
+
},
|
437
|
+
{
|
438
|
+
"match": "::",
|
439
|
+
"name": "keyword.operator.prototype.coffee"
|
440
|
+
},
|
441
|
+
{
|
442
|
+
"match": "(?<!\\$)\\b[0-9]+[\\w$]*",
|
443
|
+
"name": "invalid.illegal.identifier.coffee"
|
444
|
+
},
|
445
|
+
{
|
446
|
+
"match": ";",
|
447
|
+
"name": "punctuation.terminator.statement.coffee"
|
448
|
+
},
|
449
|
+
{
|
450
|
+
"match": ",",
|
451
|
+
"name": "punctuation.separator.delimiter.coffee"
|
452
|
+
},
|
453
|
+
{
|
454
|
+
"begin": "{",
|
455
|
+
"beginCaptures": {
|
456
|
+
"0": {
|
457
|
+
"name": "meta.brace.curly.coffee"
|
458
|
+
}
|
459
|
+
},
|
460
|
+
"end": "}",
|
461
|
+
"endCaptures": {
|
462
|
+
"0": {
|
463
|
+
"name": "meta.brace.curly.coffee"
|
464
|
+
}
|
465
|
+
},
|
466
|
+
"patterns": [
|
467
|
+
{
|
468
|
+
"include": "$self"
|
469
|
+
}
|
470
|
+
]
|
401
471
|
},
|
402
472
|
{
|
403
|
-
"
|
404
|
-
"
|
473
|
+
"begin": "\\[",
|
474
|
+
"beginCaptures": {
|
475
|
+
"0": {
|
476
|
+
"name": "punctuation.definition.array.begin.bracket.square.coffee"
|
477
|
+
}
|
478
|
+
},
|
479
|
+
"end": "\\]",
|
480
|
+
"endCaptures": {
|
481
|
+
"0": {
|
482
|
+
"name": "punctuation.definition.array.end.bracket.square.coffee"
|
483
|
+
}
|
484
|
+
},
|
485
|
+
"patterns": [
|
486
|
+
{
|
487
|
+
"match": "(?<!\\.)\\.{3}",
|
488
|
+
"name": "keyword.operator.slice.exclusive.coffee"
|
489
|
+
},
|
490
|
+
{
|
491
|
+
"match": "(?<!\\.)\\.{2}",
|
492
|
+
"name": "keyword.operator.slice.inclusive.coffee"
|
493
|
+
},
|
494
|
+
{
|
495
|
+
"include": "$self"
|
496
|
+
}
|
497
|
+
]
|
405
498
|
},
|
406
499
|
{
|
407
|
-
"
|
408
|
-
"
|
500
|
+
"begin": "\\(",
|
501
|
+
"beginCaptures": {
|
502
|
+
"0": {
|
503
|
+
"name": "meta.brace.round.coffee"
|
504
|
+
}
|
505
|
+
},
|
506
|
+
"end": "\\)",
|
507
|
+
"endCaptures": {
|
508
|
+
"0": {
|
509
|
+
"name": "meta.brace.round.coffee"
|
510
|
+
}
|
511
|
+
},
|
512
|
+
"patterns": [
|
513
|
+
{
|
514
|
+
"include": "$self"
|
515
|
+
}
|
516
|
+
]
|
409
517
|
},
|
410
518
|
{
|
411
519
|
"include": "#instance_variable"
|
@@ -415,12 +523,33 @@
|
|
415
523
|
},
|
416
524
|
{
|
417
525
|
"include": "#double_quoted_string"
|
418
|
-
},
|
419
|
-
{
|
420
|
-
"include": "#numeric"
|
421
526
|
}
|
422
527
|
],
|
423
528
|
"repository": {
|
529
|
+
"arguments": {
|
530
|
+
"patterns": [
|
531
|
+
{
|
532
|
+
"begin": "(?=(@|@?[\\w$]+|[=-]>|\\-\\d|\\[|{|\"|'))|\\(",
|
533
|
+
"beginCaptures": {
|
534
|
+
"0": {
|
535
|
+
"name": "punctuation.definition.arguments.begin.bracket.round.coffee"
|
536
|
+
}
|
537
|
+
},
|
538
|
+
"end": "\\)|(?=\\s*(?<![\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\w$]))|(?=\\s*(}|#|$))",
|
539
|
+
"endCaptures": {
|
540
|
+
"0": {
|
541
|
+
"name": "punctuation.definition.arguments.end.bracket.round.coffee"
|
542
|
+
}
|
543
|
+
},
|
544
|
+
"name": "meta.arguments.coffee",
|
545
|
+
"patterns": [
|
546
|
+
{
|
547
|
+
"include": "$self"
|
548
|
+
}
|
549
|
+
]
|
550
|
+
}
|
551
|
+
]
|
552
|
+
},
|
424
553
|
"double_quoted_string": {
|
425
554
|
"patterns": [
|
426
555
|
{
|
@@ -454,6 +583,87 @@
|
|
454
583
|
}
|
455
584
|
]
|
456
585
|
},
|
586
|
+
"function_calls": {
|
587
|
+
"patterns": [
|
588
|
+
{
|
589
|
+
"begin": "(?x)\n(@)?([\\w$]+)\n\\s*\n(?=\\s+(?!(?<![\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\w$]))(?=(@?[\\w$]+|[=-]>|\\-\\d|\\[|\\{|\"|'))|(?=\\())",
|
590
|
+
"beginCaptures": {
|
591
|
+
"1": {
|
592
|
+
"name": "variable.other.readwrite.instance.coffee"
|
593
|
+
},
|
594
|
+
"2": {
|
595
|
+
"patterns": [
|
596
|
+
{
|
597
|
+
"match": "(?x)\n\\b(isNaN|isFinite|eval|uneval|parseInt|parseFloat|decodeURI|\ndecodeURIComponent|encodeURI|encodeURIComponent|escape|unescape|\nrequire|set(Interval|Timeout)|clear(Interval|Timeout))\\b",
|
598
|
+
"name": "support.function.coffee"
|
599
|
+
},
|
600
|
+
{
|
601
|
+
"match": "[a-zA-Z_$][\\w$]*",
|
602
|
+
"name": "entity.name.function.coffee"
|
603
|
+
},
|
604
|
+
{
|
605
|
+
"match": "\\d[\\w$]*",
|
606
|
+
"name": "invalid.illegal.identifier.coffee"
|
607
|
+
}
|
608
|
+
]
|
609
|
+
}
|
610
|
+
},
|
611
|
+
"end": "(?<=\\))|(?=\\s*(?<![\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\w$]))|(?=\\s*(}|#|$))",
|
612
|
+
"name": "meta.function-call.coffee",
|
613
|
+
"patterns": [
|
614
|
+
{
|
615
|
+
"include": "#arguments"
|
616
|
+
}
|
617
|
+
]
|
618
|
+
}
|
619
|
+
]
|
620
|
+
},
|
621
|
+
"function_params": {
|
622
|
+
"patterns": [
|
623
|
+
{
|
624
|
+
"begin": "\\(",
|
625
|
+
"beginCaptures": {
|
626
|
+
"0": {
|
627
|
+
"name": "punctuation.definition.parameters.begin.bracket.round.coffee"
|
628
|
+
}
|
629
|
+
},
|
630
|
+
"end": "\\)",
|
631
|
+
"endCaptures": {
|
632
|
+
"0": {
|
633
|
+
"name": "punctuation.definition.parameters.end.bracket.round.coffee"
|
634
|
+
}
|
635
|
+
},
|
636
|
+
"name": "meta.parameters.coffee",
|
637
|
+
"patterns": [
|
638
|
+
{
|
639
|
+
"match": "([a-zA-Z_$][\\w$]*)(\\.\\.\\.)?",
|
640
|
+
"captures": {
|
641
|
+
"1": {
|
642
|
+
"name": "variable.parameter.function.coffee"
|
643
|
+
},
|
644
|
+
"2": {
|
645
|
+
"name": "keyword.operator.splat.coffee"
|
646
|
+
}
|
647
|
+
}
|
648
|
+
},
|
649
|
+
{
|
650
|
+
"match": "(@(?:[a-zA-Z_$][\\w$]*)?)(\\.\\.\\.)?",
|
651
|
+
"captures": {
|
652
|
+
"1": {
|
653
|
+
"name": "variable.parameter.function.readwrite.instance.coffee"
|
654
|
+
},
|
655
|
+
"2": {
|
656
|
+
"name": "keyword.operator.splat.coffee"
|
657
|
+
}
|
658
|
+
}
|
659
|
+
},
|
660
|
+
{
|
661
|
+
"include": "$self"
|
662
|
+
}
|
663
|
+
]
|
664
|
+
}
|
665
|
+
]
|
666
|
+
},
|
457
667
|
"embedded_comment": {
|
458
668
|
"patterns": [
|
459
669
|
{
|
@@ -494,11 +704,261 @@
|
|
494
704
|
}
|
495
705
|
]
|
496
706
|
},
|
497
|
-
"
|
707
|
+
"method_calls": {
|
708
|
+
"patterns": [
|
709
|
+
{
|
710
|
+
"begin": "(?:(\\.)|(::))\\s*([\\w$]+)\\s*(?=\\s+(?!(?<![\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\w$]))(?=(@|@?[\\w$]+|[=-]>|\\-\\d|\\[|\\{|\"|'))|(?=\\())",
|
711
|
+
"beginCaptures": {
|
712
|
+
"1": {
|
713
|
+
"name": "punctuation.separator.method.period.coffee"
|
714
|
+
},
|
715
|
+
"2": {
|
716
|
+
"name": "keyword.operator.prototype.coffee"
|
717
|
+
},
|
718
|
+
"3": {
|
719
|
+
"patterns": [
|
720
|
+
{
|
721
|
+
"match": "(?x)\n\\bon(Rowsinserted|Rowsdelete|Rowenter|Rowexit|Resize|Resizestart|Resizeend|Reset|\nReadystatechange|Mouseout|Mouseover|Mousedown|Mouseup|Mousemove|\nBefore(cut|deactivate|unload|update|paste|print|editfocus|activate)|\nBlur|Scrolltop|Submit|Select|Selectstart|Selectionchange|Hover|Help|\nChange|Contextmenu|Controlselect|Cut|Cellchange|Clock|Close|Deactivate|\nDatasetchanged|Datasetcomplete|Dataavailable|Drop|Drag|Dragstart|Dragover|\nDragdrop|Dragenter|Dragend|Dragleave|Dblclick|Unload|Paste|Propertychange|Error|\nErrorupdate|Keydown|Keyup|Keypress|Focus|Load|Activate|Afterupdate|Afterprint|Abort)\\b",
|
722
|
+
"name": "support.function.event-handler.coffee"
|
723
|
+
},
|
724
|
+
{
|
725
|
+
"match": "(?x)\n\\b(shift|showModelessDialog|showModalDialog|showHelp|scroll|scrollX|scrollByPages|\nscrollByLines|scrollY|scrollTo|stop|strike|sizeToContent|sidebar|signText|sort|\nsup|sub|substr|substring|splice|split|send|set(Milliseconds|Seconds|Minutes|Hours|\nMonth|Year|FullYear|Date|UTC(Milliseconds|Seconds|Minutes|Hours|Month|FullYear|Date)|\nTime|Hotkeys|Cursor|ZOptions|Active|Resizable|RequestHeader)|search|slice|\nsavePreferences|small|home|handleEvent|navigate|char|charCodeAt|charAt|concat|\ncontextual|confirm|compile|clear|captureEvents|call|createStyleSheet|createPopup|\ncreateEventObject|to(GMTString|UTCString|String|Source|UpperCase|LowerCase|LocaleString)|\ntest|taint|taintEnabled|indexOf|italics|disableExternalCapture|dump|detachEvent|unshift|\nuntaint|unwatch|updateCommands|join|javaEnabled|pop|push|plugins.refresh|paddings|parse|\nprint|prompt|preference|enableExternalCapture|exec|execScript|valueOf|UTC|find|file|\nfileModifiedDate|fileSize|fileCreatedDate|fileUpdatedDate|fixed|fontsize|fontcolor|\nforward|fromCharCode|watch|link|load|lastIndexOf|anchor|attachEvent|atob|apply|alert|\nabort|routeEvents|resize|resizeBy|resizeTo|recalc|returnValue|replace|reverse|reload|\nreleaseCapture|releaseEvents|go|get(Milliseconds|Seconds|Minutes|Hours|Month|Day|Year|FullYear|\nTime|Date|TimezoneOffset|UTC(Milliseconds|Seconds|Minutes|Hours|Day|Month|FullYear|Date)|\nAttention|Selection|ResponseHeader|AllResponseHeaders)|moveBy|moveBelow|moveTo|\nmoveToAbsolute|moveAbove|mergeAttributes|match|margins|btoa|big|bold|borderWidths|blink|back)\\b",
|
726
|
+
"name": "support.function.coffee"
|
727
|
+
},
|
728
|
+
{
|
729
|
+
"match": "(?x)\n\\b(acceptNode|add|addEventListener|addTextTrack|adoptNode|after|animate|append|\nappendChild|appendData|before|blur|canPlayType|captureStream|\ncaretPositionFromPoint|caretRangeFromPoint|checkValidity|clear|click|\ncloneContents|cloneNode|cloneRange|close|closest|collapse|\ncompareBoundaryPoints|compareDocumentPosition|comparePoint|contains|\nconvertPointFromNode|convertQuadFromNode|convertRectFromNode|createAttribute|\ncreateAttributeNS|createCaption|createCDATASection|createComment|\ncreateContextualFragment|createDocument|createDocumentFragment|\ncreateDocumentType|createElement|createElementNS|createEntityReference|\ncreateEvent|createExpression|createHTMLDocument|createNodeIterator|\ncreateNSResolver|createProcessingInstruction|createRange|createShadowRoot|\ncreateTBody|createTextNode|createTFoot|createTHead|createTreeWalker|delete|\ndeleteCaption|deleteCell|deleteContents|deleteData|deleteRow|deleteTFoot|\ndeleteTHead|detach|disconnect|dispatchEvent|elementFromPoint|elementsFromPoint|\nenableStyleSheetsForSet|entries|evaluate|execCommand|exitFullscreen|\nexitPointerLock|expand|extractContents|fastSeek|firstChild|focus|forEach|get|\ngetAll|getAnimations|getAttribute|getAttributeNames|getAttributeNode|\ngetAttributeNodeNS|getAttributeNS|getBoundingClientRect|getBoxQuads|\ngetClientRects|getContext|getDestinationInsertionPoints|getElementById|\ngetElementsByClassName|getElementsByName|getElementsByTagName|\ngetElementsByTagNameNS|getItem|getNamedItem|getSelection|getStartDate|\ngetVideoPlaybackQuality|has|hasAttribute|hasAttributeNS|hasAttributes|\nhasChildNodes|hasFeature|hasFocus|importNode|initEvent|insertAdjacentElement|\ninsertAdjacentHTML|insertAdjacentText|insertBefore|insertCell|insertData|\ninsertNode|insertRow|intersectsNode|isDefaultNamespace|isEqualNode|\nisPointInRange|isSameNode|item|key|keys|lastChild|load|lookupNamespaceURI|\nlookupPrefix|matches|move|moveAttribute|moveAttributeNode|moveChild|\nmoveNamedItem|namedItem|nextNode|nextSibling|normalize|observe|open|\nparentNode|pause|play|postMessage|prepend|preventDefault|previousNode|\npreviousSibling|probablySupportsContext|queryCommandEnabled|\nqueryCommandIndeterm|queryCommandState|queryCommandSupported|queryCommandValue|\nquerySelector|querySelectorAll|registerContentHandler|registerElement|\nregisterProtocolHandler|releaseCapture|releaseEvents|remove|removeAttribute|\nremoveAttributeNode|removeAttributeNS|removeChild|removeEventListener|\nremoveItem|replace|replaceChild|replaceData|replaceWith|reportValidity|\nrequestFullscreen|requestPointerLock|reset|scroll|scrollBy|scrollIntoView|\nscrollTo|seekToNextFrame|select|selectNode|selectNodeContents|set|setAttribute|\nsetAttributeNode|setAttributeNodeNS|setAttributeNS|setCapture|\nsetCustomValidity|setEnd|setEndAfter|setEndBefore|setItem|setNamedItem|\nsetRangeText|setSelectionRange|setSinkId|setStart|setStartAfter|setStartBefore|\nslice|splitText|stepDown|stepUp|stopImmediatePropagation|stopPropagation|\nsubmit|substringData|supports|surroundContents|takeRecords|terminate|toBlob|\ntoDataURL|toggle|toString|values|write|writeln)\\b",
|
730
|
+
"name": "support.function.dom.coffee"
|
731
|
+
},
|
732
|
+
{
|
733
|
+
"match": "[a-zA-Z_$][\\w$]*",
|
734
|
+
"name": "entity.name.function.coffee"
|
735
|
+
},
|
736
|
+
{
|
737
|
+
"match": "\\d[\\w$]*",
|
738
|
+
"name": "invalid.illegal.identifier.coffee"
|
739
|
+
}
|
740
|
+
]
|
741
|
+
}
|
742
|
+
},
|
743
|
+
"end": "(?<=\\))|(?=\\s*(?<![\\w$])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![\\w$]))|(?=\\s*(}|#|$))",
|
744
|
+
"name": "meta.method-call.coffee",
|
745
|
+
"patterns": [
|
746
|
+
{
|
747
|
+
"include": "#arguments"
|
748
|
+
}
|
749
|
+
]
|
750
|
+
}
|
751
|
+
]
|
752
|
+
},
|
753
|
+
"numbers": {
|
498
754
|
"patterns": [
|
499
755
|
{
|
500
|
-
"match": "(?<!\\$)
|
501
|
-
"name": "constant.numeric.coffee"
|
756
|
+
"match": "\\b(?<!\\$)0(x|X)[0-9a-fA-F]+\\b(?!\\$)",
|
757
|
+
"name": "constant.numeric.hex.coffee"
|
758
|
+
},
|
759
|
+
{
|
760
|
+
"match": "\\b(?<!\\$)0(b|B)[01]+\\b(?!\\$)",
|
761
|
+
"name": "constant.numeric.binary.coffee"
|
762
|
+
},
|
763
|
+
{
|
764
|
+
"match": "\\b(?<!\\$)0(o|O)?[0-7]+\\b(?!\\$)",
|
765
|
+
"name": "constant.numeric.octal.coffee"
|
766
|
+
},
|
767
|
+
{
|
768
|
+
"match": "(?x)\n(?<!\\$)(?:\n (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # 1.1E+3\n (?:\\b[0-9]+(\\.)[eE][+-]?[0-9]+\\b)| # 1.E+3\n (?:\\B(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # .1E+3\n (?:\\b[0-9]+[eE][+-]?[0-9]+\\b)| # 1E+3\n (?:\\b[0-9]+(\\.)[0-9]+\\b)| # 1.1\n (?:\\b[0-9]+(?=\\.{2,3}))| # 1 followed by a slice\n (?:\\b[0-9]+(\\.)\\B)| # 1.\n (?:\\B(\\.)[0-9]+\\b)| # .1\n (?:\\b[0-9]+\\b(?!\\.)) # 1\n)(?!\\$)",
|
769
|
+
"captures": {
|
770
|
+
"0": {
|
771
|
+
"name": "constant.numeric.decimal.coffee"
|
772
|
+
},
|
773
|
+
"1": {
|
774
|
+
"name": "punctuation.separator.decimal.period.coffee"
|
775
|
+
},
|
776
|
+
"2": {
|
777
|
+
"name": "punctuation.separator.decimal.period.coffee"
|
778
|
+
},
|
779
|
+
"3": {
|
780
|
+
"name": "punctuation.separator.decimal.period.coffee"
|
781
|
+
},
|
782
|
+
"4": {
|
783
|
+
"name": "punctuation.separator.decimal.period.coffee"
|
784
|
+
},
|
785
|
+
"5": {
|
786
|
+
"name": "punctuation.separator.decimal.period.coffee"
|
787
|
+
},
|
788
|
+
"6": {
|
789
|
+
"name": "punctuation.separator.decimal.period.coffee"
|
790
|
+
}
|
791
|
+
}
|
792
|
+
}
|
793
|
+
]
|
794
|
+
},
|
795
|
+
"objects": {
|
796
|
+
"patterns": [
|
797
|
+
{
|
798
|
+
"match": "[A-Z][A-Z0-9_$]*(?=\\s*\\??(\\.\\s*[a-zA-Z_$]\\w*|::))",
|
799
|
+
"name": "constant.other.object.coffee"
|
800
|
+
},
|
801
|
+
{
|
802
|
+
"match": "[a-zA-Z_$][\\w$]*(?=\\s*\\??(\\.\\s*[a-zA-Z_$]\\w*|::))",
|
803
|
+
"name": "variable.other.object.coffee"
|
804
|
+
}
|
805
|
+
]
|
806
|
+
},
|
807
|
+
"operators": {
|
808
|
+
"patterns": [
|
809
|
+
{
|
810
|
+
"match": "([a-zA-Z$_][\\w$]*)?\\s*(%=|\\+=|-=|\\*=|and=|or=|&&=|\\|\\|=|\\?=|(?<!\\()/=)",
|
811
|
+
"captures": {
|
812
|
+
"1": {
|
813
|
+
"name": "variable.assignment.coffee"
|
814
|
+
},
|
815
|
+
"2": {
|
816
|
+
"name": "keyword.operator.assignment.compound.coffee"
|
817
|
+
}
|
818
|
+
}
|
819
|
+
},
|
820
|
+
{
|
821
|
+
"match": "([a-zA-Z$_][\\w$]*)?\\s*(&=|\\^=|<<=|>>=|>>>=|\\|=)",
|
822
|
+
"captures": {
|
823
|
+
"1": {
|
824
|
+
"name": "variable.assignment.coffee"
|
825
|
+
},
|
826
|
+
"2": {
|
827
|
+
"name": "keyword.operator.assignment.compound.bitwise.coffee"
|
828
|
+
}
|
829
|
+
}
|
830
|
+
},
|
831
|
+
{
|
832
|
+
"match": "<<|>>>|>>",
|
833
|
+
"name": "keyword.operator.bitwise.shift.coffee"
|
834
|
+
},
|
835
|
+
{
|
836
|
+
"match": "!=|<=|>=|==|<|>",
|
837
|
+
"name": "keyword.operator.comparison.coffee"
|
838
|
+
},
|
839
|
+
{
|
840
|
+
"match": "&&|!|\\|\\|",
|
841
|
+
"name": "keyword.operator.logical.coffee"
|
842
|
+
},
|
843
|
+
{
|
844
|
+
"match": "&|\\||\\^|~",
|
845
|
+
"name": "keyword.operator.bitwise.coffee"
|
846
|
+
},
|
847
|
+
{
|
848
|
+
"match": "([a-zA-Z$_][\\w$]*)?\\s*(=|:(?!:))(?![>=])",
|
849
|
+
"captures": {
|
850
|
+
"1": {
|
851
|
+
"name": "variable.assignment.coffee"
|
852
|
+
},
|
853
|
+
"2": {
|
854
|
+
"name": "keyword.operator.assignment.coffee"
|
855
|
+
}
|
856
|
+
}
|
857
|
+
},
|
858
|
+
{
|
859
|
+
"match": "--",
|
860
|
+
"name": "keyword.operator.decrement.coffee"
|
861
|
+
},
|
862
|
+
{
|
863
|
+
"match": "\\+\\+",
|
864
|
+
"name": "keyword.operator.increment.coffee"
|
865
|
+
},
|
866
|
+
{
|
867
|
+
"match": "\\.\\.\\.",
|
868
|
+
"name": "keyword.operator.splat.coffee"
|
869
|
+
},
|
870
|
+
{
|
871
|
+
"match": "\\?",
|
872
|
+
"name": "keyword.operator.existential.coffee"
|
873
|
+
},
|
874
|
+
{
|
875
|
+
"match": "%|\\*|/|-|\\+",
|
876
|
+
"name": "keyword.operator.coffee"
|
877
|
+
},
|
878
|
+
{
|
879
|
+
"match": "(?x)\n\\b(?<![\\.\\$])\n(?:\n (and|or|not) # logical\n |\n (is|isnt) # comparison\n)\n(?!\\s*:)\\b",
|
880
|
+
"captures": {
|
881
|
+
"1": {
|
882
|
+
"name": "keyword.operator.logical.coffee"
|
883
|
+
},
|
884
|
+
"2": {
|
885
|
+
"name": "keyword.operator.comparison.coffee"
|
886
|
+
}
|
887
|
+
}
|
888
|
+
}
|
889
|
+
]
|
890
|
+
},
|
891
|
+
"properties": {
|
892
|
+
"patterns": [
|
893
|
+
{
|
894
|
+
"match": "(?:(\\.)|(::))\\s*([A-Z][A-Z0-9_$]*\\b\\$*)(?=\\s*\\??(\\.\\s*[a-zA-Z_$]\\w*|::))",
|
895
|
+
"captures": {
|
896
|
+
"1": {
|
897
|
+
"name": "punctuation.separator.property.period.coffee"
|
898
|
+
},
|
899
|
+
"2": {
|
900
|
+
"name": "keyword.operator.prototype.coffee"
|
901
|
+
},
|
902
|
+
"3": {
|
903
|
+
"name": "constant.other.object.property.coffee"
|
904
|
+
}
|
905
|
+
}
|
906
|
+
},
|
907
|
+
{
|
908
|
+
"match": "(?:(\\.)|(::))\\s*(\\$*[a-zA-Z_$][\\w$]*)(?=\\s*\\??(\\.\\s*[a-zA-Z_$]\\w*|::))",
|
909
|
+
"captures": {
|
910
|
+
"1": {
|
911
|
+
"name": "punctuation.separator.property.period.coffee"
|
912
|
+
},
|
913
|
+
"2": {
|
914
|
+
"name": "keyword.operator.prototype.coffee"
|
915
|
+
},
|
916
|
+
"3": {
|
917
|
+
"name": "variable.other.object.property.coffee"
|
918
|
+
}
|
919
|
+
}
|
920
|
+
},
|
921
|
+
{
|
922
|
+
"match": "(?:(\\.)|(::))\\s*([A-Z][A-Z0-9_$]*\\b\\$*)",
|
923
|
+
"captures": {
|
924
|
+
"1": {
|
925
|
+
"name": "punctuation.separator.property.period.coffee"
|
926
|
+
},
|
927
|
+
"2": {
|
928
|
+
"name": "keyword.operator.prototype.coffee"
|
929
|
+
},
|
930
|
+
"3": {
|
931
|
+
"name": "constant.other.property.coffee"
|
932
|
+
}
|
933
|
+
}
|
934
|
+
},
|
935
|
+
{
|
936
|
+
"match": "(?:(\\.)|(::))\\s*(\\$*[a-zA-Z_$][\\w$]*)",
|
937
|
+
"captures": {
|
938
|
+
"1": {
|
939
|
+
"name": "punctuation.separator.property.period.coffee"
|
940
|
+
},
|
941
|
+
"2": {
|
942
|
+
"name": "keyword.operator.prototype.coffee"
|
943
|
+
},
|
944
|
+
"3": {
|
945
|
+
"name": "variable.other.property.coffee"
|
946
|
+
}
|
947
|
+
}
|
948
|
+
},
|
949
|
+
{
|
950
|
+
"match": "(?:(\\.)|(::))\\s*([0-9][\\w$]*)",
|
951
|
+
"captures": {
|
952
|
+
"1": {
|
953
|
+
"name": "punctuation.separator.property.period.coffee"
|
954
|
+
},
|
955
|
+
"2": {
|
956
|
+
"name": "keyword.operator.prototype.coffee"
|
957
|
+
},
|
958
|
+
"3": {
|
959
|
+
"name": "invalid.illegal.identifier.coffee"
|
960
|
+
}
|
961
|
+
}
|
502
962
|
}
|
503
963
|
]
|
504
964
|
},
|
@@ -532,19 +992,6 @@
|
|
532
992
|
}
|
533
993
|
]
|
534
994
|
},
|
535
|
-
"variable_name": {
|
536
|
-
"patterns": [
|
537
|
-
{
|
538
|
-
"captures": {
|
539
|
-
"1": {
|
540
|
-
"name": "variable.assignment.coffee"
|
541
|
-
}
|
542
|
-
},
|
543
|
-
"match": "([a-zA-Z\\$_]\\w*(\\.\\w+)*)",
|
544
|
-
"name": "variable.assignment.coffee"
|
545
|
-
}
|
546
|
-
]
|
547
|
-
},
|
548
995
|
"regex-character-class": {
|
549
996
|
"patterns": [
|
550
997
|
{
|