github-linguist 7.5.1 → 7.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/annotation.liquidhaskell.haskell.json +122 -24
  3. data/grammars/etc.json +7 -0
  4. data/grammars/hint.haskell.json +122 -24
  5. data/grammars/hint.message.haskell.json +122 -24
  6. data/grammars/hint.type.haskell.json +122 -24
  7. data/grammars/injections.etc.json +48 -10
  8. data/grammars/source.abnf.json +180 -353
  9. data/grammars/source.ballerina.json +205 -50
  10. data/grammars/source.bnf.json +191 -0
  11. data/grammars/source.cabal.json +1 -1
  12. data/grammars/source.ditroff.desc.json +1 -1
  13. data/grammars/source.ebnf.json +157 -147
  14. data/grammars/source.editorconfig.json +30 -5
  15. data/grammars/source.emacs.lisp.json +4 -4
  16. data/grammars/source.gremlin.json +200 -0
  17. data/grammars/source.haproxy-config.json +65 -13
  18. data/grammars/source.haskell.json +122 -24
  19. data/grammars/source.hql.json +1 -1
  20. data/grammars/source.hsig.json +122 -24
  21. data/grammars/source.hx.json +5 -5
  22. data/grammars/source.hxml.json +4 -4
  23. data/grammars/source.ideal.json +4 -4
  24. data/grammars/source.igor.json +325 -0
  25. data/grammars/source.jlex.json +322 -0
  26. data/grammars/source.julia.json +132 -1
  27. data/grammars/source.lean.json +103 -54
  28. data/grammars/source.lex.json +232 -0
  29. data/grammars/source.lex.regexp.json +269 -0
  30. data/grammars/source.logos.json +1 -1
  31. data/grammars/source.meson.json +1 -1
  32. data/grammars/source.mlir.json +389 -0
  33. data/grammars/source.nanorc.json +3 -0
  34. data/grammars/source.pic.json +19 -19
  35. data/grammars/source.plist.json +336 -0
  36. data/grammars/source.powershell.json +2 -2
  37. data/grammars/source.purescript.json +2 -2
  38. data/grammars/source.rascal.json +1 -0
  39. data/grammars/source.regexp.extended.json +544 -6
  40. data/grammars/source.regexp.json +408 -31
  41. data/grammars/source.renpy.json +3 -1
  42. data/grammars/source.scala.json +199 -97
  43. data/grammars/source.smpl.json +314 -0
  44. data/grammars/source.solidity.json +1 -1
  45. data/grammars/source.sourcepawn.json +654 -0
  46. data/grammars/source.sqf.json +5 -1
  47. data/grammars/source.swift.json +56 -11
  48. data/grammars/source.sy.json +800 -0
  49. data/grammars/source.ts.json +64 -47
  50. data/grammars/source.tsx.json +65 -48
  51. data/grammars/source.v.json +1184 -0
  52. data/grammars/source.viml.json +31 -31
  53. data/grammars/source.wollok.json +1 -1
  54. data/grammars/source.xojo.json +2 -2
  55. data/grammars/source.yacc.json +626 -0
  56. data/grammars/source.yara.json +1 -1
  57. data/grammars/source.yasnippet.json +15 -25
  58. data/grammars/source.zeek.json +4 -4
  59. data/grammars/source.zig.json +594 -195
  60. data/grammars/text.eml.basic.json +19 -6
  61. data/grammars/text.html.php.blade.json +3 -3
  62. data/grammars/text.plain.json +18 -0
  63. data/grammars/text.roff.json +926 -437
  64. data/grammars/text.runoff.json +3 -3
  65. data/grammars/text.tex.latex.haskell.json +122 -24
  66. data/grammars/text.texinfo.json +1525 -0
  67. data/grammars/text.xml.plist.json +664 -0
  68. data/grammars/text.xml.svg.json +556 -0
  69. data/grammars/version +1 -1
  70. data/lib/linguist.rb +3 -1
  71. data/lib/linguist/VERSION +1 -1
  72. data/lib/linguist/generated.rb +62 -17
  73. data/lib/linguist/heuristics.yml +13 -0
  74. data/lib/linguist/language.rb +1 -11
  75. data/lib/linguist/languages.json +1 -1
  76. data/lib/linguist/languages.yml +179 -19
  77. data/lib/linguist/samples.json +2778 -732
  78. data/lib/linguist/strategy/manpage.rb +42 -0
  79. metadata +22 -5
  80. data/grammars/source.bison.json +0 -55
  81. data/grammars/source.sp.json +0 -113
