github-linguist 7.2.0 → 7.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/documentation.markdown.injection.haxe.json +22 -0
  3. data/grammars/etc.json +7 -0
  4. data/grammars/file.lasso.json +3 -1
  5. data/grammars/source.abap.json +111 -21
  6. data/grammars/source.ats.json +17 -87
  7. data/grammars/source.ballerina.json +1 -1
  8. data/grammars/source.clarion.json +6 -6
  9. data/grammars/source.editorconfig.json +322 -0
  10. data/grammars/source.gfm.json +3 -1
  11. data/grammars/source.hx.json +1 -1
  12. data/grammars/source.hxml.json +4 -4
  13. data/grammars/source.hy.json +429 -0
  14. data/grammars/source.js.jsx.json +3 -1
  15. data/grammars/source.jsonnet.json +197 -0
  16. data/grammars/source.kotlin.json +23 -2
  17. data/grammars/source.mcfunction-snapshot.json +3053 -0
  18. data/grammars/source.mcfunction.json +1260 -0
  19. data/grammars/source.modula-3.json +1 -1
  20. data/grammars/source.reason.json +3 -0
  21. data/grammars/source.renpy.json +4 -4
  22. data/grammars/source.scheme.json +1 -1
  23. data/grammars/source.solidity.json +189 -0
  24. data/grammars/source.ssh-config.json +110 -0
  25. data/grammars/source.ts.json +6 -3
  26. data/grammars/source.tsx.json +6 -3
  27. data/grammars/source.viml.json +4 -0
  28. data/grammars/source.vyper.json +213 -0
  29. data/grammars/source.zig.json +1 -1
  30. data/grammars/text.conllu.json +45 -0
  31. data/grammars/text.html.basic.json +3 -1
  32. data/grammars/text.html.vue.json +6 -2
  33. data/grammars/text.rtf.json +143 -0
  34. data/grammars/version +1 -1
  35. data/lib/linguist/VERSION +1 -1
  36. data/lib/linguist/generated.rb +5 -5
  37. data/lib/linguist/heuristics.yml +12 -5
  38. data/lib/linguist/languages.json +1 -1
  39. data/lib/linguist/languages.yml +54 -2
  40. data/lib/linguist/samples.json +3151 -247
  41. metadata +13 -2
