language-haskell
language-haskell copied to clipboard
Type Signatures on New Line
I have some type signatures laid out as
function
:: Type1
-> Type2
function = undefined
and the highlighting here seems to be incorrect. The function name is not highlighted as usual, and the third line (-> Type2
) is not coloured correctly.
Atom's grammar model limitation. See #57, #81, #89, #101, and probably a few others. I will keep this open to increase visibility, since these reports get extremely redundant after a while.
Relevant: https://github.com/lspitzner/brittany/issues/94
Actually, I managed to come up with a reasonably effective band-aid (finally?). Not a solution, not by any stretch, but should help with the most common case.
It basically works by asserting that Haskell statements can't start with ::
operator, hence successive lines having the same indentation level as ::
have to be part of a signature.
So this works (somewhat, identifier isn't highlighted as a signature declaration):
this still doesn't, but such formatting is rather rare, I reckon:
Best results are still achieved with something like this: