aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Haddock/Backends/Html.hs32
1 files changed, 23 insertions, 9 deletions
diff --git a/src/Haddock/Backends/Html.hs b/src/Haddock/Backends/Html.hs
index cc7077b1..f28bc3a3 100644
--- a/src/Haddock/Backends/Html.hs
+++ b/src/Haddock/Backends/Html.hs
@@ -945,16 +945,30 @@ ppDataDecl summary links instances x loc mbDoc dataDecl
instId = collapseId name
- instancesBit
- | null instances = Html.emptyTable
- | otherwise
- = instHdr instId </>
- tda [theclass "body"] <<
- collapsed thediv instId (
- spacedTable1 << (
- aboves (map (declBox . ppInstHead) instances)
+ | otherwise
+ = dataheader </>
+ tda [theclass "body"] << vanillaTable << (
+ datadoc </>
+ constr_bit </>
+ instances_bit
)
- )
+ where
+ dataheader = topDeclBox links loc nm (ppHsDataHeader False is_newty nm args)
+
+ constr_table
+ | any isRecDecl cons = spacedTable5
+ | otherwise = spacedTable1
+
+ datadoc | isJust doc = ndocBox (docToHtml (fromJust doc))
+ | otherwise = Html.emptyTable
+
+ constr_bit
+ | null cons = Html.emptyTable
+ | otherwise =
+ constr_hdr </>
+ (tda [theclass "body"] << constr_table <<
+ aboves (map ppSideBySideConstr cons)
+ )
isRecCon lcon = case con_details (unLoc lcon) of
RecCon _ -> True