@@ -0,0 +1,1260 @@
1
+ {
2
+ "name": "mcfunction",
3
+ "scopeName": "source.mcfunction",
4
+ "patterns": [
5
+ {
6
+ "include": "#comment"
7
+ },
8
+ {
9
+ "include": "#command"
10
+ },
11
+ {
12
+ "include": "#unknown"
13
+ }
14
+ ],
15
+ "repository": {
16
+ "block_predicate": {
17
+ "patterns": [
18
+ {
19
+ "match": "(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)",
20
+ "captures": {
21
+ "1": {
22
+ "name": "entity.name.function.mcfunction"
23
+ },
24
+ "2": {
25
+ "name": "entity.name.function.mcfunction"
26
+ },
27
+ "3": {
28
+ "name": "entity.name.function.mcfunction"
29
+ },
30
+ "4": {
31
+ "name": "entity.name.function.mcfunction"
32
+ }
33
+ }
34
+ },
35
+ {
36
+ "match": "([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)",
37
+ "captures": {
38
+ "1": {
39
+ "name": "entity.name.function.mcfunction"
40
+ },
41
+ "2": {
42
+ "name": "entity.name.function.mcfunction"
43
+ },
44
+ "3": {
45
+ "name": "entity.name.function.mcfunction"
46
+ }
47
+ }
48
+ },
49
+ {
50
+ "begin": "(\\[)",
51
+ "end": "(\\])",
52
+ "patterns": [
53
+ {
54
+ "include": "#block_predicate.arguments"
55
+ }
56
+ ],
57
+ "beginCaptures": {
58
+ "1": {
59
+ "name": "variable.language.mcfunction"
60
+ }
61
+ },
62
+ "endCaptures": {
63
+ "1": {
64
+ "name": "variable.language.mcfunction"
65
+ }
66
+ }
67
+ },
68
+ {
69
+ "begin": "(\\{)",
70
+ "end": "(\\})",
71
+ "patterns": [
72
+ {
73
+ "include": "#nbt.compound"
74
+ }
75
+ ],
76
+ "beginCaptures": {
77
+ "1": {
78
+ "name": "variable.language.mcfunction"
79
+ }
80
+ },
81
+ "endCaptures": {
82
+ "1": {
83
+ "name": "variable.language.mcfunction"
84
+ }
85
+ }
86
+ }
87
+ ]
88
+ },
89
+ "block_predicate.argument.boolean": {
90
+ "name": "meta.block_predicate.argument.boolean.mcfunction",
91
+ "match": "(true|false)(?= *[\\,\\]\\n])",
92
+ "captures": {
93
+ "1": {
94
+ "name": "constant.numeric.mcfunction"
95
+ }
96
+ }
97
+ },
98
+ "block_predicate.argument.literal": {
99
+ "name": "meta.block_predicate.argument.literal.mcfunction",
100
+ "match": "([a-z_][a-z0-9_]*)(?= *[\\,\\]\\n])",
101
+ "captures": {
102
+ "1": {
103
+ "name": "entity.name.mcfunction"
104
+ }
105
+ }
106
+ },
107
+ "block_predicate.argument.number": {
108
+ "name": "meta.block_predicate.argument.number.mcfunction",
109
+ "match": "(\\-?\\d*\\.?\\d+)(?= *[\\,\\]\\n])",
110
+ "captures": {
111
+ "1": {
112
+ "name": "constant.numeric.mcfunction"
113
+ }
114
+ }
115
+ },
116
+ "block_predicate.arguments": {
117
+ "patterns": [
118
+ {
119
+ "name": "meta.block_predicate.argument_spacing.mcfunction",
120
+ "match": " +"
121
+ },
122
+ {
123
+ "name": "meta.block_predicate.argument.mcfunction",
124
+ "begin": "([a-z_][a-z0-9_]*) *(\\=) *",
125
+ "end": "(\\,)(?=[\\]\\n])|(\\,)|(?=[\\]\\n])",
126
+ "patterns": [
127
+ {
128
+ "include": "#block_predicate.argument.number"
129
+ },
130
+ {
131
+ "include": "#block_predicate.argument.boolean"
132
+ },
133
+ {
134
+ "include": "#block_predicate.argument.literal"
135
+ }
136
+ ],
137
+ "beginCaptures": {
138
+ "1": {
139
+ "name": "variable.other.mcfunction"
140
+ },
141
+ "2": {
142
+ "name": "variable.language.mcfunction"
143
+ }
144
+ },
145
+ "endCaptures": {
146
+ "1": {
147
+ "name": "invalid.illegal.mcfunction"
148
+ },
149
+ "2": {
150
+ "name": "variable.language.mcfunction"
151
+ }
152
+ }
153
+ }
154
+ ]
155
+ },
156
+ "command": {
157
+ "patterns": [
158
+ {
159
+ "name": "meta.command.mcfunction",
160
+ "begin": "^\\s*([a-z_][a-z0-9_]*)[ \\n]",
161
+ "end": "$",
162
+ "patterns": [
163
+ {
164
+ "contentName": "meta.command.token.mcfunction",
165
+ "begin": "(?\u003c= )",
166
+ "end": "[ \\n]",
167
+ "patterns": [
168
+ {
169
+ "include": "#command.tokens"
170
+ }
171
+ ]
172
+ }
173
+ ],
174
+ "beginCaptures": {
175
+ "1": {
176
+ "name": "keyword.control.mcfunction"
177
+ }
178
+ }
179
+ }
180
+ ]
181
+ },
182
+ "command.token.block_predicate": {
183
+ "name": "meta.command.token.block_predicate.mcfunction",
184
+ "begin": "(?\u003c= )(?=(\\#)?([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(\\[|\\{))",
185
+ "end": "(?=\\n)|(?:(?\u003c=\\])(?!\\{)|(?\u003c=\\}))([^ \\n]*)",
186
+ "patterns": [
187
+ {
188
+ "include": "#block_predicate"
189
+ }
190
+ ],
191
+ "endCaptures": {
192
+ "1": {
193
+ "name": "invalid.illegal.mcfunction"
194
+ }
195
+ }
196
+ },
197
+ "command.token.boolean": {
198
+ "name": "meta.command.token.boolean.mcfunction",
199
+ "match": "(?\u003c= )(true|false)(?=[ \\n])",
200
+ "captures": {
201
+ "1": {
202
+ "name": "constant.numeric.mcfunction"
203
+ }
204
+ }
205
+ },
206
+ "command.token.coordinate": {
207
+ "name": "meta.command.token.coordinate.mcfunction",
208
+ "match": "(?\u003c= )([\\~\\^])(\\-?\\d*\\.?\\d+)?(?=[ \\n])",
209
+ "captures": {
210
+ "1": {
211
+ "name": "constant.numeric.mcfunction"
212
+ },
213
+ "2": {
214
+ "name": "constant.numeric.mcfunction"
215
+ }
216
+ }
217
+ },
218
+ "command.token.fakeplayer": {
219
+ "name": "meta.command.token.fakeplayer.mcfunction",
220
+ "match": "(?\u003c= )([\\#\\$\\%]\\S+)(?=[ \\n])",
221
+ "captures": {
222
+ "1": {
223
+ "name": "support.class.mcfunction"
224
+ }
225
+ }
226
+ },
227
+ "command.token.literal": {
228
+ "name": "meta.command.token.literal.mcfunction",
229
+ "match": "(?\u003c= )([a-z_][a-z0-9_]*)(?=[ \\n])",
230
+ "captures": {
231
+ "1": {
232
+ "name": "entity.name.mcfunction"
233
+ }
234
+ }
235
+ },
236
+ "command.token.nbt_compound": {
237
+ "name": "meta.command.token.nbt_compound.mcfunction",
238
+ "begin": "(?\u003c= )(\\{)",
239
+ "end": "(?=\\n)|(\\})([^ \\n]*)",
240
+ "patterns": [
241
+ {
242
+ "include": "#nbt.compound"
243
+ }
244
+ ],
245
+ "beginCaptures": {
246
+ "1": {
247
+ "name": "variable.language.mcfunction"
248
+ }
249
+ },
250
+ "endCaptures": {
251
+ "1": {
252
+ "name": "variable.language.mcfunction"
253
+ },
254
+ "2": {
255
+ "name": "invalid.illegal.mcfunction"
256
+ }
257
+ }
258
+ },
259
+ "command.token.nbt_list": {
260
+ "name": "meta.command.token.nbt_list.mcfunction",
261
+ "begin": "(?\u003c= )(\\[)",
262
+ "end": "(?=\\n)|(\\])([^ \\n]*)",
263
+ "patterns": [
264
+ {
265
+ "include": "#nbt.list"
266
+ }
267
+ ],
268
+ "beginCaptures": {
269
+ "1": {
270
+ "name": "variable.language.mcfunction"
271
+ }
272
+ },
273
+ "endCaptures": {
274
+ "1": {
275
+ "name": "variable.language.mcfunction"
276
+ },
277
+ "2": {
278
+ "name": "invalid.illegal.mcfunction"
279
+ }
280
+ }
281
+ },
282
+ "command.token.nbt_path": {
283
+ "name": "meta.command.token.nbt_path.mcfunction",
284
+ "begin": "(?\u003c= )(?=\\w+[\\.\\[\\{])",
285
+ "end": "(?=[ \\n])",
286
+ "patterns": [
287
+ {
288
+ "include": "#nbt_path.property"
289
+ }
290
+ ]
291
+ },
292
+ "command.token.number": {
293
+ "name": "meta.command.token.number.mcfunction",
294
+ "match": "(?\u003c= )(\\-?\\d*\\.?\\d+)(?=[ \\n])",
295
+ "captures": {
296
+ "1": {
297
+ "name": "constant.numeric.mcfunction"
298
+ }
299
+ }
300
+ },
301
+ "command.token.operation": {
302
+ "name": "meta.command.token.operation.mcfunction",
303
+ "match": "(?\u003c= )(\\%\\=|\\*\\=|\\+\\=|\\-\\=|\\/\\=|\\\u003c|\\=|\\\u003e|\\\u003e\\\u003c|\\\u003c\\=|\\\u003e\\=)(?=[ \\n])",
304
+ "captures": {
305
+ "1": {
306
+ "name": "constant.numeric.mcfunction"
307
+ }
308
+ }
309
+ },
310
+ "command.token.quoted_string": {
311
+ "name": "meta.command.token.quoted_string.mcfunction",
312
+ "begin": "(?\u003c= )(\\\")",
313
+ "end": "(?=\\n)|(\\\")([^ \\n]*)",
314
+ "patterns": [
315
+ {
316
+ "include": "#common.quoted_string"
317
+ }
318
+ ],
319
+ "beginCaptures": {
320
+ "1": {
321
+ "name": "string.quoted.mcfunction"
322
+ }
323
+ },
324
+ "endCaptures": {
325
+ "1": {
326
+ "name": "string.quoted.mcfunction"
327
+ },
328
+ "2": {
329
+ "name": "invalid.illegal.mcfunction"
330
+ }
331
+ }
332
+ },
333
+ "command.token.range": {
334
+ "name": "meta.command.token.range.mcfunction",
335
+ "match": "(?\u003c= )(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?(?=[ \\n])",
336
+ "captures": {
337
+ "1": {
338
+ "name": "constant.numeric.mcfunction"
339
+ },
340
+ "2": {
341
+ "name": "keyword.control.mcfunction"
342
+ },
343
+ "3": {
344
+ "name": "constant.numeric.mcfunction"
345
+ }
346
+ }
347
+ },
348
+ "command.token.resource_location": {
349
+ "name": "meta.command.token.resource_location.mcfunction",
350
+ "match": "(?\u003c= )([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?=[ \\n])",
351
+ "captures": {
352
+ "1": {
353
+ "name": "entity.name.function.mcfunction"
354
+ },
355
+ "2": {
356
+ "name": "entity.name.function.mcfunction"
357
+ },
358
+ "3": {
359
+ "name": "entity.name.function.mcfunction"
360
+ }
361
+ }
362
+ },
363
+ "command.token.root_redirect": {
364
+ "name": "meta.command.token.root_redirect.mcfunction",
365
+ "match": "(?\u003c= )(run) ?([a-z_][a-z0-9_]*)?(?=[ \\n])",
366
+ "captures": {
367
+ "1": {
368
+ "name": "entity.name.mcfunction"
369
+ },
370
+ "2": {
371
+ "name": "keyword.control.mcfunction"
372
+ }
373
+ }
374
+ },
375
+ "command.token.selector_with_arguments": {
376
+ "name": "meta.command.token.selector_with_arguments.mcfunction",
377
+ "begin": "(?\u003c= )(\\@[a-z])(\\[)",
378
+ "end": "(?=\\n)|(\\])([^ \\n]*)",
379
+ "patterns": [
380
+ {
381
+ "name": "meta.selector.argument_spacing.mcfunction",
382
+ "match": " +"
383
+ },
384
+ {
385
+ "name": "meta.selector.argument.mcfunction",
386
+ "begin": "([a-z_][a-z0-9_]*) *(\\=) *(\\!)? *",
387
+ "end": "(\\,)(?=[\\]\\n])|(\\,)|(?=[\\]\\n])",
388
+ "patterns": [
389
+ {
390
+ "include": "#selector.argument.resource_location"
391
+ },
392
+ {
393
+ "include": "#selector.argument.tagged_resource_location"
394
+ },
395
+ {
396
+ "include": "#selector.argument.range"
397
+ },
398
+ {
399
+ "include": "#selector.argument.number"
400
+ },
401
+ {
402
+ "include": "#selector.argument.boolean"
403
+ },
404
+ {
405
+ "include": "#selector.argument.property_map"
406
+ },
407
+ {
408
+ "include": "#selector.argument.nbt_compound"
409
+ },
410
+ {
411
+ "include": "#selector.argument.quoted_string"
412
+ },
413
+ {
414
+ "include": "#selector.argument.single_quoted_string"
415
+ },
416
+ {
417
+ "include": "#selector.argument.unquoted_string"
418
+ },
419
+ {
420
+ "include": "#selector.argument.unknown"
421
+ }
422
+ ],
423
+ "beginCaptures": {
424
+ "1": {
425
+ "name": "variable.other.mcfunction"
426
+ },
427
+ "2": {
428
+ "name": "support.class.mcfunction"
429
+ },
430
+ "3": {
431
+ "name": "keyword.control.mcfunction"
432
+ }
433
+ },
434
+ "endCaptures": {
435
+ "1": {
436
+ "name": "invalid.illegal.mcfunction"
437
+ },
438
+ "2": {
439
+ "name": "support.class.mcfunction"
440
+ }
441
+ }
442
+ },
443
+ {
444
+ "name": "invalid.illegal.mcfunction",
445
+ "match": "[^\\]\\n]+"
446
+ }
447
+ ],
448
+ "beginCaptures": {
449
+ "1": {
450
+ "name": "support.class.mcfunction"
451
+ },
452
+ "2": {
453
+ "name": "support.class.mcfunction"
454
+ }
455
+ },
456
+ "endCaptures": {
457
+ "1": {
458
+ "name": "support.class.mcfunction"
459
+ },
460
+ "2": {
461
+ "name": "invalid.illegal.mcfunction"
462
+ }
463
+ }
464
+ },
465
+ "command.token.selector_without_arguments": {
466
+ "name": "meta.command.token.selector_without_arguments.mcfunction",
467
+ "match": "(?\u003c= )(\\@[a-z])(?=[ \\n])",
468
+ "captures": {
469
+ "1": {
470
+ "name": "support.class.mcfunction"
471
+ }
472
+ }
473
+ },
474
+ "command.token.single_quoted_string": {
475
+ "name": "meta.command.token.single_quoted_string.mcfunction",
476
+ "begin": "(?\u003c= )(\\')",
477
+ "end": "(?=\\n)|(\\')([^ \\n]*)",
478
+ "patterns": [
479
+ {
480
+ "include": "#common.single_quoted_string"
481
+ }
482
+ ],
483
+ "beginCaptures": {
484
+ "1": {
485
+ "name": "string.quoted.mcfunction"
486
+ }
487
+ },
488
+ "endCaptures": {
489
+ "1": {
490
+ "name": "string.quoted.mcfunction"
491
+ },
492
+ "2": {
493
+ "name": "invalid.illegal.mcfunction"
494
+ }
495
+ }
496
+ },
497
+ "command.token.tagged_resource_location": {
498
+ "name": "meta.command.token.tagged_resource_location.mcfunction",
499
+ "match": "(?\u003c= )(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?=[ \\n])",
500
+ "captures": {
501
+ "1": {
502
+ "name": "entity.name.function.mcfunction"
503
+ },
504
+ "2": {
505
+ "name": "entity.name.function.mcfunction"
506
+ },
507
+ "3": {
508
+ "name": "entity.name.function.mcfunction"
509
+ },
510
+ "4": {
511
+ "name": "entity.name.function.mcfunction"
512
+ }
513
+ }
514
+ },
515
+ "command.token.unknown": {
516
+ "name": "meta.command.token.unknown.mcfunction",
517
+ "match": "(?\u003c= )([^ \\n]*)(?=[ \\n])",
518
+ "captures": {
519
+ "1": {
520
+ "name": "invalid.illegal.mcfunction"
521
+ }
522
+ }
523
+ },
524
+ "command.token.unquoted_string": {
525
+ "name": "meta.command.token.unquoted_string.mcfunction",
526
+ "match": "(?\u003c= )(\\S+)(?=[ \\n])",
527
+ "captures": {
528
+ "1": {
529
+ "name": "string.unquoted.mcfunction"
530
+ }
531
+ }
532
+ },
533
+ "command.token.uuid": {
534
+ "name": "meta.command.token.uuid.mcfunction",
535
+ "match": "(?\u003c= )([0-9a-fA-F]+(?:(-)[0-9a-fA-F]+){4})(?=[ \\n])",
536
+ "captures": {
537
+ "1": {
538
+ "name": "support.class.mcfunction"
539
+ }
540
+ }
541
+ },
542
+ "command.tokens": {
543
+ "patterns": [
544
+ {
545
+ "include": "#command.token.nbt_compound"
546
+ },
547
+ {
548
+ "include": "#command.token.nbt_list"
549
+ },
550
+ {
551
+ "include": "#command.token.selector_with_arguments"
552
+ },
553
+ {
554
+ "include": "#command.token.selector_without_arguments"
555
+ },
556
+ {
557
+ "include": "#command.token.block_predicate"
558
+ },
559
+ {
560
+ "include": "#command.token.resource_location"
561
+ },
562
+ {
563
+ "include": "#command.token.tagged_resource_location"
564
+ },
565
+ {
566
+ "include": "#command.token.range"
567
+ },
568
+ {
569
+ "include": "#command.token.number"
570
+ },
571
+ {
572
+ "include": "#command.token.coordinate"
573
+ },
574
+ {
575
+ "include": "#command.token.boolean"
576
+ },
577
+ {
578
+ "include": "#command.token.operation"
579
+ },
580
+ {
581
+ "include": "#command.token.root_redirect"
582
+ },
583
+ {
584
+ "include": "#command.token.literal"
585
+ },
586
+ {
587
+ "include": "#command.token.uuid"
588
+ },
589
+ {
590
+ "include": "#command.token.fakeplayer"
591
+ },
592
+ {
593
+ "include": "#command.token.nbt_path"
594
+ },
595
+ {
596
+ "include": "#command.token.quoted_string"
597
+ },
598
+ {
599
+ "include": "#command.token.single_quoted_string"
600
+ },
601
+ {
602
+ "include": "#command.token.unquoted_string"
603
+ },
604
+ {
605
+ "include": "#command.token.unknown"
606
+ }
607
+ ]
608
+ },
609
+ "comment": {
610
+ "patterns": [
611
+ {
612
+ "name": "meta.comment.todo.mcfunction",
613
+ "match": "^\\s*(#)\\s*((?:TODO|FIXME|DELETEME))(\\b.*)$",
614
+ "captures": {
615
+ "1": {
616
+ "name": "comment.number-sign.mcfunction"
617
+ },
618
+ "2": {
619
+ "name": "markup.bold.mcfunction"
620
+ },
621
+ "3": {
622
+ "name": "comment.number-sign.mcfunction"
623
+ }
624
+ }
625
+ },
626
+ {
627
+ "name": "meta.comment.annotation.mcfunction",
628
+ "match": "^\\s*(#)\\s*(\\@\\w*)(\\b.*)$",
629
+ "captures": {
630
+ "1": {
631
+ "name": "comment.number-sign.mcfunction"
632
+ },
633
+ "2": {
634
+ "name": "markup.heading.mcfunction"
635
+ },
636
+ "3": {
637
+ "name": "comment.number-sign.mcfunction"
638
+ }
639
+ }
640
+ },
641
+ {
642
+ "name": "meta.comment.annotation.mcfunction",
643
+ "match": "^\\s*(##)\\s*(.*)$",
644
+ "captures": {
645
+ "1": {
646
+ "name": "comment.number-sign.mcfunction"
647
+ },
648
+ "2": {
649
+ "name": "markup.heading.mcfunction"
650
+ }
651
+ }
652
+ },
653
+ {
654
+ "name": "meta.comment.mcfunction",
655
+ "match": "^\\s*(#.*)$",
656
+ "captures": {
657
+ "1": {
658
+ "name": "comment.number-sign.mcfunction"
659
+ }
660
+ }
661
+ }
662
+ ]
663
+ },
664
+ "common.quoted_string": {
665
+ "patterns": [
666
+ {
667
+ "name": "string.quoted.mcfunction",
668
+ "match": "[^\\\\\\\"\\n]"
669
+ },
670
+ {
671
+ "name": "constant.character.escape.mcfunction",
672
+ "match": "\\\\[^\\n]"
673
+ },
674
+ {
675
+ "name": "invalid.illegal.mcfunction",
676
+ "match": "\\\\"
677
+ }
678
+ ]
679
+ },
680
+ "common.single_quoted_string": {
681
+ "patterns": [
682
+ {
683
+ "name": "string.quoted.mcfunction",
684
+ "match": "[^\\\\\\'\\n]"
685
+ },
686
+ {
687
+ "name": "constant.character.escape.mcfunction",
688
+ "match": "\\\\[^\\n]"
689
+ },
690
+ {
691
+ "name": "invalid.illegal.mcfunction",
692
+ "match": "\\\\"
693
+ }
694
+ ]
695
+ },
696
+ "nbt.compound": {
697
+ "patterns": [
698
+ {
699
+ "match": " +"
700
+ },
701
+ {
702
+ "begin": "(,)? *(\\w+|\\\"[^\\n\\\"]+\\\") *(\\:) *",
703
+ "end": " *(?=[\\n\\}\\,])",
704
+ "patterns": [
705
+ {
706
+ "include": "#nbt.value"
707
+ }
708
+ ],
709
+ "beginCaptures": {
710
+ "1": {
711
+ "name": "variable.language.mcfunction"
712
+ },
713
+ "2": {
714
+ "name": "string.interpolated.mcfunction"
715
+ },
716
+ "3": {
717
+ "name": "variable.language.mcfunction"
718
+ }
719
+ }
720
+ },
721
+ {
722
+ "name": "invalid.illegal.mcfunction",
723
+ "match": "[^\\n\\}\\,]+"
724
+ }
725
+ ]
726
+ },
727
+ "nbt.list": {
728
+ "patterns": [
729
+ {
730
+ "match": " +"
731
+ },
732
+ {
733
+ "begin": "(,)? *(?=[^\\n\\]\\,])",
734
+ "end": " *(?=[\\n\\]\\,])",
735
+ "patterns": [
736
+ {
737
+ "include": "#nbt.value"
738
+ }
739
+ ],
740
+ "beginCaptures": {
741
+ "1": {
742
+ "name": "variable.language.mcfunction"
743
+ }
744
+ }
745
+ },
746
+ {
747
+ "name": "invalid.illegal.mcfunction",
748
+ "match": "[^\\n\\]\\,]+"
749
+ }
750
+ ]
751
+ },
752
+ "nbt.value": {
753
+ "patterns": [
754
+ {
755
+ "begin": "(\\{)",
756
+ "end": "(?=\\n)|(\\})",
757
+ "patterns": [
758
+ {
759
+ "include": "#nbt.compound"
760
+ }
761
+ ],
762
+ "beginCaptures": {
763
+ "1": {
764
+ "name": "variable.language.mcfunction"
765
+ }
766
+ },
767
+ "endCaptures": {
768
+ "1": {
769
+ "name": "variable.language.mcfunction"
770
+ }
771
+ }
772
+ },
773
+ {
774
+ "begin": "(\\[)",
775
+ "end": "(?=\\n)|(\\])",
776
+ "patterns": [
777
+ {
778
+ "include": "#nbt.list"
779
+ }
780
+ ],
781
+ "beginCaptures": {
782
+ "1": {
783
+ "name": "variable.language.mcfunction"
784
+ }
785
+ },
786
+ "endCaptures": {
787
+ "1": {
788
+ "name": "variable.language.mcfunction"
789
+ }
790
+ }
791
+ },
792
+ {
793
+ "begin": "(\\\")",
794
+ "end": "(?=\\n)|(\\\")",
795
+ "patterns": [
796
+ {
797
+ "include": "#common.quoted_string"
798
+ }
799
+ ],
800
+ "beginCaptures": {
801
+ "1": {
802
+ "name": "string.quoted.mcfunction"
803
+ }
804
+ },
805
+ "endCaptures": {
806
+ "1": {
807
+ "name": "string.quoted.mcfunction"
808
+ }
809
+ }
810
+ },
811
+ {
812
+ "begin": "(\\')",
813
+ "end": "(?=\\n)|(\\')",
814
+ "patterns": [
815
+ {
816
+ "include": "#common.single_quoted_string"
817
+ }
818
+ ],
819
+ "beginCaptures": {
820
+ "1": {
821
+ "name": "string.quoted.mcfunction"
822
+ }
823
+ },
824
+ "endCaptures": {
825
+ "1": {
826
+ "name": "string.quoted.mcfunction"
827
+ }
828
+ }
829
+ },
830
+ {
831
+ "name": "constant.numeric.mcfunction",
832
+ "match": "(true|false)"
833
+ },
834
+ {
835
+ "name": "constant.numeric.mcfunction",
836
+ "match": "(\\-?\\d*\\.?\\d+)"
837
+ },
838
+ {
839
+ "name": "string.unquoted.mcfunction",
840
+ "match": "([^\\s\\{\\}\\[\\]\\,\\:\\=]+)"
841
+ },
842
+ {
843
+ "name": "invalid.illegal.mcfunction",
844
+ "match": "[^\\n\\,\\]\\}]+"
845
+ }
846
+ ]
847
+ },
848
+ "nbt_path.index": {
849
+ "patterns": [
850
+ {
851
+ "match": "(?\u003c=\\[)(\\-?\\d+)(?=\\])",
852
+ "captures": {
853
+ "1": {
854
+ "name": "constant.numeric.mcfunction"
855
+ }
856
+ }
857
+ },
858
+ {
859
+ "begin": "(\\{)",
860
+ "end": "(?=\\n)|(\\})([^\\]\\,\\n]*)",
861
+ "patterns": [
862
+ {
863
+ "include": "#nbt.compound"
864
+ }
865
+ ],
866
+ "beginCaptures": {
867
+ "1": {
868
+ "name": "variable.language.mcfunction"
869
+ }
870
+ },
871
+ "endCaptures": {
872
+ "1": {
873
+ "name": "variable.language.mcfunction"
874
+ },
875
+ "2": {
876
+ "name": "invalid.illegal.mcfunction"
877
+ }
878
+ }
879
+ },
880
+ {
881
+ "name": "invalid.illegal.mcfunction",
882
+ "match": "[^\\n\\]]+"
883
+ }
884
+ ]
885
+ },
886
+ "nbt_path.property": {
887
+ "patterns": [
888
+ {
889
+ "begin": "(\\.)?(\\w+)(\\[)",
890
+ "end": "(\\])|(?=\\n)",
891
+ "patterns": [
892
+ {
893
+ "include": "#nbt_path.index"
894
+ }
895
+ ],
896
+ "beginCaptures": {
897
+ "1": {
898
+ "name": "variable.language.mcfunction"
899
+ },
900
+ "2": {
901
+ "name": "string.interpolated.mcfunction"
902
+ },
903
+ "3": {
904
+ "name": "variable.language.mcfunction"
905
+ }
906
+ },
907
+ "endCaptures": {
908
+ "1": {
909
+ "name": "variable.language.mcfunction"
910
+ }
911
+ }
912
+ },
913
+ {
914
+ "begin": "(\\.)?(\\w+)(\\{)",
915
+ "end": "(\\})|(?=\\n)",
916
+ "patterns": [
917
+ {
918
+ "include": "#nbt.compound"
919
+ }
920
+ ],
921
+ "beginCaptures": {
922
+ "1": {
923
+ "name": "variable.language.mcfunction"
924
+ },
925
+ "2": {
926
+ "name": "string.interpolated.mcfunction"
927
+ },
928
+ "3": {
929
+ "name": "variable.language.mcfunction"
930
+ }
931
+ },
932
+ "endCaptures": {
933
+ "1": {
934
+ "name": "variable.language.mcfunction"
935
+ }
936
+ }
937
+ },
938
+ {
939
+ "match": "(\\.)?(\\w+)",
940
+ "captures": {
941
+ "1": {
942
+ "name": "variable.language.mcfunction"
943
+ },
944
+ "2": {
945
+ "name": "string.interpolated.mcfunction"
946
+ }
947
+ }
948
+ },
949
+ {
950
+ "match": "(\\.)(?=\\.)",
951
+ "captures": {
952
+ "1": {
953
+ "name": "invalid.illegal.mcfunction"
954
+ }
955
+ }
956
+ },
957
+ {
958
+ "name": "invalid.illegal.mcfunction",
959
+ "match": "[^\\.\\s]+"
960
+ }
961
+ ]
962
+ },
963
+ "property_map": {
964
+ "patterns": [
965
+ {
966
+ "match": " +"
967
+ },
968
+ {
969
+ "begin": "(,)? *([a-z0-9_\\.\\-]+) *(\\=) *",
970
+ "end": " *(?=[\\n\\}\\,])",
971
+ "patterns": [
972
+ {
973
+ "include": "#property_map.values"
974
+ }
975
+ ],
976
+ "beginCaptures": {
977
+ "1": {
978
+ "name": "variable.language.mcfunction"
979
+ },
980
+ "2": {
981
+ "name": "entity.name.function.mcfunction"
982
+ },
983
+ "3": {
984
+ "name": "variable.language.mcfunction"
985
+ }
986
+ }
987
+ },
988
+ {
989
+ "begin": "(,)? *([a-z0-9_\\.\\-]+\\:[a-z0-9_\\.\\-\\/]+|[a-z0-9_\\.\\-\\/]+) *(\\=) *",
990
+ "end": " *(?=[\\n\\}\\,])",
991
+ "patterns": [
992
+ {
993
+ "include": "#property_map.values"
994
+ }
995
+ ],
996
+ "beginCaptures": {
997
+ "1": {
998
+ "name": "variable.language.mcfunction"
999
+ },
1000
+ "2": {
1001
+ "name": "entity.name.function.mcfunction"
1002
+ },
1003
+ "3": {
1004
+ "name": "variable.language.mcfunction"
1005
+ }
1006
+ }
1007
+ },
1008
+ {
1009
+ "name": "invalid.illegal.mcfunction",
1010
+ "match": "[^\\n\\}\\,]+"
1011
+ }
1012
+ ]
1013
+ },
1014
+ "property_map.values": {
1015
+ "patterns": [
1016
+ {
1017
+ "match": "(true|false)",
1018
+ "captures": {
1019
+ "1": {
1020
+ "name": "constant.numeric.mcfunction"
1021
+ }
1022
+ }
1023
+ },
1024
+ {
1025
+ "match": "(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?",
1026
+ "captures": {
1027
+ "1": {
1028
+ "name": "constant.numeric.mcfunction"
1029
+ },
1030
+ "2": {
1031
+ "name": "keyword.control.mcfunction"
1032
+ },
1033
+ "3": {
1034
+ "name": "constant.numeric.mcfunction"
1035
+ }
1036
+ }
1037
+ },
1038
+ {
1039
+ "match": "(\\-?\\d*\\.?\\d+)",
1040
+ "captures": {
1041
+ "1": {
1042
+ "name": "constant.numeric.mcfunction"
1043
+ }
1044
+ }
1045
+ },
1046
+ {
1047
+ "begin": "(\\{) *",
1048
+ "end": "(?=\\n)|(\\})([^\\}\\,\\n]*)",
1049
+ "patterns": [
1050
+ {
1051
+ "include": "#property_map"
1052
+ }
1053
+ ],
1054
+ "beginCaptures": {
1055
+ "1": {
1056
+ "name": "variable.language.mcfunction"
1057
+ }
1058
+ },
1059
+ "endCaptures": {
1060
+ "1": {
1061
+ "name": "variable.language.mcfunction"
1062
+ },
1063
+ "2": {
1064
+ "name": "invalid.illegal.mcfunction"
1065
+ }
1066
+ }
1067
+ }
1068
+ ]
1069
+ },
1070
+ "selector.argument.boolean": {
1071
+ "name": "meta.selector.argument.boolean.mcfunction",
1072
+ "match": "(true|false)(?= *[\\,\\]\\n])",
1073
+ "captures": {
1074
+ "1": {
1075
+ "name": "constant.numeric.mcfunction"
1076
+ }
1077
+ }
1078
+ },
1079
+ "selector.argument.nbt_compound": {
1080
+ "name": "meta.selector.argument.nbt_compound.mcfunction",
1081
+ "begin": "(\\{)",
1082
+ "end": "(?=\\n)|(\\})([^\\]\\,\\n]*)",
1083
+ "patterns": [
1084
+ {
1085
+ "include": "#nbt.compound"
1086
+ }
1087
+ ],
1088
+ "beginCaptures": {
1089
+ "1": {
1090
+ "name": "variable.language.mcfunction"
1091
+ }
1092
+ },
1093
+ "endCaptures": {
1094
+ "1": {
1095
+ "name": "variable.language.mcfunction"
1096
+ },
1097
+ "2": {
1098
+ "name": "invalid.illegal.mcfunction"
1099
+ }
1100
+ }
1101
+ },
1102
+ "selector.argument.number": {
1103
+ "name": "meta.selector.argument.number.mcfunction",
1104
+ "match": "(\\-?\\d*\\.?\\d+)(?= *[\\,\\]\\n])",
1105
+ "captures": {
1106
+ "1": {
1107
+ "name": "constant.numeric.mcfunction"
1108
+ }
1109
+ }
1110
+ },
1111
+ "selector.argument.property_map": {
1112
+ "name": "meta.selector.argument.property_map.mcfunction",
1113
+ "begin": "(\\{)(?= *([a-z0-9_\\.\\-]+\\:[a-z0-9_\\.\\-\\/]+|[a-z0-9_\\.\\-\\/]+|([a-z0-9_\\.\\-]+)) *(\\=))",
1114
+ "end": "(?=\\n)|(\\})([^\\]\\,\\n]*)",
1115
+ "patterns": [
1116
+ {
1117
+ "include": "#property_map"
1118
+ }
1119
+ ],
1120
+ "beginCaptures": {
1121
+ "1": {
1122
+ "name": "variable.language.mcfunction"
1123
+ }
1124
+ },
1125
+ "endCaptures": {
1126
+ "1": {
1127
+ "name": "variable.language.mcfunction"
1128
+ },
1129
+ "2": {
1130
+ "name": "invalid.illegal.mcfunction"
1131
+ }
1132
+ }
1133
+ },
1134
+ "selector.argument.quoted_string": {
1135
+ "name": "meta.selector.argument.quoted_string.mcfunction",
1136
+ "begin": "(\\\")",
1137
+ "end": "(?=\\n)|(\\\")([^\\]\\,\\n]*)",
1138
+ "patterns": [
1139
+ {
1140
+ "include": "#common.quoted_string"
1141
+ }
1142
+ ],
1143
+ "beginCaptures": {
1144
+ "1": {
1145
+ "name": "string.quoted.mcfunction"
1146
+ }
1147
+ },
1148
+ "endCaptures": {
1149
+ "1": {
1150
+ "name": "string.quoted.mcfunction"
1151
+ },
1152
+ "2": {
1153
+ "name": "invalid.illegal.mcfunction"
1154
+ }
1155
+ }
1156
+ },
1157
+ "selector.argument.range": {
1158
+ "name": "meta.selector.argument.range.mcfunction",
1159
+ "match": "(\\-?\\d*\\.?\\d+)?(\\.\\.)(\\-?\\d*\\.?\\d+)?(?= *[\\,\\]\\n])",
1160
+ "captures": {
1161
+ "1": {
1162
+ "name": "constant.numeric.mcfunction"
1163
+ },
1164
+ "2": {
1165
+ "name": "keyword.control.mcfunction"
1166
+ },
1167
+ "3": {
1168
+ "name": "constant.numeric.mcfunction"
1169
+ }
1170
+ }
1171
+ },
1172
+ "selector.argument.resource_location": {
1173
+ "name": "meta.selector.argument.resource_location.mcfunction",
1174
+ "match": "([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?= *[\\,\\]\\n])",
1175
+ "captures": {
1176
+ "1": {
1177
+ "name": "entity.name.function.mcfunction"
1178
+ },
1179
+ "2": {
1180
+ "name": "entity.name.function.mcfunction"
1181
+ },
1182
+ "3": {
1183
+ "name": "entity.name.function.mcfunction"
1184
+ }
1185
+ }
1186
+ },
1187
+ "selector.argument.single_quoted_string": {
1188
+ "name": "meta.selector.argument.single_quoted_string.mcfunction",
1189
+ "begin": "(\\')",
1190
+ "end": "(?=\\n)|(\\')([^\\]\\,\\n]*)",
1191
+ "patterns": [
1192
+ {
1193
+ "include": "#common.single_quoted_string"
1194
+ }
1195
+ ],
1196
+ "beginCaptures": {
1197
+ "1": {
1198
+ "name": "string.quoted.mcfunction"
1199
+ }
1200
+ },
1201
+ "endCaptures": {
1202
+ "1": {
1203
+ "name": "string.quoted.mcfunction"
1204
+ },
1205
+ "2": {
1206
+ "name": "invalid.illegal.mcfunction"
1207
+ }
1208
+ }
1209
+ },
1210
+ "selector.argument.tagged_resource_location": {
1211
+ "name": "meta.selector.argument.tagged_resource_location.mcfunction",
1212
+ "match": "(\\#)([a-z0-9_\\.\\-]+)(\\:)([a-z0-9_\\.\\-\\/]+)(?= *[\\,\\]\\n])",
1213
+ "captures": {
1214
+ "1": {
1215
+ "name": "entity.name.function.mcfunction"
1216
+ },
1217
+ "2": {
1218
+ "name": "entity.name.function.mcfunction"
1219
+ },
1220
+ "3": {
1221
+ "name": "entity.name.function.mcfunction"
1222
+ },
1223
+ "4": {
1224
+ "name": "entity.name.function.mcfunction"
1225
+ }
1226
+ }
1227
+ },
1228
+ "selector.argument.unknown": {
1229
+ "name": "meta.selector.argument.unknown.mcfunction",
1230
+ "match": "([^\\]\\n\\,]+)",
1231
+ "captures": {
1232
+ "1": {
1233
+ "name": "invalid.illegal.mcfunction"
1234
+ }
1235
+ }
1236
+ },
1237
+ "selector.argument.unquoted_string": {
1238
+ "name": "meta.selector.argument.unquoted_string.mcfunction",
1239
+ "match": "([^\\s\\{\\}\\[\\]\\,\\:\\=\\!]+)(?= *[\\,\\]\\n])",
1240
+ "captures": {
1241
+ "1": {
1242
+ "name": "string.unquoted.mcfunction"
1243
+ }
1244
+ }
1245
+ },
1246
+ "unknown": {
1247
+ "patterns": [
1248
+ {
1249
+ "name": "meta.unknown.mcfunction",
1250
+ "match": "^(.*)$",
1251
+ "captures": {
1252
+ "1": {
1253
+ "name": "invalid.illegal.mcfunction"
1254
+ }
1255
+ }
1256
+ }
1257
+ ]
1258
+ }
1259
+ }
1260
+ }