From d9155e240d72135294e2a21079d1d17214a08333 Mon Sep 17 00:00:00 2001 From: Lennart Spitzner Date: Mon, 27 Nov 2017 23:09:14 +0100 Subject: [PATCH] RecursiveDo: Add second layout, Respect IndentPolicyLeft --- .../Brittany/Internal/Layouters/Stmt.hs | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs b/src/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs index 3cc40f1..c9494e3 100644 --- a/src/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs +++ b/src/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs @@ -91,12 +91,27 @@ layoutStmt lstmt@(L _ stmt) = do (docSetBaseAndIndent $ docLines $ return <$> bindDocs) ) ] - RecStmt stmts _ _ _ _ _ _ _ _ _ -> do - docSeq - [ docLit (Text.pack "rec") - , docSeparator - , docSetBaseAndIndent $ docLines $ layoutStmt <$> stmts - ] + RecStmt stmts _ _ _ _ _ _ _ _ _ -> docAltFilter + [ -- rec stmt1 + -- stmt2 + -- stmt3 + ( indentPolicy /= IndentPolicyLeft + , docSeq + [ docLit (Text.pack "rec") + , docSeparator + , docSetBaseAndIndent $ docLines $ layoutStmt <$> stmts + ] + ) + , -- rec + -- stmt1 + -- stmt2 + -- stmt3 + ( True + , docAddBaseY BrIndentRegular $ docPar + (docLit (Text.pack "rec")) + (docLines $ layoutStmt <$> stmts) + ) + ] BodyStmt expr _ _ _ -> do expDoc <- docSharedWrapper layoutExpr expr docAddBaseY BrIndentRegular $ expDoc