github-linguist 7.1.3 → 7.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +5 -5
  2. data/grammars/annotation.liquidhaskell.haskell.json +119 -4
  3. data/grammars/etc.json +148 -0
  4. data/grammars/hint.haskell.json +119 -4
  5. data/grammars/hint.message.haskell.json +119 -4
  6. data/grammars/hint.type.haskell.json +119 -4
  7. data/grammars/injections.etc.json +21 -0
  8. data/grammars/source.abap.json +2 -2
  9. data/grammars/source.ats.json +87 -17
  10. data/grammars/source.ballerina.json +236 -313
  11. data/grammars/source.batchfile.json +1 -1
  12. data/grammars/source.bdf.json +14 -8
  13. data/grammars/source.changelogs.rpm-spec.json +3 -3
  14. data/grammars/source.chapel.json +1 -1
  15. data/grammars/source.coffee.json +98 -0
  16. data/grammars/source.csound-document.json +26 -124
  17. data/grammars/source.curlrc.json +180 -0
  18. data/grammars/source.dart.json +5 -2
  19. data/grammars/source.elixir.json +20 -25
  20. data/grammars/source.emacs.lisp.json +23 -1
  21. data/grammars/source.gdb.json +1 -1
  22. data/grammars/source.gitattributes.json +111 -0
  23. data/grammars/source.gitconfig.json +450 -0
  24. data/grammars/source.gitignore.json +140 -0
  25. data/grammars/source.graphql.json +18 -0
  26. data/grammars/source.haproxy-config.json +10 -10
  27. data/grammars/source.haskell.json +119 -4
  28. data/grammars/source.hgignore.json +34 -0
  29. data/grammars/source.hsig.json +119 -4
  30. data/grammars/source.hx.json +2 -2
  31. data/grammars/source.jison.json +1 -1
  32. data/grammars/source.ltspice.symbol.json +294 -0
  33. data/grammars/source.m4.json +187 -0
  34. data/grammars/source.man-conf.json +141 -0
  35. data/grammars/source.nanorc.json +330 -0
  36. data/grammars/source.nim.comment.json +82 -0
  37. data/grammars/source.nim.json +1 -57
  38. data/grammars/source.nix.json +2 -2
  39. data/grammars/source.opts.json +98 -0
  40. data/grammars/source.reason.json +13 -0
  41. data/grammars/source.rust.json +35 -0
  42. data/grammars/source.terraform.json +4 -1
  43. data/grammars/source.ts.json +307 -39
  44. data/grammars/source.tsx.json +290 -37
  45. data/grammars/source.zig.json +286 -0
  46. data/grammars/text.html.basic.json +1 -1
  47. data/grammars/text.marko.json +61 -9
  48. data/grammars/text.tex.latex.haskell.json +119 -4
  49. data/grammars/text.zone_file.json +2 -2
  50. data/grammars/version +1 -1
  51. data/lib/linguist/VERSION +1 -1
  52. data/lib/linguist/generated.rb +0 -8
  53. data/lib/linguist/heuristics.yml +30 -3
  54. data/lib/linguist/languages.json +1 -1
  55. data/lib/linguist/languages.yml +143 -3
  56. data/lib/linguist/samples.json +4494 -646
  57. data/lib/linguist/vendor.yml +1 -2
  58. metadata +31 -4
  59. data/grammars/source.solidity.json +0 -189
@@ -256,6 +256,9 @@
256
256
  {
257
257
  "include": "#deriving"
258
258
  },
259
+ {
260
+ "include": "#via"
261
+ },
259
262
  {
260
263
  "include": "#assignment_op"
261
264
  },
@@ -354,7 +357,7 @@
354
357
  {
355
358
  "name": "meta.declaration.instance.deriving.haskell.hsig",
356
359
  "contentName": "meta.type-signature.haskell.hsig",
357
- "begin": "^([ \\t]*)(deriving\\s+instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
360
+ "begin": "^([ \\t]*)(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s+(instance)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
358
361
  "end": "^(?!\\1[ \\t]|[ \\t]*$)",
359
362
  "patterns": [
360
363
  {
@@ -362,11 +365,24 @@
362
365
  },
363
366
  {
364
367
  "include": "#type_signature"
368
+ },
369
+ {
370
+ "include": "#deriving_via"
365
371
  }
366
372
  ],
367
373
  "beginCaptures": {
368
374
  "2": {
369
375
  "name": "keyword.other.haskell.hsig"
376
+ },
377
+ "3": {
378
+ "patterns": [
379
+ {
380
+ "include": "#deriving_strategies"
381
+ }
382
+ ]
383
+ },
384
+ "4": {
385
+ "name": "keyword.other.haskell.hsig"
370
386
  }
371
387
  }
372
388
  }
