@@ -231,7 +231,9 @@ p_hsExpr = \case
231 located x p_hsExpr
231 located x p_hsExpr
233 located op p_hsExpr
233 located op p_hsExpr
234+ if isPrefixBlockExpr (unL y)
234− breakpoint
236+ else breakpoint
235 inci (located y p_hsExpr)
237 inci (located y p_hsExpr)
236 NegApp NoExt e _ -> do
238 NegApp NoExt e _ -> do
@@ -437,10 +439,14 @@ getGRHSSpan (XGRHS NoExt) = notImplemented "XGRHS"
437-- case expressions.
439-- case expressions.
439isPrefixBlock :: [LGRHS GhcPs (LHsExpr GhcPs)] -> Bool
441isPrefixBlock :: [LGRHS GhcPs (LHsExpr GhcPs)] -> Bool
440−isPrefixBlock [(L _ (GRHS NoExt _ (L _ e)))] =
442+isPrefixBlock [(L _ (GRHS NoExt _ (L _ e)))] = isPrefixBlockExpr e
442− HsLam NoExt _ -> True
443− HsDo NoExt _ _ -> True
444− HsLamCase NoExt _ -> True
446isPrefixBlock _ = False
443isPrefixBlock _ = False
445+-- | Similar to 'isPrefixBlock', but just for checking 'HsExpr' directly.
447+isPrefixBlockExpr :: HsExpr GhcPs -> Bool
448+isPrefixBlockExpr = \case
449+ HsLam NoExt _ -> True
450+ HsDo NoExt _ _ -> True
451+ HsLamCase NoExt _ -> True