haskell-docs-4.2.7: A program to find and display the docs and type of a name

Safe HaskellNone
LanguageHaskell98

Haskell.Docs.Haddock

Contents

Description

Haddock compatibilty layer and query functions.

Synopsis

Searching for ident docs

searchIdent :: [String] -> Maybe PackageConfig -> Identifier -> Ghc (Either DocsException [IdentDoc]) Source #

Search a name in the given module.

searchPackageModuleIdent :: Maybe PackageConfig -> PackageName -> ModuleName -> Identifier -> Ghc (Either DocsException [IdentDoc]) Source #

Search a name in the given module from the given package.

getIdentifier :: PackageConfig -> PkgID Source #

Obtain the current notion of a package identifier.

excludePrevious :: Eq a => Maybe (InstalledPackageInfo a srcpkgname unitid modulename) -> [InstalledPackageInfo a srcpkgname unitid modulename] -> [InstalledPackageInfo a srcpkgname unitid modulename] Source #

searchInPackages :: [PackageConfig] -> Maybe ModuleName -> Identifier -> Ghc (Either a [IdentDoc]) Source #

Search for the identifier in a module in any of the given packages.

searchWithPackage :: PackageConfig -> Maybe ModuleName -> Identifier -> Ghc (Either DocsException [IdentDoc]) Source #

Search for the given identifier in the given package.

searchWithInterface :: PackageConfig -> Identifier -> InstalledInterface -> Ghc (Either DocsException [IdentDoc]) Source #

Search for the given identifier in the interface.

lookupArgsDocs :: InstalledInterface -> Identifier -> Ghc (Maybe [(Int, Doc String)]) Source #

Find arguments documentation for the identifier.

Querying for packages and interfaces

getPackagesByModule :: ModuleName -> Ghc [PackageConfig] Source #

Search for a module's package, returning suggestions if not found. Filters out the given value.

getHaddockInterfacesByPackage :: PackageConfig -> IO [Either DocsException InterfaceFile] Source #

Get the Haddock interfaces of the given package.

Internal functions

descendSearch :: PackageConfig -> Identifier -> Name -> Ghc (Either DocsException [IdentDoc]) Source #

The module symbol doesn't actually exist in the module we intended, so we descend into the module that it does exist in and restart our search process.