github-linguist 7.6.1 → 7.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +5 -5
  2. data/bin/github-linguist +17 -4
  3. data/grammars/annotation.liquidhaskell.haskell.json +11 -11
  4. data/grammars/etc.json +212 -3
  5. data/grammars/hidden.manref.json +29 -0
  6. data/grammars/hint.haskell.json +11 -11
  7. data/grammars/hint.message.haskell.json +11 -11
  8. data/grammars/hint.type.haskell.json +11 -11
  9. data/grammars/injections.etc.json +601 -1
  10. data/grammars/source.abap.json +7 -7
  11. data/grammars/source.abnf.json +23 -1
  12. data/grammars/source.ahk.json +3 -3
  13. data/grammars/source.angelscript.json +1 -1
  14. data/grammars/source.ballerina.json +54 -18
  15. data/grammars/source.csound.json +1 -1
  16. data/grammars/source.css.json +2 -2
  17. data/grammars/source.css.scss.json +164 -15
  18. data/grammars/source.curlrc.json +869 -65
  19. data/grammars/source.dart.json +1 -1
  20. data/grammars/source.dircolors.json +39 -0
  21. data/grammars/source.direct-x.json +135 -0
  22. data/grammars/source.ebnf.json +67 -39
  23. data/grammars/source.elixir.json +43 -0
  24. data/grammars/source.gfm.json +1 -1
  25. data/grammars/source.gitconfig.json +1 -1
  26. data/grammars/source.hack.json +196 -80
  27. data/grammars/source.haskell.json +11 -11
  28. data/grammars/source.hosts.json +40 -0
  29. data/grammars/source.hsig.json +11 -11
  30. data/grammars/source.igor.json +2 -2
  31. data/grammars/source.ini.npmrc.json +311 -0
  32. data/grammars/source.inno.json +133 -0
  33. data/grammars/source.inputrc.json +500 -0
  34. data/grammars/source.js.json +4 -4
  35. data/grammars/source.julia.json +45 -3
  36. data/grammars/source.kotlin.json +1 -1
  37. data/grammars/source.lex.json +4 -4
  38. data/grammars/source.m4.json +141 -99
  39. data/grammars/source.man-conf.json +46 -34
  40. data/grammars/source.matlab.json +225 -35
  41. data/grammars/source.mcfunction-snapshot.json +21388 -561
  42. data/grammars/source.mcfunction.json +55 -5
  43. data/grammars/source.mlir.json +37 -317
  44. data/grammars/source.mrc.json +858 -0
  45. data/grammars/source.opts.json +12 -2
  46. data/grammars/source.p4.json +21 -5
  47. data/grammars/source.prisma.json +428 -0
  48. data/grammars/source.python.json +2 -0
  49. data/grammars/source.reason.json +28 -16
  50. data/grammars/source.rego.json +124 -0
  51. data/grammars/source.sass.json +158 -3
  52. data/grammars/source.scala.json +26 -15
  53. data/grammars/source.ssh-config.json +1 -14
  54. data/grammars/source.swift.json +162 -2
  55. data/grammars/source.ts.json +74 -25
  56. data/grammars/source.tsx.json +75 -26
  57. data/grammars/source.v.json +58 -16
  58. data/grammars/source.vim-snippet.json +645 -0
  59. data/grammars/source.viml.json +5 -5
  60. data/grammars/source.wgetrc.json +1640 -0
  61. data/grammars/source.zig.json +169 -304
  62. data/grammars/text.html.php.blade.json +1 -1
  63. data/grammars/text.html.riot.json +788 -0
  64. data/grammars/text.muse.json +1471 -0
  65. data/grammars/text.tex.latex.haskell.json +11 -11
  66. data/grammars/text.vim-help.json +383 -0
  67. data/grammars/version +1 -1
  68. data/lib/linguist/VERSION +1 -1
  69. data/lib/linguist/blob_helper.rb +4 -2
  70. data/lib/linguist/generated.rb +39 -12
  71. data/lib/linguist/heuristics.yml +16 -1
  72. data/lib/linguist/languages.json +1 -1
  73. data/lib/linguist/languages.yml +183 -14
  74. data/lib/linguist/linguist.bundle +0 -0
  75. data/lib/linguist/samples.json +6910 -536
  76. data/lib/linguist/vendor.yml +6 -0
  77. metadata +18 -5
  78. data/grammars/source.jlex.json +0 -322
