github-linguist 5.0.5 → 5.0.6

Sign up to get free protection for your applications and to get access to all the features.
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
  ]