github-linguist 7.8.0 → 7.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/annotation.liquidhaskell.haskell.json +47 -0
  3. data/grammars/hint.haskell.json +47 -0
  4. data/grammars/hint.message.haskell.json +47 -0
  5. data/grammars/hint.type.haskell.json +47 -0
  6. data/grammars/markdown.plantuml.codeblock.json +26 -0
  7. data/grammars/source.4dm.json +104 -33
  8. data/grammars/source.abap.json +1 -1
  9. data/grammars/source.ahk.json +6 -2
  10. data/grammars/source.chapel.json +4 -4
  11. data/grammars/source.clarion.json +6 -6
  12. data/grammars/source.csound.json +1 -1
  13. data/grammars/source.dart.json +57 -31
  14. data/grammars/source.elixir.json +8 -0
  15. data/grammars/source.gcode.json +0 -4
  16. data/grammars/source.hack.json +4 -18
  17. data/grammars/source.haskell.json +47 -0
  18. data/grammars/source.hsig.json +47 -0
  19. data/grammars/source.julia.json +17 -17
  20. data/grammars/source.lean.json +19 -3
  21. data/grammars/source.lean.markdown.json +2598 -0
  22. data/grammars/source.matlab.json +215 -152
  23. data/grammars/source.mrc.json +416 -534
  24. data/grammars/source.nasl.json +155 -0
  25. data/grammars/source.nextflow.json +2 -2
  26. data/grammars/source.p4.json +21 -5
  27. data/grammars/source.prisma.json +7 -0
  28. data/grammars/source.qasm.json +66 -0
  29. data/grammars/source.ql.json +1408 -0
  30. data/grammars/source.tnsaudit.json +256 -0
  31. data/grammars/source.v.json +1 -1
  32. data/grammars/source.wsd.json +775 -0
  33. data/grammars/text.tex.latex.haskell.json +47 -0
  34. data/grammars/version +1 -1
  35. data/lib/linguist/VERSION +1 -1
  36. data/lib/linguist/file_blob.rb +1 -1
  37. data/lib/linguist/generated.rb +14 -3
  38. data/lib/linguist/heuristics.yml +7 -0
  39. data/lib/linguist/languages.json +1 -1
  40. data/lib/linguist/languages.yml +39 -0
  41. data/lib/linguist/linguist.bundle +0 -0
  42. data/lib/linguist/samples.json +1169 -38
  43. data/lib/linguist/shebang.rb +5 -3
  44. metadata +9 -3
  45. data/grammars/source.yaml-ext.json +0 -324
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90dbfdaa3754cbf87f2a3b4b8cdf7f62bf8e408422176f0d75d4ef33fa848ba8
4
- data.tar.gz: 6a2826a3ed40df5d5a6217bfa632816db748d5d6f583f296d68e2b4962b52bd2
3
+ metadata.gz: e83ceb8bf77137817f34d6e9f7f03c98848810f05d5b302041890d0cec6d8a10
4
+ data.tar.gz: 5958359cc33f77f56c59166000692ce9f48f8b502520f1d1b1fcfd5ff27e1e93
5
5
  SHA512:
6
- metadata.gz: a254a4b16bafda16e0e509b414efe63cf68c4636893db43003fe95088bc1998e0822cc6c1cf6c604db5f18119822382a3e67ded9845c196eefc9deebd48ff56b
7
- data.tar.gz: 651e0534da3c4f5381a2120582057c2ac12646e6f95c9f261e45cf6ea76b7708407ac69cb302e7a01b1d98b11211c53df1ca4140bbe47fe37dd482320edf8c74
6
+ metadata.gz: da8c5a07b3b3bbb1e9beefa1d968fbfb6af90ce4da450d7993f53d72bda4f7cfd50acb5d24b248f7042370c025049dca3bc97a005c9ebe331f8db5cf3bc05675
7
+ data.tar.gz: 689b968ac78b67169813cceba5a2cc8471ba844b8e040eadf3560d6f0ba651e47a1448877fc2c34ade13f99905a302ad12b6d631c4fb2deb85f0b18c3b560be6
@@ -286,6 +286,9 @@
286
286
  {
287
287
  "include": "#comments"
288
288
  },
