github-linguist 4.8.5 → 4.8.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/{source.sas_log.json → source.SASLog.json} +5 -6
  3. data/grammars/source.ahk.json +81 -57
  4. data/grammars/source.assembly.json +1 -1
  5. data/grammars/source.bro.json +4 -4
  6. data/grammars/source.clojure.json +32 -8
  7. data/grammars/source.coq.json +1 -1
  8. data/grammars/source.crystal.json +21 -6
  9. data/grammars/source.csound-document.json +71 -0
  10. data/grammars/source.csound-score.json +65 -0
  11. data/grammars/source.csound.json +494 -0
  12. data/grammars/source.elm.json +27 -2
  13. data/grammars/source.fsharp.json +1 -1
  14. data/grammars/source.glsl.json +96 -6
  15. data/grammars/source.js.jsx.json +664 -524
  16. data/grammars/source.nu.json +526 -0
  17. data/grammars/source.pawn.json +8 -109
  18. data/grammars/source.pony.json +1 -1
  19. data/grammars/source.python.json +4 -4
  20. data/grammars/source.regexp.babel.json +1 -1
  21. data/grammars/source.shell.json +4 -1
  22. data/grammars/source.swift.json +2 -2
  23. data/grammars/source.wavefront.mtl.json +1177 -0
  24. data/grammars/source.wavefront.obj.json +1344 -0
  25. data/grammars/text.html.creole.json +329 -0
  26. data/grammars/text.html.ecr.json +52 -0
  27. data/grammars/text.html.handlebars.json +1 -1
  28. data/grammars/text.html.mako.json +17 -2
  29. data/grammars/text.html.vue.json +36 -1
  30. data/grammars/text.slim.json +1 -4
  31. data/grammars/text.tex.latex.json +2 -2
  32. data/lib/linguist/languages.json +1 -1
  33. data/lib/linguist/languages.yml +75 -6
  34. data/lib/linguist/samples.json +1856 -71
  35. data/lib/linguist/version.rb +1 -1
  36. metadata +11 -4
  37. data/grammars/source.fan.json +0 -188
@@ -270,6 +270,9 @@
270
270
  {
271
271
  "include": "#ppline-macro-head-object"
272
272
  },
273
+ {
274
+ "include": "#ppline-macro-param"
275
+ },
273
276
  {
274
277
  "include": "#lex-in-preprocessor"
275
278
  },
@@ -311,121 +314,17 @@
311
314
  "contentName": "meta.preprocessor.macro.parameters.c",
312
315
  "patterns": [
313
316
  {
314
- "match": "\\)"
315
- },
316
- {
317
- "begin": "(%[0-9]+)",
318
- "beginCaptures": {
319
- "1": {
320
- "name": "variable.parameter.c"
321
- }
322
- },
323
- "end": "(?<=\\))|(?=(?<=^|[^\\\\])\\s*(\\n))",
324
- "patterns": [
325
- {
326
- "match": "\\)"
327
- },
328
- {
329
- "include": "#ppline-macro-param-next"
330
- },
331
- {
332
- "include": "#ppline-macro-param-vararg"
333
- },
334
- {
335
- "include": "#ppline-macro-param-lex"
336
- },
337
- {
338
- "include": "#ppline-macro-param-lex-invalid"
339
- }
340
- ]
341
- },
342
- {
343
- "include": "#ppline-macro-param-vararg"
344
- },
345
- {
346
- "include": "#ppline-macro-param-lex"
347
- },
348
- {
349
- "include": "#ppline-macro-param-lex-invalid"
317
+ "include": "#ppline-macro-param"
350
318
  }
351
319
  ]
352
320
  },
