github-linguist 5.1.0 → 5.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/grammars/source.afm.json +1198 -0
- data/grammars/source.cobol.json +22 -14
- data/grammars/source.coffee.json +13 -12
- data/grammars/source.csound-document.json +2 -2
- data/grammars/source.csound.json +8 -4
- data/grammars/source.erlang.json +1 -1
- data/grammars/source.gerber.json +339 -0
- data/grammars/source.opal.json +1 -1
- data/grammars/source.pcb.board.json +290 -0
- data/grammars/source.pcb.schematic.json +428 -0
- data/grammars/source.pcb.sexp.json +242 -0
- data/grammars/source.python.json +1 -1
- data/grammars/source.reason.hover.type.json +14 -0
- data/grammars/source.reason.json +3290 -211
- data/grammars/source.rust.json +1 -1
- data/grammars/source.tla.json +4 -0
- data/grammars/text.sfd.json +69 -6
- data/lib/linguist/generated.rb +26 -6
- data/lib/linguist/heuristics.rb +19 -12
- data/lib/linguist/language.rb +3 -3
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +77 -8
- data/lib/linguist/samples.json +4722 -766
- data/lib/linguist/vendor.yml +3 -0
- data/lib/linguist/version.rb +1 -1
- metadata +8 -2
data/grammars/source.cobol.json
CHANGED
@@ -112,12 +112,12 @@
|
|
112
112
|
"name": "constant.language.cobol"
|
113
113
|
},
|
114
114
|
{
|
115
|
-
"match": "\\b(?<!-)(?i:zeroes|zeros|zeros|zero|spaces|space|quotes|quote|low-values|low-value|high-values|high-value)(?=\\s
|
115
|
+
"match": "\\b(?<!-)(?i:zeroes|alphabetic|alphanumeric|zeros|zeros|zero|spaces|space|quotes|quote|low-values|low-value|high-values|high-value)(?=\\s|\\.|,|\\))",
|
116
116
|
"name": "constant.language.figurative.cobol"
|
117
117
|
},
|
118
118
|
{
|
119
|
-
"begin": "(?i:
|
120
|
-
"end": "(?i:
|
119
|
+
"begin": "(?i:exec\\s*sql)",
|
120
|
+
"end": "(?i:end-exec|end\\s*exec)",
|
121
121
|
"name": "string.quoted.cobol",
|
122
122
|
"patterns": [
|
123
123
|
{
|
@@ -130,8 +130,8 @@
|
|
130
130
|
]
|
131
131
|
},
|
132
132
|
{
|
133
|
-
"begin": "(?i:
|
134
|
-
"end": "(?i:
|
133
|
+
"begin": "(?i:exec\\s*cics)",
|
134
|
+
"end": "(?i:end\\-exec|end\\s*exec)",
|
135
135
|
"name": "string.quoted.cobol",
|
136
136
|
"patterns": [
|
137
137
|
{
|
@@ -153,8 +153,8 @@
|
|
153
153
|
]
|
154
154
|
},
|
155
155
|
{
|
156
|
-
"begin": "(?i:
|
157
|
-
"end": "(?i:
|
156
|
+
"begin": "(?i:exec\\s*ado)",
|
157
|
+
"end": "(?i:end\\-exec|end\\s*exec)",
|
158
158
|
"name": "string.quoted.cobol",
|
159
159
|
"patterns": [
|
160
160
|
{
|
@@ -167,8 +167,8 @@
|
|
167
167
|
]
|
168
168
|
},
|
169
169
|
{
|
170
|
-
"begin": "(?i:
|
171
|
-
"end": "(?i:
|
170
|
+
"begin": "(?i:exec\\s*html)",
|
171
|
+
"end": "(?i:end\\-exec|end\\s*exec)",
|
172
172
|
"name": "string.quoted.cobol",
|
173
173
|
"patterns": [
|
174
174
|
{
|
@@ -270,11 +270,11 @@
|
|
270
270
|
"name": "string.quoted.single.cobol"
|
271
271
|
},
|
272
272
|
{
|
273
|
-
"match": "\\b(?<!-)(?i:id\\s*division|identification\\s*division|identification|property-id|getter|setter|entry|function-id|attribute|interface-id|factory|ctl|class-control|options|environment\\s*division|environment-name|environment-value|environment|configuration\\s*section|configuration|decimal-point|call-convention|special-names|cursor\\s*is|update|picture\\s*symbol|currency\\s*sign|currency|repository|input-output\\s*section|input-output|file\\s*section|file-control|select|optional|i-o-control|data\\s*division|working-storage\\s*section|working-storage|section|local-storage|linkage\\s*section|linkage|communication|report|screen\\s*section|fd|rd|cd|sd|printing|procedure\\s*division|procedure|debugging|declaratives|security|based-storage|size|font|national-edited|national)\\b[^-]",
|
273
|
+
"match": "\\b(?<!-)(?i:id\\s*division|identification\\s*division|identification|property-id|getter|setter|entry|function-id|end\\s*attribute|attribute|interface-id|factory|ctl|class-control|options|environment\\s*division|environment-name|environment-value|environment|configuration\\s*section|configuration|decimal-point|call-convention|special-names|cursor\\s*is|update|picture\\s*symbol|currency\\s*sign|currency|repository|input-output\\s*section|input-output|file\\s*section|file-control|select|optional|i-o-control|data\\s*division|working-storage\\s*section|working-storage|section|local-storage|linkage\\s*section|linkage|communication|report|screen\\s*section|fd|rd|cd|sd|printing|procedure\\s*division|procedure|debugging|declaratives|security|based-storage|size|font|national-edited|national)\\b[^-]",
|
274
274
|
"name": "keyword.identifiers.cobol"
|
275
275
|
},
|
276
276
|
{
|
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|as||stop\\srun|stop)(?=\\s|\\.|,|$)",
|
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
278
|
"name": "keyword.identifiers.cobol"
|
279
279
|
},
|
280
280
|
{
|
@@ -294,7 +294,7 @@
|
|
294
294
|
"name": "keyword.otherverbs.cobol"
|
295
295
|
},
|
296
296
|
{
|
297
|
-
"match": "\\b(?<!-)(?i:assign|external|organization|indexed|column|plus|line\\*s*sequential|sequential|access|dynamic|relative|label|block|contains|standard|records|record\\s*key|record|is|alternate|duplicates|reel|tape|terminal|disk|disc|mode|random)(?=\\s|\\.)",
|
297
|
+
"match": "\\b(?<!-)(?i:assign|external|organization|indexed|column|plus|line\\*s*sequential|sequential|access|dynamic|relative|label|block|contains|standard|records|record\\s*key|record|is|alternate|duplicates|reel|tape|terminal|disk\\sfilename|disk|disc|mode|random)(?=\\s|\\.)",
|
298
298
|
"name": "keyword.identifers.cobol"
|
299
299
|
},
|
300
300
|
{
|
@@ -407,7 +407,15 @@
|
|
407
407
|
"name": "keyword.verbs.cobol"
|
408
408
|
},
|
409
409
|
{
|
410
|
-
"match": "\\b(?<!-)(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXpPnNzZ/,.]*\\([0-9]*\\)[vV
|
410
|
+
"match": "\\b(?<!-)(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXpPnNzZ/,.]*\\([0-9]*\\)[vV][-+sS\\*$09aAbBxXpPnNzZ/,\\.]*\\([0-9]*\\)[-|+]",
|
411
|
+
"name": "storage.type.picture.cobol"
|
412
|
+
},
|
413
|
+
{
|
414
|
+
"match": "\\b(?<!-)(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXpPnNzZ/,.]*\\([0-9]*\\)[vV][-+sS\\*$09aAbBxXpPnNzZ/,\\.]*\\([0-9]*\\)",
|
415
|
+
"name": "storage.type.picture.cobol"
|
416
|
+
},
|
417
|
+
{
|
418
|
+
"match": "\\b(?<!-)(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXpPnNzZ/,.]*\\([0-9]*\\)[vV\\.][-+s\\*$09aAbBsSnNxXzZ/,]*[0-9]*",
|
411
419
|
"name": "storage.type.picture.cobol"
|
412
420
|
},
|
413
421
|
{
|
@@ -471,7 +479,7 @@
|
|
471
479
|
"name": "keyword.xml.cobol"
|
472
480
|
},
|
473
481
|
{
|
474
|
-
"match": "\\b(?<!-)(?i:json|name\\sof)(?=\\s|\\.|$)",
|
482
|
+
"match": "\\b(?<!-)(?i:json\\s*generate|json|end-json|name\\sof)(?=\\s|\\.|$)",
|
475
483
|
"name": "keyword.json.cobol"
|
476
484
|
},
|
477
485
|
{
|
data/grammars/source.coffee.json
CHANGED
@@ -164,23 +164,24 @@
|
|
164
164
|
]
|
165
165
|
},
|
166
166
|
{
|
167
|
-
"
|
168
|
-
"
|
167
|
+
"begin": "(?<![\\w$])(/)(?=(?![/*+?])(.+)(/)[gimuy]*(?!\\s*[\\w$/(]))",
|
168
|
+
"beginCaptures": {
|
169
169
|
"1": {
|
170
170
|
"name": "punctuation.definition.string.begin.coffee"
|
171
|
-
}
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
}
|
177
|
-
]
|
178
|
-
},
|
179
|
-
"3": {
|
171
|
+
}
|
172
|
+
},
|
173
|
+
"end": "(/)[gimuy]*(?!\\s*[\\w$/(])",
|
174
|
+
"endCaptures": {
|
175
|
+
"1": {
|
180
176
|
"name": "punctuation.definition.string.end.coffee"
|
181
177
|
}
|
182
178
|
},
|
183
|
-
"name": "string.regexp.coffee"
|
179
|
+
"name": "string.regexp.coffee",
|
180
|
+
"patterns": [
|
181
|
+
{
|
182
|
+
"include": "source.js.regexp"
|
183
|
+
}
|
184
|
+
]
|
184
185
|
},
|
185
186
|
{
|
186
187
|
"match": "\\b(?<![\\.\\$])(break|by|catch|continue|else|finally|for|in|of|if|return|switch|then|throw|try|unless|when|while|until|loop|do|export|import|default|from|as|yield|async|await|(?<=for)\\s+own)(?!\\s*:)\\b",
|
@@ -246,8 +246,8 @@
|
|
246
246
|
"tags": {
|
247
247
|
"patterns": [
|
248
248
|
{
|
249
|
-
"begin": "(<)([
|
250
|
-
"end": "(</)([
|
249
|
+
"begin": "(<)([0-9A-Za-z:-]+)(>)",
|
250
|
+
"end": "(</)([0-9A-Za-z:-]+)(>)",
|
251
251
|
"beginCaptures": {
|
252
252
|
"1": {
|
253
253
|
"name": "punctuation.definition.tag.begin.csound-document"
|
data/grammars/source.csound.json
CHANGED
@@ -330,7 +330,7 @@
|
|
330
330
|
},
|
331
331
|
"patterns": [
|
332
332
|
{
|
333
|
-
"match": "(
|
333
|
+
"match": "([#'()])|(\\\\[#'()])",
|
334
334
|
"captures": {
|
335
335
|
"1": {
|
336
336
|
"name": "invalid.illegal.csound"
|
@@ -351,7 +351,7 @@
|
|
351
351
|
"end": "\\}\\}",
|
352
352
|
"patterns": [
|
353
353
|
{
|
354
|
-
"match": "(
|
354
|
+
"match": "([#'()])|(\\\\[#'()])",
|
355
355
|
"captures": {
|
356
356
|
"1": {
|
357
357
|
"name": "invalid.illegal.csound"
|
@@ -504,14 +504,18 @@
|
|
504
504
|
"match": "\\\\\\\\[aAbBnNrRtT]"
|
505
505
|
},
|
506
506
|
{
|
507
|
-
"include": "#
|
507
|
+
"include": "#bracedStringContents"
|
508
508
|
},
|
509
509
|
{
|
510
|
-
"include": "#
|
510
|
+
"include": "#lineContinuations"
|
511
511
|
},
|
512
512
|
{
|
513
513
|
"name": "constant.character.escape.csound",
|
514
514
|
"match": "%[!nNrRtT]|[~^]{1,2}"
|
515
|
+
},
|
516
|
+
{
|
517
|
+
"name": "invalid.illegal.csound",
|
518
|
+
"match": "[^\"\\\\\\n]*\\n"
|
515
519
|
}
|
516
520
|
]
|
517
521
|
}
|
data/grammars/source.erlang.json
CHANGED
@@ -486,7 +486,7 @@
|
|
486
486
|
"name": "punctuation.separator.function-arity.erlang"
|
487
487
|
}
|
488
488
|
},
|
489
|
-
"match": "\\b(fun)\\s
|
489
|
+
"match": "\\b(fun)\\s+(([a-z][a-zA-Z\\d@_]*+)\\s*+(:)\\s*+)?([a-z][a-zA-Z\\d@_]*+)\\s*(/)"
|
490
490
|
},
|
491
491
|
{
|
492
492
|
"begin": "\\b(fun)\\b",
|
@@ -0,0 +1,339 @@
|
|
1
|
+
{
|
2
|
+
"name": "Gerber Image",
|
3
|
+
"scopeName": "source.gerber",
|
4
|
+
"fileTypes": [
|
5
|
+
"gbr",
|
6
|
+
"gtl",
|
7
|
+
"gbl",
|
8
|
+
"gbs",
|
9
|
+
"gto",
|
10
|
+
"gts",
|
11
|
+
"gtp",
|
12
|
+
"gbo",
|
13
|
+
"gbp",
|
14
|
+
"gko",
|
15
|
+
"gm1",
|
16
|
+
"gpt",
|
17
|
+
"gpb",
|
18
|
+
"fab",
|
19
|
+
"pho"
|
20
|
+
],
|
21
|
+
"firstLineMatch": "^G04 .*\\r?\\n",
|
22
|
+
"patterns": [
|
23
|
+
{
|
24
|
+
"contentName": "comment.block.gerber",
|
25
|
+
"begin": "G04",
|
26
|
+
"end": "(?=\\*)",
|
27
|
+
"beginCaptures": {
|
28
|
+
"0": {
|
29
|
+
"name": "entity.name.function.begin-comment.gerber"
|
30
|
+
}
|
31
|
+
}
|
32
|
+
},
|
33
|
+
{
|
34
|
+
"name": "meta.command.block.gerber",
|
35
|
+
"begin": "%",
|
36
|
+
"end": "%",
|
37
|
+
"beginCaptures": {
|
38
|
+
"0": {
|
39
|
+
"name": "punctuation.section.begin.extended.command.gerber"
|
40
|
+
}
|
41
|
+
},
|
42
|
+
"endCaptures": {
|
43
|
+
"0": {
|
44
|
+
"name": "punctuation.section.end.extended.command.gerber"
|
45
|
+
}
|
46
|
+
},
|
47
|
+
"patterns": [
|
48
|
+
{
|
49
|
+
"include": "#extendedCommands"
|
50
|
+
}
|
51
|
+
]
|
52
|
+
},
|
53
|
+
{
|
54
|
+
"name": "punctuation.separator.list.comma.gerber",
|
55
|
+
"match": ","
|
56
|
+
},
|
57
|
+
{
|
58
|
+
"name": "keyword.operator.terminator.gerber",
|
59
|
+
"match": "\\*"
|
60
|
+
},
|
61
|
+
{
|
62
|
+
"name": "keyword.control.eof.gerber",
|
63
|
+
"match": "M02"
|
64
|
+
},
|
65
|
+
{
|
66
|
+
"name": "entity.name.function.${1:/downcase}.command.gerber",
|
67
|
+
"match": "(?x)\n(FS|MO|AD|AM|AB|D[0-9]+|G01|G02|G03|G74|G75|LP|LM|LR|LS|G36|G37\n|SR|G04|TF|TA|TO|TD|M02|G54|G55|G70|G71|G90|G91|M00|M01|IP|AS\n|IR|MI|OF|SF|IN|LN)"
|
68
|
+
},
|
69
|
+
{
|
70
|
+
"name": "meta.${1:/downcase}.ordinate.gerber",
|
71
|
+
"match": "(X|Y)([-+]?[0-9]+)",
|
72
|
+
"captures": {
|
73
|
+
"1": {
|
74
|
+
"name": "storage.name.var.${1:/downcase}.gerber"
|
75
|
+
},
|
76
|
+
"2": {
|
77
|
+
"name": "constant.numeric.decimal.gerber"
|
78
|
+
}
|
79
|
+
}
|
80
|
+
},
|
81
|
+
{
|
82
|
+
"name": "constant.numeric.decimal.gerber",
|
83
|
+
"match": "[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+)"
|
84
|
+
}
|
85
|
+
],
|
86
|
+
"repository": {
|
87
|
+
"extendedCommands": {
|
88
|
+
"patterns": [
|
89
|
+
{
|
90
|
+
"begin": "\\G(AM)([A-Za-z_.0-9$]+)",
|
91
|
+
"end": "(?=%)",
|
92
|
+
"beginCaptures": {
|
93
|
+
"1": {
|
94
|
+
"name": "storage.type.function.macro.gerber"
|
95
|
+
},
|
96
|
+
"2": {
|
97
|
+
"name": "entity.name.function.macro.gerber"
|
98
|
+
}
|
99
|
+
},
|
100
|
+
"patterns": [
|
101
|
+
{
|
102
|
+
"include": "#macroInnards"
|
103
|
+
}
|
104
|
+
]
|
105
|
+
},
|
106
|
+
{
|
107
|
+
"name": "meta.aperture.definition.gerber",
|
108
|
+
"begin": "\\G(AD)(D[0-9]+)([^,%*\\s]+)",
|
109
|
+
"end": "(?=%)",
|
110
|
+
"beginCaptures": {
|
111
|
+
"1": {
|
112
|
+
"name": "storage.type.function.aperture.gerber"
|
113
|
+
},
|
114
|
+
"2": {
|
115
|
+
"name": "entity.name.function.d-code.gerber"
|
116
|
+
},
|
117
|
+
"3": {
|
118
|
+
"name": "variable.parameter.aperture-name.gerber"
|
119
|
+
}
|
120
|
+
},
|
121
|
+
"patterns": [
|
122
|
+
{
|
123
|
+
"begin": "\\G(?=,)",
|
124
|
+
"end": "(?=%)",
|
125
|
+
"patterns": [
|
126
|
+
{
|
127
|
+
"match": "(X)?([^*%X]+)",
|
128
|
+
"captures": {
|
129
|
+
"1": {
|
130
|
+
"name": "punctuation.delimiter.modifiers.list.gerber"
|
131
|
+
},
|
132
|
+
"2": {
|
133
|
+
"patterns": [
|
134
|
+
{
|
135
|
+
"include": "$self"
|
136
|
+
}
|
137
|
+
]
|
138
|
+
}
|
139
|
+
}
|
140
|
+
},
|
141
|
+
{
|
142
|
+
"include": "$self"
|
143
|
+
}
|
144
|
+
]
|
145
|
+
},
|
146
|
+
{
|
147
|
+
"include": "$self"
|
148
|
+
}
|
149
|
+
]
|
150
|
+
},
|
151
|
+
{
|
152
|
+
"name": "meta.attribute.gerber",
|
153
|
+
"begin": "\\G(TF|TA|TO)([^,*%]+)(,)",
|
154
|
+
"end": "(?=\\*|%)",
|
155
|
+
"beginCaptures": {
|
156
|
+
"1": {
|
157
|
+
"name": "storage.type.attribute.gerber"
|
158
|
+
},
|
159
|
+
"2": {
|
160
|
+
"name": "entity.other.attribute-name.gerber"
|
161
|
+
}
|
162
|
+
},
|
163
|
+
"patterns": [
|
164
|
+
{
|
165
|
+
"match": ",",
|
166
|
+
"name": "punctuation.separator.list.comma.gerber"
|
167
|
+
},
|
168
|
+
{
|
169
|
+
"match": "[^,%*]",
|
170
|
+
"name": "string.unquoted.attribute.gerber"
|
171
|
+
}
|
172
|
+
]
|
173
|
+
},
|
174
|
+
{
|
175
|
+
"match": "\\G(TD)([^,*%]+)",
|
176
|
+
"captures": {
|
177
|
+
"1": {
|
178
|
+
"name": "entity.name.function.delete.attribute.gerber"
|
179
|
+
},
|
180
|
+
"2": {
|
181
|
+
"name": "entity.other.attribute-name.gerber"
|
182
|
+
}
|
183
|
+
}
|
184
|
+
},
|
185
|
+
{
|
186
|
+
"match": "\\G(FS)([LT][AI])",
|
187
|
+
"captures": {
|
188
|
+
"1": {
|
189
|
+
"name": "entity.name.function.format-spec.gerber"
|
190
|
+
},
|
191
|
+
"2": {
|
192
|
+
"name": "constant.language.option.modes.gerber"
|
193
|
+
}
|
194
|
+
}
|
195
|
+
},
|
196
|
+
{
|
197
|
+
"match": "\\G(OF)(A)([-+]?[0-9]+)(B)([-+]?[0-9]+)",
|
198
|
+
"captures": {
|
199
|
+
"1": {
|
200
|
+
"name": "entity.name.function.offset.gerber"
|
201
|
+
},
|
202
|
+
"2": {
|
203
|
+
"name": "storage.name.var.offset.a-axis.gerber"
|
204
|
+
},
|
205
|
+
"3": {
|
206
|
+
"name": "constant.numeric.decimal.gerber"
|
207
|
+
},
|
208
|
+
"4": {
|
209
|
+
"name": "storage.name.var.offset.b-axis.gerber"
|
210
|
+
},
|
211
|
+
"5": {
|
212
|
+
"name": "constant.numeric.decimal.gerber"
|
213
|
+
}
|
214
|
+
}
|
215
|
+
},
|
216
|
+
{
|
217
|
+
"match": "\\G(MO)(IN|MM)",
|
218
|
+
"captures": {
|
219
|
+
"1": {
|
220
|
+
"name": "entity.name.function.unit-mode.gerber"
|
221
|
+
},
|
222
|
+
"2": {
|
223
|
+
"name": "constant.language.unit-type.gerber"
|
224
|
+
}
|
225
|
+
}
|
226
|
+
},
|
227
|
+
{
|
228
|
+
"match": "\\G(IP)(POS|NEG)",
|
229
|
+
"captures": {
|
230
|
+
"1": {
|
231
|
+
"name": "entity.name.function.image-polarity.gerber"
|
232
|
+
},
|
233
|
+
"2": {
|
234
|
+
"name": "constant.language.image-polarity.gerber"
|
235
|
+
}
|
236
|
+
}
|
237
|
+
},
|
238
|
+
{
|
239
|
+
"match": "\\G(LP)(C|D)",
|
240
|
+
"captures": {
|
241
|
+
"1": {
|
242
|
+
"name": "entity.name.function.load-polarity.gerber"
|
243
|
+
},
|
244
|
+
"2": {
|
245
|
+
"name": "constant.language.polarity-type.gerber"
|
246
|
+
}
|
247
|
+
}
|
248
|
+
},
|
249
|
+
{
|
250
|
+
"match": "\\G(LM)(N|XY|X|Y)",
|
251
|
+
"captures": {
|
252
|
+
"1": {
|
253
|
+
"name": "entity.name.function.load-mirroring.gerber"
|
254
|
+
},
|
255
|
+
"2": {
|
256
|
+
"name": "constant.language.mirror-type.gerber"
|
257
|
+
}
|
258
|
+
}
|
259
|
+
},
|
260
|
+
{
|
261
|
+
"begin": "\\G(LN)",
|
262
|
+
"end": "(?=\\*|%)",
|
263
|
+
"beginCaptures": {
|
264
|
+
"1": {
|
265
|
+
"name": "entity.name.function.load-name.gerber"
|
266
|
+
}
|
267
|
+
},
|
268
|
+
"contentName": "variable.parameter.gerber"
|
269
|
+
},
|
270
|
+
{
|
271
|
+
"include": "$self"
|
272
|
+
}
|
273
|
+
]
|
274
|
+
},
|
275
|
+
"macroInnards": {
|
276
|
+
"patterns": [
|
277
|
+
{
|
278
|
+
"name": "comment.line.primitive.gerber",
|
279
|
+
"match": "^\\s*(0)(\\s+([^*%]+)(?=\\*|%|$))",
|
280
|
+
"captures": {
|
281
|
+
"1": {
|
282
|
+
"name": "keyword.operator.primitive.gerber"
|
283
|
+
},
|
284
|
+
"2": {
|
285
|
+
"patterns": [
|
286
|
+
{
|
287
|
+
"include": "#unicodeEscape"
|
288
|
+
}
|
289
|
+
]
|
290
|
+
},
|
291
|
+
"3": {
|
292
|
+
"name": "string.unquoted.gerber"
|
293
|
+
}
|
294
|
+
}
|
295
|
+
},
|
296
|
+
{
|
297
|
+
"name": "keyword.operator.logical.arithmetic.gerber",
|
298
|
+
"match": "\\+|-|x|X|/"
|
299
|
+
},
|
300
|
+
{
|
301
|
+
"match": "(\\()|(\\))",
|
302
|
+
"captures": {
|
303
|
+
"1": {
|
304
|
+
"name": "punctuation.section.equation.begin.gerber"
|
305
|
+
},
|
306
|
+
"2": {
|
307
|
+
"name": "punctuation.section.equation.end.gerber"
|
308
|
+
}
|
309
|
+
}
|
310
|
+
},
|
311
|
+
{
|
312
|
+
"name": "variable.positional.parameter.gerber",
|
313
|
+
"match": "(\\$)[1-9][0-9]*",
|
314
|
+
"captures": {
|
315
|
+
"1": {
|
316
|
+
"name": "punctuation.definition.variable.gerber"
|
317
|
+
}
|
318
|
+
}
|
319
|
+
},
|
320
|
+
{
|
321
|
+
"name": "keyword.operator.assignment.gerber",
|
322
|
+
"match": "="
|
323
|
+
},
|
324
|
+
{
|
325
|
+
"include": "$self"
|
326
|
+
}
|
327
|
+
]
|
328
|
+
},
|
329
|
+
"unicodeEscape": {
|
330
|
+
"name": "constant.character.escape.unicode.gerber",
|
331
|
+
"match": "(\\\\)u[0-9A-Fa-f]{4}",
|
332
|
+
"captures": {
|
333
|
+
"1": {
|
334
|
+
"name": "punctuation.definition.escape.backslash.gerber"
|
335
|
+
}
|
336
|
+
}
|
337
|
+
}
|
338
|
+
}
|
339
|
+
}
|