Fix line-comments. The problem was that eg.
--->
at the beginning of a line was matched by the line-comment rule,
because the varsym rule isn't valid at this point (we're in the bol
state). Fix is to split the line-comment regex into two:
"--"\-* [^$symbol] .* ;
"--"\-* / { atEOL } ;
so a sequence of dashes on its own is only treated as a comment if
we're at the end of the line (or file). Otherwise the dashes must be
followed by a non-symbol character.
-- have to exclude those.
-- The regex says: "munch all the characters after the dashes, as long as
-- the first one is not a symbol".
-"--"\-* ([^$symbol] .*)? ;
+"--"\-* [^$symbol] .* ;
+"--"\-* / { atEOL } ;
-- 'bol' state: beginning of a line. Slurp up all the whitespace (including
-- blank lines) until we find a non-whitespace character, then do layout
notFollowedBySymbol _ _ _ (_,buf)
= atEnd buf || currentChar buf `notElem` "!#$%&*+./<=>?@\\^|-~"
+atEOL _ _ _ (_,buf) = atEnd buf || currentChar buf == '\n'
+
ifExtension pred bits _ _ _ = pred bits
{-