353
- "ppline-macro-param-next": {
354
- "begin": "(,)",
355
- "beginCaptures": {
356
- "1": {
357
- "name": "punctuation.separator.parameter.c"
358
- }
359
- },
360
- "end": "(%[0-9]+)|(?=\\.\\.\\.)|(\\))|(?=(?<=^|[^\\\\])\\s*(\\n))",
361
- "endCaptures": {
321
+ "ppline-macro-param": {
322
+ "match": "(%[0-9]+)",
323
+ "captures": {
362
324
  "1": {
363
325
  "name": "variable.parameter.c"
364
- },
365
- "2": {
366
- "name": "invalid.illegal.unexpected-closing-paren.c"
367
326
  }
368
- },
369
- "patterns": [
370
- {
371
- "include": "#ppline-macro-param-lex"
372
- },
373
- {
374
- "match": "(?x)\n\t\t\t\t\t\t(?: (?! (?:\\s|/\\*.*?\\*/)*+\n\t\t\t\t\t\t\t (?: (%[0-9]+) | \\.\\.\\. | \\) | (?>(?:\\\\\\s*)?$\\n?) | /[/*] ) )\n\t\t\t\t\t\t .)*\n\t\t\t\t\t",
375
- "name": "invalid.illegal.unexpected-character.c"
376
- }
377
- ]
378
- },
379
- "ppline-macro-param-vararg": {
380
- "begin": "(\\.\\.\\.)",
381
- "beginCaptures": {
382
- "1": {
383
- "name": "punctuation.definition.ellipsis.c"
384
- }
385
- },
386
- "end": "(\\))|(?=(?<=^|[^\\\\])\\s*(\\n))",
387
- "patterns": [
388
- {
389
- "include": "#ppline-macro-param-lex"
390
- },
391
- {
392
- "match": "(?x)\n\t\t\t\t\t\t(?: (?! (?:\\s|/\\*.*?\\*/)*+\n\t\t\t\t\t\t\t (?: \\) | (?>(?:\\\\\\s*)?$\\n?) | /[/*] ) )\n\t\t\t\t\t\t .)*\n\t\t\t\t\t",
393
- "name": "invalid.illegal.unexpected-character.c"
394
- }
395
- ]
396
- },
397
- "ppline-macro-param-lex": {
398
- "patterns": [
399
- {
400
- "match": "\\s*"
401
- },
402
- {
403
- "begin": "\\s*//",
404
- "beginCaptures": {
405
- "0": {
406
- "name": "punctuation.definition.comment.c"
407
- }
408
- },
409
- "end": "(?<=^|[^\\\\])\\s*(?=\\n)$",
410
- "name": "invalid.illegal.unexpected-end-of-line.c",
411
- "patterns": [
412
- {
413
- "include": "#lex-continuation"
414
- }
415
- ]
416
- },
417
- {
418
- "include": "#preprocessor-lex"
419
- }
420
- ]
421
- },
422
- "ppline-macro-param-lex-invalid": {
423
- "patterns": [
424
- {
425
- "match": "(?x)\n\t\t\t\t\t\t(?: (?! (?:\\s|/\\*.*?\\*/)*+\n\t\t\t\t\t\t (?: \\) | (?>(?:\\\\\\s*)?$\\n?) | /[/*] ) )\n\t\t\t\t\t\t .) # no star unlike its friends in arg/vararg\n\t\t\t\t\t",
426
- "name": "invalid.illegal.unexpected-character.c"
427
- }
428
- ]
327
+ }
429
328
  },
430
329
  "ppline-undef": {
431
330
  "begin": "(^\\s*(#)\\s*(undef))\\s+([a-zA-Z_]\\w*+)",
@@ -143,7 +143,7 @@
143
143
  "name": "keyword.control.jump.pony"
144
144
  },
145
145
  {
146
- "match": "\\b(if|ifdef|then|elseif|else|end|match|where|try|with|as|recover|consume|object|lambda|identityof)\\b",
146
+ "match": "\\b(if|ifdef|then|elseif|else|end|match|where|try|with|as|recover|consume|object|lambda|digestof)\\b",
147
147
  "name": "keyword.control.pony"
148
148
  },
149
149
  {
@@ -489,7 +489,7 @@
489
489
  },
490
490
  "assignment-operator": {
491
491
  "name": "keyword.operator.assignment.python",
492
- "match": "(?x)\n <<= | >>= | //= | \\*\\*=\n | \\+= | -= | /= | @=\n | \\*= | %= | ~= | \\^= | &= | \\|=\n | =\n"
492
+ "match": "(?x)\n <<= | >>= | //= | \\*\\*=\n | \\+= | -= | /= | @=\n | \\*= | %= | ~= | \\^= | &= | \\|=\n | =(?!=)\n"
493
493
  },
494
494
  "operator": {
495
495
  "match": "(?x)\n \\b(?<!\\.)\n (?:\n (and | or | not | in | is) (?# 1)\n |\n (for | if | else | await | (?:yield(?:\\s+from)?)) (?# 2)\n )\n (?!\\s*:)\\b\n\n | (<< | >> | & | \\| | \\^ | ~) (?# 3)\n\n | (\\*\\* | \\* | \\+ | - | % | // | / | @) (?# 4)\n\n | (!= | == | >= | <= | < | >) (?# 5)\n",
@@ -968,7 +968,7 @@
968
968
  },
969
969
  {
970
970
  "name": "keyword.operator.assignment.python",
971
- "match": "\\="
971
+ "match": "=(?!=)"
972
972
  },
973
973
  {
974
974
  "include": "#expression-class"
@@ -1278,7 +1278,7 @@
1278
1278
  },
1279
1279
  {
1280
1280
  "name": "keyword.operator.assignment.python",
1281
- "match": "\\="
1281
+ "match": "=(?!=)"
1282
1282
  }
1283
1283
  ]
1284
1284
  },
@@ -1512,7 +1512,7 @@
1512
1512
  },
1513
1513
  {
1514
1514
  "name": "keyword.operator.assignment.python",
1515
- "match": "\\="
1515
+ "match": "=(?!=)"
1516
1516
  },
