diff options
author | Ćukasz Hanuszczak <lukasz.hanuszczak@gmail.com> | 2015-07-29 16:51:22 +0200 |
---|---|---|
committer | Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk> | 2015-08-21 18:22:32 +0100 |
commit | 5980cfb8eb5bf86e420c2d1b82d6d3b92c0c1fda (patch) | |
tree | 06d302dd76f3677f9d6b6407c50601623b910f90 | |
parent | 3073526a26d013e8751068fbd526974dcfb8259f (diff) |
Split printer of type family header to separate functions.
-rw-r--r-- | haddock-api/src/Haddock/Backends/Xhtml/Decl.hs | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs b/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs index eb4524c2..e248dc25 100644 --- a/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs +++ b/haddock-api/src/Haddock/Backends/Xhtml/Decl.hs @@ -239,28 +239,31 @@ ppSimpleSig links splice unicode qual loc names typ = -------------------------------------------------------------------------------- +ppFamilyInfo :: Bool -> FamilyInfo DocName -> Html +ppFamilyInfo assoc OpenTypeFamily + | assoc = keyword "type" + | otherwise = keyword "type family" +ppFamilyInfo assoc DataFamily + | assoc = keyword "data" + | otherwise = keyword "data family" +ppFamilyInfo _ (ClosedTypeFamily _) = keyword "type family" + + +ppFamilyKind :: Unicode -> Qualification -> Maybe (LHsKind DocName) -> Html +ppFamilyKind unicode qual (Just kind) = + dcolon unicode <+> ppLKind unicode qual kind +ppFamilyKind _ _ Nothing = noHtml + + ppTyFamHeader :: Bool -> Bool -> FamilyDecl DocName -> Unicode -> Qualification -> Html ppTyFamHeader summary associated d@(FamilyDecl { fdInfo = info , fdKindSig = mkind }) unicode qual = - (case info of - OpenTypeFamily - | associated -> keyword "type" - | otherwise -> keyword "type family" - DataFamily - | associated -> keyword "data" - | otherwise -> keyword "data family" - ClosedTypeFamily _ - -> keyword "type family" - ) <+> - - ppFamDeclBinderWithVars summary d <+> - - (case mkind of - Just kind -> dcolon unicode <+> ppLKind unicode qual kind - Nothing -> noHtml - ) + ppFamilyInfo associated info <+> + ppFamDeclBinderWithVars summary d <+> + ppFamilyKind unicode qual mkind + ppTyFam :: Bool -> Bool -> LinksInfo -> [DocInstance DocName] -> [(DocName, Fixity)] -> SrcSpan -> Documentation DocName -> |