github-linguist 5.0.5 → 5.0.6

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/hint.haskell.json +11 -5
  3. data/grammars/hint.message.haskell.json +11 -5
  4. data/grammars/hint.type.haskell.json +11 -5
  5. data/grammars/source.SASLog.json +1 -1
  6. data/grammars/source.clarion.json +1 -1
  7. data/grammars/source.clean.json +4 -4
  8. data/grammars/source.click.json +19 -8
  9. data/grammars/source.clojure.json +8 -6
  10. data/grammars/source.cobol.json +16 -23
  11. data/grammars/source.coffee.json +1 -1
  12. data/grammars/source.csound-document.json +0 -5
  13. data/grammars/source.csound-score.json +6 -2
  14. data/grammars/source.csound.json +77 -14
  15. data/grammars/source.css.less.json +1 -1
  16. data/grammars/source.ditroff.desc.json +379 -0
  17. data/grammars/source.ditroff.json +545 -0
  18. data/grammars/source.elixir.json +44 -2
  19. data/grammars/source.fsharp.json +20 -93
  20. data/grammars/source.haskell.json +13 -6
  21. data/grammars/source.hlsl.json +217 -0
  22. data/grammars/source.js.json +34 -16
  23. data/grammars/source.julia.json +4 -4
  24. data/grammars/source.meson.json +167 -0
  25. data/grammars/source.p4.json +117 -0
  26. data/grammars/source.perl6fe.json +101 -18
  27. data/grammars/source.python.json +7 -7
  28. data/grammars/source.quoting.perl6fe.json +101 -0
  29. data/grammars/source.regexp.extended.json +9 -5
  30. data/grammars/source.regexp.json +12 -21
  31. data/grammars/source.rust.json +33 -3
  32. data/grammars/source.sas.json +2 -2
  33. data/grammars/source.shaderlab.json +174 -0
  34. data/grammars/source.terraform.json +196 -0
  35. data/grammars/source.turing.json +1 -1
  36. data/grammars/source.viml.json +1 -1
  37. data/grammars/source.yaml.json +3 -1
  38. data/grammars/text.html.php.blade.json +10 -7
  39. data/grammars/text.restructuredtext.json +57 -6
  40. data/grammars/text.roff.json +1 -1
  41. data/grammars/text.slim.json +1 -1
  42. data/grammars/text.tex.latex.haskell.json +11 -5
  43. data/lib/linguist/documentation.yml +1 -1
  44. data/lib/linguist/heuristics.rb +8 -0
  45. data/lib/linguist/languages.json +1 -1
  46. data/lib/linguist/languages.yml +20 -2
  47. data/lib/linguist/samples.json +1253 -68
  48. data/lib/linguist/version.rb +1 -1
  49. metadata +9 -3
  50. data/grammars/source.regexp.comment.json +0 -11
