@@ -50,10 +50,15 @@ p_pat = \case
50 inci $ velt' (located' p_pat <$> xs)
50 inci $ velt' (located' p_pat <$> xs)
51 RecCon (HsRecFields fields dotdot) -> do
51 RecCon (HsRecFields fields dotdot) -> do
52 p_rdrName pat
52 p_rdrName pat
53− case dotdot of
53+ breakpoint
54− Nothing -> txt " {..}"
55+ Nothing -> txt ".."
55− Just _ -> do
56+ Just x -> located x p_hsRecField
56− braces $ velt (withSep comma (located' p_hsRecField) fields)
57+ inci . braces . velt . withSep comma f $ case dotdot of
61+ (Just <$> take n fields) ++ [Nothing]
57 InfixCon x y -> do
62 InfixCon x y -> do
58 located x p_pat
63 located x p_pat
@@ -71,6 +76,10 @@ p_pat = \case
71 XPat NoExt -> notImplemented "XPat"
76 XPat NoExt -> notImplemented "XPat"
73p_hsRecField :: HsRecField' (FieldOcc GhcPs) (LPat GhcPs) -> R ()
78p_hsRecField :: HsRecField' (FieldOcc GhcPs) (LPat GhcPs) -> R ()
74−p_hsRecField HsRecField {..} =
79+p_hsRecField HsRecField {..} = do
75 located hsRecFieldLbl $ \x ->
80 located hsRecFieldLbl $ \x ->
76 p_rdrName (rdrNameFieldOcc x)
81 p_rdrName (rdrNameFieldOcc x)
85+ inci (located hsRecFieldArg p_pat)