@@ -64,7 +64,7 @@
64
64
  "2": {
65
65
  "patterns": [
66
66
  {
67
- "include": "etc"
67
+ "include": "#value"
68
68
  }
69
69
  ]
70
70
  }
@@ -76,7 +76,7 @@
76
76
  "1": {
77
77
  "patterns": [
78
78
  {
79
- "include": "etc"
79
+ "include": "#value"
80
80
  }
81
81
  ]
82
82
  }
@@ -93,6 +93,16 @@
93
93
  }
94
94
  }
95
95
  ]
96
+ },
97
+ "optionValue": {
98
+ "patterns": [
99
+ {
100
+ "include": "etc"
101
+ },
102
+ {
103
+ "include": "etc#bareword"
104
+ }
105
+ ]
96
106
  }
97
107
  }
98
108
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "P4",
2
+ "name": "P4-16",
3
3
  "scopeName": "source.p4",
4
4
  "patterns": [
5
5
  {
@@ -44,11 +44,15 @@
44
44
  },
45
45
  {
46
46
  "name": "storage.type.object.p4",
47
- "match": "\\b(header_type|header|metadata|field_list|field_list_calculation|parser|parser_exception|parser_value_set|counter|meter|register|action|action_profile|table|control|extern)\\b"
47
+ "match": "\\b(struct|package|header|metadata|parser|transition|state|actions|action|table|key|control|extern|verify)\\b"
48
48
  },
49
49
  {
50
50
  "name": "storage.data.type.p4",
51
- "match": "\\b(bool|bit|varbit|int)\\b"
51
+ "match": "\\b(void|const|bool|varbit|int|typedef|tuple|enum)\\b"
52
+ },
53
+ {
54
+ "name": "support.type.bit.p4",
55
+ "match": "bit(\u003c\\d+\u003e)"
52
56
  },
53
57
  {
54
58
  "name": "variable.language.p4",
@@ -56,7 +60,7 @@
56
60
  },
57
61
  {
58
62
  "name": "keyword.control.p4",
59
- "match": "\\b(if|else if|else|return|hit|miss|true|false)\\b"
63
+ "match": "\\b(if|else if|else|return|hit|miss|true|false|inout|in|out|exit)\\b"
60
64
  },
61
65
  {
62
66
  "name": "keyword.operator.p4",
@@ -64,7 +68,7 @@
64
68
  },
65
69
  {
66
70
  "name": "entity.name.type.p4",
67
- "match": "\\b(exact|ternary|lpm|range|valid|mask)\\b"
71
+ "match": "\\b(exact|ternary|lpm|range|valid|mask|match_kind)\\b"
68
72
  },
69
73
  {
70
74
  "name": "storage.type.p4",
@@ -86,6 +90,10 @@
86
90
  "name": "meta.preprocessor.include.p4",
87
91
  "match": "\\#include"
88
92
  },
93
+ {
94
+ "name": "meta.preprocessor.p4",
95
+ "match": "\\#ifndef|\\#ifdef|\\#if|\\#else|\\#endif|\\#elif"
96
+ },
89
97
  {
90
98
  "name": "meta.preprocessor.define.p4",
91
99
  "match": "\\#define"
@@ -94,6 +102,10 @@
94
102
  "name": "support.function.primitive.p4",
95
103
  "match": "\\b(apply|valid|select|current|extract|add_header|copy_header|remove_header|modify_field|add_to_field|add|set_field_to_hash_index|truncate|drop|no_op|push|pop|count|meter|generate_digest|resubmit|recirculate|clone_ingress_pkt_to_ingress|clone_egress_pkt_to_ingress|clone_ingress_pkt_to_egress|clone_egress_pkt_to_egress|register_write|register_read)\\b"
96
104
  },
105
+ {
106
+ "name": "storage.type.annotation.p4",
107
+ "match": "@\\w+"
108
+ },
97
109
  {
98
110
  "name": "support.any-method.p4",
99
111
  "match": "[a-zA-Z_][0-9a-zA-Z_]*"
@@ -106,6 +118,10 @@
106
118
  "name": "constant.numeric.p4",
107
119
  "match": "0(x|X)[0-9a-fA-F]+"
108
120
  },
121
+ {
122
+ "name": "constant.numeric.p4",
123
+ "match": "\\dw\\d+"
124
+ },
109
125
  {
110
126
  "name": "constant.numeric.p4",
111
127
  "match": "0(b|B)[01]+"
@@ -0,0 +1,428 @@
1
+ {
2
+ "name": "Prisma",
3
+ "scopeName": "source.prisma",
4
+ "patterns": [
5
+ {
6
+ "include": "#triple_comment"
7
+ },
8
+ {
9
+ "include": "#double_comment"
10
+ },
11
+ {
12
+ "include": "#model_block_definition"
13
+ },
14
+ {
15
+ "include": "#config_block_definition"
16
+ },
17
+ {
18
+ "include": "#enum_block_definition"
19
+ },
20
+ {
21
+ "include": "#type_definition"
22
+ }
23
+ ],
24
+ "repository": {
25
+ "array": {
26
+ "name": "source.prisma.array",
27
+ "begin": "\\[",
28
+ "end": "\\]",
29
+ "patterns": [
30
+ {
31
+ "include": "#value"
32
+ }
33
+ ],
34
+ "beginCaptures": {
35
+ "1": {
36
+ "name": "punctuation.definition.tag.prisma"
37
+ }
38
+ },
39
+ "endCaptures": {
40
+ "1": {
41
+ "name": "punctuation.definition.tag.prisma"
42
+ }
43
+ }
44
+ },
45
+ "assignment": {
46
+ "patterns": [
47
+ {
48
+ "begin": "^\\s*(\\w+)\\s*(=)\\s*",
49
+ "end": "\\n",
50
+ "patterns": [
51
+ {
52
+ "include": "#value"
53
+ }
54
+ ],
55
+ "beginCaptures": {
56
+ "1": {
57
+ "name": "variable.other.assignment.prisma"
58
+ },
59
+ "2": {
60
+ "name": "keyword.operator.terraform"
61
+ }
62
+ }
63
+ }
64
+ ]
65
+ },
66
+ "attribute": {
67
+ "name": "source.prisma.attribute",
68
+ "match": "(@@?[\\w\\.]+)",
69
+ "captures": {
70
+ "1": {
71
+ "name": "entity.name.function.attribute.prisma"
72
+ }
73
+ }
74
+ },
75
+ "attribute_with_arguments": {
76
+ "name": "source.prisma.attribute.with_arguments",
77
+ "begin": "(@@?[\\w\\.]+)(\\()",
78
+ "end": "\\)",
79
+ "patterns": [
80
+ {
81
+ "include": "#named_argument"
82
+ },
83
+ {
84
+ "include": "#value"
85
+ }
86
+ ],
87
+ "beginCaptures": {
88
+ "1": {
89
+ "name": "entity.name.function.attribute.prisma"
90
+ },
91
+ "2": {
92
+ "name": "punctuation.definition.tag.prisma"
93
+ }
94
+ },
95
+ "endCaptures": {
96
+ "0": {
97
+ "name": "punctuation.definition.tag.prisma"
98
+ }
99
+ }
100
+ },
101
+ "boolean": {
102
+ "name": "constant.language.boolean.prisma",
103
+ "match": "\\b(true|false)\\b"
104
+ },
105
+ "config_block_definition": {
106
+ "name": "source.prisma.embedded.source",
107
+ "begin": "^\\s*(generator|datasource)\\s+([A-Za-z][\\w]*)\\s+({)",
108
+ "end": "\\s*\\}",
109
+ "patterns": [
110
+ {
111
+ "include": "#triple_comment"
112
+ },
113
+ {
114
+ "include": "#double_comment"
115
+ },
116
+ {
117
+ "include": "#assignment"
118
+ }
119
+ ],
120
+ "beginCaptures": {
121
+ "1": {
122
+ "name": "storage.type.config.prisma"
123
+ },
124
+ "2": {
125
+ "name": "entity.name.type.config.prisma"
126
+ },
127
+ "3": {
128
+ "name": "punctuation.definition.tag.prisma"
129
+ }
130
+ },
131
+ "endCaptures": {
132
+ "1": {
133
+ "name": "punctuation.definition.tag.prisma"
134
+ }
135
+ }
136
+ },
137
+ "double_comment": {
138
+ "name": "comment.prisma",
139
+ "begin": "//",
140
+ "end": "$\\n?"
141
+ },
142
+ "double_quoted_string": {
143
+ "name": "unnamed",
144
+ "begin": "\"",
145
+ "end": "\"",
146
+ "patterns": [
147
+ {
148
+ "include": "#string_interpolation"
149
+ },
150
+ {
151
+ "name": "string.quoted.double.prisma",
152
+ "match": "([\\w\\-\\/\\._\\\\%@:\\?=]+)"
153
+ }
154
+ ],
155
+ "beginCaptures": {
156
+ "0": {
157
+ "name": "string.quoted.double.start.prisma"
158
+ }
159
+ },
160
+ "endCaptures": {
161
+ "0": {
162
+ "name": "string.quoted.double.end.prisma"
163
+ }
164
+ }
165
+ },
166
+ "enum_block_definition": {
167
+ "name": "source.prisma.embedded.source",
168
+ "begin": "^\\s*(enum)\\s+([A-Za-z][\\w]*)\\s+({)",
169
+ "end": "\\s*\\}",
170
+ "patterns": [
171
+ {
172
+ "include": "#triple_comment"
173
+ },
174
+ {
175
+ "include": "#double_comment"
176
+ },
177
+ {
178
+ "include": "#enum_value_definition"
179
+ }
180
+ ],
181
+ "beginCaptures": {
182
+ "1": {
183
+ "name": "storage.type.enum.prisma"
184
+ },
185
+ "2": {
186
+ "name": "entity.name.type.enum.prisma"
187
+ },
188
+ "3": {
189
+ "name": "punctuation.definition.tag.prisma"
190
+ }
191
+ },
192
+ "endCaptures": {
193
+ "0": {
194
+ "name": "punctuation.definition.tag.prisma"
195
+ }
196
+ }
197
+ },
198
+ "enum_value_definition": {
199
+ "patterns": [
200
+ {
201
+ "match": "^\\s*(\\w+)\\s*$",
202
+ "captures": {
203
+ "1": {
204
+ "name": "variable.other.assignment.prisma"
205
+ }
206
+ }
207
+ },
208
+ {
209
+ "include": "#attribute_with_arguments"
210
+ },
211
+ {
212
+ "include": "#attribute"
213
+ }
214
+ ]
215
+ },
216
+ "field_definition": {
217
+ "patterns": [
218
+ {
219
+ "match": "^\\s*(\\w+)(\\s*:)?\\s+(\\w+)(\\[\\])?(\\?)?(\\!)?",
220
+ "captures": {
221
+ "1": {
222
+ "name": "variable.other.assignment.prisma"
223
+ },
224
+ "2": {
225
+ "name": "invalid.illegal.colon.prisma"
226
+ },
227
+ "3": {
228
+ "name": "support.type.primitive.prisma"
229
+ },
230
+ "4": {
231
+ "name": "keyword.operator.list_type.prisma"
232
+ },
233
+ "5": {
234
+ "name": "keyword.operator.optional_type.prisma"
235
+ },
236
+ "6": {
237
+ "name": "invalid.illegal.required_type.prisma"
238
+ }
239
+ }
240
+ },
241
+ {
242
+ "include": "#attribute_with_arguments"
243
+ },
244
+ {
245
+ "include": "#attribute"
246
+ }
247
+ ]
248
+ },
249
+ "functional": {
250
+ "name": "source.prisma.functional",
251
+ "begin": "(\\w+)(\\()",
252
+ "end": "\\)",
253
+ "patterns": [
254
+ {
255
+ "include": "#value"
256
+ }
257
+ ],
258
+ "beginCaptures": {
259
+ "1": {
260
+ "name": "support.function.functional.prisma"
261
+ },
262
+ "2": {
263
+ "name": "punctuation.definition.tag.prisma"
264
+ }
265
+ },
266
+ "endCaptures": {
267
+ "0": {
268
+ "name": "punctuation.definition.tag.prisma"
269
+ }
270
+ }
271
+ },
272
+ "identifier": {
273
+ "patterns": [
274
+ {
275
+ "name": "support.constant.constant.prisma",
276
+ "match": "\\b(\\w)+\\b"
277
+ }
278
+ ]
279
+ },
280
+ "literal": {
281
+ "name": "source.prisma.literal",
282
+ "patterns": [
283
+ {
284
+ "include": "#boolean"
285
+ },
286
+ {
287
+ "include": "#number"
288
+ },
289
+ {
290
+ "include": "#double_quoted_string"
291
+ },
292
+ {
293
+ "include": "#identifier"
294
+ }
295
+ ]
296
+ },
297
+ "map_key": {
298
+ "name": "source.prisma.key",
299
+ "patterns": [
300
+ {
301
+ "match": "(\\w+)\\s*(:)\\s*",
302
+ "captures": {
303
+ "1": {
304
+ "name": "variable.parameter.key.prisma"
305
+ },
306
+ "2": {
307
+ "name": "punctuation.definition.separator.key-value.prisma"
308
+ }
309
+ }
310
+ }
311
+ ]
312
+ },
313
+ "model_block_definition": {
314
+ "name": "source.prisma.embedded.source",
315
+ "begin": "^\\s*(model|type)\\s+([A-Za-z][\\w]*)\\s+({)",
316
+ "end": "\\s*\\}",
317
+ "patterns": [
318
+ {
319
+ "include": "#triple_comment"
320
+ },
321
+ {
322
+ "include": "#double_comment"
323
+ },
324
+ {
325
+ "include": "#field_definition"
326
+ }
327
+ ],
328
+ "beginCaptures": {
329
+ "1": {
330
+ "name": "storage.type.model.prisma"
331
+ },
332
+ "2": {
333
+ "name": "entity.name.type.model.prisma"
334
+ },
335
+ "3": {
336
+ "name": "punctuation.definition.tag.prisma"
337
+ }
338
+ },
339
+ "endCaptures": {
340
+ "0": {
341
+ "name": "punctuation.definition.tag.prisma"
342
+ }
343
+ }
344
+ },
345
+ "named_argument": {
346
+ "name": "source.prisma.named_argument",
347
+ "patterns": [
348
+ {
349
+ "include": "#map_key"
350
+ },
351
+ {
352
+ "include": "#value"
353
+ }
354
+ ]
355
+ },
356
+ "number": {
357
+ "name": "constant.numeric.prisma",
358
+ "match": "((0(x|X)[0-9a-fA-F]*)|(\\+|-)?\\b(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDdg]|UL|ul)?\\b"
359
+ },
360
+ "string_interpolation": {
361
+ "patterns": [
362
+ {
363
+ "name": "source.tag.embedded.source.prisma",
364
+ "begin": "\\$\\{",
365
+ "end": "\\s*\\}",
366
+ "patterns": [
367
+ {
368
+ "include": "#value"
369
+ }
370
+ ],
371
+ "beginCaptures": {
372
+ "0": {
373
+ "name": "keyword.control.interpolation.start.prisma"
374
+ }
375
+ },
376
+ "endCaptures": {
377
+ "0": {
378
+ "name": "keyword.control.interpolation.end.prisma"
379
+ }
380
+ }
381
+ }
382
+ ]
383
+ },
384
+ "triple_comment": {
385
+ "name": "comment.prisma",
386
+ "begin": "///",
387
+ "end": "$\\n?"
388
+ },
389
+ "type_definition": {
390
+ "patterns": [
391
+ {
392
+ "match": "^\\s*(type)\\s+(\\w+)\\s*=\\s*(\\w+)",
393
+ "captures": {
394
+ "1": {
395
+ "name": "storage.type.type.prisma"
396
+ },
397
+ "2": {
398
+ "name": "entity.name.type.type.prisma"
399
+ },
400
+ "3": {
401
+ "name": "support.type.primitive.prisma"
402
+ }
403
+ }
404
+ },
405
+ {
406
+ "include": "#attribute_with_arguments"
407
+ },
408
+ {
409
+ "include": "#attribute"
410
+ }
411
+ ]
412
+ },
413
+ "value": {
414
+ "name": "source.prisma.value",
415
+ "patterns": [
416
+ {
417
+ "include": "#array"
418
+ },
419
+ {
420
+ "include": "#functional"
421
+ },
422
+ {
423
+ "include": "#literal"
424
+ }
425
+ ]
426
+ }
427
+ }
428
+ }