@@ -0,0 +1,196 @@
1
+ {
2
+ "fileTypes": [
3
+ "tf",
4
+ "tfvars",
5
+ "hcl"
6
+ ],
7
+ "name": "Terraform",
8
+ "patterns": [
9
+ {
10
+ "begin": "#|//",
11
+ "captures": {
12
+ "0": {
13
+ "name": "punctuation.definition.comment.terraform"
14
+ }
15
+ },
16
+ "comment": "Comments",
17
+ "end": "$\\n?",
18
+ "name": "comment.line.number-sign.terraform"
19
+ },
20
+ {
21
+ "begin": "/\\*",
22
+ "captures": {
23
+ "0": {
24
+ "name": "punctuation.definition.comment.terraform"
25
+ }
26
+ },
27
+ "comment": "Block comments",
28
+ "end": "\\*/",
29
+ "name": "comment.block.terraform"
30
+ },
31
+ {
32
+ "comment": "Language constants (true, false, yes, no, on, off)",
33
+ "match": "\\b(true|false|yes|no|on|off)\\b",
34
+ "name": "constant.language.terraform"
35
+ },
36
+ {
37
+ "comment": "Numbers",
38
+ "match": "\\b([0-9]+)([kKmMgG]b?)?\\b",
39
+ "name": "constant.numeric.terraform"
40
+ },
41
+ {
42
+ "comment": "Hex numbers",
43
+ "match": "\\b(0x[0-9A-Fa-f]+)([kKmMgG]b?)?\\b",
44
+ "name": "constant.numeric.terraform"
45
+ },
46
+ {
47
+ "captures": {
48
+ "1": {
49
+ "name": "storage.type.function.terraform"
50
+ },
51
+ "2": {
52
+ "name": "string.terraform punctuation.definition.string.begin.terraform"
53
+ },
54
+ "3": {
55
+ "name": "string.value.terraform"
56
+ },
57
+ "4": {
58
+ "name": "string.terraform punctuation.definition.string.end.terraform"
59
+ },
60
+ "5": {
61
+ "name": "string.terraform punctuation.definition.string.begin.terraform"
62
+ },
63
+ "6": {
64
+ "name": "string.value.terraform"
65
+ },
66
+ "7": {
67
+ "name": "string.terraform punctuation.definition.string.end.terraform"
68
+ },
69
+ "8": {
70
+ "name": "punctuation.definition.tag.terraform"
71
+ }
72
+ },
73
+ "match": "(resource|data)\\s+(\")?(\\w+)(\")?\\s+(\")?([\\w-]+)(\")?\\s+({)",
74
+ "name": "meta.resource.terraform"
75
+ },
76
+ {
77
+ "captures": {
78
+ "1": {
79
+ "name": "storage.type.function.terraform"
80
+ },
81
+ "2": {
82
+ "name": "string.terraform punctuation.definition.string.begin.terraform"
83
+ },
84
+ "3": {
85
+ "name": "string.value.terraform"
86
+ },
87
+ "4": {
88
+ "name": "string.terraform punctuation.definition.string.end.terraform"
89
+ },
90
+ "5": {
91
+ "name": "punctuation.definition.tag.terraform"
92
+ }
93
+ },
94
+ "match": "(provider|provisioner|variable|output|module|atlas)\\s+(\")?([\\w-]+)(\")?\\s+({)"
95
+ },
96
+ {
97
+ "captures": {
98
+ "1": {
99
+ "name": "variable.other.assignment.terraform"
100
+ },
101
+ "2": {
102
+ "name": "keyword.operator.terraform"
103
+ }
104
+ },
105
+ "comment": "Value assignments (left hand side not in double quotes)",
106
+ "match": "([\\w_-]+)\\s*(=)\\s*"
107
+ },
108
+ {
109
+ "captures": {
110
+ "1": {
111
+ "name": "punctuation.quote.double.terraform"
112
+ },
113
+ "2": {
114
+ "name": "variable.assignment.terraform"
115
+ },
116
+ "3": {
117
+ "name": "punctuation.quote.double.terraform"
118
+ },
119
+ "4": {
120
+ "name": "keyword.operator.terraform"
121
+ }
122
+ },
123
+ "comment": "Value assignments (left hand side in double quotes)",
124
+ "match": "(\")([\\w_-]+)(\")\\s*(=)\\s*"
125
+ },
126
+ {
127
+ "captures": {
128
+ "1": {
129
+ "name": "entity.name.section.terraform"
130
+ },
131
+ "2": {
132
+ "name": "punctuation.definition.tag.terraform"
133
+ }
134
+ },
135
+ "comment": "Maps",
136
+ "match": "([\\w\\-_]+)\\s+({)"
137
+ },
138
+ {
139
+ "begin": "\\\"",
140
+ "beginCaptures": {
141
+ "0": {
142
+ "name": "string.terraform punctuation.definition.string.begin.terraform"
143
+ }
144
+ },
145
+ "comment": "Strings",
146
+ "end": "\\\"",
147
+ "endCaptures": {
148
+ "0": {
149
+ "name": "string.terraform punctuation.definition.string.end.terraform"
150
+ }
151
+ },
152
+ "name": "string.quoted.double.terraform",
153
+ "patterns": [
154
+ {
155
+ "include": "#string_interpolation"
156
+ }
157
+ ]
158
+ }
159
+ ],
160
+ "repository": {
161
+ "string_interpolation": {
162
+ "patterns": [
163
+ {
164
+ "begin": "\\$\\{",
165
+ "beginCaptures": {
166
+ "0": {
167
+ "name": "punctuation.section.embedded.end.terraform"
168
+ }
169
+ },
170
+ "end": "\\}",
171
+ "endCaptures": {
172
+ "0": {
173
+ "name": "punctuation.section.embedded.end.terraform"
174
+ }
175
+ },
176
+ "name": "source.terraform.embedded.source",
177
+ "patterns": [
178
+ {
179
+ "captures": {
180
+ "0": {
181
+ "name": "keyword.control.period.terraform"
182
+ }
183
+ },
184
+ "match": "(\\.)"
185
+ },
186
+ {
187
+ "include": "#string_interpolation"
188
+ }
189
+ ]
190
+ }
191
+ ]
192
+ }
193
+ },
194
+ "scopeName": "source.terraform",
195
+ "uuid": "9060ca81-906d-4f19-a91a-159f4eb119d6"
196
+ }
@@ -576,7 +576,7 @@
576
576
  ]
