git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Only output documentation sections with content
commit57eb5c18d5ccbb5b472cb2def50db80dbb2deb25 authorGary Burgess <gary.burgess@gmail.com> dateMon 21 Apr 2014, 19:05 (13 years ago) parent90bf9ab
1 file changed+22−16
docgen/Main.hs+22−16
docgen/Main.hs+22−16
@@ -61,29 +61,35 @@ renderModules ms = do
6161renderModule :: P.Module -> Docs
6262renderModule (P.Module moduleName ds exps) =
6363 let exported = filter (isExported exps) ds
64+ hasTypes = any isTypeDeclaration ds
6465 hasTypeclasses = any isTypeClassDeclaration ds
66+ hasTypeclassInstances = any isTypeInstanceDeclaration ds
67+ hasValues = any isValueDeclaration ds
6568 in do
6669 headerLevel 2 $ "Module " ++ P.runModuleName moduleName
6770 spacer
68− headerLevel 3 "Types"
69− spacer
70− renderTopLevel exps (filter isTypeDeclaration exported)
71− spacer
72− headerLevel 3 "Type Classes"
73− spacer
71+ when hasTypes $ do
72+ headerLevel 3 "Types"
73+ spacer
74+ renderTopLevel exps (filter isTypeDeclaration exported)
75+ spacer
7476 when hasTypeclasses $ do
77+ headerLevel 3 "Type Classes"
78+ spacer
7579 renderTypeclassImage moduleName
7680 spacer
77− renderTopLevel exps (filter isTypeClassDeclaration exported)
78− spacer
79− headerLevel 3 "Type Class Instances"
80− spacer
81− renderTopLevel exps (filter isTypeInstanceDeclaration ds)
82− spacer
83− headerLevel 3 "Values"
84− spacer
85− renderTopLevel exps (filter isValueDeclaration exported)
86− spacer
81+ renderTopLevel exps (filter isTypeClassDeclaration exported)
82+ spacer
83+ when hasTypeclassInstances $ do
84+ headerLevel 3 "Type Class Instances"
85+ spacer
86+ renderTopLevel exps (filter isTypeInstanceDeclaration ds)
87+ spacer
88+ when hasValues $ do
89+ headerLevel 3 "Values"
90+ spacer
91+ renderTopLevel exps (filter isValueDeclaration exported)
92+ spacer
8793
8894isExported :: Maybe [P.DeclarationRef] -> P.Declaration -> Bool
8995isExported Nothing _ = True