diff options
Diffstat (limited to 'haddock-api/src/Haddock/Backends/Xhtml.hs')
-rw-r--r-- | haddock-api/src/Haddock/Backends/Xhtml.hs | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/haddock-api/src/Haddock/Backends/Xhtml.hs b/haddock-api/src/Haddock/Backends/Xhtml.hs index 0297f9e7..80469929 100644 --- a/haddock-api/src/Haddock/Backends/Xhtml.hs +++ b/haddock-api/src/Haddock/Backends/Xhtml.hs @@ -374,19 +374,22 @@ ppJsonIndex odir maybe_source_url maybe_wiki_url unicode qual_opt ifaces = do mdl = ifaceMod iface goExport :: Module -> Qualification -> ExportItem DocName -> [Value] - goExport mdl qual item = - case processExport True links_info unicode qual item of - Nothing -> [] - Just html -> - [ Object - [ "display_html" .= String (showHtmlFragment html) + goExport mdl qual item + | Just item_html <- processExport True links_info unicode qual item + = [ Object + [ "display_html" .= String (showHtmlFragment item_html) , "name" .= String (intercalate " " (map nameString names)) , "module" .= String (moduleString mdl) , "link" .= String (fromMaybe "" (listToMaybe (map (nameLink mdl) names))) ] - ] + ] + | otherwise = [] where - names = exportName item + names = exportName item ++ exportSubs item + + exportSubs :: ExportItem DocName -> [DocName] + exportSubs ExportDecl { expItemSubDocs } = map fst expItemSubDocs + exportSubs _ = [] exportName :: ExportItem DocName -> [DocName] exportName ExportDecl { expItemDecl } = getMainDeclBinder $ unLoc expItemDecl |