git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Only output documentation sections with content
57eb5c1Gary Burgess
docgen/Main.hs+22−16
@@ -61,29 +61,35 @@ renderModules ms = do
61renderModule :: P.Module -> Docs
61renderModule :: P.Module -> Docs
62renderModule (P.Module moduleName ds exps) =
62renderModule (P.Module moduleName ds exps) =
63 let exported = filter (isExported exps) ds
63 let exported = filter (isExported exps) ds
64+ hasTypes = any isTypeDeclaration ds
64 hasTypeclasses = any isTypeClassDeclaration ds
65 hasTypeclasses = any isTypeClassDeclaration ds
66+ hasTypeclassInstances = any isTypeInstanceDeclaration ds
67+ hasValues = any isValueDeclaration ds
65 in do
68 in do
66 headerLevel 2 $ "Module " ++ P.runModuleName moduleName
69 headerLevel 2 $ "Module " ++ P.runModuleName moduleName
67 spacer
70 spacer
71+ when hasTypes $ do
68− headerLevel 3 "Types"
72+ headerLevel 3 "Types"
69− spacer
73+ spacer
70− renderTopLevel exps (filter isTypeDeclaration exported)
74+ renderTopLevel exps (filter isTypeDeclaration exported)
71− spacer
72− headerLevel 3 "Type Classes"
73− spacer
75+ spacer
74 when hasTypeclasses $ do
76 when hasTypeclasses $ do
77+ headerLevel 3 "Type Classes"
78+ spacer
75 renderTypeclassImage moduleName
79 renderTypeclassImage moduleName
76 spacer
80 spacer
77− renderTopLevel exps (filter isTypeClassDeclaration exported)
81+ renderTopLevel exps (filter isTypeClassDeclaration exported)
78− spacer
82+ spacer
83+ when hasTypeclassInstances $ do
79− headerLevel 3 "Type Class Instances"
84+ headerLevel 3 "Type Class Instances"
80− spacer
85+ spacer
81− renderTopLevel exps (filter isTypeInstanceDeclaration ds)
86+ renderTopLevel exps (filter isTypeInstanceDeclaration ds)
82− spacer
87+ spacer
88+ when hasValues $ do
83− headerLevel 3 "Values"
89+ headerLevel 3 "Values"
84− spacer
90+ spacer
85− renderTopLevel exps (filter isValueDeclaration exported)
91+ renderTopLevel exps (filter isValueDeclaration exported)
86− spacer
92+ spacer
87
93
88isExported :: Maybe [P.DeclarationRef] -> P.Declaration -> Bool
94isExported :: Maybe [P.DeclarationRef] -> P.Declaration -> Bool
89isExported Nothing _ = True
95isExported Nothing _ = True