Portability | portable |
---|---|
Maintainer | cabal-devel@haskell.org |
Safe Haskell | None |
This module deals with the haddock
and hscolour
commands. Sadly this is a
rather complicated module. It deals with two versions of haddock (0.x and
2.x). It has to do pre-processing which involves 'unlit'ing and using
-D__HADDOCK__
for any source code that uses cpp
. It uses information
about installed packages (from ghc-pkg
) to find the locations of
documentation for dependent packages, so it can create links.
The hscolour
support allows generating HTML versions of the original
source, with coloured syntax highlighting.
- haddock :: PackageDescription -> LocalBuildInfo -> [PPSuffixHandler] -> HaddockFlags -> IO ()
- hscolour :: PackageDescription -> LocalBuildInfo -> [PPSuffixHandler] -> HscolourFlags -> IO ()
- haddockPackagePaths :: [InstalledPackageInfo] -> Maybe (InstalledPackageInfo -> FilePath) -> IO ([(FilePath, Maybe FilePath)], Maybe String)
Documentation
haddock :: PackageDescription -> LocalBuildInfo -> [PPSuffixHandler] -> HaddockFlags -> IO ()
hscolour :: PackageDescription -> LocalBuildInfo -> [PPSuffixHandler] -> HscolourFlags -> IO ()
haddockPackagePaths :: [InstalledPackageInfo] -> Maybe (InstalledPackageInfo -> FilePath) -> IO ([(FilePath, Maybe FilePath)], Maybe String)
Given a list of InstalledPackageInfo
s, return a list of interfaces and
HTML paths, and an optional warning for packages with missing documentation.