1517
1517
  {
1518
1518
  "include": "#expression"
@@ -2,7 +2,7 @@
2
2
  "name": "Regular Expressions (Babel)",
3
3
  "scopeName": "source.regexp.babel",
4
4
  "fileTypes": [
5
- "re"
5
+
6
6
  ],
7
7
  "patterns": [
8
8
  {
@@ -6,6 +6,7 @@
6
6
  "bash",
7
7
  "ksh",
8
8
  "zsh",
9
+ "zsh-theme",
9
10
  "zshenv",
10
11
  "zlogin",
11
12
  "zlogout",
@@ -19,8 +20,10 @@
19
20
  ".textmate_init",
20
21
  "npmrc",
21
22
  "PKGBUILD",
23
+ "install",
22
24
  "cygport",
23
- "bats"
25
+ "bats",
26
+ "ebuild"
24
27
  ],
25
28
  "firstLineMatch": "^#!.*\\b(bash|zsh|sh|tcsh|ksh|dash|ash|csh|rc)|(?i:^\\s*#\\s*-\\*-[^*]*mode:\\s*shell-script[^*]*-\\*-)",
26
29
  "patterns": [
@@ -298,7 +298,7 @@
298
298
  "end": "\\*/",
299
299
  "patterns": [
300
300
  {
301
- "include": "#block-nested"
301
+ "include": "#nested"
302
302
  }
303
303
  ]
304
304
  }
@@ -332,7 +332,7 @@
332
332
  "end": "\\*/",
333
333
  "patterns": [
334
334
  {
335
- "include": "#block-nested"
335
+ "include": "#nested"
336
336
  },
337
337
  {
338
338
  "include": "text.restructuredtext#tags"
@@ -0,0 +1,1177 @@
1
+ {
2
+ "name": "Wavefront Material",
3
+ "scopeName": "source.wavefront.mtl",
4
+ "fileTypes": [
5
+ "mtl"
6
+ ],
7
+ "patterns": [
8
+ {
9
+ "include": "#main"
10
+ }
11
+ ],
12
+ "repository": {
13
+ "main": {
14
+ "patterns": [
15
+ {
16
+ "include": "#comment"
17
+ },
18
+ {
19
+ "include": "#newmtl"
20
+ },
21
+ {
22
+ "include": "#colour"
23
+ },
24
+ {
25
+ "include": "#texture"
26
+ },
27
+ {
28
+ "include": "#reflection"
29
+ },
30
+ {
31
+ "include": "#number"
32
+ }
33
+ ]
34
+ },
35
+ "comment": {
36
+ "name": "comment.line.number-sign.wavefront.mtl",
37
+ "begin": "#",
38
+ "end": "$",
39
+ "beginCaptures": {
40
+ "0": {
41
+ "name": "punctuation.definition.comment.wavefront.mtl"
42
+ }
43
+ }
44
+ },
45
+ "number": {
46
+ "patterns": [
47
+ {
48
+ "name": "constant.numeric.integer.wavefront.mtl",
49
+ "match": "(?<=[\\s,]|^)-?\\d+(?![-\\d.])"
50
+ },
51
+ {
52
+ "name": "constant.numeric.float.wavefront.mtl",
53
+ "match": "(?<=[\\s,]|^)-?(\\d+)(?:(\\.)(\\d+))?\\b",
54
+ "captures": {
55
+ "1": {
56
+ "name": "leading.decimal"
57
+ },
58
+ "2": {
59
+ "name": "decimal.separator"
60
+ },
61
+ "3": {
62
+ "name": "trailing.decimal"
63
+ }
64
+ }
65
+ },
66
+ {
67
+ "name": "constant.numeric.float.no-leading-digits.wavefront.mtl",
68
+ "match": "(?<=[\\s,]|^)-?(\\.)(\\d+)\\b",
69
+ "captures": {
70
+ "1": {
71
+ "name": "decimal.separator"
72
+ },
73
+ "2": {
74
+ "name": "trailing.decimal"
75
+ }
76
+ }
77
+ }
78
+ ]
79
+ },
80
+ "newmtl": {
81
+ "name": "meta.constructor.wavefront.mtl",
82
+ "match": "^\\s*(newmtl)(?=\\s|$)(?:\\s+(\\w+))?",
83
+ "captures": {
84
+ "1": {
85
+ "name": "keyword.function.$1.wavefront.mtl"
86
+ },
87
+ "2": {
88
+ "name": "variable.parameter.material-name.wavefront.mtl"
89
+ }
90
+ }
91
+ },
92
+ "colour": {
93
+ "patterns": [
94
+ {
95
+ "include": "#ka"
96
+ },
97
+ {
98
+ "include": "#kd"
99
+ },
100
+ {
101
+ "include": "#ks"
102
+ },
103
+ {
104
+ "include": "#ke"
105
+ },
106
+ {
107
+ "include": "#tf"
108
+ },
109
+ {
110
+ "include": "#illum"
111
+ },
112
+ {
113
+ "include": "#d"
114
+ },
115
+ {
116
+ "include": "#tr"
117
+ },
118
+ {
119
+ "include": "#ns"
120
+ },
121
+ {
122
+ "include": "#sharpness"
123
+ },
124
+ {
125
+ "include": "#ni"
126
+ }
127
+ ]
128
+ },
129
+ "ka": {
130
+ "patterns": [
131
+ {
132
+ "name": "meta.ambient-reflectivity.spectral-curve.wavefront.mtl",
133
+ "match": "^\\s*(Ka)\\s+(spectral)\\s+(?!#)(\\S+)(?<!#)(?:\\s+([-\\d.]+))?",
134
+ "captures": {
135
+ "1": {
136
+ "name": "keyword.function.$1.wavefront.mtl"
137
+ },
138
+ "2": {
139
+ "name": "storage.modifier.$2.wavefront.mtl"
140
+ },
141
+ "3": {
142
+ "name": "string.filename.wavefront.mtl"
143
+ },
144
+ "4": {
145
+ "name": "entity.value.factor.wavefront.mtl",
146
+ "patterns": [
147
+ {
148
+ "include": "#number"
149
+ }
150
+ ]
151
+ }
152
+ }
153
+ },
154
+ {
155
+ "name": "meta.ambient-reflectivity.ciexyz.wavefront.mtl",
156
+ "match": "^\\s*(Ka)\\s+(xyz)\\s+([-\\d.]+)(?:\\s+([-\\d.]+)\\s+([-\\d.]+))?",
157
+ "captures": {
158
+ "1": {
159
+ "name": "keyword.function.$1.wavefront.mtl"
160
+ },
161
+ "2": {
162
+ "name": "storage.modifier.$2.wavefront.mtl"
163
+ },
164
+ "3": {
165
+ "name": "entity.value.red.wavefront.mtl",
166
+ "patterns": [
167
+ {
168
+ "include": "#number"
169
+ }
170
+ ]
171
+ },
172
+ "4": {
173
+ "name": "entity.value.green.wavefront.mtl",
174
+ "patterns": [
175
+ {
176
+ "include": "#number"
177
+ }
178
+ ]
179
+ },
180
+ "5": {
181
+ "name": "entity.value.blue.wavefront.mtl",
182
+ "patterns": [
183
+ {
184
+ "include": "#number"
185
+ }
186
+ ]
187
+ }
188
+ }
189
+ },
190
+ {
191
+ "name": "meta.ambient-reflectivity.rgb.wavefront.mtl",
192
+ "match": "^\\s*(Ka)\\s+([-\\d.]+)(?:\\s+([-\\d.]+)\\s+([-\\d.]+))?",
193
+ "captures": {
194
+ "1": {
195
+ "name": "keyword.function.$1.wavefront.mtl"
196
+ },
197
+ "2": {
198
+ "name": "entity.value.red.wavefront.mtl",
199
+ "patterns": [
200
+ {
201
+ "include": "#number"
202
+ }
203
+ ]
204
+ },
205
+ "3": {
206
+ "name": "entity.value.green.wavefront.mtl",
207
+ "patterns": [
208
+ {
209
+ "include": "#number"
210
+ }
211
+ ]
212
+ },
213
+ "4": {
214
+ "name": "entity.value.blue.wavefront.mtl",
215
+ "patterns": [
216
+ {
217
+ "include": "#number"
218
+ }
219
+ ]
220
+ }
221
+ }
222
+ }
223
+ ]
224
+ },
225
+ "kd": {
226
+ "patterns": [
227
+ {
228
+ "name": "meta.diffuse-reflectivity.spectral-curve.wavefront.mtl",
229
+ "match": "^\\s*(Kd)\\s+(spectral)\\s+(?!#)(\\S+)(?<!#)(?:\\s+([-\\d.]+))?",
230
+ "captures": {
231
+ "1": {
232
+ "name": "keyword.function.$1.wavefront.mtl"
233
+ },
234
+ "2": {
235
+ "name": "storage.modifier.$2.wavefront.mtl"
236
+ },
237
+ "3": {
238
+ "name": "string.filename.wavefront.mtl"
239
+ },
240
+ "4": {
241
+ "name": "entity.value.factor.wavefront.mtl",
242
+ "patterns": [
243
+ {
244
+ "include": "#number"
245
+ }
246
+ ]
247
+ }
248
+ }
249
+ },
250
+ {
251
+ "name": "meta.diffuse-reflectivity.ciexyz.wavefront.mtl",
252
+ "match": "^\\s*(Kd)\\s+(xyz)\\s+([-\\d.]+)(?:\\s+([-\\d.]+)\\s+([-\\d.]+))?",
253
+ "captures": {
254
+ "1": {
255
+ "name": "keyword.function.$1.wavefront.mtl"
256
+ },
257
+ "2": {
258
+ "name": "storage.modifier.$2.wavefront.mtl"
259
+ },
260
+ "3": {
261
+ "name": "entity.value.red.wavefront.mtl",
262
+ "patterns": [
263
+ {
264
+ "include": "#number"
265
+ }
266
+ ]
267
+ },
268
+ "4": {
269
+ "name": "entity.value.green.wavefront.mtl",
270
+ "patterns": [
271
+ {
272
+ "include": "#number"
273
+ }
274
+ ]
275
+ },
276
+ "5": {
277
+ "name": "entity.value.blue.wavefront.mtl",
278
+ "patterns": [
279
+ {
280
+ "include": "#number"
281
+ }
282
+ ]
283
+ }
284
+ }
285
+ },
286
+ {
287
+ "name": "meta.diffuse-reflectivity.rgb.wavefront.mtl",
288
+ "match": "^\\s*(Kd)\\s+([-\\d.]+)(?:\\s+([-\\d.]+)\\s+([-\\d.]+))?",
289
+ "captures": {
290
+ "1": {
291
+ "name": "keyword.function.$1.wavefront.mtl"
292
+ },
293
+ "2": {
294
+ "name": "entity.value.red.wavefront.mtl",
295
+ "patterns": [
296
+ {
297
+ "include": "#number"
298
+ }
299
+ ]
300
+ },
301
+ "3": {
302
+ "name": "entity.value.green.wavefront.mtl",
303
+ "patterns": [
304
+ {
305
+ "include": "#number"
306
+ }
307
+ ]
308
+ },
309
+ "4": {
310
+ "name": "entity.value.blue.wavefront.mtl",
311
+ "patterns": [
312
+ {
313
+ "include": "#number"
314
+ }
315
+ ]
316
+ }
317
+ }
318
+ }
319
+ ]
320
+ },
321
+ "ks": {
322
+ "patterns": [
323
+ {
324
+ "name": "meta.specular-reflectivity.spectral-curve.wavefront.mtl",
325
+ "match": "^\\s*(Ks)\\s+(spectral)\\s+(?!#)(\\S+)(?<!#)(?:\\s+([-\\d.]+))?",
326
+ "captures": {
327
+ "1": {
328
+ "name": "keyword.function.$1.wavefront.mtl"
329
+ },
330
+ "2": {
331
+ "name": "storage.modifier.$2.wavefront.mtl"
332
+ },
333
+ "3": {
334
+ "name": "string.filename.wavefront.mtl"
335
+ },
336
+ "4": {
337
+ "name": "entity.value.factor.wavefront.mtl",
338
+ "patterns": [
339
+ {
340
+ "include": "#number"
341
+ }
342
+ ]
343
+ }
344
+ }
345
+ },
346
+ {
347
+ "name": "meta.specular-reflectivity.ciexyz.wavefront.mtl",
348
+ "match": "^\\s*(Ks)\\s+(xyz)\\s+([-\\d.]+)(?:\\s+([-\\d.]+)\\s+([-\\d.]+))?",
349
+ "captures": {
350
+ "1": {
351
+ "name": "keyword.function.$1.wavefront.mtl"
352
+ },
353
+ "2": {
354
+ "name": "storage.modifier.$2.wavefront.mtl"
355
+ },
356
+ "3": {
357
+ "name": "entity.value.red.wavefront.mtl",
358
+ "patterns": [
359
+ {
360
+ "include": "#number"
361
+ }
362
+ ]
363
+ },
364
+ "4": {
365
+ "name": "entity.value.green.wavefront.mtl",
366
+ "patterns": [
367
+ {
368
+ "include": "#number"
369
+ }
370
+ ]
371
+ },
372
+ "5": {
373
+ "name": "entity.value.blue.wavefront.mtl",
374
+ "patterns": [
375
+ {
376
+ "include": "#number"
377
+ }
378
+ ]
379
+ }
380
+ }
381
+ },
382
+ {
383
+ "name": "meta.diffuse-reflectivity.rgb.wavefront.mtl",
384
+ "match": "^\\s*(Ks)\\s+([-\\d.]+)(?:\\s+([-\\d.]+)\\s+([-\\d.]+))?",
385
+ "captures": {
386
+ "1": {
387
+ "name": "keyword.function.$1.wavefront.mtl"
388
+ },
389
+ "2": {
390
+ "name": "entity.value.red.wavefront.mtl",
391
+ "patterns": [
392
+ {
393
+ "include": "#number"
394
+ }
395
+ ]
396
+ },
397
+ "3": {
398
+ "name": "entity.value.green.wavefront.mtl",
399
+ "patterns": [
400
+ {
401
+ "include": "#number"
402
+ }
403
+ ]
404
+ },
405
+ "4": {
406
+ "name": "entity.value.blue.wavefront.mtl",
407
+ "patterns": [
408
+ {
409
+ "include": "#number"
410
+ }
411
+ ]
412
+ }
413
+ }
414
+ }
415
+ ]
416
+ },
417
+ "ke": {
418
+ "patterns": [
419
+ {
420
+ "name": "meta.emissive-colour.spectral-curve.wavefront.mtl",
421
+ "match": "^\\s*(Ke)\\s+(spectral)\\s+(?!#)(\\S+)(?<!#)(?:\\s+([-\\d.]+))?",
422
+ "captures": {
423
+ "1": {
424
+ "name": "keyword.function.$1.wavefront.mtl"
425
+ },
426
+ "2": {
427
+ "name": "storage.modifier.$2.wavefront.mtl"
428
+ },
429
+ "3": {
430
+ "name": "string.filename.wavefront.mtl"
431
+ },
432
+ "4": {
433
+ "name": "entity.value.factor.wavefront.mtl",
434
+ "patterns": [
435
+ {
436
+ "include": "#number"
437
+ }
438
+ ]
439
+ }
440
+ }
441
+ },
442
+ {
443
+ "name": "meta.emissive-colour.ciexyz.wavefront.mtl",
444
+ "match": "^\\s*(Ke)\\s+(xyz)\\s+([-\\d.]+)(?:\\s+([-\\d.]+)\\s+([-\\d.]+))?",
445
+ "captures": {
446
+ "1": {
447
+ "name": "keyword.function.$1.wavefront.mtl"
448
+ },
449
+ "2": {
450
+ "name": "storage.modifier.$2.wavefront.mtl"
451
+ },
452
+ "3": {
453
+ "name": "entity.value.red.wavefront.mtl",
454
+ "patterns": [
455
+ {
456
+ "include": "#number"
457
+ }
458
+ ]
459
+ },
460
+ "4": {
461
+ "name": "entity.value.green.wavefront.mtl",
462
+ "patterns": [
463
+ {
464
+ "include": "#number"
465
+ }
466
+ ]
467
+ },
468
+ "5": {
469
+ "name": "entity.value.blue.wavefront.mtl",
470
+ "patterns": [
471
+ {
472
+ "include": "#number"
473
+ }
474
+ ]
475
+ }
476
+ }
477
+ },
478
+ {
479
+ "name": "meta.emissive-colour.rgb.wavefront.mtl",
480
+ "match": "^\\s*(Ke)\\s+([-\\d.]+)(?:\\s+([-\\d.]+)\\s+([-\\d.]+))?",
481
+ "captures": {
482
+ "1": {
483
+ "name": "keyword.function.$1.wavefront.mtl"
484
+ },
485
+ "2": {
486
+ "name": "entity.value.red.wavefront.mtl",
487
+ "patterns": [
488
+ {
489
+ "include": "#number"
490
+ }
491
+ ]
492
+ },
493
+ "3": {
494
+ "name": "entity.value.green.wavefront.mtl",
495
+ "patterns": [
496
+ {
497
+ "include": "#number"
498
+ }
499
+ ]
500
+ },
501
+ "4": {
502
+ "name": "entity.value.blue.wavefront.mtl",
503
+ "patterns": [
504
+ {
505
+ "include": "#number"
506
+ }
507
+ ]
508
+ }
509
+ }
510
+ }
511
+ ]
512
+ },
513
+ "tf": {
514
+ "patterns": [
515
+ {
516
+ "name": "meta.transmission-filter.spectral-curve.wavefront.mtl",
517
+ "match": "^\\s*(Tf)\\s+(spectral)\\s+(?!#)(\\S+)(?<!#)(?:\\s+([-\\d.]+))?",
518
+ "captures": {
519
+ "1": {
520
+ "name": "keyword.function.$1.wavefront.mtl"
521
+ },
522
+ "2": {
523
+ "name": "storage.modifier.$2.wavefront.mtl"
524
+ },
525
+ "3": {
526
+ "name": "string.filename.wavefront.mtl"
527
+ },
528
+ "4": {
529
+ "name": "entity.value.factor.wavefront.mtl",
530
+ "patterns": [
531
+ {
532
+ "include": "#number"
533
+ }
534
+ ]
535
+ }
536
+ }
537
+ },
538
+ {
539
+ "name": "meta.transmission-filter.ciexyz.wavefront.mtl",
540
+ "match": "^\\s*(Tf)\\s+(xyz)\\s+([-\\d.]+)(?:\\s+([-\\d.]+)\\s+([-\\d.]+))?",
541
+ "captures": {
542
+ "1": {
543
+ "name": "keyword.function.$1.wavefront.mtl"
544
+ },
545
+ "2": {
546
+ "name": "storage.modifier.$2.wavefront.mtl"
547
+ },
548
+ "3": {
549
+ "name": "entity.value.red.wavefront.mtl",
550
+ "patterns": [
551
+ {
552
+ "include": "#number"
553
+ }
554
+ ]
555
+ },
556
+ "4": {
557
+ "name": "entity.value.green.wavefront.mtl",
558
+ "patterns": [
559
+ {
560
+ "include": "#number"
561
+ }
562
+ ]
563
+ },
564
+ "5": {
565
+ "name": "entity.value.blue.wavefront.mtl",
566
+ "patterns": [
567
+ {
568
+ "include": "#number"
569
+ }
570
+ ]
571
+ }
572
+ }
573
+ },
574
+ {
575
+ "name": "meta.transmission-filter.rgb.wavefront.mtl",
576
+ "match": "^\\s*(Tf)\\s+([-\\d.]+)(?:\\s+([-\\d.]+)\\s+([-\\d.]+))?",
577
+ "captures": {
578
+ "1": {
579
+ "name": "keyword.function.$1.wavefront.mtl"
580
+ },
581
+ "2": {
582
+ "name": "entity.value.red.wavefront.mtl",
583
+ "patterns": [
584
+ {
585
+ "include": "#number"
586
+ }
587
+ ]
588
+ },
589
+ "3": {
590
+ "name": "entity.value.green.wavefront.mtl",
591
+ "patterns": [
592
+ {
593
+ "include": "#number"
594
+ }
595
+ ]
596
+ },
597
+ "4": {
598
+ "name": "entity.value.blue.wavefront.mtl",
599
+ "patterns": [
600
+ {
601
+ "include": "#number"
602
+ }
603
+ ]
604
+ }
605
+ }
606
+ }
607
+ ]
608
+ },
609
+ "illum": {
610
+ "name": "meta.illumination-model.wavefront.mtl",
611
+ "match": "^\\s*(illum)\\s+(\\d+)",
612
+ "captures": {
613
+ "1": {
614
+ "name": "keyword.function.$1.wavefront.mtl"
615
+ },
616
+ "2": {
617
+ "name": "constant.numeric.integer.wavefront.mtl"
618
+ }
619
+ }
620
+ },
621
+ "d": {
622
+ "name": "meta.dissolve.wavefront.mtl",
623
+ "match": "^\\s*(d)(?:\\s+((-)halo))?\\s+([-\\d.]+)",
624
+ "captures": {
625
+ "1": {
626
+ "name": "keyword.function.$1.wavefront.mtl"
627
+ },
628
+ "2": {
629
+ "name": "storage.modifier.halo.wavefront.mtl"
630
+ },
631
+ "3": {
632
+ "name": "punctuation.definition.dash.wavefront.mtl"
633
+ },
634
+ "4": {
635
+ "name": "entity.value.factor.wavefront.mtl",
636
+ "patterns": [
637
+ {
638
+ "include": "#number"
639
+ }
640
+ ]
641
+ }
642
+ }
643
+ },
644
+ "tr": {
645
+ "name": "meta.transparency.wavefront.mtl",
646
+ "match": "^\\s*(Tr)\\s+([-\\d.]+)",
647
+ "captures": {
648
+ "1": {
649
+ "name": "keyword.function.$1.wavefront.mtl"
650
+ },
651
+ "2": {
652
+ "name": "entity.value.factor.wavefront.mtl",
653
+ "patterns": [
654
+ {
655
+ "include": "#number"
656
+ }
657
+ ]
658
+ }
659
+ }
660
+ },
661
+ "ns": {
662
+ "name": "meta.specular-exponent.wavefront.mtl",
663
+ "match": "^\\s*(Ns)\\s+([-\\d.]+)",
664
+ "captures": {
665
+ "1": {
666
+ "name": "keyword.function.$1.wavefront.mtl"
667
+ },
668
+ "2": {
669
+ "name": "entity.value.exponent.wavefront.mtl",
670
+ "patterns": [
671
+ {
672
+ "include": "#number"
673
+ }
674
+ ]
675
+ }
676
+ }
677
+ },
678
+ "sharpness": {
679
+ "name": "meta.sharpness.wavefront.mtl",
680
+ "match": "^\\s*(sharpness)\\s+([-\\d.]+)",
681
+ "captures": {
682
+ "1": {
683
+ "name": "keyword.function.$1.wavefront.mtl"
684
+ },
685
+ "2": {
686
+ "name": "entity.value.wavefront.mtl",
687
+ "patterns": [
688
+ {
689
+ "include": "#number"
690
+ }
691
+ ]
692
+ }
693
+ }
694
+ },
695
+ "ni": {
696
+ "name": "meta.optical-density.ior.wavefront.mtl",
697
+ "match": "^\\s*(Ni)\\s+([-\\d.]+)",
698
+ "captures": {
699
+ "1": {
700
+ "name": "keyword.function.$1.wavefront.mtl"
701
+ },
702
+ "2": {
703
+ "name": "entity.value.wavefront.mtl",
704
+ "patterns": [
705
+ {
706
+ "include": "#number"
707
+ }
708
+ ]
709
+ }
710
+ }
711
+ },
712
+ "texture": {
713
+ "patterns": [
714
+ {
715
+ "name": "meta.texture-map.ambient-reflectivity.wavefront.mtl",
716
+ "begin": "^\\s*(map_Ka)(?=\\s|$|#)",
717
+ "end": "(?=$|#)",
718
+ "contentName": "meta.options.wavefront.mtl",
719
+ "patterns": [
720
+ {
721
+ "include": "#texture-options"
722
+ }
723
+ ],
724
+ "beginCaptures": {
725
+ "1": {
726
+ "name": "keyword.function.$1.wavefront.mtl"
727
+ }
728
+ }
729
+ },
730
+ {
731
+ "name": "meta.texture-map.diffuse-reflectivity.wavefront.mtl",
732
+ "begin": "^\\s*(map_Kd)(?=\\s|$|#)",
733
+ "end": "(?=$|#)",
734
+ "contentName": "meta.options.wavefront.mtl",
735
+ "patterns": [
736
+ {
737
+ "include": "#texture-options"
738
+ }
739
+ ],
740
+ "beginCaptures": {
741
+ "1": {
742
+ "name": "keyword.function.$1.wavefront.mtl"
743
+ }
744
+ }
745
+ },
746
+ {
747
+ "name": "meta.texture-map.specular-reflectivity.wavefront.mtl",
748
+ "begin": "^\\s*(map_Ks)(?=\\s|$|#)",
749
+ "end": "(?=$|#)",
750
+ "contentName": "meta.options.wavefront.mtl",
751
+ "patterns": [
752
+ {
753
+ "include": "#texture-options"
754
+ }
755
+ ],
756
+ "beginCaptures": {
757
+ "1": {
758
+ "name": "keyword.function.$1.wavefront.mtl"
759
+ }
760
+ }
761
+ },
762
+ {
763
+ "name": "meta.texture-map.emissive-colour.wavefront.mtl",
764
+ "begin": "^\\s*(map_Ke)(?=\\s|$|#)",
765
+ "end": "(?=$|#)",
766
+ "contentName": "meta.options.wavefront.mtl",
767
+ "patterns": [
768
+ {
769
+ "include": "#texture-options"
770
+ }
771
+ ],
772
+ "beginCaptures": {
773
+ "1": {
774
+ "name": "keyword.function.$1.wavefront.mtl"
775
+ }
776
+ }
777
+ },
778
+ {
779
+ "name": "meta.texture-map.specular-exponent.wavefront.mtl",
780
+ "begin": "^\\s*(map_Ns)(?=\\s|$|#)",
781
+ "end": "(?=$|#)",
782
+ "contentName": "meta.options.wavefront.mtl",
783
+ "patterns": [
784
+ {
785
+ "include": "#texture-options"
786
+ }
787
+ ],
788
+ "beginCaptures": {
789
+ "1": {
790
+ "name": "keyword.function.$1.wavefront.mtl"
791
+ }
792
+ }
793
+ },
794
+ {
795
+ "name": "meta.texture-map.dissolve.wavefront.mtl",
796
+ "begin": "^\\s*(map_d)(?=\\s|$|#)",
797
+ "end": "(?=$|#)",
798
+ "contentName": "meta.options.wavefront.mtl",
799
+ "patterns": [
800
+ {
801
+ "include": "#texture-options"
802
+ }
803
+ ],
804
+ "beginCaptures": {
805
+ "1": {
806
+ "name": "keyword.function.$1.wavefront.mtl"
807
+ }
808
+ }
809
+ },
810
+ {
811
+ "name": "meta.texture-map.antialiasing.wavefront.mtl",
812
+ "match": "^\\s*(map_aat)(?:\\s+(on|off)(?=\\s|$|#))?",
813
+ "captures": {
814
+ "1": {
815
+ "name": "keyword.function.$1.wavefront.mtl"
816
+ },
817
+ "2": {
818
+ "name": "constant.language.boolean.$2.wavefront.mtl"
819
+ }
820
+ }
821
+ },
822
+ {
823
+ "name": "meta.texture-map.decal.wavefront.mtl",
824
+ "begin": "^\\s*(decal)(?=\\s|$|#)",
825
+ "end": "(?=$|#)",
826
+ "contentName": "meta.options.wavefront.mtl",
827
+ "patterns": [
828
+ {
829
+ "include": "#texture-options"
830
+ }
831
+ ],
832
+ "beginCaptures": {
833
+ "1": {
834
+ "name": "keyword.function.$1.wavefront.mtl"
835
+ }
836
+ }
837
+ },
838
+ {
839
+ "name": "meta.texture-map.displacement.wavefront.mtl",
840
+ "begin": "^\\s*(disp)(?=\\s|$|#)",
841
+ "end": "(?=$|#)",
842
+ "contentName": "meta.options.wavefront.mtl",
843
+ "patterns": [
844
+ {
845
+ "include": "#texture-options"
846
+ }
847
+ ],
848
+ "beginCaptures": {
849
+ "1": {
850
+ "name": "keyword.function.$1.wavefront.mtl"
851
+ }
852
+ }
853
+ },
854
+ {
855
+ "name": "meta.texture-map.bump.wavefront.mtl",
856
+ "begin": "^\\s*(bump)(?=\\s|$|#)",
857
+ "end": "(?=$|#)",
858
+ "contentName": "meta.options.wavefront.mtl",
859
+ "patterns": [
860
+ {
861
+ "include": "#texture-options"
862
+ }
863
+ ],
864
+ "beginCaptures": {
865
+ "1": {
866
+ "name": "keyword.function.$1.wavefront.mtl"
867
+ }
868
+ }
869
+ }
870
+ ]
871
+ },
872
+ "reflection": {
873
+ "name": "meta.reflection-map.type-$4.wavefront.mtl",
874
+ "begin": "^\\s*(refl)\\s+((-)type)\\s+(sphere|cube_(?:top|bottom|front|back|left|right))(?=\\s|$|#)",
875
+ "end": "(?=$|#)",
876
+ "contentName": "meta.options.wavefront.mtl",
877
+ "patterns": [
878
+ {
879
+ "include": "#texture-options"
880
+ }
881
+ ],
882
+ "beginCaptures": {
883
+ "1": {
884
+ "name": "keyword.function.$1.wavefront.mtl"
885
+ },
886
+ "2": {
887
+ "name": "keyword.option.type.wavefront.mtl"
888
+ },
889
+ "3": {
890
+ "name": "punctuation.definition.dash.wavefront.mtl"
891
+ },
892
+ "4": {
893
+ "name": "constant.language.mapping-type.$4.wavefront.mtl"
894
+ }
895
+ }
896
+ },
897
+ "texture-options": {
898
+ "patterns": [
899
+ {
900
+ "name": "meta.texture-option.horizontal-blending.wavefront.mtl",
901
+ "match": "(?<=\\s|^)((-)blendu)\\s+(on|off)(?=\\s|$|#)",
902
+ "captures": {
903
+ "1": {
904
+ "name": "keyword.option.blendu.wavefront.mtl"
905
+ },
906
+ "2": {
907
+ "name": "punctuation.definition.dash.wavefront.mtl"
908
+ },
909
+ "3": {
910
+ "name": "constant.language.boolean.$3.wavefront.mtl"
911
+ }
912
+ }
913
+ },
914
+ {
915
+ "name": "meta.texture-option.vertical-blending.wavefront.mtl",
916
+ "match": "(?<=\\s|^)((-)blendv)\\s+(on|off)(?=\\s|$|#)",
917
+ "captures": {
918
+ "1": {
919
+ "name": "keyword.option.blendv.wavefront.mtl"
920
+ },
921
+ "2": {
922
+ "name": "punctuation.definition.dash.wavefront.mtl"
923
+ },
924
+ "3": {
925
+ "name": "constant.language.boolean.$3.wavefront.mtl"
926
+ }
927
+ }
928
+ },
929
+ {
930
+ "name": "meta.texture-option.bump-multiplier.wavefront.mtl",
931
+ "match": "(?<=\\s|^)((-)bm)\\s+([-\\d.]+)",
932
+ "captures": {
933
+ "1": {
934
+ "name": "keyword.option.bm.wavefront.mtl"
935
+ },
936
+ "2": {
937
+ "name": "punctuation.definition.dash.wavefront.mtl"
938
+ },
939
+ "3": {
940
+ "name": "entity.value.wavefront.mtl",
941
+ "patterns": [
942
+ {
943
+ "include": "#number"
944
+ }
945
+ ]
946
+ }
947
+ }
948
+ },
949
+ {
950
+ "name": "meta.texture-option.boost.wavefront.mtl",
951
+ "match": "(?<=\\s|^)((-)boost)\\s+([-\\d.]+)",
952
+ "captures": {
953
+ "1": {
954
+ "name": "keyword.option.boost.wavefront.mtl"
955
+ },
956
+ "2": {
957
+ "name": "punctuation.definition.dash.wavefront.mtl"
958
+ },
959
+ "3": {
960
+ "name": "entity.value.wavefront.mtl",
961
+ "patterns": [
962
+ {
963
+ "include": "#number"
964
+ }
965
+ ]
966
+ }
967
+ }
968
+ },
969
+ {
970
+ "name": "meta.texture-option.colour-correction.wavefront.mtl",
971
+ "match": "(?<=\\s|^)((-)cc)\\s+(on|off)(?=\\s|$|#)",
972
+ "captures": {
973
+ "1": {
974
+ "name": "keyword.option.cc.wavefront.mtl"
975
+ },
976
+ "2": {
977
+ "name": "punctuation.definition.dash.wavefront.mtl"
978
+ },
979
+ "3": {
980
+ "name": "constant.language.boolean.$3.wavefront.mtl"
981
+ }
982
+ }
983
+ },
984
+ {
985
+ "name": "meta.texture-option.clamping.wavefront.mtl",
986
+ "match": "(?<=\\s|^)((-)clamp)\\s+(on|off)(?=\\s|$|#)",
987
+ "captures": {
988
+ "1": {
989
+ "name": "keyword.option.clamp.wavefront.mtl"
990
+ },
991
+ "2": {
992
+ "name": "punctuation.definition.dash.wavefront.mtl"
993
+ },
994
+ "3": {
995
+ "name": "constant.language.boolean.$3.wavefront.mtl"
996
+ }
997
+ }
998
+ },
999
+ {
1000
+ "name": "meta.texture-option.channel.wavefront.mtl",
1001
+ "match": "(?<=\\s|^)((-)imfchan)(?:\\s+([rgbmlz])(?=\\s|$|#))?",
1002
+ "captures": {
1003
+ "1": {
1004
+ "name": "keyword.option.imfchan.wavefront.mtl"
1005
+ },
1006
+ "2": {
1007
+ "name": "punctuation.definition.dash.wavefront.mtl"
1008
+ },
1009
+ "3": {
1010
+ "name": "constant.language.boolean.$3.wavefront.mtl"
1011
+ }
1012
+ }
1013
+ },
1014
+ {
1015
+ "name": "meta.texture-option.modify-range.wavefront.mtl",
1016
+ "match": "(?<=\\s|^)((-)mm)\\s+([-\\d.]+)(?:\\s+([-\\d.]+))?",
1017
+ "captures": {
1018
+ "1": {
1019
+ "name": "keyword.option.mm.wavefront.mtl"
1020
+ },
1021
+ "2": {
1022
+ "name": "punctuation.definition.dash.wavefront.mtl"
1023
+ },
1024
+ "3": {
1025
+ "name": "entity.value.base.wavefront.mtl",
1026
+ "patterns": [
1027
+ {
1028
+ "include": "#number"
1029
+ }
1030
+ ]
1031
+ },
1032
+ "4": {
1033
+ "name": "entity.value.gain.wavefront.mtl",
1034
+ "patterns": [
1035
+ {
1036
+ "include": "#number"
1037
+ }
1038
+ ]
1039
+ }
1040
+ }
1041
+ },
1042
+ {
1043
+ "name": "meta.texture-option.offset.wavefront.mtl",
1044
+ "match": "(?<=\\s|^)((-)o)\\s+([-\\d.]+)(?:\\s+([-\\d.]+))?(?:\\s+([-\\d.]+))?",
1045
+ "captures": {
1046
+ "1": {
1047
+ "name": "keyword.option.o.wavefront.mtl"
1048
+ },
1049
+ "2": {
1050
+ "name": "punctuation.definition.dash.wavefront.mtl"
1051
+ },
1052
+ "3": {
1053
+ "name": "entity.value.u-offset.wavefront.mtl",
1054
+ "patterns": [
1055
+ {
1056
+ "include": "#number"
1057
+ }
1058
+ ]
1059
+ },
1060
+ "4": {
1061
+ "name": "entity.value.v-offset.wavefront.mtl",
1062
+ "patterns": [
1063
+ {
1064
+ "include": "#number"
1065
+ }
1066
+ ]
1067
+ },
1068
+ "5": {
1069
+ "name": "entity.value.w-offset.wavefront.mtl",
1070
+ "patterns": [
1071
+ {
1072
+ "include": "#number"
1073
+ }
1074
+ ]
1075
+ }
1076
+ }
1077
+ },
1078
+ {
1079
+ "name": "meta.texture-option.scale.wavefront.mtl",
1080
+ "match": "(?<=\\s|^)((-)s)\\s+([-\\d.]+)(?:\\s+([-\\d.]+))?(?:\\s+([-\\d.]+))?",
1081
+ "captures": {
1082
+ "1": {
1083
+ "name": "keyword.option.s.wavefront.mtl"
1084
+ },
1085
+ "2": {
1086
+ "name": "punctuation.definition.dash.wavefront.mtl"
1087
+ },
1088
+ "3": {
1089
+ "name": "entity.value.u-scale.wavefront.mtl",
1090
+ "patterns": [
1091
+ {
1092
+ "include": "#number"
1093
+ }
1094
+ ]
1095
+ },
1096
+ "4": {
1097
+ "name": "entity.value.v-scale.wavefront.mtl",
1098
+ "patterns": [
1099
+ {
1100
+ "include": "#number"
1101
+ }
1102
+ ]
1103
+ },
1104
+ "5": {
1105
+ "name": "entity.value.w-scale.wavefront.mtl",
1106
+ "patterns": [
1107
+ {
1108
+ "include": "#number"
1109
+ }
1110
+ ]
1111
+ }
1112
+ }
1113
+ },
1114
+ {
1115
+ "name": "meta.texture-option.turbulence.wavefront.mtl",
1116
+ "match": "(?<=\\s|^)((-)t)\\s+([-\\d.]+)(?:\\s+([-\\d.]+))?(?:\\s+([-\\d.]+))?",
1117
+ "captures": {
1118
+ "1": {
1119
+ "name": "keyword.option.t.wavefront.mtl"
1120
+ },
1121
+ "2": {
1122
+ "name": "punctuation.definition.dash.wavefront.mtl"
1123
+ },
1124
+ "3": {
1125
+ "name": "entity.value.u-value.wavefront.mtl",
1126
+ "patterns": [
1127
+ {
1128
+ "include": "#number"
1129
+ }
1130
+ ]
1131
+ },
1132
+ "4": {
1133
+ "name": "entity.value.v-value.wavefront.mtl",
1134
+ "patterns": [
1135
+ {
1136
+ "include": "#number"
1137
+ }
1138
+ ]
1139
+ },
1140
+ "5": {
1141
+ "name": "entity.value.w-value.wavefront.mtl",
1142
+ "patterns": [
1143
+ {
1144
+ "include": "#number"
1145
+ }
1146
+ ]
1147
+ }
1148
+ }
1149
+ },
1150
+ {
1151
+ "name": "meta.texture-option.resolution.wavefront.mtl",
1152
+ "match": "(?<=\\s|^)((-)texres)\\s+([-\\d.]+)",
1153
+ "captures": {
1154
+ "1": {
1155
+ "name": "keyword.option.texres.wavefront.mtl"
1156
+ },
1157
+ "2": {
1158
+ "name": "punctuation.definition.dash.wavefront.mtl"
1159
+ },
1160
+ "3": {
1161
+ "name": "entity.value.wavefront.mtl",
1162
+ "patterns": [
1163
+ {
1164
+ "include": "#number"
1165
+ }
1166
+ ]
1167
+ }
1168
+ }
1169
+ },
1170
+ {
1171
+ "name": "string.filename.wavefront.mtl",
1172
+ "match": "(?!#)\\S+(?<!#)"
1173
+ }
1174
+ ]
1175
+ }
1176
+ }
1177
+ }