From 5e5433f33afb9f0b4f85df08bc1af962305675e4 Mon Sep 17 00:00:00 2001 From: Lennart Spitzner Date: Sun, 28 May 2023 14:51:15 +0200 Subject: [PATCH] Fix PRMMinimize behaviour on simple paren'ed expressions --- data/15-regressions.blt | 7 +++++++ .../Haskell/Brittany/Internal/Components/OpTree.hs | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/data/15-regressions.blt b/data/15-regressions.blt index 3bc3af5..4dacfeb 100644 --- a/data/15-regressions.blt +++ b/data/15-regressions.blt @@ -1059,3 +1059,10 @@ func = do stmt2 ) `shouldReturn` thing + +#golden minimize parens basic test +-- brittany { lconfig_operatorParenthesisRefactorMode: PRMMinimize } +func = func (abc) (def) +#expected +-- brittany { lconfig_operatorParenthesisRefactorMode: PRMMinimize } +func = func abc def diff --git a/source/library/Language/Haskell/Brittany/Internal/Components/OpTree.hs b/source/library/Language/Haskell/Brittany/Internal/Components/OpTree.hs index 5693772..1e4ce18 100644 --- a/source/library/Language/Haskell/Brittany/Internal/Components/OpTree.hs +++ b/source/library/Language/Haskell/Brittany/Internal/Components/OpTree.hs @@ -184,8 +184,9 @@ addAllParens topLevelParen = \case remSuperfluousParens :: Int -> OpTree -> OpTree remSuperfluousParens outerFixity = \case - x@OpLeaf{} -> x - x@OpUnknown{} -> x + x@OpLeaf{} -> x + OpUnknown _ locO locC c [] -> OpUnknown NoParen locO locC c [] + x@OpUnknown{} -> x OpKnown paren locO locC fixity c cs -> OpKnown -- We do not support removing superfluous parens around