Hello!
Github is awesome! However, a minor issue report:
Very recently the code highlighting changed, to the detriment of haskell highlighting. Others have noticed too, an example comment: https://github.com/chrisdone/hindent/issues/36#issuecomment-63157052
The old highlighting doesn't need to come back, however, here are a couple immediately apparent issues:
-
The last type in a function type signature seems to get a different color, for no good reason
-
The function name in a type signature gets a different color, for no good reason
-
It's really jarring to see name qualifiers specially highlighted. This is especially true as this color is also used for types and "builtins"
-
On the topic of "builtins", highlighting functions like "show" and "read" as being special is very un-haskelley. There should be no pretending that these words are actually special, as they could refer to anything. They should be highlighted the same as any identifier.
-
Special highlighting of operators would be appreciated, as paying attention to all the operators in an expression is important for understanding its structure. One thing to consider here is that it may be worthwhile to distinguish builtin operators, such as (=), (::), (~), (->), and (<-)
Finally, for bonus points, the following would be amazing, but probably too much work:
Have highlighting distinguish between the value level and the type level. So we'd end up with all of the following as different colors:
- Type variables
- Type constructors
- Type operators
- Value variables
- Value constructors
- Value operators
Probably distinguishing type and value operators is overkill, but the other 4 are interesting to handle.
A simple and solid solution would be to color code according to the structure defined by the Haskell standard e.g. https://www.haskell.org/onlinereport/lexemes.html.