577
577
  },
578
578
  "procedure": {
579
- "name": "meta.scope.$1.procedure.turing",
579
+ "name": "meta.scope.procedure.turing",
580
580
  "begin": "\\b(?:(body)\\s+)?(procedure|proc)\\s+(\\w+)",
581
581
  "end": "\\b(end)\\s+(\\3)",
582
582
  "patterns": [
@@ -244,7 +244,7 @@
244
244
  "patterns": [
245
245
  {
246
246
  "name": "constant.numeric.hex.viml",
247
- "match": "(?:#|0[xX])[0-9A-Fa-f]+"
247
+ "match": "0[xX][0-9A-Fa-f]+"
248
248
  },
249
249
  {
250
250
  "name": "constant.numeric.float.exponential.viml",
@@ -322,9 +322,11 @@
322
322
  }
323
323
  },
324
324
  "name": "string.quoted.single.yaml",
325
+ "applyEndPatternLast": true,
325
326
  "patterns": [
326
327
  {
327
- "include": "#escaped_char"
328
+ "match": "''",
329
+ "name": "constant.character.escape.yaml"
328
330
  },
329
331
  {
330
332
  "include": "#erb"
@@ -8,7 +8,7 @@
8
8
  "foldingStartMarker": "(/\\*|\\{\\s*$|<<<HTML)",
9
9
  "foldingStopMarker": "(\\*/|^\\s*\\}|^HTML;)",
10
10
  "injections": {
11
- "text.html.php.blade - (meta.embedded | meta.tag | comment.block.blade), L:text.html.php.blade meta.tag - comment.block.blade, L:source.js.embedded.html - comment.block.blade": {
11
+ "text.html.php.blade - (meta.embedded | meta.tag | comment.block.blade), L:(text.html.php.blade meta.tag - comment.block.blade), L:(source.js.embedded.html - comment.block.blade)": {
12
12
  "patterns": [
13
13
  {
14
14
  "begin": "{{--",
@@ -215,7 +215,7 @@
215
215
  ]
216
216
  },
217
217
  {
218
- "begin": "(?x)\n(?<![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to opening parentheses\n break\n|can\n|cannot\n|choice\n|continue\n|each\n|elsecan\n|elsecannot\n|elseif\n|extends\n|for\n|foreach\n|forelse\n|hasSection\n|if\n|include\n|includeIf\n|inject\n|lang\n|php\n|push\n|section\n|stack\n|unless\n|unset\n|while\n|yield\n)\n\\s* # Whitespace between name and parentheses, consumed\n(?=\\() # Followed by opening parentheses, not consumed",
218
+ "begin": "(?x)\n(?<![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to opening parentheses\n [Bb]reak\n|[Cc]an\n|[Cc]annot\n|[Cc]hoice\n|[Cc]omponent\n|[Cc]ontinue\n|[Ee]ach\n|[Ee]lsecan\n|[Ee]lsecannot\n|[Ee]lseif\n|[Ee]xtends\n|[Ff]or\n|[Ff]oreach\n|[Ff]orelse\n|[Hh]asSection\n|[Ii]f\n|[Ii]nclude\n|[Ii]ncludeIf\n|[Ii]nject\n|[Ll]ang\n|[Pp]hp\n|[Pp]repend\n|[Pp]ush\n|[Ss]ection\n|[Ss]lot\n|[Ss]tack\n|[Uu]nless\n|[Uu]nset\n|[Ww]hile\n|[Yy]ield\n)\n[\\t ]* # Whitespace between name and parentheses, consumed\n(?=\\() # Followed by opening parentheses, not consumed",
219
219
  "beginCaptures": {
220
220
  "0": {
221
221
  "name": "keyword.blade"
@@ -231,7 +231,7 @@
231
231
  ]
232
232
  },
233
233
  {
234
- "begin": "(?x)\n(?<![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to opening parentheses\n append\n|else\n|empty\n|endcan\n|endcannot\n|endfor\n|endforeach\n|endforelse\n|endif\n|endphp\n|endpush\n|endsection\n|endunless\n|endwhile\n|overwrite\n|show\n|stop\n)\n\\s* # Whitespace between name and parentheses, consumed\n(?=\\() # Followed by opening parentheses, not consumed",
234
+ "begin": "(?x)\n(?<![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to opening parentheses\n [Aa]ppend\n|[Ee]lse\n|[Ee]mpty\n|[Ee]ndcan\n|[Ee]ndcannot\n|[Ee]ndcomponent\n|[Ee]ndfor\n|[Ee]ndforeach\n|[Ee]ndforelse\n|[Ee]ndif\n|[Ee]ndlang\n|[Ee]ndprepend\n|[Ee]ndpush\n|[Ee]ndsection\n|[Ee]ndslot\n|[Ee]ndunless\n|[Ee]ndwhile\n|[Oo]verwrite\n|[Pp]arent\n|[Ss]how\n|[Ss]top\n)\n[\\t ]* # Whitespace between name and parentheses, consumed\n(?=\\() # Followed by opening parentheses, not consumed",
235
235
  "beginCaptures": {
236
236
  "0": {
237
237
  "name": "keyword.blade"
@@ -242,12 +242,12 @@
242
242
  "name": "meta.directive.blade"
243
243
  },
244
244
  {
245
- "match": "(?x)\n(?<![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to word boundary\n append\n|break\n|continue\n|else\n|empty\n|endcan\n|endcannot\n|endfor\n|endforeach\n|endforelse\n|endif\n|endinject\n|endphp\n|endpush\n|endsection\n|endunless\n|endverbatim\n|endwhile\n|overwrite\n|show\n|stop\n|verbatim\n)\n\\b\n|\n(?<!@) # @parent can only be escaped using another @\n@parent",
245
+ "match": "(?x)\n(?<![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n(?: # Ordering not important as we everything will be matched up to word boundary\n [Aa]ppend\n|[Bb]reak\n|[Cc]ontinue\n|[Ee]lse\n|[Ee]mpty\n|[Ee]ndcan\n|[Ee]ndcannot\n|[Ee]ndcomponent\n|[Ee]ndfor\n|[Ee]ndforeach\n|[Ee]ndforelse\n|[Ee]ndif\n|[Ee]ndlang\n|[Ee]ndprepend\n|[Ee]ndpush\n|[Ee]ndsection\n|[Ee]ndslot\n|[Ee]ndunless\n|endverbatim\n|[Ee]ndwhile\n|[Ll]ang\n|[Oo]verwrite\n|[Pp]arent\n|[Ss]how\n|[Ss]top\n|verbatim\n)\n\\b",
246
246
  "name": "keyword.blade"
247
247
  },
248
248
  {
249
- "begin": "(?<![A-Za-z0-9_@])@php",
250
- "end": "(?<![A-Za-z0-9_@])@endphp",
249
+ "begin": "(?<![A-Za-z0-9_@])@[Pp]hp",
250
+ "end": "(?<![A-Za-z0-9_@])@[Ee]ndphp([\\t ]*\\(.*\\)(?!.*\\)))?",
251
251
  "beginCaptures": {
252
252
  "0": {
253
253
  "name": "keyword.begin.blade"
@@ -256,6 +256,9 @@
256
256
  "endCaptures": {
257
257
  "0": {
258
258
  "name": "keyword.end.blade"
259
+ },
260
+ "1": {
261
+ "name": "comment.blade"
259
262
  }
260
263
  },
261
264
  "contentName": "source.php",
@@ -267,7 +270,7 @@
267
270
  ]
268
271
  },
269
272
  {
270
- "begin": "(?x)\n(?<![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n\\w+(?:::w+)? # Any number/letter sequence, can also be postfixed by ::someOtherString\n\\s* # Whitespace between name and parentheses, consumed\n(?=\\() # Followed by opening parentheses, not consumed",
273
+ "begin": "(?x)\n(?<![A-Za-z0-9_@]) # Prepended @ or literal character escapes the sequence\n@\n\\w+(?:::w+)? # Any number/letter sequence, can also be postfixed by ::someOtherString\n[\\t ]* # Whitespace between name and parentheses, consumed\n(?=\\() # Followed by opening parentheses, not consumed",
271
274
  "beginCaptures": {
272
275
  "0": {
273
276
  "name": "entity.name.function.blade"
@@ -212,7 +212,27 @@
212
212
  "1": {
213
213
  "name": "punctuation.definition.intepreted.restructuredtext"
214
214
  }
215
- }
215
+ },
216
+ "patterns": [
217
+ {
218
+ "name": "meta.manpage.link.inline.restructuredtext",
219
+ "match": "(?<=:manpage:`)\\G([-.\\w]+)(\\()(\\d+)(\\))",
220
+ "captures": {
221
+ "1": {
222
+ "name": "markup.bold.manpage-name.restructuredtext"
223
+ },
224
+ "2": {
225
+ "name": "punctuation.definition.round.bracket.begin.restructuredtext"
226
+ },
227
+ "3": {
228
+ "name": "constant.numeric.integer.restructuredtext"
229
+ },
230
+ "4": {
231
+ "name": "punctuation.definition.round.bracket.begin.restructuredtext"
232
+ }
233
+ }
234
+ }
235
+ ]
216
236
  },
217
237
  "interpreted-line": {
218
238
  "name": "markup.other.command.restructuredtext",
@@ -444,7 +464,7 @@
444
464
  "patterns": [
445
465
  {
446
466
  "name": "meta.link.reference.def.restructuredtext",
447
- "match": "(\\.\\.)\\s+(_)([-.\\d\\w\\s()/]+)(:)\\s+(.*)",
467
+ "match": "(\\.\\.)\\s+(_)([-.:+\\d\\w\\s()/]+?)(:)\\s+(.*)",
448
468
  "captures": {
449
469
  "1": {
450
470
  "name": "punctuation.definition.link.restructuredtext"
@@ -510,15 +530,15 @@
510
530
  },
511
531
  {
512
532
  "name": "meta.link.reference",
513
- "begin": "(`)",
514
- "end": "(`_)",
533
+ "begin": "`",
534
+ "end": "`__?",
515
535
  "beginCaptures": {
516
- "1": {
536
+ "0": {
517
537
  "name": "punctuation.definition.link.restructuredtext"
518
538
  }
519
539
  },
520
540
  "endCaptures": {
521
- "1": {
541
+ "0": {
522
542
  "name": "punctuation.definition.link.restructuredtext"
523
543
  }
524
544
  },
@@ -1202,6 +1222,37 @@
1202
1222
  }
1203
1223
  }
1204
1224
  },
1225
+ {
1226
+ "name": "meta.option.directive.restructuredtext",
1227
+ "match": "^\\s*(\\.\\.)\\s(option)(::)\\s*(.+)?$",
1228
+ "captures": {
1229
+ "1": {
1230
+ "name": "punctuation.definition.directive.restructuredtext"
1231
+ },
1232
+ "2": {
1233
+ "name": "support.directive.restructuredtext"
1234
+ },
1235
+ "3": {
1236
+ "name": "punctuation.separator.key-value.restructuredtext"
1237
+ },
1238
+ "4": {
1239
+ "patterns": [
1240
+ {
1241
+ "match": "<|>",
1242
+ "name": "punctuation.definition.bracket.angle.restructuredtext"
1243
+ },
1244
+ {
1245
+ "match": ",",
1246
+ "name": "punctuation.delimiter.comma.restructuredtext"
1247
+ },
1248
+ {
1249
+ "match": "[^\\s<>,]+",
1250
+ "name": "entity.name.directive.restructuredtext"
1251
+ }
1252
+ ]
1253
+ }
1254
+ }
1255
+ },
1205
1256
  {
1206
1257
  "name": "meta.other.directive.restructuredtext",
1207
1258
  "match": "^\\s*(\\.\\.)\\s([A-z][-A-z0-9_]+)(::)\\s*$",
@@ -1682,7 +1682,7 @@
1682
1682
  {
1683
1683
  "name": "constant.character.escape.function.named-char.gnu.roff",
1684
1684
  "begin": "(\\\\)(\\[)",
1685
- "end": "(\\S*)(\\])|(?<!\\\\)(?=$)",
1685
+ "end": "(\\S*?)(\\])|(?<!\\\\)(?=$)",
1686
1686
  "patterns": [
1687
1687
  {
1688
1688
  "include": "#params"
@@ -31,7 +31,7 @@
31
31
  }
32
32
  },
33
33
  "end": "^(?!(\\1\\s)|\\s*$)",
34
- "name": "text.javascript.filter.slim",
34
+ "name": "source.js.filter.slim",
35
35
  "patterns": [
36
36
  {
37
37
  "include": "source.js"
@@ -689,6 +689,9 @@
689
689
  },
690
690
  {
691
691
  "include": "#haskell_expr"
692
+ },
693
+ {
694
+ "include": "#comments"
692
695
  }
693
696
  ]
694
697
  }
@@ -719,6 +722,9 @@
719
722
  "name": "keyword.other.haskell"
720
723
  }
721
724
  }
725
+ },
726
+ {
727
+ "include": "#comments"
722
728
  }
723
729
  ]
724
730
  }
@@ -868,7 +874,7 @@
868
874
  },
869
875
  {
870
876
  "name": "keyword.control.haskell",
871
- "match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?<![\\p{Ll}_\\p{Lu}\\p{Lt}']))(do|if|then|else|case|of|let|in|default)(?:(?<=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))"
877
+ "match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?<![\\p{Ll}_\\p{Lu}\\p{Lt}']))(do|if|then|else|case|of|let|in|default|mdo|rec|proc)(?:(?<=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))"
872
878
  }
873
879
  ]
874
880
  },
@@ -1077,7 +1083,7 @@
1077
1083
  "include": "#module_name_prefix"
1078
1084
  },
1079
1085
  {
1080
- "name": "support.function.prelude.haskell",
1086
+ "name": "support.function.prelude.$1.haskell",
1081
1087
  "match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?<![\\p{Ll}_\\p{Lu}\\p{Lt}']))(abs|acos|acosh|all|and|any|appendFile|asTypeOf|asin|asinh|atan|atan2|atanh|break|ceiling|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldMap|foldl|foldl1|foldr|foldr1|fromEnum|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|head|id|init|interact|ioError|isDenormalized|isIEEE|isInfinite|isNaN|isNegativeZero|iterate|last|lcm|length|lex|lines|log|logBase|lookup|map|mapM|mapM_|mappend|max|maxBound|maximum|maybe|mconcat|mempty|min|minBound|minimum|mod|negate|not|notElem|null|odd|or|otherwise|pi|pred|print|product|properFraction|pure|putChar|putStr|putStrLn|quot|quotRem|read|readFile|readIO|readList|readLn|readParen|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequenceA|sequence_|show|showChar|showList|showParen|showString|shows|showsPrec|significand|signum|sin|sinh|snd|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|toEnum|toInteger|toRational|traverse|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)(?:(?<=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))"
1082
1088
  }
1083
1089
  ]
@@ -1098,11 +1104,11 @@
1098
1104
  "include": "#module_name_prefix"
1099
1105
  },
1100
1106
  {
1101
- "name": "entity.other.inherited-class.prelude.haskell",
1107
+ "name": "entity.other.inherited-class.prelude.$1.haskell",
1102
1108
  "match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?<![\\p{Ll}_\\p{Lu}\\p{Lt}']))(Applicative|Bounded|Enum|Eq|Floating|Foldable|Fractional|Functor|Integral|Monad|Monoid|Num|Ord|Read|Real|RealFloat|RealFrac|Show|Traversable)(?:(?<=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))"
1103
1109
  },
1104
1110
  {
1105
- "name": "support.class.prelude.haskell",
1111
+ "name": "support.class.prelude.$1.haskell",
1106
1112
  "match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?<![\\p{Ll}_\\p{Lu}\\p{Lt}']))(Either|FilePath|IO|IOError|Integer|Maybe|Ordering|Rational|ReadS|ShowS|String|Bool|Char|Double|Float|Int|Word)(?:(?<=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))"
1107
1113
  }
1108
1114
  ]
@@ -1123,7 +1129,7 @@
1123
1129
  "include": "#module_name_prefix"
1124
1130
  },
1125
1131
  {
1126
- "name": "support.tag.prelude.haskell",
1132
+ "name": "support.tag.prelude.$1.haskell",
1127
1133
  "match": "(?:(?=[\\p{Ll}_\\p{Lu}\\p{Lt}])(?<![\\p{Ll}_\\p{Lu}\\p{Lt}']))(EQ|GT|Just|LT|Left|Nothing|Right|True|False)(?:(?<=[\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}'])(?![\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']))"
1128
1134
  }
1129
1135
  ]