For the last week or so, ozy` has been working on improving the haskell bundle in TextMate. He’s done a lot of work, and it really makes a difference. The changes should be in SVN sometime soon I hope.
Changelist
- Fixed regex for backquote-infix notation
- Added highlighting for unit () and empty list []
- Fixed up module, class, import, and instance declarations. In particular, some non-reserved words that are only meaningful in the above contexts are highlighted appropriately.
- Added highlighting for all operators.
- Changed scope selectors for some varSyms that were previously highlighted as
“punctuation.separator.” This scope is not highlighted by many themes.
- Added highlighting for numeric constants. Floats and integrals have separate
scope selectors.
- Changed scope selectors for some things like pragma syntax.
- Fixed minor errors in regexes that highlight function names.
- Modularized a lot of patterns. (There’s still a lot to be done here.)
- Added highlighting for Prelude type names and constructors. This is scope aware, in the sense that (eg.) Maybe only gets special treatment in the context of a type signature. (This is incomplete, though.)
- Added highlighting for commas. At the moment this is utterly useless.
- Fixed some dumb issues where pragmas would only be scoped as such if they appeared inside a block comment.
- Highlighted a couple of pragma directives. (Incomplete.)
- Fixed up the type signature scope a little bit. (Not much.)
I’ve been using the changes while he’s been working on them, and they certainly do make the code look quite a bit better. I’ll be happy when haskell is a first class language in TextMate, and this is the first big step in getting it there. Hooray!
~ Axman