289
+ {
290
+ "include": "#string"
291
+ },
289
292
  {
290
293
  "include": "#where"
291
294
  },
@@ -1716,6 +1719,12 @@
1716
1719
  {
1717
1720
  "include": "#via_list"
1718
1721
  },
1722
+ {
1723
+ "include": "#via_list_newline"
1724
+ },
1725
+ {
1726
+ "include": "#via_indent"
1727
+ },
1719
1728
  {
1720
1729
  "include": "#via_simple"
1721
1730
  },
@@ -1724,6 +1733,25 @@
1724
1733
  }
1725
1734
  ]
1726
1735
  },
1736
+ "via_indent": {
1737
+ "patterns": [
1738
+ {
1739
+ "name": "meta.via.haskell",
1740
+ "begin": "(?:\\G(?:\\s*\\w+\\s)?|^)([ \\t]*)(via)\\s*",
1741
+ "end": "(?:^(?!\\1|[ \\t]*$)|(?=@-}))",
1742
+ "patterns": [
1743
+ {
1744
+ "include": "#type_signature"
1745
+ }
1746
+ ],
1747
+ "beginCaptures": {
1748
+ "2": {
1749
+ "name": "keyword.other.haskell"
1750
+ }
1751
+ }
1752
+ }
1753
+ ]
1754
+ },
1727
1755
  "via_keyword": {
1728
1756
  "patterns": [
1729
1757
  {
@@ -1756,6 +1784,25 @@
1756
1784
  }
1757
1785
  ]
1758
1786
  },
1787
+ "via_list_newline": {
1788
+ "patterns": [
1789
+ {
1790
+ "name": "meta.via.haskell",
1791
+ "begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*",
1792
+ "end": "$",
1793
+ "patterns": [
1794
+ {
1795
+ "include": "#type_signature"
1796
+ }
1797
+ ],
1798
+ "beginCaptures": {
1799
+ "1": {
1800
+ "name": "keyword.other.haskell"
1801
+ }
1802
+ }
1803
+ }
1804
+ ]
1805
+ },
1759
1806
  "via_simple": {
1760
1807
  "patterns": [
1761
1808
  {
@@ -268,6 +268,9 @@
268
268
  {
269
269
  "include": "#comments"
270
270
  },
271
+ {
272
+ "include": "#string"
273
+ },
271
274
  {
272
275
  "include": "#where"
273
276
  },
@@ -1643,6 +1646,12 @@
1643
1646
  {
1644
1647
  "include": "#via_list"
1645
1648
  },
1649
+ {
1650
+ "include": "#via_list_newline"
1651
+ },
1652
+ {
1653
+ "include": "#via_indent"
1654
+ },
1646
1655
  {
1647
1656
  "include": "#via_simple"
1648
1657
  },
@@ -1651,6 +1660,25 @@
1651
1660
  }
1652
1661
  ]
1653
1662
  },
1663
+ "via_indent": {
1664
+ "patterns": [
1665
+ {
1666
+ "name": "meta.via.haskell",
1667
+ "begin": "^([ \\t]*)(via)\\s*",
1668
+ "end": "^(?!\\1|[ \\t]*$)",
1669
+ "patterns": [
1670
+ {
1671
+ "include": "#type_signature"
1672
+ }
1673
+ ],
1674
+ "beginCaptures": {
1675
+ "2": {
1676
+ "name": "keyword.other.haskell"
1677
+ }
1678
+ }
1679
+ }
1680
+ ]
1681
+ },
1654
1682
  "via_keyword": {
1655
1683
  "patterns": [
1656
1684
  {
@@ -1683,6 +1711,25 @@
1683
1711
  }
1684
1712
  ]
1685
1713
  },
