github-linguist 4.8.9 → 4.8.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/bin/git-linguist +2 -2
  3. data/grammars/source.ats.json +58 -128
  4. data/grammars/source.autoit.json +158 -153
  5. data/grammars/source.awk.json +333 -383
  6. data/grammars/source.batchfile.json +194 -0
  7. data/grammars/source.c.platform.json +359 -22
  8. data/grammars/source.changelogs.rpm-spec.json +99 -0
  9. data/grammars/source.clojure.json +9 -3
  10. data/grammars/source.dockerfile.json +67 -78
  11. data/grammars/source.elm.json +20 -379
  12. data/grammars/source.emacs.lisp.json +656 -0
  13. data/grammars/source.gdscript.json +233 -228
  14. data/grammars/source.graphql.json +75 -10
  15. data/grammars/source.js.json +2 -2
  16. data/grammars/source.js.jsx.json +247 -839
  17. data/grammars/source.js.regexp.json +1 -1
  18. data/grammars/source.nginx.json +882 -768
  19. data/grammars/source.nsis.json +151 -143
  20. data/grammars/source.objc.json +3 -0
  21. data/grammars/source.objc.platform.json +174 -104
  22. data/grammars/source.puppet.json +429 -396
  23. data/grammars/source.pyjade.json +11 -0
  24. data/grammars/source.regexp.babel.json +1 -1
  25. data/grammars/source.rpm-spec.json +770 -0
  26. data/grammars/source.systemverilog.json +1110 -961
  27. data/grammars/source.ts.json +57 -57
  28. data/grammars/source.tsx.json +57 -57
  29. data/grammars/text.dart-analysis-output.json +67 -152
  30. data/grammars/text.error-list.json +54 -0
  31. data/grammars/text.find-refs.json +927 -0
  32. data/grammars/text.html.basic.json +1 -1
  33. data/grammars/text.html.mediawiki.elm-build-output.json +108 -0
  34. data/grammars/text.html.mediawiki.elm-documentation.json +22 -0
  35. data/grammars/text.html.vue.json +35 -0
  36. data/grammars/text.jade.json +34 -12
  37. data/grammars/text.roff.json +1 -1
  38. data/lib/linguist/heuristics.rb +16 -4
  39. data/lib/linguist/languages.json +1 -1
  40. data/lib/linguist/languages.yml +25 -5
  41. data/lib/linguist/samples.json +1367 -163
  42. data/lib/linguist/version.rb +1 -1
  43. metadata +10 -3
  44. data/grammars/source.dosbatch.json +0 -70
@@ -16,6 +16,17 @@
16
16
  "end": "^(?!(\\1\\s)|\\s*$)",
17
17
  "name": "comment.unbuffered.block.jade"
18
18
  },
