github-linguist 7.1.3 → 7.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +5 -5
  2. data/grammars/annotation.liquidhaskell.haskell.json +119 -4
  3. data/grammars/etc.json +148 -0
  4. data/grammars/hint.haskell.json +119 -4
  5. data/grammars/hint.message.haskell.json +119 -4
  6. data/grammars/hint.type.haskell.json +119 -4
  7. data/grammars/injections.etc.json +21 -0
  8. data/grammars/source.abap.json +2 -2
  9. data/grammars/source.ats.json +87 -17
  10. data/grammars/source.ballerina.json +236 -313
  11. data/grammars/source.batchfile.json +1 -1
  12. data/grammars/source.bdf.json +14 -8
  13. data/grammars/source.changelogs.rpm-spec.json +3 -3
  14. data/grammars/source.chapel.json +1 -1
  15. data/grammars/source.coffee.json +98 -0
  16. data/grammars/source.csound-document.json +26 -124
  17. data/grammars/source.curlrc.json +180 -0
  18. data/grammars/source.dart.json +5 -2
  19. data/grammars/source.elixir.json +20 -25
  20. data/grammars/source.emacs.lisp.json +23 -1
  21. data/grammars/source.gdb.json +1 -1
  22. data/grammars/source.gitattributes.json +111 -0
  23. data/grammars/source.gitconfig.json +450 -0
  24. data/grammars/source.gitignore.json +140 -0
  25. data/grammars/source.graphql.json +18 -0
  26. data/grammars/source.haproxy-config.json +10 -10
  27. data/grammars/source.haskell.json +119 -4
  28. data/grammars/source.hgignore.json +34 -0
  29. data/grammars/source.hsig.json +119 -4
  30. data/grammars/source.hx.json +2 -2
  31. data/grammars/source.jison.json +1 -1
  32. data/grammars/source.ltspice.symbol.json +294 -0
  33. data/grammars/source.m4.json +187 -0
  34. data/grammars/source.man-conf.json +141 -0
  35. data/grammars/source.nanorc.json +330 -0
  36. data/grammars/source.nim.comment.json +82 -0
  37. data/grammars/source.nim.json +1 -57
  38. data/grammars/source.nix.json +2 -2
  39. data/grammars/source.opts.json +98 -0
  40. data/grammars/source.reason.json +13 -0
  41. data/grammars/source.rust.json +35 -0
  42. data/grammars/source.terraform.json +4 -1
  43. data/grammars/source.ts.json +307 -39
  44. data/grammars/source.tsx.json +290 -37
  45. data/grammars/source.zig.json +286 -0
  46. data/grammars/text.html.basic.json +1 -1
  47. data/grammars/text.marko.json +61 -9
  48. data/grammars/text.tex.latex.haskell.json +119 -4
  49. data/grammars/text.zone_file.json +2 -2
  50. data/grammars/version +1 -1
  51. data/lib/linguist/VERSION +1 -1
  52. data/lib/linguist/generated.rb +0 -8
  53. data/lib/linguist/heuristics.yml +30 -3
  54. data/lib/linguist/languages.json +1 -1
  55. data/lib/linguist/languages.yml +143 -3
  56. data/lib/linguist/samples.json +4494 -646
  57. data/lib/linguist/vendor.yml +1 -2
  58. metadata +31 -4
  59. data/grammars/source.solidity.json +0 -189