1714
+ "via_list_newline": {
1715
+ "patterns": [
1716
+ {
1717
+ "name": "meta.via.haskell",
1718
+ "begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*",
1719
+ "end": "$",
1720
+ "patterns": [
1721
+ {
1722
+ "include": "#type_signature"
1723
+ }
1724
+ ],
1725
+ "beginCaptures": {
1726
+ "1": {
1727
+ "name": "keyword.other.haskell"
1728
+ }
1729
+ }
1730
+ }
1731
+ ]
1732
+ },
1686
1733
  "via_simple": {
1687
1734
  "patterns": [
1688
1735
  {
@@ -292,6 +292,9 @@
292
292
  {
293
293
  "include": "#comments"
294
294
  },
295
+ {
296
+ "include": "#string"
297
+ },
295
298
  {
296
299
  "include": "#where"
297
300
  },
@@ -1667,6 +1670,12 @@
1667
1670
  {
1668
1671
  "include": "#via_list"
1669
1672
  },
1673
+ {
1674
+ "include": "#via_list_newline"
1675
+ },
1676
+ {
1677
+ "include": "#via_indent"
1678
+ },
1670
1679
  {
1671
1680
  "include": "#via_simple"
1672
1681
  },
@@ -1675,6 +1684,25 @@
1675
1684
  }
1676
1685
  ]
1677
1686
  },
1687
+ "via_indent": {
1688
+ "patterns": [
1689
+ {
1690
+ "name": "meta.via.haskell",
1691
+ "begin": "^([ \\t]*)(via)\\s*",
1692
+ "end": "^(?!\\1|[ \\t]*$)",
1693
+ "patterns": [
1694
+ {
1695
+ "include": "#type_signature"
1696
+ }
1697
+ ],
1698
+ "beginCaptures": {
1699
+ "2": {
1700
+ "name": "keyword.other.haskell"
1701
+ }
1702
+ }
1703
+ }
1704
+ ]
1705
+ },
1678
1706
  "via_keyword": {
1679
1707
  "patterns": [
1680
1708
  {
@@ -1707,6 +1735,25 @@
1707
1735
  }
1708
1736
  ]
1709
1737
  },
1738
+ "via_list_newline": {
1739
+ "patterns": [
1740
+ {
1741
+ "name": "meta.via.haskell",
1742
+ "begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*",
1743
+ "end": "$",
1744
+ "patterns": [
1745
+ {
1746
+ "include": "#type_signature"
1747
+ }
1748
+ ],
1749
+ "beginCaptures": {
1750
+ "1": {
1751
+ "name": "keyword.other.haskell"
1752
+ }
1753
+ }
1754
+ }
1755
+ ]
1756
+ },
1710
1757
  "via_simple": {
1711
1758
  "patterns": [
1712
1759
  {
@@ -265,6 +265,9 @@
265
265
  {
266
266
  "include": "#comments"
267
267
  },
268
+ {
269
+ "include": "#string"
270
+ },
268
271
  {
269
272
  "include": "#where"
270
273
  },
@@ -1640,6 +1643,12 @@
1640
1643
  {
1641
1644
  "include": "#via_list"
1642
1645
  },
1646
+ {
1647
+ "include": "#via_list_newline"
1648
+ },
1649
+ {
1650
+ "include": "#via_indent"
1651
+ },
1643
1652
  {
1644
1653
  "include": "#via_simple"
1645
1654
  },
@@ -1648,6 +1657,25 @@
1648
1657
  }
1649
1658
  ]
1650
1659
  },