19
+ {
20
+ "begin": "<!--",
21
+ "end": "--\\s*>",
22
+ "name": "comment.buffered.block.jade",
23
+ "patterns": [
24
+ {
25
+ "match": "--",
26
+ "name": "invalid.illegal.comment.comment.block.jade"
27
+ }
28
+ ]
29
+ },
19
30
  {
20
31
  "begin": "^(\\s*)//",
21
32
  "comment": "Buffered (html) comments.",
@@ -2,7 +2,7 @@
2
2
  "name": "Regular Expressions (Babel)",
3
3
  "scopeName": "source.regexp.babel",
4
4
  "fileTypes": [
5
-
5
+ "re"
6
6
  ],
7
7
  "patterns": [
8
8
  {
@@ -0,0 +1,770 @@
1
+ {
2
+ "fileTypes": [
3
+ "spec"
4
+ ],
5
+ "foldingStartMarker": "(^%(build$|changelog|check$|clean$|description|files|install$|package|prep$|preun|pretrans|(pre($| .*))|posttrans|postun|post|trigger|triggerin|triggerpostun|triggerun|verifyscript)\\s*$)",
6
+ "foldingStopMarker": "(^%(build$|changelog|check$|clean$|description|files|install$|package|pre(p|un|trans)?|post(trans|un)?|trigger(in|postun|un)?|verifyscript)\\s*$)|Z",
7
+ "name": "RPMSpec",
8
+ "patterns": [
9
+ {
10
+ "match": "^# norootforbuild",
11
+ "name": "keyword.rpm-spec"
12
+ },
13
+ {
14
+ "include": "#comments"
15
+ },
16
+ {
17
+ "include": "#conditionals"
18
+ },
19
+ {
20
+ "include": "#commands"
21
+ },
22
+ {
23
+ "include": "#macros"
24
+ },
25
+ {
26
+ "include": "#metadata"
27
+ },
28
+ {
29
+ "include": "#sections"
30
+ },
31
+ {
32
+ "include": "#modifiers"
33
+ },
34
+ {
35
+ "include": "#variables"
36
+ },
37
+ {
38
+ "include": "#architectures"
39
+ },
40
+ {
41
+ "include": "#licenses"
42
+ },
43
+ {
44
+ "include": "#constants"
45
+ },
46
+ {
47
+ "include": "#operators"
48
+ }
49
+ ],
50
+ "repository": {
51
+ "licenses": {
52
+ "patterns": [
53
+ {
54
+ "match": "(?:AFL-2.1|AGPL-3.0|AGPL-3.0\\+|Apache-1.1|Apache-2.0)",
55
+ "name": "constant.language.rpm-spec"
56
+ },
57
+ {
58
+ "match": "(?:X11|xinetd|Zlib|ZPL-2.0|ZPL-2.1)",
59
+ "name": "constant.language.rpm-spec"
60
+ },
61
+ {
62
+ "match": "(?:Apache-2.0+|APL-1.0|BSD-2-Clause|BSD-3-Clause|BSD-4-Clause)",
63
+ "name": "constant.language.rpm-spec"
64
+ },
65
+ {
66
+ "match": "(?:Artistic-1.0|Artistic-1.0+|Artistic-2.0|Beerware)",
67
+ "name": "constant.language.rpm-spec"
68
+ },
69
+ {
70
+ "match": "(?:CC-BY-ND-4.0|CC-BY-SA-2.5|CC-BY-SA-3.0)",
71
+ "name": "constant.language.rpm-spec"
72
+ },
73
+ {
74
+ "match": "(?:CC-BY-SA-3.0|CC-BY-SA-4.0|CDDL-1.0|CPL-1.0|EPL-1.0)",
75
+ "name": "constant.language.rpm-spec"
76
+ },
77
+ {
78
+ "match": "(?:ErlPL-1.1|GFDL-1.1|GFDL-1.1\\+|GFDL-1.2|GFDL-1.2\\+|GFDL-1.3)",
79
+ "name": "constant.language.rpm-spec"
80
+ },
81
+ {
82
+ "match": "(?:GFDL-1.3\\+|GPL-1.0\\+|GPL-2.0|GPL-2.0\\+|GPL-3.0|GPL-3.0\\+|IJG)",
83
+ "name": "constant.language.rpm-spec"
84
+ },
85
+ {
86
+ "match": "(?:LGPL-2.0\\+|LGPL-2.1|LGPL-2.1\\+|LGPL-3.0\\+|LPPL-1.3c)",
87
+ "name": "constant.language.rpm-spec"
88
+ },
89
+ {
90
+ "match": "(?:IPA|IPL-1.0|IPL-1.0|ISC|JSON|LGPL-2.0|MakeIndex|MIT)",
91
+ "name": "constant.language.rpm-spec"
92
+ },
93
+ {
94
+ "match": "(?:MPL-1.0|MPL-1.1|MPL-1.1\\+|MS-PL|NetCDF|OFL-1.1|OLDAP-2.8)",
95
+ "name": "constant.language.rpm-spec"
96
+ },
97
+ {
98
+ "match": "(?:OSL-1.1|PHP-3.01|Python-2.0|Qhull|QPL-1.0|QPL-1.0|Ruby)",
99
+ "name": "constant.language.rpm-spec"
100
+ },
101
+ {
102
+ "match": "(?:SUSE-BSD-3-Clause-with-non-nuclear-addition)",
103
+ "name": "constant.language.rpm-spec"
104
+ },
105
+ {
106
+ "match": "(?:SUSE-GPL-2.0\\+-with-sane-exception|SUSE-GPL-3.0-with-FLOSS-exception)",
107
+ "name": "constant.language.rpm-spec"
108
+ },
109
+ {
110
+ "match": "(?:SUSE-GPL-3.0-with-font-exception|SUSE-GPL-3.0-with-openssl-exception)",
111
+ "name": "constant.language.rpm-spec"
112
+ },
113
+ {
114
+ "match": "(?:SUSE-GPL-3.0-with-template-exception|SUSE-GPL-3.0+-with-autoconf-exception)",
115
+ "name": "constant.language.rpm-spec"
116
+ },
117
+ {
118
+ "match": "(?:SUSE-GPL-3.0\\+-with-font-exception|SUSE-GPL-3.0\\+-with-openssl-exception)",
119
+ "name": "constant.language.rpm-spec"
120
+ },
121
+ {
122
+ "match": "(?:SUSE-IBPL-1.0|SUSE-IDPL-1.0|SUSE-IEEE|SUSE-Innernet-2.0|SUSE-Innernet-2.00)",
123
+ "name": "constant.language.rpm-spec"
124
+ },
125
+ {
126
+ "match": "(?:SUSE-LDPL-2.0|SUSE-LGPL-2.0-with-linking-exception)",
127
+ "name": "constant.language.rpm-spec"
128
+ },
129
+ {
130
+ "match": "(?:SUSE-LGPL-2.1-with-digia-exception-1.1)",
131
+ "name": "constant.language.rpm-spec"
132
+ },
133
+ {
134
+ "match": "(?:SUSE-LGPL-2.1-with-nokia-exception-1.1)",
135
+ "name": "constant.language.rpm-spec"
136
+ },
137
+ {
138
+ "match": "(?:SUSE-LGPL-2.1\\+-with-GCC-exception|SUSE-LGPL-3.0-with-openssl-exception)",
139
+ "name": "constant.language.rpm-spec"
140
+ },
141
+ {
142
+ "match": "(?:SUSE-Liberation|SUSE-Manpages|SUSE-Matplotlib|SUSE-MgOpen|SUSE-mirror)",
143
+ "name": "constant.language.rpm-spec"
144
+ },
145
+ {
146
+ "match": "(?:SUSE-mplus|SUSE-NonFree|SUSE-Oasis-Specification-Notice)",
147
+ "name": "constant.language.rpm-spec"
148
+ },
149
+ {
150
+ "match": "(?:SUSE-OpenPublication-1.0|SUSE-OldFSFDocLicense|SUSE-Permissive)",
151
+ "name": "constant.language.rpm-spec"
152
+ },
153
+ {
154
+ "match": "(?:SUSE-Permissive-Modify-By-Patch|SUSE-PHP-2.02|SUSE-Public-Domain)",
155
+ "name": "constant.language.rpm-spec"
156
+ },
157
+ {
158
+ "match": "(?:SUSE-Python-1.6|SUSE-QWT-1.0|SUSE-Redistributable-Content|SUSE-Repoze)",
159
+ "name": "constant.language.rpm-spec"
160
+ },
161
+ {
162
+ "match": "(?:SUSE-Scrot|SUSE-Sendmail|SUSE-SGI-FreeB-2.0|SUSE-SIP|SUSE-SLIB)",
163
+ "name": "constant.language.rpm-spec"
164
+ },
165
+ {
166
+ "match": "(?:SUSE-SNIA-1.0|SUSE-SNIA-1.1|SUSE-Sun-Laboratories|SUSE-TeX|SUSE-TGPPL-1.0)",
167
+ "name": "constant.language.rpm-spec"
168
+ },
169
+ {
170
+ "match": "(?:SUSE-Ubuntu-Font-License-1.0|SUSE-Xano|SUSE-Xenonsoft-1.00)",
171
+ "name": "constant.language.rpm-spec"
172
+ },
173
+ {
174
+ "match": "(?:SUSE-XFree86-with-font-exception|SUSE-XSL-Lint|TCL|Unicode|Vim|W3C|WTFPL)",
175
+ "name": "constant.language.rpm-spec"
176
+ },
177
+ {
178
+ "match": "(?:SUSE-Bitstream-Vera|OML|OPL-1.0|SUSE-Arphic)",
179
+ "name": "constant.language.rpm-spec"
180
+ },
181
+ {
182
+ "match": "(?:SUSE-BSD-Mark-Modifications|SUSE-CacertRoot)",
183
+ "name": "constant.language.rpm-spec"
184
+ },
185
+ {
186
+ "match": "(?:SUSE-Copyleft-Next-0.3.0|SUSE-CPL-0.5|SUSE-Curb|SUSE-DMTF)",
187
+ "name": "constant.language.rpm-spec"
188
+ },
189
+ {
190
+ "match": "(?:SUSE-Docbook-XSL|SUSE-Egenix-1.1.0|SUSE-EULA|SUSE-FHS)",
191
+ "name": "constant.language.rpm-spec"
192
+ },
193
+ {
194
+ "match": "(?:SUSE-Firmware|SUSE-FLTK|SUSE-Free-Art-1.3|SUSE-Freetype)",
195
+ "name": "constant.language.rpm-spec"
196
+ },
197
+ {
198
+ "match": "(?:SUSE-Gitslave|SUSE-GL2PS-2.0|SUSE-Gnuplot)",
199
+ "name": "constant.language.rpm-spec"
200
+ },
201
+ {
202
+ "match": "(?:SUSE-GPL-2.0-with-FLOSS-exception)",
203
+ "name": "constant.language.rpm-spec"
204
+ },
205
+ {
206
+ "match": "(?:SUSE-CC-Sampling-Plus-1.0|SUSE-GPL-2.0-with-linking-exception)",
207
+ "name": "constant.language.rpm-spec"
208
+ },
209
+ {
210
+ "match": "(?:SUSE-GPL-2.0-with-openssl-exception)",
211
+ "name": "constant.language.rpm-spec"
212
+ },
213
+ {
214
+ "match": "(?:SUSE-GPL-2.0-with-OSI-exception)",
215
+ "name": "constant.language.rpm-spec"
216
+ },
217
+ {
218
+ "match": "(?:SUSE-GPL-2.0-with-plugin-exception)",
219
+ "name": "constant.language.rpm-spec"
220
+ },
221
+ {
222
+ "match": "(?:SUSE-GPL-2.0\\+-with-openssl-exception)",
223
+ "name": "constant.language.rpm-spec"
224
+ }
225
+ ]
226
+ },
227
+ "architectures": {
228
+ "patterns": [
229
+ {
230
+ "match": "(?:noarch|i386|i586|x86_64|local)",
231
+ "name": "constant.language.rpm-spec"
232
+ },
233
+ {
234
+ "match": "(?:s390x|armv6l|armv7l|aarch64)",
235
+ "name": "constant.language.rpm-spec"
236
+ },
237
+ {
238
+ "match": "(?:ppc64p7|ppc64leppc64|ppc)",
239
+ "name": "constant.language.rpm-spec"
240
+ }
241
+ ]
242
+ },
243
+ "metadata": {
244
+ "patterns": [
245
+ {
246
+ "match": "^(?:Icon|ExclusiveOs|ExcludeOs|NoSource|NoPatch):",
247
+ "name": "keyword.rpm-spec"
248
+ },
249
+ {
250
+ "match": "^(?:Conflicts|Obsoletes|Provides):",
251
+ "name": "keyword.rpm-spec"
252
+ },
253
+ {
254
+ "match": "^(?:Requires\\((?:preun|postun|pre|post)\\)|Requires):",
255
+ "name": "keyword.rpm-spec"
256
+ },
257
+ {
258
+ "match": "^(Enhances|Suggests|BuildConflicts|BuildRequires|Recommends):",
259
+ "name": "keyword.rpm-spec"
260
+ },
261
+ {
262
+ "match": "^(PreReq|Supplements|Epoch|Serial|Nosource|Nopatch):",
263
+ "name": "keyword.rpm-spec"
264
+ },
265
+ {
266
+ "match": "^(AutoReq|AutoProv|AutoReqProv):",
267
+ "name": "keyword.rpm-spec"
268
+ },
269
+ {
270
+ "match": "^(Copyright|Summary|Summary\\(.*\\)|Distribution):",
271
+ "name": "keyword.rpm-spec"
272
+ },
273
+ {
274
+ "match": "^(Vendor|Packager|Group|Source\\d*|Patch\\d*|BuildRoot|Prefix):",
275
+ "name": "keyword.rpm-spec"
276
+ },
277
+ {
278
+ "match": "^(Name|Version|Release|Url|URL):",
279
+ "name": "keyword.rpm-spec"
280
+ },
281
+ {
282
+ "match": "^(Source|Patch)[0-9]*:",
283
+ "name": "keyword.rpm-spec"
284
+ },
285
+ {
286
+ "begin": "^((?:BuildArch|BuildArchitectures|ExclusiveArch|ExcludeArch):)",
287
+ "end": "$",
288
+ "beginCaptures": {
289
+ "1": {
290
+ "name": "keyword.rpm-spec"
291
+ }
292
+ },
293
+ "patterns": [
294
+ {
295
+ "include": "#architectures"
296
+ }
297
+ ]
298
+ },
299
+ {
300
+ "begin": "^(License:)[ \\t]*",
301
+ "end": "$",
302
+ "beginCaptures": {
303
+ "1": {
304
+ "name": "keyword.rpm-spec"
305
+ }
306
+ },
307
+ "patterns": [
308
+ {
309
+ "include": "#licenses"
310
+ }
311
+ ]
312
+ }
313
+ ]
314
+ },
315
+ "macros": {
316
+ "patterns": [
317
+ {
318
+ "match": "^(%(?:setup|patch[0-9]*|configure|autosetup))",
319
+ "captures": {
320
+ "1": {
321
+ "name": "support.function.rpm-spec"
322
+ }
323
+ }
324
+ },
325
+ {
326
+ "match": "^%\\{?(?:desktop_database_postun|desktop_database_post)\\}?",
327
+ "name": "support.function.rpm-spec"
328
+ },
329
+ {
330
+ "match": "^%\\{?(?:fillup_and_insserv|fillup_only|find_lang)\\}?",
331
+ "name": "support.function.rpm-spec"
332
+ },
333
+ {
334
+ "match": "^%\\{?(?:icon_theme_cache_postun|icon_theme_cache_post)\\}?",
335
+ "name": "support.function.rpm-spec"
336
+ },
337
+ {
338
+ "match": "^%\\{?(?:insserv_cleanup|insserv_force_if_yast)\\}?",
339
+ "name": "support.function.rpm-spec"
340
+ },
341
+ {
342
+ "match": "^%\\{?(?:install_info_delete|install_info|gpg_verify)\\}?",
343
+ "name": "support.function.rpm-spec"
344
+ },
345
+ {
346
+ "match": "^%\\{?(?:perl_archlib|perl_gen_filelist)\\}?",
347
+ "name": "support.function.rpm-spec"
348
+ },
349
+ {
350
+ "match": "^%\\{?(?:perl_make_install|perl_process_packlist)\\}?",
351
+ "name": "support.function.rpm-spec"
352
+ },
353
+ {
354
+ "match": "^%\\{?(?:perl_sitearch|perl_sitelib)\\}?",
355
+ "name": "support.function.rpm-spec"
356
+ },
357
+ {
358
+ "match": "^%\\{?(?:perl_vendorarch|perl_vendorlib|perl_version)\\}?",
359
+ "name": "support.function.rpm-spec"
360
+ },
361
+ {
362
+ "match": "^%\\{?(?:py_incdir|py_libdir|py_requires|py_sitedir|py_ver)\\}?",
363
+ "name": "support.function.rpm-spec"
364
+ },
365
+ {
366
+ "match": "^%\\{?(?:remove_and_set|restart_on_update)\\}?",
367
+ "name": "support.function.rpm-spec"
368
+ },
369
+ {
370
+ "match": "^%\\{?(?:run_ldconfig|run_permissions)\\}?",
371
+ "name": "support.function.rpm-spec"
372
+ },
373
+ {
374
+ "match": "^%\\{?(?:service_add_pre|service_add_post)\\}?",
375
+ "name": "support.function.rpm-spec"
376
+ },
377
+ {
378
+ "match": "^%\\{?(?:service_del_preun|service_del_postun)\\}?",
379
+ "name": "support.function.rpm-spec"
380
+ },
381
+ {
382
+ "match": "^%\\{?(?:set_permissions|stop_on_removal)\\}?",
383
+ "name": "support.function.rpm-spec"
384
+ },
385
+ {
386
+ "match": "^%\\{?(?:suse_update_config|suse_update_desktop_file)\\}?",
387
+ "name": "support.function.rpm-spec"
388
+ },
389
+ {
390
+ "match": "^%\\{?(?:tcl_version|ul_version|verify_permissions)\\}?",
391
+ "name": "support.function.rpm-spec"
392
+ },
393
+ {
394
+ "match": "^%\\{?(?:create_subdir_filelist|create_exclude_filelist)\\}?",
395
+ "name": "support.function.rpm-spec"
396
+ },
397
+ {
398
+ "match": "^%\\{?(?:makeinstall|make_jobs|update_menus|clean_menus)\\}?",
399
+ "name": "support.function.rpm-spec"
400
+ }
401
+ ]
402
+ },
403
+ "sections": {
404
+ "patterns": [
405
+ {
406
+ "match": "^%(?:description|package)",
407
+ "name": "entity.name.section.rpm-spec"
408
+ },
409
+ {
410
+ "begin": "^(%changelog)",
411
+ "beginCaptures": {
412
+ "1": {
413
+ "name": "entity.name.section.rpm-spec"
414
+ }
415
+ },
416
+ "end": "Z",
417
+ "patterns": [
418
+ {
419
+ "include": "#changelogs"
420
+ }
421
+ ]
422
+ },
423
+ {
424
+ "begin": "^(%files)",
425
+ "beginCaptures": {
426
+ "1": {
427
+ "name": "entity.name.section.rpm-spec"
428
+ }
429
+ },
430
+ "end": "^$|Z",
431
+ "patterns": [
432
+ {
433
+ "include": "#std_section"
434
+ }
435
+ ]
436
+ },
437
+ {
438
+ "begin": "^(%(?:build|check|clean|install|verifyscript))$",
439
+ "beginCaptures": {
440
+ "1": {
441
+ "name": "entity.name.section.rpm-spec"
442
+ }
443
+ },
444
+ "end": "^$|Z",
445
+ "patterns": [
446
+ {
447
+ "include": "#std_section"
448
+ }
449
+ ]
450
+ },
451
+ {
452
+ "match": "^%(?:triggerin|triggerpostun|triggerun|trigger) --",
453
+ "name": "entity.name.section.rpm-spec"
454
+ },
455
+ {
456
+ "begin": "^(%(?:preun|prep|pretrans|pre|posttrans|postun|post|packagepreun))",
457
+ "beginCaptures": {
458
+ "1": {
459
+ "name": "entity.name.section.rpm-spec"
460
+ }
461
+ },
462
+ "end": "^$|Z",
463
+ "patterns": [
464
+ {
465
+ "include": "#std_section"
466
+ }
467
+ ]
468
+ }
469
+ ]
470
+ },
471
+ "std_section": {
472
+ "patterns": [
473
+ {
474
+ "include": "#comments"
475
+ },
476
+ {
477
+ "include": "#metadata"
478
+ },
479
+ {
480
+ "include": "#conditionals"
481
+ },
482
+ {
483
+ "include": "#commands"
484
+ },
485
+ {
486
+ "include": "#macros"
487
+ },
488
+ {
489
+ "include": "#modifiers"
490
+ },
491
+ {
492
+ "include": "#variables"
493
+ },
494
+ {
495
+ "include": "#licenses"
496
+ },
497
+ {
498
+ "include": "#constants"
499
+ },
500
+ {
501
+ "include": "#shell_syntax"
502
+ }
503
+ ]
504
+ },
505
+ "comments": {
506
+ "patterns": [
507
+ {
508
+ "match": "(#)(?<!C#|F#|M#)(.*)$",
509
+ "captures": {
510
+ "1": {
511
+ "name": "punctuation.comment.rpm-spec"
512
+ },
513
+ "2": {
514
+ "name": "comment.line.rpm-spec"
515
+ }
516
+ }
517
+ }
518
+ ]
519
+ },
520
+ "operators": {
521
+ "patterns": [
522
+ {
523
+ "match": "(?:[>=]?=|!=?|<|>|&&|\\|\\|)",
524
+ "name": "keyword.operator.logical.rpm-spec"
525
+ }
526
+ ]
527
+ },
528
+ "constants": {
529
+ "patterns": [
530
+ {
531
+ "match": "[0-9]+",
532
+ "name": "contstant.numeric.rpm-spec"
533
+ }
534
+ ]
535
+ },
536
+ "commands": {
537
+ "patterns": [
538
+ {
539
+ "match": "^%__(?:aclocal|ar|as|autoconf)",
540
+ "name": "support.constant.rpm-spec"
541
+ },
542
+ {
543
+ "match": "^%__(?:autoheader|automake|awk)",
544
+ "name": "support.constant.rpm-spec"
545
+ },
546
+ {
547
+ "match": "^%__(?:bzip2|bzip|cat|cc|chgrp_Rhf|chgrp)",
548
+ "name": "support.constant.rpm-spec"
549
+ },
550
+ {
551
+ "match": "^%__(?:chmod|chown_Rhf|chown|cpio|cp)",
552
+ "name": "support.constant.rpm-spec"
553
+ },
554
+ {
555
+ "match": "^%__(?:cpp|cxx|grep|gzip|patch)",
556
+ "name": "support.constant.rpm-spec"
557
+ },
558
+ {
559
+ "match": "^%__(?:id_u|id|install|ld|libtoolize)",
560
+ "name": "support.constant.rpm-spec"
561
+ },
562
+ {
563
+ "match": "^%__(?:ln_s|make|mkdir_p|mkdir|mv)",
564
+ "name": "support.constant.rpm-spec"
565
+ },
566
+ {
567
+ "match": "^%__(?:nm|objcopy|objdump|perl)",
568
+ "name": "support.constant.rpm-spec"
569
+ },
570
+ {
571
+ "match": "^%__(?:pgp|prelink_undo_cmd|python)",
572
+ "name": "support.constant.rpm-spec"
573
+ },
574
+ {
575
+ "match": "^%__(?:ranlib|rm|sed|strip|tar|unzip)",
576
+ "name": "support.constant.rpm-spec"
577
+ },
578
+ {
579
+ "match": "^%\\{__(?:aclocal|ar|as|autoconf)\\}",
580
+ "name": "support.constant.rpm-spec"
581
+ },
582
+ {
583
+ "match": "^%\\{__(?:autoheader|automake|awk)\\}",
584
+ "name": "support.constant.rpm-spec"
585
+ },
586
+ {
587
+ "match": "^%\\{__(?:bzip2|bzip|cat|cc|chgrp_Rhf|chgrp)\\}",
588
+ "name": "support.constant.rpm-spec"
589
+ },
590
+ {
591
+ "match": "^%\\{__(?:chmod|chown_Rhf|chown|cpio|cp)\\}",
592
+ "name": "support.constant.rpm-spec"
593
+ },
594
+ {
595
+ "match": "^%\\{__(?:cpp|cxx|grep|gzip|patch)\\}",
596
+ "name": "support.constant.rpm-spec"
597
+ },
598
+ {
599
+ "match": "^%\\{__(?:id_u|id|install|ld|libtoolize)\\}",
600
+ "name": "support.constant.rpm-spec"
601
+ },
602
+ {
603
+ "match": "^%\\{__(?:ln_s|make|mkdir_p|mkdir|mv)\\}",
604
+ "name": "support.constant.rpm-spec"
605
+ },
606
+ {
607
+ "match": "^%\\{__(?:nm|objcopy|objdump|perl)\\}",
608
+ "name": "support.constant.rpm-spec"
609
+ },
610
+ {
611
+ "match": "^%\\{__(?:pgp|prelink_undo_cmd|python)\\}",
612
+ "name": "support.constant.rpm-spec"
613
+ },
614
+ {
615
+ "match": "^%\\{__(?:ranlib|rm|sed|strip|tar|unzip)\\}",
616
+ "name": "support.constant.rpm-spec"
617
+ }
618
+ ]
619
+ },
620
+ "variables": {
621
+ "patterns": [
622
+ {
623
+ "match": "(%\\{with) ([a-zA-Z_][a-zA-Z0-9_:]*)(\\})",
624
+ "captures": {
625
+ "1": {
626
+ "name": "punctuation.other.bracket.rpm-spec"
627
+ },
628
+ "2": {
629
+ "name": "variable.other.rpm-spec"
630
+ },
631
+ "3": {
632
+ "name": "punctuation.other.bracket.rpm-spec"
633
+ }
634
+ }
635
+ },
636
+ {
637
+ "match": "(%\\{defined) ([a-zA-Z_][a-zA-Z0-9_:]*)(\\})",
638
+ "captures": {
639
+ "1": {
640
+ "name": "punctuation.other.bracket.rpm-spec"
641
+ },
642
+ "2": {
643
+ "name": "variable.other.rpm-spec"
644
+ },
645
+ "3": {
646
+ "name": "punctuation.other.bracket.rpm-spec"
647
+ }
648
+ }
649
+ },
650
+ {
651
+ "match": "(%\\{[!?]+)(_?[a-zA-Z]+[a-zA-Z0-9:_]*)(\\})",
652
+ "captures": {
653
+ "1": {
654
+ "name": "punctuation.other.bracket.rpm-spec"
655
+ },
656
+ "2": {
657
+ "name": "variable.other.rpm-spec"
658
+ },
659
+ "3": {
660
+ "name": "punctuation.other.bracket.rpm-spec"
661
+ }
662
+ }
663
+ },
664
+ {
665
+ "match": "(%\\{)(_?[a-zA-Z][a-zA-Z0-9_:]*)(\\})",
666
+ "captures": {
667
+ "1": {
668
+ "name": "punctuation.other.bracket.rpm-spec"
669
+ },
670
+ "2": {
671
+ "name": "variable.other.rpm-spec"
672
+ },
673
+ "3": {
674
+ "name": "punctuation.other.bracket.rpm-spec"
675
+ }
676
+ }
677
+ },
678
+ {
679
+ "match": "(%[!?]+)(_?[a-zA-Z][a-zA-Z0-9_:]*)",
680
+ "captures": {
681
+ "1": {
682
+ "name": "punctuation.other.bracket.rpm-spec"
683
+ },
684
+ "2": {
685
+ "name": "variable.other.rpm-spec"
686
+ }
687
+ }
688
+ },
689
+ {
690
+ "match": "(%)(_?[a-zA-Z][a-zA-Z0-9_:]*)?",
691
+ "captures": {
692
+ "1": {
693
+ "name": "punctuation.other.bracket.rpm-spec"
694
+ },
695
+ "2": {
696
+ "name": "variable.other.rpm-spec"
697
+ }
698
+ }
699
+ }
700
+ ]
701
+ },
702
+ "modifiers": {
703
+ "patterns": [
704
+ {
705
+ "match": "^%(?:define|global|undefine|docdir|doc)",
706
+ "name": "storage.modifier.rpm-spec"
707
+ },
708
+ {
709
+ "match": "^(%config(?:\\(noreplace\\))?)[ \\t]+",
710
+ "captures": {
711
+ "1": {
712
+ "name": "storage.modifier.rpm-spec"
713
+ }
714
+ }
715
+ },
716
+ {
717
+ "match": "^(%defattr\\(.*\\))",
718
+ "captures": {
719
+ "1": {
720
+ "name": "storage.modifier.rpm-spec"
721
+ }
722
+ }
723
+ },
724
+ {
725
+ "match": "(%(?:attrib|attr|verify|noverify)\\(.*\\)) ",
726
+ "captures": {
727
+ "1": {
728
+ "name": "storage.modifier.rpm-spec"
729
+ }
730
+ }
731
+ },
732
+ {
733
+ "match": "(%(?:lang|caps)\\(.*\\)) ",
734
+ "captures": {
735
+ "1": {
736
+ "name": "storage.modifier.rpm-spec"
737
+ }
738
+ }
739
+ }
740
+ ]
741
+ },
742
+ "conditionals": {
743
+ "patterns": [
744
+ {
745
+ "match": "%(?:ifarch|ifnarch|ifnos|ifos|if|else|endif)",
746
+ "name": "keyword.control.rpm-spec"
747
+ }
748
+ ]
749
+ },
750
+ "shell_syntax": {
751
+ "comment": "Set disabled to 1 to turn off syntax highlight of shellcode",
752
+ "disabled": 0,
753
+ "patterns": [
754
+ {
755
+ "include": "source.shell"
756
+ }
757
+ ]
758
+ },
759
+ "changelogs": {
760
+ "comment": "Set disabled to 1 to turn off syntax highlight of logs",
761
+ "disabled": 0,
762
+ "patterns": [
763
+ {
764
+ "include": "source.changelogs.rpm-spec"
765
+ }
766
+ ]
767
+ }
768
+ },
769
+ "scopeName": "source.rpm-spec"
770
+ }