diff --git a/data/15-regressions.blt b/data/15-regressions.blt index bf6f340..a35ced2 100644 --- a/data/15-regressions.blt +++ b/data/15-regressions.blt @@ -1072,3 +1072,12 @@ data ReformatParenMode = ReformatParenModeKeep -- don't modify parens at all | ReformatParenModeClean -- remove unnecessary parens | ReformatParenModeAll -- add superfluous parens everywhere + +#test empty do block error +func = process $ do + it "some long description to fill this line" $ do + ( aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + + bbbbbbbbbbbbbbbbbb + + cccccccccccccccccccccccccccccccccccccccccccccccccc + ) + `shouldReturn` thing diff --git a/source/library/Language/Haskell/Brittany/Internal/ToBriDoc/Expr.hs b/source/library/Language/Haskell/Brittany/Internal/ToBriDoc/Expr.hs index 278e93b..85df541 100644 --- a/source/library/Language/Haskell/Brittany/Internal/ToBriDoc/Expr.hs +++ b/source/library/Language/Haskell/Brittany/Internal/ToBriDoc/Expr.hs @@ -613,6 +613,17 @@ layoutExpr lexpr@(L _ expr) = do , expDoc1 ] -- docSeq [appSep $ docLit "let in", expDoc1] + HsDo epAnn stmtCtx (L (SrcSpanAnn stmtEpAnn _) []) -> + case stmtCtx of + DoExpr _ -> + docHandleComms epAnn $ docHandleComms stmtEpAnn $ docLitS "do" + MDoExpr _ -> + docHandleComms epAnn $ docHandleComms stmtEpAnn $ docLitS "mdo" + ListComp -> + error "brittany internal error: ListCompo with null statements" + MonadComp -> + error "brittany internal error: ListCompo with null statements" + _ -> unknownNodeError "HsDo{} unknown stmtCtx" lexpr HsDo epAnn stmtCtx (L (SrcSpanAnn stmtEpAnn _) stmts) -> docHandleComms epAnn $ do case stmtCtx of