From 3121ccacfe9c96dbc70a52e35d3ec3013633ee69 Mon Sep 17 00:00:00 2001 From: Lennart Spitzner Date: Sun, 19 Mar 2023 18:51:18 +0000 Subject: [PATCH] Behaviour addition: Allow par-spacing on HsApp --- .../Haskell/Brittany/Internal/ToBriDoc/Expr.hs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/source/library/Language/Haskell/Brittany/Internal/ToBriDoc/Expr.hs b/source/library/Language/Haskell/Brittany/Internal/ToBriDoc/Expr.hs index a8e5bf0..f464936 100644 --- a/source/library/Language/Haskell/Brittany/Internal/ToBriDoc/Expr.hs +++ b/source/library/Language/Haskell/Brittany/Internal/ToBriDoc/Expr.hs @@ -165,6 +165,23 @@ layoutExpr lexpr@(L _ expr) = do $ colsOrSequence $ appSep (docForceSingleline headDoc) : spacifyDocs (docForceSingleline <$> paramDocs) + -- foo x do + -- a + -- b + -- foo x \meow -> do + -- a + -- b + addAlternativeCond (not hasComments) $ docSetParSpacing $ docSeq + [ appSep (docForceSingleline headDoc) + , case splitFirstLast paramDocs of + FirstLastEmpty -> docEmpty + FirstLastSingleton e1 -> docForceParSpacing e1 + FirstLast e1 ems eN -> + docSeq + ( spacifyDocs (docForceSingleline <$> (e1:ems)) + ++ [docSeparator, docForceParSpacing eN] + ) + ] -- foo x -- y addAlternativeCond allowFreeIndent $ docSeq