#1459 Improvements to Haskell Lexer
- Added support for MagicHash extension (lexer.haskell.allow.hash)
- $ and # are now colored as operators.
- .0 and -0 are now properly colored as operator and a number, not as just number.
- Operators starting with double dash (e.g ---->) are properly colored as operators, not comments.
- Added pragma highlighting.
- Added basic C-preprocessor highlighting.
- Qualified names (e.g. ABC.xyz) are now properly highlighted as identifiers, not types.
- Qualified operators (e.g. ABC.<$>) are now properly highlighted as operators.
- Operator . is now properly highlighted as an operator, not part of the identifier, when applied to a qualified and an unqualified value (e.g. Abc.xyz.yzx <- last one is an operator)
- Operators starting with ':' are now properly highlighted as type constructors, not operators.
- "family" after "data" is highlighted, as per TypeFamilies.