@@ -553,11 +553,23 @@ p_hsExpr' s = \case
553553 -- one.
554554 case placement of
555555 Normal -> do
556+ let -- Usually we want to bump indentation for arguments for the
557+ -- sake of readability. However, when the function itself is a
558+ -- do-block or case expression it is not a good idea. It seems
559+ -- to be safe to always bump indentation when the function
560+ -- expression is parenthesised.
561+ indent =
562+ case func of
563+ L _ (HsPar NoExt _) -> inci
564+ L spn _ ->
565+ if isOneLineSpan spn
566+ then inci
567+ else id
556568 useBraces $ do
557569 located func (p_hsExpr' s)
558570 breakpoint
559− inci $ sep breakpoint (located' p_hsExpr) initp
560− inci $ do
571+ indent $ sep breakpoint (located' p_hsExpr) initp
572+ indent $ do
561573 unless (null initp) breakpoint
562574 located lastp p_hsExpr
563575 Hanging -> do