1660
+ "via_indent": {
1661
+ "patterns": [
1662
+ {
1663
+ "name": "meta.via.haskell",
1664
+ "begin": "^([ \\t]*)(via)\\s*",
1665
+ "end": "^(?!\\1|[ \\t]*$)",
1666
+ "patterns": [
1667
+ {
1668
+ "include": "#type_signature"
1669
+ }
1670
+ ],
1671
+ "beginCaptures": {
1672
+ "2": {
1673
+ "name": "keyword.other.haskell"
1674
+ }
1675
+ }
1676
+ }
1677
+ ]
1678
+ },
1651
1679
  "via_keyword": {
1652
1680
  "patterns": [
1653
1681
  {
@@ -1680,6 +1708,25 @@
1680
1708
  }
1681
1709
  ]
1682
1710
  },
1711
+ "via_list_newline": {
1712
+ "patterns": [
1713
+ {
1714
+ "name": "meta.via.haskell",
1715
+ "begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*",
1716
+ "end": "$",
1717
+ "patterns": [
1718
+ {
1719
+ "include": "#type_signature"
1720
+ }
1721
+ ],
1722
+ "beginCaptures": {
1723
+ "1": {
1724
+ "name": "keyword.other.haskell"
1725
+ }
1726
+ }
1727
+ }
1728
+ ]
1729
+ },
1683
1730
  "via_simple": {
1684
1731
  "patterns": [
1685
1732
  {
@@ -0,0 +1,26 @@
1
+ {
2
+ "scopeName": "markdown.plantuml.codeblock",
3
+ "patterns": [
4
+ {
5
+ "include": "#plantuml-code-block"
6
+ }
7
+ ],
8
+ "repository": {
9
+ "plantuml-code-block": {
10
+ "begin": "plantuml(\\s+[^`~]*)?$",
11
+ "end": "(^|\\G)(?=\\s*[`~]{3,}\\s*$)",
12
+ "patterns": [
13
+ {
14
+ "contentName": "meta.embedded.block.plantuml",
15
+ "begin": "(^|\\G)(\\s*)(.*)",
16
+ "while": "(^|\\G)(?!\\s*([`~]{3,})\\s*$)",
17
+ "patterns": [
18
+ {
19
+ "include": "source.wsd"
20
+ }
21
+ ]
22
+ }
23
+ ]
24
+ }
25
+ }
26
+ }
@@ -38,6 +38,12 @@
38
38
  {
39
39
  "include": "#object_variable"
40
40
  },
41
+ {
42
+ "include": "#variant_variable"
43
+ },
44
+ {
45
+ "include": "#collection_variable"
46
+ },
41
47
  {
42
48
  "include": "#strings"
43
49
  },
@@ -176,7 +182,7 @@
176
182
  },
177
183
  "boolean_variable": {
178
184
  "name": "storage.type.boolean.4d",
179
- "begin": "(?i)(C_BOOLEAN(\\:C305)?)(\\()((?i)[\\$a-z_0-9 ]+)",
185
+ "begin": "^\\n*[\\t ]*(?i)(C_BOOLEAN(\\:C305)?)(\\()((?i)[\\$a-z_0-9 ]+)",
180
186
  "end": "(\\))",
181
187
  "patterns": [
182
188
  {
@@ -207,17 +213,45 @@
207
213
  }
208
214
  }
209
215
  },
216
+ "collection_variable": {
217
+ "name": "storage.type.collection.4d",
218
+ "begin": "^\\n*[\\t ]*(?i)(C_COLLECTION(\\:C1488)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)",
219
+ "end": "(\\))",
220
+ "patterns": [
221
+ {
222
+ "name": "variable.name.collection.4d",
223
+ "match": "(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"
224
+ },
225
+ {
226
+ "include": "#param_separator"
227
+ }
228
+ ],
229
+ "beginCaptures": {
230
+ "1": {
231
+ "name": "storage.type.collection.4d"
232
+ },
233
+ "2": {
234
+ "name": "meta.c_collection.code.4d"
235
+ },
236
+ "3": {
237
+ "name": "punctuation.section.arguments.begin.bracket.round.4d"
238
+ },
239
+ "4": {
240
+ "name": "variable.name.collection.4d"
241
+ }
242
+ },
243
+ "endCaptures": {
244
+ "1": {
245
+ "name": "punctuation.section.arguments.end.bracket.round.4d"
246
+ }
247
+ }
248
+ },
210
249
  "comments": {
211
250
  "patterns": [
212
251
  {
213
252
  "name": "comment.line.double-slash.4d",
214
253
  "begin": "\\s*+(\\/\\/)",
215
254
  "end": "(?\u003c=\\n)(?\u003c!\\\\\\n)",
216
- "patterns": [
217
- {
218
- "include": "#line_continuation_character"
219
- }
220
- ],
221
255
  "beginCaptures": {
222
256
  "1": {
223
257
  "name": "punctuation.definition.comment.4d"
@@ -226,7 +260,7 @@
226
260
  },
227
261
  {
228
262
  "name": "comment.block.4d",
229
- "match": "^/\\** =(\\s*.*?)\\s*= \\**/$\\n?",
263
+ "match": "^/\\*\\* =(\\s*.*?)\\s*= \\*\\*/$\\n?",
230
264
  "captures": {
231
265
  "1": {
232
266
  "name": "meta.toc-list.banner.block.4d"
@@ -235,8 +269,8 @@
235
269
  },
236
270
  {
237
271
  "name": "comment.block.4d",
238
- "begin": "/\\**",
239
- "end": "\\**/",
272
+ "begin": "/\\*\\*",
273
+ "end": "\\*\\*/",
240
274
  "beginCaptures": {
241
275
  "0": {
242
276
  "name": "punctuation.definition.comment.begin.4d"
@@ -265,11 +299,6 @@
265
299
  "name": "comment.line.double-slash.4d",
266
300
  "begin": "//",
267
301
  "end": "(?=\\n)",
268
- "patterns": [
269
- {
270
- "include": "#line_continuation_character"
271
- }
272
- ],
273
302
  "beginCaptures": {
274
303
  "0": {
275
304
  "name": "punctuation.definition.comment.4d"
@@ -414,19 +443,7 @@
414
443
  "patterns": [
415
444
  {
416
445
  "name": "keyword.control.4d",
417
- "match": "(?i)\\b(if|while|else|end if|end for|Begin SQL|End SQL|for each|End for each|while|end while|use|end use|case of|end case|repeat|until|for)\\b"
418
- }
419
- ]
420
- },
421
- "line_continuation_character": {
422
- "patterns": [
423
- {
424
- "match": "(\\\\)\\n",
425
- "captures": {
426
- "1": {
427
- "name": "constant.character.escape.line-continuation.c"
428
- }
429
- }
446
+ "match": "^\\n*[\\t ]*(?i)(If|While|Else|End if|For each|End for each|End for|Begin SQL|End SQL|while|End while|Use|End use|Case of|End case|Repeat|Until|For)"
430
447
  }
431
448
  ]
432
449
  },
@@ -436,7 +453,7 @@
436
453
  },
437
454
  "long_int_variable": {
438
455
  "name": "storage.type.4d",
439
- "begin": "(?i)(C_LONGINT(\\:C283)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)",
456
+ "begin": "^\\n*[\\t ]*(?i)(C_LONGINT(\\:C283)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)",
440
457
  "end": "(\\))",
441
458
  "patterns": [
442
459
  {
@@ -516,6 +533,27 @@
516
533
  "begin": "((?:[a-zA-Z_\\s*]*(\\:C[0-9]+)?|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:-\u003e\\*|-\u003e)))\\s*)*)\\s*([a-zA-Z_]\\w*)(\\()",
517
534
  "end": "(\\))",
518
535
  "patterns": [
536
+ {
537
+ "include": "#strings"
538
+ },
539
+ {
540
+ "include": "#numbers"
541
+ },
542
+ {
543
+ "include": "#parameters"
544
+ },
545
+ {
546
+ "include": "#local_variables"
547
+ },
548
+ {
549
+ "include": "#boolean_values"
550
+ },
551
+ {
552
+ "include": "#constant_4d"
553
+ },
554
+ {
555
+ "include": "#param_separator"
556
+ },
519
557
  {
520
558
  "include": "#function-call-innards"
521
559
  },
@@ -815,7 +853,7 @@
815
853
  },
816
854
  "object_variable": {
817
855
  "name": "storage.type.object.4d",
818
- "begin": "(?i)(C_OBJECT(\\:C1216)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)",
856
+ "begin": "^\\n*[\\t ]*(?i)(C_OBJECT(\\:C1216)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)",
819
857
  "end": "(\\))",
820
858
  "patterns": [
821
859
  {
@@ -872,7 +910,7 @@
872
910
  },
873
911
  "picture_variable": {
874
912
  "name": "storage.type.picture.4d",
875
- "begin": "(?i)(C_PICTURE(\\:C286)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)",
913
+ "begin": "^\\n*[\\t ]*(?i)(C_PICTURE(\\:C286)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)",
876
914
  "end": "(\\))",
877
915
  "patterns": [
878
916
  {
@@ -905,7 +943,7 @@
905
943
  },
906
944
  "pointer_variable": {
907
945
  "name": "storage.type.pointer.4d",
908
- "begin": "(?i)(C_POINTER(\\:C301)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)",
946
+ "begin": "^\\n*[\\t ]*(?i)(C_POINTER(\\:C301)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)",
909
947
  "end": "(\\))",
910
948
  "patterns": [
911
949
  {
@@ -938,7 +976,7 @@
938
976
  },
939
977
  "real_variable": {
940
978
  "name": "storage.type.real.4d",
941
- "begin": "(?i)(C_REAL(\\:C285)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)",
979
+ "begin": "^\\n*[\\t ]*(?i)(C_REAL(\\:C285)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)",
942
980
  "end": "(\\))",
943
981
  "patterns": [
944
982
  {
@@ -994,7 +1032,7 @@
994
1032
  },
995
1033
  "text_variable": {
996
1034
  "name": "storage.type.text.4d",
997
- "begin": "(?i)(C_TEXT(\\:C284)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)",
1035
+ "begin": "^\\n*[\\t ]*(?i)(C_TEXT(\\:C284)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)",
998
1036
  "end": "(\\))",
999
1037
  "patterns": [
1000
1038
  {
@@ -1024,6 +1062,39 @@
1024
1062
  "name": "punctuation.section.arguments.end.bracket.round.4d"
1025
1063
  }
1026
1064
  }
1065
+ },
1066
+ "variant_variable": {
1067
+ "name": "storage.type.variant.4d",
1068
+ "begin": "^\\n*[\\t ]*(?i)(C_VARIANT(\\:C1683)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)",
1069
+ "end": "(\\))",
1070
+ "patterns": [
1071
+ {
1072
+ "name": "variable.name.variant.4d",
1073
+ "match": "(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"
1074
+ },
1075
+ {
1076
+ "include": "#param_separator"
1077
+ }
1078
+ ],
1079
+ "beginCaptures": {
1080
+ "1": {
1081
+ "name": "storage.type.variant.4d"
1082
+ },
1083
+ "2": {
1084
+ "name": "meta.c_variant.code.4d"
1085
+ },
1086
+ "3": {
1087
+ "name": "punctuation.section.arguments.begin.bracket.round.4d"
1088
+ },
1089
+ "4": {
1090
+ "name": "variable.name.variant.4d"
1091
+ }
1092
+ },
1093
+ "endCaptures": {
1094
+ "1": {
1095
+ "name": "punctuation.section.arguments.end.bracket.round.4d"
1096
+ }
1097
+ }
1027
1098
  }
1028
1099
  }
1029
1100
  }