github-linguist 7.6.1 → 7.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
@@ -2979,6 +2979,7 @@
2979
2979
  }
2980
2980
  },
2981
2981
  "member-access": {
2982
+ "name": "meta.member.access.python",
2982
2983
  "begin": "(\\.)\\s*(?!\\.)",
2983
2984
  "end": "(?x)\n # stop when you've just read non-whitespace followed by non-word\n # i.e. when finished reading an identifier or function call\n (?\u003c=\\S)(?=\\W) |\n # stop when seeing the start of something that's not a word,\n # i.e. when seeing a non-identifier\n (^|(?\u003c=\\s))(?=[^\\\\\\w\\s]) |\n $\n",
2984
2985
  "patterns": [
@@ -3018,6 +3019,7 @@
3018
3019
  ]
3019
3020
  },
3020
3021
  "member-access-class": {
3022
+ "name": "meta.member.access.python",
3021
3023
  "begin": "(\\.)\\s*(?!\\.)",
3022
3024
  "end": "(?\u003c=\\S)(?=\\W)|$",
3023
3025
  "patterns": [
@@ -138,7 +138,6 @@
138
138
  }
139
139
  },
140
140
  "comment": {
141
- "name": "comment",
142
141
  "patterns": [
143
142
  {
144
143
  "include": "#comment-line"
@@ -155,31 +154,44 @@
155
154
  "name": "comment.block",
156
155
  "begin": "/\\*",
157
156
  "end": "\\*/",
158
- "patterns": [
159
- {
160
- "include": "#comment"
157
+ "beginCaptures": {
158
+ "0": {
159
+ "name": "punctuation.definition.comment.begin"
161
160
  }
162
- ]
161
+ },
162
+ "endCaptures": {
163
+ "0": {
164
+ "name": "punctuation.definition.comment.end"
165
+ }
166
+ }
163
167
  },
164
168
  "comment-block-doc": {
165
169
  "name": "comment.block.documentation",
166
170
  "begin": "/\\*\\*(?!/)",
167
171
  "end": "\\*/",
168
- "patterns": [
169
- {
170
- "include": "#comment"
172
+ "beginCaptures": {
173
+ "0": {
174
+ "name": "punctuation.definition.comment.begin"
171
175
  }
172
- ]
176
+ },
177
+ "endCaptures": {
178
+ "0": {
179
+ "name": "punctuation.definition.comment.end"
180
+ }
181
+ }
173
182
  },
174
183
  "comment-line": {
175
- "name": "comment.line",
176
- "begin": "(^[ \\t]+)?((//))",
177
- "end": "(?=^)",
178
- "patterns": [
179
- {
180
- "include": "#comment"
184
+ "name": "comment.line.double-slash",
185
+ "begin": "(^[ \\t]+)?(//)",
186
+ "end": "$",
187
+ "beginCaptures": {
188
+ "1": {
189
+ "name": "punctuation.whitespace.leading"
190
+ },
191
+ "2": {
192
+ "name": "punctuation.definition.comment"
181
193
  }
182
- ]
194
+ }
183
195
  },
184
196
  "condition-lhs": {
185
197
  "begin": "(?\u003c![#\\-:!?.@*/\u0026%^+\u003c=\u003e|~$\\\\])([\\?])(?![#\\-:!?.@*/\u0026%^+\u003c=\u003e|~$\\\\])",
@@ -0,0 +1,124 @@
1
+ {
2
+ "name": "Rego",
3
+ "scopeName": "source.rego",
4
+ "patterns": [
5
+ {
6
+ "include": "#comment"
7
+ },
8
+ {
9
+ "include": "#keyword"
10
+ },
11
+ {
12
+ "include": "#operator"
13
+ },
14
+ {
15
+ "include": "#head"
16
+ },
17
+ {
18
+ "include": "#term"
19
+ }
20
+ ],
21
+ "repository": {
22
+ "call": {
23
+ "name": "meta.function-call.rego",
24
+ "match": "([a-zA-Z_][a-zA-Z0-9_]*)\\(",
25
+ "captures": {
26
+ "1": {
27
+ "name": "support.function.any-method.rego"
28
+ }
29
+ }
30
+ },
31
+ "comment": {
32
+ "name": "comment.line.number-sign.rego",
33
+ "match": "(#).*$\\n?",
34
+ "captures": {
35
+ "1": {
36
+ "name": "punctuation.definition.comment.rego"
37
+ }
38
+ }
39
+ },
40
+ "constant": {
41
+ "name": "constant.language.rego",
42
+ "match": "\\b(?:true|false|null)\\b"
43
+ },
44
+ "head": {
45
+ "name": "meta.function.rego",
46
+ "begin": "^([[:alpha:]_][[:alnum:]_]*)",
47
+ "end": "(=|{|\\n)",
48
+ "patterns": [
49
+ {
50
+ "include": "#term"
51
+ }
52
+ ],
53
+ "beginCaptures": {
54
+ "1": {
55
+ "name": "entity.name.function.declaration"
56
+ }
57
+ }
58
+ },
59
+ "keyword": {
60
+ "name": "keyword.other.rego",
61
+ "match": "(^|\\s+)(?:(default|not|package|import|as|with|else|some))\\s+"
62
+ },
63
+ "number": {
64
+ "name": "constant.numeric.rego",
65
+ "match": "(?x: # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n )?\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional\n )"
66
+ },
67
+ "operator": {
68
+ "patterns": [
69
+ {
70
+ "name": "keyword.operator.comparison.rego",
71
+ "match": "\\=|\\!\\=|\u003e|\u003c|\u003c\\=|\u003e\\=|\\+|-|\\*|%|/|\\||\u0026|:\\="
72
+ }
73
+ ]
74
+ },
75
+ "string": {
76
+ "name": "string.quoted.double.rego",
77
+ "begin": "\"",
78
+ "end": "\"",
79
+ "patterns": [
80
+ {
81
+ "name": "constant.character.escape.rego",
82
+ "match": "(?x: # turn on extended mode\n\t \\\\ # a literal backslash\n\t (?: # ...followed by...\n\t [\"\\\\/bfnrt] # one of these characters\n\t | # ...or...\n\t u # a u\n\t [0-9a-fA-F]{4} # and four hex digits\n\t )\n\t )"
83
+ },
84
+ {
85
+ "name": "invalid.illegal.unrecognized-string-escape.rego",
86
+ "match": "\\\\."
87
+ }
88
+ ],
89
+ "beginCaptures": {
90
+ "0": {
91
+ "name": "punctuation.definition.string.begin.rego"
92
+ }
93
+ },
94
+ "endCaptures": {
95
+ "0": {
96
+ "name": "punctuation.definition.string.end.rego"
97
+ }
98
+ }
99
+ },
100
+ "term": {
101
+ "patterns": [
102
+ {
103
+ "include": "#constant"
104
+ },
105
+ {
106
+ "include": "#string"
107
+ },
108
+ {
109
+ "include": "#number"
110
+ },
111
+ {
112
+ "include": "#call"
113
+ },
114
+ {
115
+ "include": "#variable"
116
+ }
117
+ ]
118
+ },
119
+ "variable": {
120
+ "name": "meta.identifier.rego",
121
+ "match": "\\b[[:alpha:]_][[:alnum:]_]*\\b"
122
+ }
123
+ }
124
+ }
@@ -258,7 +258,7 @@
258
258
  },
259
259
  {
260
260
  "name": "meta.function.include.sass",
261
- "begin": "^\\s*(\\+(?!\\s+)|(?:(@)include(?=\\s+)))\\s*([a-zA-Z0-9_-]+)",
261
+ "begin": "^\\s*(\\+(?!\\s+)|(?:(@)include(?=\\s+)))\\s*(?:([\\w-]+)(\\.))?([a-zA-Z0-9_-]+)",
262
262
  "end": "(;)?$",
263
263
  "patterns": [
264
264
  {
@@ -273,6 +273,12 @@
273
273
  "name": "punctuation.definition.entity.sass"
274
274
  },
275
275
  "3": {
276
+ "name": "variable.sass"
277
+ },
278
+ "4": {
279
+ "name": "punctuation.access.module.sass"
280
+ },
281
+ "5": {
276
282
  "name": "variable.other.sass"
277
283
  }
278
284
  },
@@ -354,6 +360,112 @@
354
360
  }
355
361
  }
356
362
  },
363
+ {
364
+ "name": "meta.at-rule.use.sass",
365
+ "begin": "^\\s*((@)use\\b)\\s*",
366
+ "end": "(;)?$",
367
+ "patterns": [
368
+ {
369
+ "name": "keyword.control.operator",
370
+ "match": "\\b(as|with)\\b"
371
+ },
372
+ {
373
+ "name": "variable.sass",
374
+ "match": "\\b[\\w-]+\\b"
375
+ },
376
+ {
377
+ "name": "variable.language.expanded-namespace.sass",
378
+ "match": "\\*"
379
+ },
380
+ {
381
+ "include": "#string-single"
382
+ },
383
+ {
384
+ "include": "#string-double"
385
+ },
386
+ {
387
+ "include": "#comments"
388
+ },
389
+ {
390
+ "begin": "\\(",
391
+ "end": "\\)",
392
+ "patterns": [
393
+ {
394
+ "include": "#property-value"
395
+ }
396
+ ],
397
+ "beginCaptures": {
398
+ "0": {
399
+ "name": "punctuation.definition.module.begin.bracket.round.sass"
400
+ }
401
+ },
402
+ "endCaptures": {
403
+ "0": {
404
+ "name": "punctuation.definition.module.end.bracket.round.sass"
405
+ }
406
+ }
407
+ }
408
+ ],
409
+ "beginCaptures": {
410
+ "1": {
411
+ "name": "keyword.control.at-rule.use.sass"
412
+ },
413
+ "2": {
414
+ "name": "punctuation.definition.keyword.sass"
415
+ }
416
+ },
417
+ "endCaptures": {
418
+ "1": {
419
+ "name": "invalid.illegal.punctuation.sass"
420
+ }
421
+ }
422
+ },
423
+ {
424
+ "name": "meta.at-rule.forward.sass",
425
+ "begin": "\\s*((@)forward\\b)\\s*",
426
+ "end": "\\s*(?=;)",
427
+ "patterns": [
428
+ {
429
+ "name": "keyword.control.operator",
430
+ "match": "\\b(as|hide|show)\\b"
431
+ },
432
+ {
433
+ "match": "\\b([\\w-]+)(\\*)",
434
+ "captures": {
435
+ "1": {
436
+ "name": "entity.other.attribute-name.module.sass"
437
+ },
438
+ "2": {
439
+ "name": "punctuation.definition.wildcard.sass"
440
+ }
441
+ }
442
+ },
443
+ {
444
+ "name": "entity.name.function.sass",
445
+ "match": "\\b[\\w-]+\\b"
446
+ },
447
+ {
448
+ "include": "#variable-usage"
449
+ },
450
+ {
451
+ "include": "#string-single"
452
+ },
453
+ {
454
+ "include": "#string-double"
455
+ },
456
+ {
457
+ "include": "#comments"
458
+ }
459
+ ],
460
+ "captures": {
461
+ "1": {
462
+ "name": "keyword.control.at-rule.forward.sass"
463
+ },
464
+ "2": {
465
+ "name": "punctuation.definition.keyword.sass"
466
+ }
467
+ }
468
+ },
357
469
  {
358
470
  "name": "meta.variable-usage.sass",
359
471
  "begin": "^\\s*(\\+)([a-zA-Z0-9_-]+)",
@@ -826,6 +938,43 @@
826
938
  {
827
939
  "include": "#string-single"
828
940
  },
941
+ {
942
+ "begin": "([\\w-]+)(\\.)([\\w-]+)(\\()",
943
+ "end": "(\\))",
944
+ "patterns": [
945
+ {
946
+ "include": "#string-double"
947
+ },
948
+ {
949
+ "include": "#string-single"
950
+ },
951
+ {
952
+ "include": "#variable-usage"
953
+ },
954
+ {
955
+ "include": "source.css#numeric-values"
956
+ }
957
+ ],
958
+ "beginCaptures": {
959
+ "1": {
960
+ "name": "variable.sass"
961
+ },
962
+ "2": {
963
+ "name": "punctuation.access.module.sass"
964
+ },
965
+ "3": {
966
+ "name": "support.function.misc.sass"
967
+ },
968
+ "4": {
969
+ "name": "punctuation.section.function.sass"
970
+ }
971
+ },
972
+ "endCaptures": {
973
+ "1": {
974
+ "name": "punctuation.section.function.sass"
975
+ }
976
+ }
977
+ },
829
978
  {
830
979
  "begin": "(rgb|url|attr|counter|counters|local|format)\\s*(\\()",
831
980
  "end": "(\\))",
@@ -920,12 +1069,18 @@
920
1069
  },
921
1070
  "variable-usage": {
922
1071
  "name": "meta.variable-usage.sass",
923
- "match": "(!|\\$)([a-zA-Z0-9_-]+)",
1072
+ "match": "(?:([\\w-]+)(\\.)(?=\\$))?(!|\\$)([a-zA-Z0-9_-]+)",
924
1073
  "captures": {
925
1074
  "1": {
926
- "name": "punctuation.definition.entity.css"
1075
+ "name": "variable.sass"
927
1076
  },
928
1077
  "2": {
1078
+ "name": "punctuation.access.module.sass"
1079
+ },
1080
+ "3": {
1081
+ "name": "punctuation.definition.entity.css"
1082
+ },
1083
+ "4": {
929
1084
  "name": "variable.other.sass"
930
1085
  }
931
1086
  }
@@ -101,7 +101,7 @@
101
101
  "char-literal": {
102
102
  "name": "string.quoted.other constant.character.literal.scala",
103
103
  "begin": "'",
104
- "end": "'",
104
+ "end": "'|$",
105
105
  "patterns": [
106
106
  {
107
107
  "name": "constant.character.escape.scala",
@@ -230,7 +230,7 @@
230
230
  "patterns": [
231
231
  {
232
232
  "name": "constant.language.scala",
233
- "match": "\\b(false|null|true|Nil|None)\\b"
233
+ "match": "\\b(false|null|true)\\b"
234
234
  },
235
235
  {
236
236
  "name": "constant.numeric.scala",
@@ -238,15 +238,7 @@
238
238
  },
239
239
  {
240
240
  "name": "variable.language.scala",
241
- "match": "\\b(this|super|self)\\b"
242
- },
243
- {
244
- "name": "storage.type.primitive.scala",
245
- "match": "\\b(Unit|Boolean|Byte|Char|Short|Int|Float|Long|Double)\\b"
246
- },
247
- {
248
- "name": "storage.type.scala",
249
- "match": "\\b(String|Symbol)\\b"
241
+ "match": "\\b(this|super)\\b"
250
242
  }
251
243
  ]
252
244
  },
@@ -300,7 +292,7 @@
300
292
  }
301
293
  },
302
294
  {
303
- "match": "\\b(val)\\s+([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\b",
295
+ "match": "\\b(val)\\s+([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?(\\s*,\\s*[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)*)\\b",
304
296
  "captures": {
305
297
  "1": {
306
298
  "name": "keyword.declaration.stable.scala"
@@ -380,6 +372,10 @@
380
372
  {
381
373
  "include": "#comments"
382
374
  },
375
+ {
376
+ "name": "keyword.given.import.scala",
377
+ "match": "(given)(?=\\s)"
378
+ },
383
379
  {
384
380
  "name": "entity.name.import.scala",
385
381
  "match": "(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"
@@ -407,6 +403,17 @@
407
403
  }
408
404
  }
409
405
  },
406
+ {
407
+ "match": "(given)(\\s+(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*[,}])",
408
+ "captures": {
409
+ "1": {
410
+ "name": "keyword.given.import.scala"
411
+ },
412
+ "2": {
413
+ "name": "entity.name.type.import.scala"
414
+ }
415
+ }
416
+ },
410
417
  {
411
418
  "name": "entity.name.import.scala",
412
419
  "match": "([^\\s.,}]+)"
@@ -433,7 +440,7 @@
433
440
  "inheritance": {
434
441
  "patterns": [
435
442
  {
436
- "match": "(extends|with|derives|as)\\s+([^\\s\\{\\(\\[\\]]+)",
443
+ "match": "(extends|with|derives)\\s+([^\\s\\{\\(\\[\\]]+)",
437
444
  "captures": {
438
445
  "1": {
439
446
  "name": "keyword.declaration.scala"
@@ -468,7 +475,11 @@
468
475
  },
469
476
  {
470
477
  "name": "keyword.control.flow.scala",
471
- "match": "\\b(else|if|do|while|for|yield|match|case)\\b"
478
+ "match": "\\b(else|if|then|do|while|for|yield|match|case)\\b"
479
+ },
480
+ {
481
+ "name": "keyword.control.flow.end.scala",
482
+ "match": "^\\s*end(?=\\s+(if|while|for|match|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"
472
483
  },
473
484
  {
474
485
  "name": "keyword.control.exception.scala",
@@ -545,7 +556,7 @@
545
556
  },
546
557
  "scala-quoted": {
547
558
  "name": "constant.other.quoted.scala",
548
- "match": "'\\{'|'\\('|'\\['|'\\{|'\\(|'\\["
559
+ "match": "('\\{|'\\[)(?!')"
549
560
  },
550
561
  "scala-symbol": {
551
562
  "name": "constant.other.symbol.scala",