Right now, its marks comments, strings, and most of the keywords. I chose not to include keywords like “qualified” that are also valid variable names.
I haven’t tried getting function scanning to work, but my feeling is that it can’t be done within BBEdit’s current system. Haskell is just too different from C or Pascal.
An alternative would be to use BBEdit’s support for Exuberant Ctags,
but that doesn’t support Haskell either. BBEdit doesn’t seem to
work with files created by OS X’s supplied
ctags program, so I can’t
even figure out how to fake it. (The other other alternative,
makes ctags files for Haskell source code, but it creates files named
“tags” and “TAGS”, which you can’t do on a case-insensitive file system.
In any case, BBEdit doesn’t seem to recognize the files it creates either.)