-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Haskell API Search
--
-- Hoogle is a Haskell API search engine, which allows you to search many
-- standard Haskell libraries by either function name, or by approximate
-- type signature.
@package hoogle
@version 5.0.13
-- | High level Hoogle API
module Hoogle
-- | Database containing Hoogle search data.
data Database
-- | Load a database from a file.
withDatabase :: NFData a => FilePath -> (Database -> IO a) -> IO a
-- | Search a database, given a query string, produces a list of results.
searchDatabase :: Database -> String -> [Target]
-- | The default location of a database
defaultDatabaseLocation :: IO FilePath
-- | A location of documentation.
data Target
Target :: URL -> Maybe (String, URL) -> Maybe (String, URL) -> String -> String -> String -> Target
-- | URL where this thing is located
[targetURL] :: Target -> URL
-- | Name and URL of the package it is in (Nothing if it is a package)
[targetPackage] :: Target -> Maybe (String, URL)
-- | Name and URL of the module it is in (Nothing if it is a package or
-- module)
[targetModule] :: Target -> Maybe (String, URL)
-- | One of package, module or empty string
[targetType] :: Target -> String
-- | HTML span of the item, using 0 for the name and 1
-- onwards for arguments
[targetItem] :: Target -> String
-- | HTML documentation to show, a sequence of block level elements
[targetDocs] :: Target -> String
-- | A URL, complete with a https: prefix.
type URL = String
-- | Run a command line Hoogle operation.
hoogle :: [String] -> IO ()
-- | Returns the details printed out when hoogle --info is called
targetInfo :: Target -> String
-- | Returns the Target formatted as an item to display in the results |
-- Bool argument decides whether links are shown
targetResultDisplay :: Bool -> Target -> String