-
Notifications
You must be signed in to change notification settings - Fork 349
Open
Description
haskell mode does not recognize QualifiedDo
notation and gets alignment wrong.
The following simple example, from the Qualified Do user guide, should align like
{-# LANGUAGE QualifiedDo #-}
import qualified Some.Module.Monad as M
action :: M.SomeType a
action = M.do x <- u
res
M.return x
But haskell-mod aligns it as
{-# LANGUAGE QualifiedDo #-}
import qualified Some.Module.Monad as M
action :: M.SomeType a
action = M.do x <- u
res
M.return x
Probably thinking that M.do
is a function, and not special notation.
It currently accepts the following alignment which also parses correctly, but looks ugly.
action :: M.SomeType a
action =
M.do
x <- u
res
M.return x
Furthermore, since the notation is not recognized, it will get confused with other multi-line notation, like list. Such as in the following example, which Haskell mode will align to configurations that don't parse.
action :: M.SomeType a
action =
M.do
x <- u
fooList
[ M.do
res1
, M.do
res2
]
M.return
hellwolf
Metadata
Metadata
Assignees
Labels
No labels