@@ -2,6 +2,9 @@
2
2
  "name": ".nanorc",
3
3
  "scopeName": "source.nanorc",
4
4
  "patterns": [
5
+ {
6
+ "include": "injections.etc#scopeHack"
7
+ },
5
8
  {
6
9
  "include": "#main"
7
10
  }
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "backref": {
27
27
  "name": "variable.language.backreference.pic",
28
- "match": "\\b(last|(?:\\d*1[1-3]th|\\d*0th|(?:(?!11st)\\d)*1st|\\d*2nd|(?:(?!13rd)\\d*)3rd|\\d*[4-9]th)(?:[ \t]+last)?)\\b",
28
+ "match": "\\b(last|(?:\\d*1[1-3]th|\\d*0th|(?:(?!11st)\\d)*1st|\\d*2nd|(?:(?!13rd)\\d*)3rd|\\d*[4-9]th)(?:[ \\t]+last)?)\\b",
29
29
  "captures": {
30
30
  "0": {
31
31
  "name": "entity.name.pic"
@@ -94,7 +94,7 @@
94
94
  },
95
95
  {
96
96
  "name": "keyword.function.bond.pic.chem",
97
- "match": "\\b((?:(?:double|triple|front|back)[ \t]+)?\\bbond)\\b",
97
+ "match": "\\b((?:(?:double|triple|front|back)[ \\t]+)?\\bbond)\\b",
98
98
  "captures": {
99
99
  "0": {
100
100
  "name": "support.function.pic.chem"
@@ -106,7 +106,7 @@
106
106
  },
107
107
  {
108
108
  "name": "keyword.function.ring.pic.chem",
109
- "match": "(?:\\baromatic[ \t]+)?\\b(?:benzene|(?:flat)?ring\\d*)",
109
+ "match": "(?:\\baromatic[ \\t]+)?\\b(?:benzene|(?:flat)?ring\\d*)",
110
110
  "captures": {
111
111
  "0": {
112
112
  "name": "entity.name.function.pic.chem"
@@ -119,7 +119,7 @@
119
119
  },
120
120
  {
121
121
  "name": "keyword.function.set-size.pic.chem",
122
- "match": "\\b(size)\\b[ \t]*(\\d+)",
122
+ "match": "\\b(size)\\b[ \\t]*(\\d+)",
123
123
  "captures": {
124
124
  "1": {
125
125
  "name": "entity.name.function.pic.chem"
@@ -236,11 +236,11 @@
236
236
  },
237
237
  {
238
238
  "name": "meta.record.dformat.pic",
239
- "begin": "^\\S.*$\\n?",
239
+ "begin": "^\\S.*$\\R?",
240
240
  "end": "^(?=\\S)",
241
241
  "patterns": [
242
242
  {
243
- "match": "^([ \t]+[^:\\s]+:)?(?:(?\u003c=:)|[ \t]+)(\\S+)\\s+(.*)$",
243
+ "match": "^([ \\t]+[^:\\s]+:)?(?:(?\u003c=:)|[ \\t]+)(\\S+)\\s+(.*)$",
244
244
  "captures": {
245
245
  "0": {
246
246
  "name": "markup.list.unnumbered.dformat.pic"
@@ -312,7 +312,7 @@
312
312
  }
313
313
  },
314
314
  "embedded-roff": {
315
- "begin": "^(?=[.'][ \t]*(?:\\w|\\\\))",
315
+ "begin": "^(?=[.'][ \\t]*(?:\\w|\\\\))",
316
316
  "end": "(?\u003c!\\\\)$|(\\\\\".*)$",
317
317
  "patterns": [
318
318
  {
@@ -331,7 +331,7 @@
331
331
  },
332
332
  "escaped-newline": {
333
333
  "name": "constant.character.escape.newline.pic",
334
- "begin": "\\\\$\\n?",
334
+ "begin": "\\\\$\\R?",
335
335
  "end": "^(?:[.'])?",
336
336
  "beginCaptures": {
337
337
  "0": {
@@ -367,7 +367,7 @@
367
367
  },
368
368
  "globals": {
369
369
  "name": "support.variable.global.pic",
370
- "match": "(?x)\\b (arcrad|arrowhead|arrowht|arrowwid|boxht|boxwid|circlerad|dashwid |ellipseht|ellipsewid|fillval|lineht|linewid|maxpsht|maxpswid |moveht|movewid|scale|textht|textwid)\\b"
370
+ "match": "(?x)\\b\n(arcrad|arrowhead|arrowht|arrowwid|boxht|boxwid|circlerad|dashwid\n|ellipseht|ellipsewid|fillval|lineht|linewid|maxpsht|maxpswid\n|moveht|movewid|scale|textht|textwid)\\b"
371
371
  },
372
372
  "grap": {
373
373
  "patterns": [
@@ -521,7 +521,7 @@
521
521
  }
522
522
  },
523
523
  {
524
- "begin": "(until)[ \t]+((\")([^\"]+)(\"))\\s*$\\n?",
524
+ "begin": "(until)[ \\t]+((\")([^\"]+)(\"))\\s*$\\R?",
525
525
  "end": "^[ ]*(\\4)\\b",
526
526
  "patterns": [
527
527
  {
@@ -727,7 +727,7 @@
727
727
  "patterns": [
728
728
  {
729
729
  "name": "invalid.deprecated.function.picture.macro.roff",
730
- "match": "^([.'])[ \t]*(PS)[ \t]*(\u003c)(.*)(?=$|\\\\\")",
730
+ "match": "^([.'])[ \\t]*(PS)[ \\t]*(\u003c)(.*)(?=$|\\\\\")",
731
731
  "captures": {
732
732
  "1": {
733
733
  "name": "punctuation.definition.macro.roff"
@@ -749,8 +749,8 @@
749
749
  },
750
750
  {
751
751
  "contentName": "source.embedded.pic",
752
- "begin": "^([.'])[ \t]*(PS)\\b([\\d \t]*(?:#.*)?)?(\\\\[#\"].*)?$",
753
- "end": "^([.'])[ \t]*(P[EF])\\b",
752
+ "begin": "^([.'])[ \\t]*(PS)\\b([\\d \\t]*(?:#.*)?)?(\\\\[#\"].*)?$",
753
+ "end": "^([.'])[ \\t]*(P[EF])\\b",
754
754
  "patterns": [
755
755
  {
756
756
  "include": "$self"
@@ -795,8 +795,8 @@
795
795
  },
796
796
  {
797
797
  "contentName": "source.embedded.chem.pic",
798
- "begin": "^([.'])[ \t]*(cstart)\\b\\s*(\\S.*)?",
799
- "end": "^([.'])[ \t]*(cend)\\b",
798
+ "begin": "^([.'])[ \\t]*(cstart)\\b\\s*(\\S.*)?",
799
+ "end": "^([.'])[ \\t]*(cend)\\b",
800
800
  "patterns": [
801
801
  {
802
802
  "include": "#chem"
@@ -830,8 +830,8 @@
830
830
  },
831
831
  {
832
832
  "contentName": "source.embedded.dformat.pic",
833
- "begin": "^([.'])[ \t]*(begin[ \t]+dformat)\\b",
834
- "end": "^([.'])[ \t]*(end)\\b",
833
+ "begin": "^([.'])[ \\t]*(begin[ \\t]+dformat)\\b",
834
+ "end": "^([.'])[ \\t]*(end)\\b",
835
835
  "patterns": [
836
836
  {
837
837
  "include": "#dformat"
@@ -862,8 +862,8 @@
862
862
  },
863
863
  {
864
864
  "contentName": "source.embedded.grap.pic",
865
- "begin": "^([.'])[ \t]*(G1)\\b(\\s*\\d+)?(\\s*\\\\\".*$)?",
866
- "end": "^([.'])[ \t]*(G2)\\b",
865
+ "begin": "^([.'])[ \\t]*(G1)\\b(\\s*\\d+)?(\\s*\\\\\".*$)?",
866
+ "end": "^([.'])[ \\t]*(G2)\\b",
867
867
  "patterns": [
868
868
  {
869
869
  "include": "#grap"
@@ -0,0 +1,336 @@
1
+ {
2
+ "name": "Property List (Old-Style)",
3
+ "scopeName": "source.plist",
4
+ "patterns": [
5
+ {
6
+ "begin": "(?=\\(|\\{)",
7
+ "end": "(?=not)possible",
8
+ "patterns": [
9
+ {
10
+ "include": "#dictionary"
11
+ },
12
+ {
13
+ "include": "#array"
14
+ },
15
+ {
16
+ "include": "#comment"
17
+ },
18
+ {
19
+ "include": "#stray"
20
+ }
21
+ ]
22
+ },
23
+ {
24
+ "include": "#comment"
25
+ },
26
+ {
27
+ "include": "#stray"
28
+ }
29
+ ],
30
+ "repository": {
31
+ "array": {
32
+ "name": "meta.scope.array.plist",
33
+ "begin": "\\G\\(",
34
+ "end": "\\)",
35
+ "patterns": [
36
+ {
37
+ "include": "#array_item"
38
+ },
39
+ {
40
+ "include": "#comment"
41
+ },
42
+ {
43
+ "include": "#stray"
44
+ }
45
+ ],
46
+ "beginCaptures": {
47
+ "0": {
48
+ "name": "punctuation.definition.array.begin.plist"
49
+ }
50
+ },
51
+ "endCaptures": {
52
+ "0": {
53
+ "name": "punctuation.definition.array.end.plist"
54
+ }
55
+ }
56
+ },
57
+ "array_item": {
58
+ "name": "meta.scope.array-item.plist",
59
+ "begin": "(?=\u003c|\\(|\\{|\"|'|[-a-zA-Z0-9_.])",
60
+ "end": ",|(?=\\))",
61
+ "patterns": [
62
+ {
63
+ "include": "#dictionary"
64
+ },
65
+ {
66
+ "include": "#array"
67
+ },
68
+ {
69
+ "include": "#string"
70
+ },
71
+ {
72
+ "include": "#binary"
73
+ },
74
+ {
75
+ "include": "#comment"
76
+ },
77
+ {
78
+ "include": "#stray"
79
+ }
80
+ ],
81
+ "endCaptures": {
82
+ "0": {
83
+ "name": "punctuation.separator.array.plist"
84
+ }
85
+ }
86
+ },
87
+ "binary": {
88
+ "name": "meta.binary-data.plist",
89
+ "contentName": "constant.numeric.base64.plist",
90
+ "begin": "\\G\u003c",
91
+ "end": "(=?)\\s*(\u003e)",
92
+ "patterns": [
93
+ {
94
+ "name": "invalid.illegal.invalid-character.plist",
95
+ "match": "[^A-Za-z0-9+/ \\n]"
96
+ }
97
+ ],
98
+ "beginCaptures": {
99
+ "1": {
100
+ "name": "punctuation.definition.data.plist"
101
+ }
102
+ },
103
+ "endCaptures": {
104
+ "1": {
105
+ "name": "punctuation.terminator.data.plist"
106
+ },
107
+ "2": {
108
+ "name": "punctuation.definition.data.plist"
109
+ }
110
+ }
111
+ },
112
+ "comment": {
113
+ "patterns": [
114
+ {
115
+ "name": "comment.block.plist",
116
+ "begin": "/\\*",
117
+ "end": "\\*/",
118
+ "beginCaptures": {
119
+ "0": {
120
+ "name": "punctuation.definition.comment.begin.plist"
121
+ }
122
+ },
123
+ "endCaptures": {
124
+ "0": {
125
+ "name": "punctuation.definition.comment.begin.plist"
126
+ }
127
+ }
128
+ },
129
+ {
130
+ "begin": "(^[ \\t]+)?(?=//)",
131
+ "end": "(?!\\G)",
132
+ "patterns": [
133
+ {
134
+ "name": "comment.line.double-slash.plist",
135
+ "begin": "//",
136
+ "end": "\\n",
137
+ "beginCaptures": {
138
+ "0": {
139
+ "name": "punctuation.definition.comment.plist"
140
+ }
141
+ }
142
+ }
143
+ ],
144
+ "beginCaptures": {
145
+ "1": {
146
+ "name": "punctuation.whitespace.comment.leading.plist"
147
+ }
148
+ }
149
+ }
150
+ ]
151
+ },
152
+ "dictionary": {
153
+ "name": "meta.scope.dictionary.plist",
154
+ "begin": "\\G\\{",
155
+ "end": "\\}",
156
+ "patterns": [
157
+ {
158
+ "include": "#dictionary_item"
159
+ },
160
+ {
161
+ "include": "#comment"
162
+ },
163
+ {
164
+ "include": "#stray"
165
+ }
166
+ ],
167
+ "beginCaptures": {
168
+ "0": {
169
+ "name": "punctuation.definition.dictionary.begin.plist"
170
+ }
171
+ },
172
+ "endCaptures": {
173
+ "0": {
174
+ "name": "punctuation.definition.dictionary.end.plist"
175
+ }
176
+ }
177
+ },
178
+ "dictionary_item": {
179
+ "name": "meta.scope.dictionary-item.${3/[[\\s\\x20-\\x7F]\u0026\u0026[:^alnum:]]//g}${7/[[\\s\\x20-\\x7F]\u0026\u0026[:^alnum:]]//g}${9/[[\\s\\x20-\\x7F]\u0026\u0026[:^alnum:]]//g}.plist",
180
+ "begin": "(?\u003e((\")((?:[^\"\\\\]|\\\\.)*)(\"))|((')((?:[^'\\\\]|\\\\.)*)('))|([-a-zA-Z0-9_.]+))",
181
+ "end": ";|(?=\\})",
182
+ "patterns": [
183
+ {
184
+ "include": "#dictionary_item_contents"
185
+ }
186
+ ],
187
+ "beginCaptures": {
188
+ "1": {
189
+ "name": "string.quoted.double.plist"
190
+ },
191
+ "2": {
192
+ "name": "punctuation.definition.string.begin.plist"
193
+ },
194
+ "3": {
195
+ "name": "constant.other.key.plist",
196
+ "patterns": [
197
+ {
198
+ "include": "#string-contents"
199
+ }
200
+ ]
201
+ },
202
+ "4": {
203
+ "name": "punctuation.definition.string.end.plist"
204
+ },
205
+ "5": {
206
+ "name": "string.quoted.single.plist"
207
+ },
208
+ "6": {
209
+ "name": "punctuation.definition.string.begin.plist"
210
+ },
211
+ "7": {
212
+ "name": "constant.other.key.plist",
213
+ "patterns": [
214
+ {
215
+ "include": "#string-contents"
216
+ }
217
+ ]
218
+ },
219
+ "8": {
220
+ "name": "punctuation.definition.string.end.plist"
221
+ },
222
+ "9": {
223
+ "name": "constant.other.key.plist"
224
+ }
225
+ },
226
+ "endCaptures": {
227
+ "0": {
228
+ "name": "punctuation.separator.dictionary.plist"
229
+ }
230
+ }
231
+ },
232
+ "dictionary_item_contents": {
233
+ "patterns": [
234
+ {
235
+ "begin": "=",
236
+ "end": "(?=;|\\})",
237
+ "patterns": [
238
+ {
239
+ "begin": "(?=\u003c|\\(|\\{|\"|'|[-a-zA-Z0-9_.])",
240
+ "end": "(?=;|\\})",
241
+ "patterns": [
242
+ {
243
+ "include": "#dictionary"
244
+ },
245
+ {
246
+ "include": "#array"
247
+ },
248
+ {
249
+ "include": "#string"
250
+ },
251
+ {
252
+ "include": "#binary"
253
+ },
254
+ {
255
+ "include": "#stray"
256
+ }
257
+ ]
258
+ },
259
+ {
260
+ "include": "#stray_alpha"
261
+ }
262
+ ]
263
+ },
264
+ {
265
+ "include": "#stray"
266
+ }
267
+ ]
268
+ },
269
+ "stray": {
270
+ "name": "invalid.illegal.character-not-allowed-here.plist",
271
+ "begin": "\\S",
272
+ "end": "(?=\\{|\\(|/\\*|//|\"|'|\u003c|,|;|\\)|\\}|=)"
273
+ },
274
+ "stray_alpha": {
275
+ "name": "invalid.illegal.character-not-allowed-here.plist",
276
+ "begin": "\\S",
277
+ "end": "(?=\\{|\\(|/\\*|//|\"|'|\u003c|,|;|\\)|\\}|=|\\b[a-zA-Z0-9]|[-_.])"
278
+ },
279
+ "string": {
280
+ "patterns": [
281
+ {
282
+ "name": "string.quoted.single.plist",
283
+ "begin": "\\G'",
284
+ "end": "'(?!')",
285
+ "patterns": [
286
+ {
287
+ "include": "#string-contents"
288
+ }
289
+ ],
290
+ "beginCaptures": {
291
+ "0": {
292
+ "name": "punctuation.definition.string.begin.plist"
293
+ }
294
+ },
295
+ "endCaptures": {
296
+ "0": {
297
+ "name": "punctuation.definition.string.end.plist"
298
+ }
299
+ }
300
+ },
301
+ {
302
+ "name": "string.quoted.double.plist",
303
+ "begin": "\\G\"",
304
+ "end": "\"",
305
+ "patterns": [
306
+ {
307
+ "include": "#string-contents"
308
+ }
309
+ ],
310
+ "beginCaptures": {
311
+ "0": {
312
+ "name": "punctuation.definition.string.begin.plist"
313
+ }
314
+ },
315
+ "endCaptures": {
316
+ "0": {
317
+ "name": "punctuation.definition.string.end.plist"
318
+ }
319
+ }
320
+ },
321
+ {
322
+ "name": "constant.numeric.plist",
323
+ "match": "\\G[-+]?\\d+(\\.\\d*)?(E[-+]\\d+)?(?!\\w)"
324
+ },
325
+ {
326
+ "name": "string.unquoted.plist",
327
+ "match": "\\G[-a-zA-Z0-9_.]+"
328
+ }
329
+ ]
330
+ },
331
+ "string-contents": {
332
+ "name": "constant.character.escape.plist",
333
+ "match": "\\\\([uU]([[:xdigit:]]{4}|[[:xdigit:]]{2})|\\d{1,3}|.)"
334
+ }
335
+ }
336
+ }