@@ -0,0 +1,187 @@
1
+ {
2
+ "name": "M4",
3
+ "scopeName": "source.m4",
4
+ "patterns": [
5
+ {
6
+ "include": "#comment"
7
+ },
8
+ {
9
+ "include": "#dnl"
10
+ },
11
+ {
12
+ "include": "#define"
13
+ },
14
+ {
15
+ "include": "#builtins"
16
+ }
17
+ ],
18
+ "repository": {
19
+ "arithmetic": {
20
+ "patterns": [
21
+ {
22
+ "name": "keyword.operator.arithmetic.m4",
23
+ "match": "[-+/*]"
24
+ },
25
+ {
26
+ "name": "keyword.operator.assignment.m4",
27
+ "match": "="
28
+ }
29
+ ]
30
+ },
31
+ "builtins": {
32
+ "name": "meta.builtin.$1.m4",
33
+ "begin": "(?x) (?\u003c!`|\\w)\n(changequote|divert|divnum|dumpdef|errprint|eval|ifdef|ifelse\n|include|incr|index|len|maketemp|sinclude|substr|syscmd|translit\n|undefine|undivert)\n(\\()",
34
+ "end": "\\)",
35
+ "patterns": [
36
+ {
37
+ "include": "#macro-innards"
38
+ }
39
+ ],
40
+ "beginCaptures": {
41
+ "1": {
42
+ "name": "entity.name.function.m4"
43
+ },
44
+ "2": {
45
+ "name": "punctuation.definition.parameters.begin.bracket.round.m4"
46
+ }
47
+ },
48
+ "endCaptures": {
49
+ "0": {
50
+ "name": "punctuation.definition.parameters.end.bracket.round.m4"
51
+ }
52
+ }
53
+ },
54
+ "comment": {
55
+ "patterns": [
56
+ {
57
+ "name": "comment.line.number-sign.m4",
58
+ "begin": "#",
59
+ "end": "$",
60
+ "beginCaptures": {
61
+ "0": {
62
+ "name": "punctuation.definition.comment.m4"
63
+ }
64
+ }
65
+ }
66
+ ]
67
+ },
68
+ "define": {
69
+ "name": "meta.macro-definition.m4",
70
+ "begin": "(?\u003c!`|\\w)(define)(\\()\\s*",
71
+ "end": "\\)",
72
+ "patterns": [
73
+ {
74
+ "name": "entity.name.function.quoted.m4",
75
+ "match": "\\G(`)(?![0-9])\\w+(')",
76
+ "captures": {
77
+ "1": {
78
+ "name": "punctuation.definition.string.begin.m4"
79
+ },
80
+ "2": {
81
+ "name": "punctuation.definition.string.end.m4"
82
+ }
83
+ }
84
+ },
85
+ {
86
+ "name": "entity.name.function.m4",
87
+ "match": "\\G(?![0-9])\\w+"
88
+ },
89
+ {
90
+ "include": "#macro-innards"
91
+ }
92
+ ],
93
+ "beginCaptures": {
94
+ "1": {
95
+ "name": "storage.type.function.m4"
96
+ },
97
+ "2": {
98
+ "name": "punctuation.definition.parameters.begin.bracket.round.m4"
99
+ }
100
+ },
101
+ "endCaptures": {
102
+ "0": {
103
+ "name": "punctuation.definition.parameters.end.bracket.round.m4"
104
+ }
105
+ }
106
+ },
107
+ "dnl": {
108
+ "name": "comment.line.dnl.m4",
109
+ "begin": "dnl",
110
+ "end": "$\\n?",
111
+ "beginCaptures": {
112
+ "0": {
113
+ "name": "keyword.operator.builtin.dnl.m4"
114
+ }
115
+ }
116
+ },
117
+ "macro-innards": {
118
+ "patterns": [
119
+ {
120
+ "begin": "\\(",
121
+ "end": "\\)",
122
+ "patterns": [
123
+ {
124
+ "include": "$self"
125
+ }
126
+ ],
127
+ "beginCaptures": {
128
+ "0": {
129
+ "name": "punctuation.definition.parameters.begin.bracket.round.m4"
130
+ }
131
+ },
132
+ "endCaptures": {
133
+ "0": {
134
+ "name": "punctuation.definition.parameters.end.bracket.round.m4"
135
+ }
136
+ }
137
+ },
138
+ {
139
+ "name": "punctuation.delimiter.separator.comma.m4",
140
+ "match": ","
141
+ },
142
+ {
143
+ "name": "constant.numeric.decimal.m4",
144
+ "match": "(?\u003c!\\w)[-+]?\\d+"
145
+ },
146
+ {
147
+ "name": "variable.other.positional.m4",
148
+ "match": "(\\$)[0-9]+",
149
+ "captures": {
150
+ "1": {
151
+ "name": "punctuation.definition.variable.m4"
152
+ }
153
+ }
154
+ },
155
+ {
156
+ "include": "#arithmetic"
157
+ },
158
+ {
159
+ "include": "#string"
160
+ },
161
+ {
162
+ "include": "$self"
163
+ }
164
+ ]
165
+ },
166
+ "string": {
167
+ "name": "string.quoted.double.other.m4",
168
+ "begin": "`",
169
+ "end": "'",
170
+ "patterns": [
171
+ {
172
+ "include": "#string"
173
+ }
174
+ ],
175
+ "beginCaptures": {
176
+ "0": {
177
+ "name": "punctuation.definition.string.begin.m4"
178
+ }
179
+ },
180
+ "endCaptures": {
181
+ "0": {
182
+ "name": "punctuation.definition.string.end.m4"
183
+ }
184
+ }
185
+ }
186
+ }
187
+ }
@@ -0,0 +1,141 @@
1
+ {
2
+ "name": "man.conf",
3
+ "scopeName": "source.man-conf",
4
+ "patterns": [
5
+ {
6
+ "include": "#main"
7
+ }
8
+ ],
9
+ "repository": {
10
+ "arg": {
11
+ "name": "constant.language.other.man-conf",
12
+ "match": "[^\\s:]+"
13
+ },
14
+ "bin": {
15
+ "name": "meta.field.${1:/downcase}.man-conf",
16
+ "begin": "^\\s*(MANBIN|MANPATH_MAP|MANPATH|manpath|output|_whatdb)(?=\\s)",
17
+ "end": "$",
18
+ "patterns": [
19
+ {
20
+ "include": "etc#str"
21
+ },
22
+ {
23
+ "include": "etc#colon"
24
+ },
25
+ {
26
+ "include": "#arg"
27
+ }
28
+ ],
29
+ "beginCaptures": {
30
+ "1": {
31
+ "name": "keyword.operator.field.man-conf"
32
+ }
33
+ }
34
+ },
35
+ "decompressor": {
36
+ "name": "meta.field.decompressor.man-conf",
37
+ "begin": "^\\s*((\\.)[a-zA-Z0-9]+)",
38
+ "end": "$",
39
+ "patterns": [
40
+ {
41
+ "include": "#programArgs"
42
+ }
43
+ ],
44
+ "beginCaptures": {
45
+ "1": {
46
+ "name": "variable.parameter.decompressor.suffix.man-conf"
47
+ },
48
+ "2": {
49
+ "name": "punctuation.definition.field.dot.period.full-stop.man-conf"
50
+ }
51
+ }
52
+ },
53
+ "defaultOpts": {
54
+ "name": "meta.field.default-options.man-conf",
55
+ "begin": "^\\s*(MANDEFOPTIONS)(?=\\s|$)",
56
+ "end": "$",
57
+ "patterns": [
58
+ {
59
+ "include": "source.opts"
60
+ }
61
+ ]
62
+ },
63
+ "fhs": {
64
+ "match": "^\\s*(FSSTND|FHS|NOAUTOPATH|NOCACHE)(?=\\s|$)",
65
+ "captures": {
66
+ "1": {
67
+ "name": "keyword.control.${1:/downcase}.man-conf"
68
+ }
69
+ }
70
+ },
71
+ "main": {
72
+ "patterns": [
73
+ {
74
+ "include": "etc#comment"
75
+ },
76
+ {
77
+ "include": "#bin"
78
+ },
79
+ {
80
+ "include": "#fhs"
81
+ },
82
+ {
83
+ "include": "#programs"
84
+ },
85
+ {
86
+ "include": "#sections"
87
+ },
88
+ {
89
+ "include": "#decompressor"
90
+ }
91
+ ]
92
+ },
93
+ "programArgs": {
94
+ "patterns": [
95
+ {
96
+ "include": "etc#str"
97
+ },
98
+ {
99
+ "include": "source.opts"
100
+ },
101
+ {
102
+ "include": "#arg"
103
+ }
104
+ ]
105
+ },
106
+ "programs": {
107
+ "name": "meta.field.${1:/downcase}-path.man-conf",
108
+ "begin": "(?x) ^ \\s*\n(BROWSER|CAT|COL|COMPRESS_EXT|COMPRESS|CMP|EQN|GRAP|HTMLPAGER\n|JNEQN|JNROFF|NEQN|NROFF|PAGER|PIC|REFER|TBL|TROFF|VGRIND)\n(?=\\s|$)",
109
+ "end": "$",
110
+ "patterns": [
111
+ {
112
+ "include": "#programArgs"
113
+ }
114
+ ],
115
+ "beginCaptures": {
116
+ "1": {
117
+ "name": "keyword.control.${1:/downcase}.man-conf"
118
+ }
119
+ }
120
+ },
121
+ "sections": {
122
+ "name": "meta.field.mansect.man-conf",
123
+ "begin": "^\\s*(MANSECT)(?=\\s|$)",
124
+ "end": "$",
125
+ "patterns": [
126
+ {
127
+ "include": "etc#colon"
128
+ },
129
+ {
130
+ "name": "constant.numeric.section.man-conf",
131
+ "match": "[^:\\s]+"
132
+ }
133
+ ],
134
+ "beginCaptures": {
135
+ "1": {
136
+ "name": "keyword.control.${1:/downcase}.man-conf"
137
+ }
138
+ }
139
+ }
140
+ }
141
+ }
@@ -0,0 +1,330 @@
1
+ {
2
+ "name": ".nanorc",
3
+ "scopeName": "source.nanorc",
4
+ "patterns": [
5
+ {
6
+ "include": "#main"
7
+ }
8
+ ],
9
+ "repository": {
10
+ "colours": {
11
+ "patterns": [
12
+ {
13
+ "name": "meta.colour.nanorc",
14
+ "begin": "^\\s*(i?color)(?=\\s|$)",
15
+ "end": "$",
16
+ "patterns": [
17
+ {
18
+ "match": "\\G\\s*(,)(\\S+)",
19
+ "captures": {
20
+ "1": {
21
+ "name": "punctuation.separator.delimiter.meta.comma.nanorc"
22
+ },
23
+ "2": {
24
+ "name": "entity.background.colour.name.nanorc"
25
+ }
26
+ }
27
+ },
28
+ {
29
+ "match": "\\G\\s*((?!,)\\S+)(,)(\\S+)",
30
+ "captures": {
31
+ "1": {
32
+ "name": "entity.foreground.colour.name.nanorc"
33
+ },
34
+ "2": {
35
+ "name": "punctuation.separator.delimiter.meta.comma.nanorc"
36
+ },
37
+ "3": {
38
+ "name": "entity.background.colour.name.nanorc"
39
+ }
40
+ }
41
+ },
42
+ {
43
+ "match": "\\G\\s*([^\\s,]+)(,?)(?=\\s|$)",
44
+ "captures": {
45
+ "1": {
46
+ "name": "entity.foreground.colour.name.nanorc"
47
+ },
48
+ "2": {
49
+ "name": "punctuation.separator.delimiter.meta.comma.nanorc"
50
+ }
51
+ }
52
+ },
53
+ {
54
+ "name": "meta.$1-pattern.nanorc",
55
+ "match": "(?\u003c=\\s|\\G)(start|end)(=)(?=\\s|$)",
56
+ "captures": {
57
+ "1": {
58
+ "name": "variable.parameter.attribute.nanorc"
59
+ },
60
+ "2": {
61
+ "name": "punctuation.definition.assignment.equals-sign.nanorc"
62
+ }
63
+ }
64
+ },
65
+ {
66
+ "name": "meta.$1-pattern.nanorc",
67
+ "begin": "(?\u003c=\\s|\\G)(start|end)(=)(?=\")",
68
+ "end": "(?\u003c=\")",
69
+ "patterns": [
70
+ {
71
+ "include": "#regexp"
72
+ }
73
+ ],
74
+ "captures": {
75
+ "1": {
76
+ "name": "variable.parameter.attribute.nanorc"
77
+ },
78
+ "2": {
79
+ "name": "punctuation.definition.assignment.equals-sign.nanorc"
80
+ }
81
+ }
82
+ },
83
+ {
84
+ "include": "#regexp"
85
+ }
86
+ ],
87
+ "beginCaptures": {
88
+ "1": {
89
+ "name": "storage.type.var.colour.name.nanorc"
90
+ }
91
+ }
92
+ }
93
+ ]
94
+ },
95
+ "comment": {
96
+ "name": "comment.line.number-sign.nanorc",
97
+ "begin": "#",
98
+ "end": "$",
99
+ "beginCaptures": {
100
+ "0": {
101
+ "name": "punctuation.definition.comment.nanorc"
102
+ }
103
+ }
104
+ },
105
+ "main": {
106
+ "patterns": [
107
+ {
108
+ "include": "#comment"
109
+ },
110
+ {
111
+ "include": "#colours"
112
+ },
113
+ {
114
+ "include": "#syntax"
115
+ },
116
+ {
117
+ "include": "#options"
118
+ }
119
+ ]
120
+ },
121
+ "options": {
122
+ "patterns": [
123
+ {
124
+ "name": "meta.option.$2.nanorc",
125
+ "begin": "^\\s*(set)\\s+(fill|tabsize)(?=\\s|$)",
126
+ "end": "$",
127
+ "patterns": [
128
+ {
129
+ "name": "constant.numeric.integer.int.decimal.nanorc",
130
+ "match": "[0-9]+"
131
+ }
132
+ ],
133
+ "beginCaptures": {
134
+ "1": {
135
+ "name": "keyword.operator.$1.nanorc"
136
+ },
137
+ "2": {
138
+ "name": "entity.option.name.nanorc"
139
+ }
140
+ }
141
+ },
142
+ {
143
+ "name": "meta.option.$2.nanorc",
144
+ "begin": "(?x) ^ \\s*\n(set|unset) \\s+\n(autoindent|backup|backwards|boldtext|casesensitive|const|cut\n|historylog|morespace|mouse|multibuffer|noconvert|nofollow|nohelp\n|nonewlines|nowrap|preserve|quickblank|rebinddelete|rebindkeypad\n|regexp|smarthome|smooth|suspend|tabstospaces|tempfile|view\n|wordbounds) (?=\\s|$)",
145
+ "end": "$",
146
+ "beginCaptures": {
147
+ "1": {
148
+ "name": "keyword.operator.$1.nanorc"
149
+ },
150
+ "2": {
151
+ "name": "entity.option.name.nanorc"
152
+ }
153
+ }
154
+ },
155
+ {
156
+ "name": "meta.option.$2.nanorc",
157
+ "begin": "(?x) ^ \\s*\n(set) \\s+\n(backupdir|brackets|matchbrackets|operatingdir\n|punct|speller|whitespace) (?=\\s|$)",
158
+ "end": "$",
159
+ "patterns": [
160
+ {
161
+ "include": "#string"
162
+ }
163
+ ],
164
+ "beginCaptures": {
165
+ "1": {
166
+ "name": "keyword.operator.$1.nanorc"
167
+ },
168
+ "2": {
169
+ "name": "entity.option.name.nanorc"
170
+ }
171
+ }
172
+ },
173
+ {
174
+ "name": "meta.preprocessor.include.nanorc",
175
+ "contentName": "storage.modifier.import.file-name.nanorc",
176
+ "begin": "^\\s*(include)(?=\\s|$)\\s*",
177
+ "end": "$",
178
+ "beginCaptures": {
179
+ "1": {
180
+ "name": "keyword.control.directive.include.nanorc"
181
+ }
182
+ }
183
+ },
184
+ {
185
+ "name": "meta.option.$2.nanorc",
186
+ "begin": "^\\s*(set)\\s+(quotestr)(?=\\s|$)",
187
+ "end": "$",
188
+ "patterns": [
189
+ {
190
+ "include": "#regexp"
191
+ }
192
+ ],
193
+ "beginCaptures": {
194
+ "1": {
195
+ "name": "keyword.operator.$1.nanorc"
196
+ },
197
+ "2": {
198
+ "name": "entity.option.name.nanorc"
199
+ }
200
+ }
201
+ },
202
+ {
203
+ "name": "meta.option.custom.nanorc",
204
+ "begin": "^\\s*(?:(set|unset)\\s+)?(\\S+)",
205
+ "end": "$",
206
+ "patterns": [
207
+ {
208
+ "name": "constant.logical.boolean.$1.nanorc",
209
+ "match": "\\b(true|false|on|off|yes|no)\\b"
210
+ },
211
+ {
212
+ "name": "constant.numeric.decimal.nanorc",
213
+ "match": "[-+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?=\\s|$)"
214
+ },
215
+ {
216
+ "include": "#regexp"
217
+ }
218
+ ],
219
+ "beginCaptures": {
220
+ "1": {
221
+ "name": "keyword.operator.$1.nanorc"
222
+ },
223
+ "2": {
224
+ "name": "entity.option.name.nanorc"
225
+ }
226
+ }
227
+ }
228
+ ]
229
+ },
230
+ "quotedString": {
231
+ "name": "string.quoted.double.nanorc",
232
+ "begin": "\"",
233
+ "end": "\"(?=[^\"]*$)|(?=$)",
234
+ "beginCaptures": {
235
+ "0": {
236
+ "name": "punctuation.definition.string.begin.nanorc"
237
+ }
238
+ },
239
+ "endCaptures": {
240
+ "0": {
241
+ "name": "punctuation.definition.string.end.nanorc"
242
+ }
243
+ }
244
+ },
245
+ "regexp": {
246
+ "name": "string.regexp.embedded.nanorc",
247
+ "begin": "(\")\"?+",
248
+ "end": "\"(?=\\s|$)|(?=$)",
249
+ "patterns": [
250
+ {
251
+ "match": "(?:\"(?!\\s|$))+"
252
+ },
253
+ {
254
+ "include": "source.regexp"
255
+ }
256
+ ],
257
+ "beginCaptures": {
258
+ "1": {
259
+ "name": "punctuation.definition.string.begin.nanorc"
260
+ }
261
+ },
262
+ "endCaptures": {
263
+ "0": {
264
+ "name": "punctuation.definition.string.end.nanorc"
265
+ }
266
+ }
267
+ },
268
+ "string": {
269
+ "patterns": [
270
+ {
271
+ "include": "#quotedString"
272
+ },
273
+ {
274
+ "include": "#unquotedString"
275
+ }
276
+ ]
277
+ },
278
+ "syntax": {
279
+ "patterns": [
280
+ {
281
+ "name": "meta.syntax.nanorc",
282
+ "match": "^\\s*(syntax)\\s+(none|default)(?=\\s|$)",
283
+ "captures": {
284
+ "1": {
285
+ "name": "storage.type.var.syntax.name.nanorc"
286
+ },
287
+ "2": {
288
+ "name": "support.constant.language.$2.nanorc"
289
+ }
290
+ }
291
+ },
292
+ {
293
+ "name": "meta.syntax.nanorc",
294
+ "begin": "^\\s*(syntax)(?:\\s+((\")[^\"]+(\")|\\S+)(?:\\s+(.*))?)?\\s*$\\s*",
295
+ "end": "^(?=\\s*syntax)",
296
+ "patterns": [
297
+ {
298
+ "include": "#main"
299
+ }
300
+ ],
301
+ "beginCaptures": {
302
+ "1": {
303
+ "name": "storage.type.var.syntax.name.nanorc"
304
+ },
305
+ "2": {
306
+ "name": "entity.syntax.name.nanorc"
307
+ },
308
+ "3": {
309
+ "name": "punctuation.definition.name.begin.nanorc"
310
+ },
311
+ "4": {
312
+ "name": "punctuation.definition.name.end.nanorc"
313
+ },
314
+ "5": {
315
+ "patterns": [
316
+ {
317
+ "include": "#regexp"
318
+ }
319
+ ]
320
+ }
321
+ }
322
+ }
323
+ ]
324
+ },
325
+ "unquotedString": {
326
+ "name": "string.unquoted.bareword.nanorc",
327
+ "match": "\\S+"
328
+ }
329
+ }
330
+ }