@@ -10,7 +10,6 @@ module Ormolu.Printer.Meat.Declaration.TypeFamily
12import Control.Monad
12import Control.Monad
13−import Data.List (intersperse)
14import Data.Maybe (maybeToList, isJust)
13import Data.Maybe (maybeToList, isJust)
15import HsDecls
14import HsDecls
16import HsTypes
15import HsTypes
@@ -23,21 +22,19 @@ import SrcLoc (Located, GenLocated (..))
23p_famDecl :: FamilyDecl GhcPs -> R ()
22p_famDecl :: FamilyDecl GhcPs -> R ()
24p_famDecl FamilyDecl {..} = do
23p_famDecl FamilyDecl {..} = do
25 mmeqs <- case fdInfo of
24 mmeqs <- case fdInfo of
26− DataFamily -> Nothing <$ txt "data family"
25+ DataFamily -> Nothing <$ txt "data family "
27− OpenTypeFamily -> Nothing <$ txt "type family"
26+ OpenTypeFamily -> Nothing <$ txt "type family "
28− ClosedTypeFamily eqs -> Just eqs <$ txt "type family"
27+ ClosedTypeFamily eqs -> Just eqs <$ txt "type family "
30 located fdLName p_rdrName
28 located fdLName p_rdrName
32 let HsQTvs {..} = fdTyVars
30 let HsQTvs {..} = fdTyVars
34 maybeToList (p_familyResultSigL (isJust fdInjectivityAnn) fdResultSig)
32 maybeToList (p_familyResultSigL (isJust fdInjectivityAnn) fdResultSig)
35 ++ (located' p_injectivityAnn <$> maybeToList fdInjectivityAnn)
33 ++ (located' p_injectivityAnn <$> maybeToList fdInjectivityAnn)
36− unless (null hsq_explicit) $
37− sequence_ $ withSep space (located' p_hsTyVarBndr) hsq_explicit
34+ spaceSep (located' p_hsTyVarBndr) hsq_explicit
38 unless (null items) $
35 unless (null items) $
39 vlayout space newline
36 vlayout space newline
40− inci . inci . sequence_ $ intersperse space items
37+ inci . inci $ spaceSep id items
41 case mmeqs of
38 case mmeqs of
42 Nothing -> newline
39 Nothing -> newline
43 Just meqs -> do
40 Just meqs -> do
@@ -66,14 +63,14 @@ p_injectivityAnn (InjectivityAnn a bs) = do
66 located a p_rdrName
63 located a p_rdrName
69− sequence_ $ withSep space (located' p_rdrName) bs
66+ spaceSep (located' p_rdrName) bs
71p_tyFamInstEqn :: TyFamInstEqn GhcPs -> R ()
68p_tyFamInstEqn :: TyFamInstEqn GhcPs -> R ()
72p_tyFamInstEqn HsIB {..} = velt'
69p_tyFamInstEqn HsIB {..} = velt'
73 [ do located feqn_tycon p_rdrName
70 [ do located feqn_tycon p_rdrName
75− sequence_ $ withSep space (located' p_hsType) feqn_pats
72+ spaceSep (located' p_hsType) feqn_pats
76− , inci $ txt "= " >> located feqn_rhs p_hsType
73+ , inci $ txt "= " >> inci (located feqn_rhs p_hsType)
79 FamEqn {..} = hsib_body
76 FamEqn {..} = hsib_body