module Documentation.Haddock (
Interface(..),
InstalledInterface(..),
toInstalledIface,
createInterfaces,
processModules,
ExportItem(..),
DocForDecl,
FnArgsDoc,
LinkEnv,
DocName(..),
DocInstance,
InstHead,
Doc,
MDoc,
DocH(..),
Example(..),
Hyperlink(..),
DocMarkup,
DocMarkupH(..),
Documentation(..),
ArgMap,
AliasMap,
WarningMap,
DocMap,
HaddockModInfo(..),
markup,
InterfaceFile(..),
readInterfaceFile,
nameCacheFromGhc,
freshNameCache,
NameCacheAccessor,
Flag(..),
DocOption(..),
HaddockException(..),
haddock,
haddockWithGhc,
getGhcDirs,
withGhc
) where
import Documentation.Haddock.Markup (markup)
import Haddock.InterfaceFile
import Haddock.Interface
import Haddock.Types
import Haddock.Options
import Haddock
createInterfaces
:: [Flag]
-> [String]
-> IO [Interface]
createInterfaces :: [Flag] -> [String] -> IO [Interface]
createInterfaces [Flag]
flags [String]
modules = do
([(DocPaths, InterfaceFile)]
_, [Interface]
ifaces, LinkEnv
_) <- [Flag]
-> Ghc ([(DocPaths, InterfaceFile)], [Interface], LinkEnv)
-> IO ([(DocPaths, InterfaceFile)], [Interface], LinkEnv)
forall a. [Flag] -> Ghc a -> IO a
withGhc [Flag]
flags ([Flag]
-> [String]
-> Ghc ([(DocPaths, InterfaceFile)], [Interface], LinkEnv)
readPackagesAndProcessModules [Flag]
flags [String]
modules)
[Interface] -> IO [Interface]
forall (m :: * -> *) a. Monad m => a -> m a
return [Interface]
ifaces