diff options
Diffstat (limited to 'src/Haddock/Backends/Xhtml/Names.hs')
| -rw-r--r-- | src/Haddock/Backends/Xhtml/Names.hs | 14 | 
1 files changed, 13 insertions, 1 deletions
diff --git a/src/Haddock/Backends/Xhtml/Names.hs b/src/Haddock/Backends/Xhtml/Names.hs index c5166d7f..19efea2e 100644 --- a/src/Haddock/Backends/Xhtml/Names.hs +++ b/src/Haddock/Backends/Xhtml/Names.hs @@ -11,7 +11,7 @@  -- Portability :  portable  -----------------------------------------------------------------------------  module Haddock.Backends.Xhtml.Names ( -  ppName, ppDocName, ppLDocName, ppRdrName, +  ppName, ppDocName, ppLDocName, ppRdrName, ppUncheckedLink,    ppBinder, ppBinder',    ppModule, ppModuleRef,    linkId @@ -39,6 +39,10 @@ ppRdrName :: RdrName -> Html  ppRdrName = ppOccName . rdrNameOcc +ppUncheckedLink :: Qualification -> (ModuleName, OccName) -> Html +ppUncheckedLink _ (mdl, occ) = linkIdOcc' mdl (Just occ) << ppOccName occ -- TODO: apply ppQualifyName + +  ppLDocName :: Qualification -> Located DocName -> Html  ppLDocName qual (L _ d) = ppDocName qual d @@ -110,6 +114,14 @@ linkIdOcc mdl mbName = anchor ! [href url]        Just name -> moduleNameUrl mdl name +linkIdOcc' :: ModuleName -> Maybe OccName -> Html -> Html +linkIdOcc' mdl mbName = anchor ! [href url] +  where +    url = case mbName of +      Nothing   -> moduleHtmlFile' mdl +      Just name -> moduleNameUrl' mdl name + +  ppModule :: Module -> Html  ppModule mdl = anchor ! [href (moduleUrl mdl)]                 << toHtml (moduleString mdl)  | 