@@ -376,10 +392,17 @@
376
392
  "patterns": [
377
393
  {
378
394
  "name": "meta.deriving.haskell.hsig",
379
- "match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(deriving)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
395
+ "match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
380
396
  "captures": {
381
397
  "1": {
382
398
  "name": "keyword.other.haskell.hsig"
399
+ },
400
+ "2": {
401
+ "patterns": [
402
+ {
403
+ "include": "#deriving_strategies"
404
+ }
405
+ ]
383
406
  }
384
407
  }
385
408
  }
@@ -389,7 +412,7 @@
389
412
  "patterns": [
390
413
  {
391
414
  "name": "meta.deriving.haskell.hsig",
392
- "begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(deriving)\\s*\\(",
415
+ "begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s*\\(",
393
416
  "end": "\\)",
394
417
  "patterns": [
395
418
  {
@@ -404,6 +427,13 @@
404
427
  "beginCaptures": {
405
428
  "1": {
406
429
  "name": "keyword.other.haskell.hsig"
430
+ },
431
+ "2": {
432
+ "patterns": [
433
+ {
434
+ "include": "#deriving_strategies"
435
+ }
436
+ ]
407
437
  }
408
438
  }
409
439
  }
@@ -413,18 +443,38 @@
413
443
  "patterns": [
414
444
  {
415
445
  "name": "meta.deriving.haskell.hsig",
416
- "match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(deriving)\\s*([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
446
+ "match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(?:(deriving)(?:\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))?)\\s*([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
417
447
  "captures": {
418
448
  "1": {
419
449
  "name": "keyword.other.haskell.hsig"
420
450
  },
421
451
  "2": {
452
+ "patterns": [
453
+ {
454
+ "include": "#deriving_strategies"
455
+ }
456
+ ]
457
+ },
458
+ "3": {
422
459
  "name": "entity.other.inherited-class.haskell.hsig"
423
460
  }
424
461
  }
425
462
  }
426
463
  ]
427
464
  },
465
+ "deriving_strategies": {
466
+ "patterns": [
467
+ {
468
+ "name": "meta.deriving.strategy.haskell.hsig",
469
+ "match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(stock|newtype|anyclass)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
470
+ "captures": {
471
+ "1": {
472
+ "name": "keyword.other.haskell.hsig"
473
+ }
474
+ }
475
+ }
476
+ ]
477
+ },
428
478
  "double_colon_operator": {
429
479
  "patterns": [
430
480
  {
@@ -1477,6 +1527,71 @@
1477
1527
  }
1478
1528
  ]
1479
1529
  },
1530
+ "via": {
1531
+ "patterns": [
1532
+ {
1533
+ "include": "#via_list"
1534
+ },
1535
+ {
1536
+ "include": "#via_simple"
1537
+ },
1538
+ {
1539
+ "include": "#via_keyword"
1540
+ }
1541
+ ]
1542
+ },
1543
+ "via_keyword": {
1544
+ "patterns": [
1545
+ {
1546
+ "name": "meta.via.haskell.hsig",
1547
+ "match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
1548
+ "captures": {
1549
+ "1": {
1550
+ "name": "keyword.other.haskell.hsig"
1551
+ }
1552
+ }
1553
+ }
1554
+ ]
1555
+ },
1556
+ "via_list": {
1557
+ "patterns": [
1558
+ {
1559
+ "name": "meta.via.haskell.hsig",
1560
+ "begin": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*\\(",
1561
+ "end": "\\)",
1562
+ "patterns": [
1563
+ {
1564
+ "include": "#type_signature"
1565
+ }
1566
+ ],
1567
+ "beginCaptures": {
1568
+ "1": {
1569
+ "name": "keyword.other.haskell.hsig"
1570
+ }
1571
+ }
1572
+ }
1573
+ ]
1574
+ },
1575
+ "via_simple": {
1576
+ "patterns": [
1577
+ {
1578
+ "name": "meta.via.haskell.hsig",
1579
+ "match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?\u003c![\\p{Ll}_\\p{Lu}\\p{Lt}']))(via)\\s*([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)(?:(?\u003c=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))",
1580
+ "captures": {
1581
+ "1": {
1582
+ "name": "keyword.other.haskell.hsig"
1583
+ },
1584
+ "2": {
1585
+ "patterns": [
1586
+ {
1587
+ "include": "#type_signature"
1588
+ }
1589
+ ]
1590
+ }
1591
+ }
1592
+ }
1593
+ ]
1594
+ },
1480
1595
  "where": {
1481
1596
  "patterns": [
1482
1597
  {
@@ -1162,7 +1162,7 @@
1162
1162
  "metadata": {
1163
1163
  "patterns": [
1164
1164
  {
1165
- "begin": "(@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|fakeEnum|file|fileXml|final|fixed|font|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hxGen|ifFeature|include|internal|isVar|javaCanonical|jsRequire|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|mergeBlock|meta|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|ns|objc|objcProtocol|op|optional|overload|phpConstants|phpGlobal|phpClassConst|phpMagic|phpNoConstructor|pos|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtime|runtimeValue|scalar|selfCall|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|unifyMinDynamic|unreflective|unsafe|value|void|volatile)\\b)\\s*(\\()",
1165
+ "begin": "(@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|fakeEnum|file|fileXml|final|fixed|font|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inline|internal|isVar|javaCanonical|jsRequire|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|meta|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|ns|nullSafety|objc|objcProtocol|op|optional|overload|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtime|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|unifyMinDynamic|unreflective|unsafe|using|value|void|volatile)\\b)\\s*(\\()",
1166
1166
  "end": "\\)",
1167
1167
  "patterns": [
1168
1168
  {
@@ -1187,7 +1187,7 @@
1187
1187
  }
1188
1188
  },
1189
1189
  {
1190
- "match": "((@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|fakeEnum|file|fileXml|final|fixed|font|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hxGen|ifFeature|include|internal|isVar|javaCanonical|jsRequire|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|mergeBlock|meta|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|ns|objc|objcProtocol|op|optional|overload|phpConstants|phpGlobal|phpClassConst|phpMagic|phpNoConstructor|pos|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtime|runtimeValue|scalar|selfCall|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|unifyMinDynamic|unreflective|unsafe|value|void|volatile)\\b))",
1190
+ "match": "((@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|fakeEnum|file|fileXml|final|fixed|font|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inline|internal|isVar|javaCanonical|jsRequire|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|meta|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|ns|nullSafety|objc|objcProtocol|op|optional|overload|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtime|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|unifyMinDynamic|unreflective|unsafe|using|value|void|volatile)\\b))",
1191
1191
  "captures": {
1192
1192
  "2": {
1193
1193
  "name": "punctuation.metadata.hx"
@@ -656,7 +656,7 @@
656
656
  }
657
657
  },
658
658
  "injections": {
659
- "L:(meta.action.jison - (comment | string)), source.js.embedded.jison - (comment | string)": {
659
+ "L:(meta.action.jison - (comment | string)), source.js.embedded.jison - (comment | string), source.js.embedded.source - (comment | string.quoted.double | string.quoted.single)": {
660
660
  "patterns": [
661
661
  {
662
662
  "name": "variable.language.semantic-value.jison",
@@ -0,0 +1,294 @@
1
+ {
2
+ "name": "LTspice Symbol",
3
+ "scopeName": "source.ltspice.symbol",
4
+ "patterns": [
5
+ {
6
+ "include": "#main"
7
+ }
8
+ ],
9
+ "repository": {
10
+ "attr": {
11
+ "name": "meta.attribute.ltspice.symbol",
12
+ "begin": "^\\s*(SYMATTR)(?=\\s|$)",
13
+ "end": "$",
14
+ "patterns": [
15
+ {
16
+ "match": "\\G\\s+(\\S+)",
17
+ "captures": {
18
+ "1": {
19
+ "name": "entity.attribute.name.ltspice.symbol"
20
+ }
21
+ }
22
+ },
23
+ {
24
+ "name": "string.unquoted.attribute.value.ltspice.symbol",
25
+ "match": ".+"
26
+ }
27
+ ],
28
+ "beginCaptures": {
29
+ "1": {
30
+ "name": "storage.type.var.attribute.ltspice.symbol"
31
+ }
32
+ }
33
+ },
34
+ "main": {
35
+ "patterns": [
36
+ {
37
+ "include": "#version"
38
+ },
39
+ {
40
+ "include": "#symbolType"
41
+ },
42
+ {
43
+ "include": "#shapes"
44
+ },
45
+ {
46
+ "include": "#window"
47
+ },
48
+ {
49
+ "include": "#pinAttr"
50
+ },
51
+ {
52
+ "include": "#pin"
53
+ },
54
+ {
55
+ "include": "#attr"
56
+ },
57
+ {
58
+ "include": "#text"
59
+ }
60
+ ]
61
+ },
62
+ "number": {
63
+ "patterns": [
64
+ {
65
+ "name": "constant.numeric.float.real.decimal.ltspice.symbol",
66
+ "match": "[-+]?[0-9]+\\.[0-9]+"
67
+ },
68
+ {
69
+ "name": "constant.numeric.integer.int.decimal.ltspice.symbol",
70
+ "match": "[-+]?[0-9]+"
71
+ }
72
+ ]
73
+ },
74
+ "pin": {
75
+ "name": "meta.pin.ltspice.symbol",
76
+ "begin": "^\\s*(PIN)(?=\\s|$)",
77
+ "end": "$",
78
+ "patterns": [
79
+ {
80
+ "include": "#number"
81
+ },
82
+ {
83
+ "name": "constant.language.pin-alignment.ltspice.symbol",
84
+ "match": "\\w+"
85
+ }
86
+ ],
87
+ "beginCaptures": {
88
+ "1": {
89
+ "name": "keyword.control.pin.ltspice.symbol"
90
+ }
91
+ }
92
+ },
93
+ "pinAttr": {
94
+ "name": "meta.pin.attribute.ltspice.symbol",
95
+ "begin": "^\\s*(PINATTR)(?=\\s|$)",
96
+ "end": "$",
97
+ "patterns": [
98
+ {
99
+ "match": "\\G\\s+(SpiceOrder)\\s+(\\d+)",
100
+ "patterns": [
101
+ {
102
+ "include": "#number"
103
+ }
104
+ ],
105
+ "captures": {
106
+ "1": {
107
+ "name": "entity.pin.attribute.name.ltspice.symbol"
108
+ },
109
+ "2": {
110
+ "patterns": [
111
+ {
112
+ "include": "#number"
113
+ }
114
+ ]
115
+ }
116
+ }
117
+ },
118
+ {
119
+ "match": "\\G\\s+(\\S+)",
120
+ "captures": {
121
+ "1": {
122
+ "name": "entity.attribute.name.ltspice.symbol"
123
+ }
124
+ }
125
+ },
126
+ {
127
+ "match": "(\\[)([^\\]]+)(\\])",
128
+ "captures": {
129
+ "1": {
130
+ "name": "punctuation.definition.brace.square.bracket.begin.ltspice.symbol"
131
+ },
132
+ "2": {
133
+ "patterns": [
134
+ {
135
+ "name": "punctuation.delimiter.separator.colon.key-value.ltspice.symbol",
136
+ "match": ":"
137
+ },
138
+ {
139
+ "include": "#number"
140
+ }
141
+ ]
142
+ },
143
+ "3": {
144
+ "name": "punctuation.definition.brace.square.bracket.begin.ltspice.symbol"
145
+ }
146
+ }
147
+ },
148
+ {
149
+ "name": "string.unquoted.attribute.value.ltspice.symbol",
150
+ "match": "[^\\s\\[]+"
151
+ }
152
+ ],
153
+ "beginCaptures": {
154
+ "1": {
155
+ "name": "storage.type.var.attribute.ltspice.symbol"
156
+ }
157
+ }
158
+ },
159
+ "shapes": {
160
+ "name": "meta.shape.${1:/downcase}.ltspice.symbol",
161
+ "begin": "^\\s*(ARC|LINE|CIRCLE|RECTANGLE)(?=\\s|$)",
162
+ "end": "$",
163
+ "patterns": [
164
+ {
165
+ "name": "variable.parameter.type.ltspice.symbol",
166
+ "match": "\\G\\s*(?!\\d)(\\w+)"
167
+ },
168
+ {
169
+ "include": "#number"
170
+ }
171
+ ],
172
+ "beginCaptures": {
173
+ "1": {
174
+ "name": "storage.type.var.shape.ltspice.symbol"
175
+ }
176
+ }
177
+ },
178
+ "symbolType": {
179
+ "name": "meta.symbol-type.ltspice.symbol",
180
+ "begin": "^\\s*(SymbolType)(?=\\s|$)",
181
+ "end": "$",
182
+ "patterns": [
183
+ {
184
+ "name": "constant.language.symbol-type.ltspice.symbol",
185
+ "match": "[A-Za-z_$]+"
186
+ }
187
+ ],
188
+ "beginCaptures": {
189
+ "1": {
190
+ "name": "keyword.control.symbol-type.ltspice.symbol"
191
+ }
192
+ }
193
+ },
194
+ "text": {
195
+ "name": "meta.text.ltspice.symbol",
196
+ "begin": "^\\s*(TEXT)(?=\\s|$)",
197
+ "end": "$",
198
+ "patterns": [
199
+ {
200
+ "name": "meta.function-call.arguments.ltspice.symbol",
201
+ "match": "(?x) \\G\n\\s+ ([-\\d.]+) # X\n\\s+ ([-\\d.]+) # Y\n\\s+ ([-\\w$]+) # Alignment\n\\s+ ([-\\d.]+) # Text-size",
202
+ "captures": {
203
+ "1": {
204
+ "name": "meta.vector.x-axis.ltspice.symbol",
205
+ "patterns": [
206
+ {
207
+ "include": "#number"
208
+ }
209
+ ]
210
+ },
211
+ "2": {
212
+ "name": "meta.vector.y-axis.ltspice.symbol",
213
+ "patterns": [
214
+ {
215
+ "include": "#number"
216
+ }
217
+ ]
218
+ },
219
+ "3": {
220
+ "name": "constant.language.text-alignment.ltspice.symbol"
221
+ },
222
+ "4": {
223
+ "name": "meta.text-size.ltspice.symbol",
224
+ "patterns": [
225
+ {
226
+ "include": "#number"
227
+ }
228
+ ]
229
+ }
230
+ }
231
+ },
232
+ {
233
+ "name": "string.unquoted.text.ltspice.symbol",
234
+ "match": ".+"
235
+ }
236
+ ],
237
+ "beginCaptures": {
238
+ "1": {
239
+ "name": "storage.type.var.text.ltspice.symbol"
240
+ }
241
+ }
242
+ },
243
+ "version": {
244
+ "name": "meta.version.ltspice.symbol",
245
+ "begin": "^\\s*(Version)(?=\\s|$)",
246
+ "end": "$",
247
+ "patterns": [
248
+ {
249
+ "include": "#number"
250
+ }
251
+ ],
252
+ "beginCaptures": {
253
+ "1": {
254
+ "name": "keyword.control.file-version.ltspice.symbol"
255
+ }
256
+ }
257
+ },
258
+ "window": {
259
+ "name": "meta.window.ltspice.symbol",
260
+ "begin": "^\\s*(WINDOW)(?=\\s|$)",
261
+ "end": "$",
262
+ "patterns": [
263
+ {
264
+ "name": "meta.function-call.arguments.ltspice.symbol",
265
+ "match": "\\G((?:\\s+[-\\d.]+){3})\\s+(\\w+)\\s+([-\\d.]+)",
266
+ "captures": {
267
+ "1": {
268
+ "patterns": [
269
+ {
270
+ "include": "#number"
271
+ }
272
+ ]
273
+ },
274
+ "2": {
275
+ "name": "constant.language.window-alignment.ltspice.symbol"
276
+ },
277
+ "3": {
278
+ "patterns": [
279
+ {
280
+ "include": "#number"
281
+ }
282
+ ]
283
+ }
284
+ }
285
+ }
286
+ ],
287
+ "beginCaptures": {
288
+ "1": {
289
+ "name": "keyword.control.window.ltspice.symbol"
290
+ }
291
+ }
292
+ }
293
+ }
294
+ }