hoogle-5.0.18.4: Haskell API Search

Safe Haskell | None
Language | Haskell2010

Hoogle

Description

High level Hoogle API

Synopsis

- data Database
- withDatabase :: NFData a => FilePath -> (Database -> IO a) -> IO a
- searchDatabase :: Database -> String -> [Target]
- defaultDatabaseLocation :: IO FilePath
- data Target = Target {
  - targetURL :: URL
  - targetPackage :: Maybe (String, URL)
  - targetModule :: Maybe (String, URL)
  - targetType :: String
  - targetItem :: String
  - targetDocs :: String
  }
- type URL = String
- hoogle :: [String] -> IO ()
- targetInfo :: Target -> String
- targetResultDisplay :: Bool -> Target -> String

# Documentation

data Database Source #

Database containing Hoogle search data.

withDatabase :: NFData a => FilePath -> (Database -> IO a) -> IO a Source #

Load a database from a file.

searchDatabase :: Database -> String -> [Target] Source #

Search a database, given a query string, produces a list of results.

defaultDatabaseLocation :: IO FilePath Source #

The default location of a database

data Target Source #

A location of documentation.

Constructors

Target |

Fields

- targetURL :: URL

  URL where this thing is located

- targetPackage :: Maybe (String, URL)

  Name and URL of the package it is in (Nothing if it is a package)

- targetModule :: Maybe (String, URL)

  Name and URL of the module it is in (Nothing if it is a package or module)

- targetType :: String

  One of package, module or empty string

- targetItem :: String

  HTML span of the item, using `<s0>` for the name and `<s1>` onwards for arguments

- targetDocs :: String

  HTML documentation to show, a sequence of block level elements

#### Instances

Instances details

Arbitrary Target Source # |
Instance details Defined in Input.Item Methods arbitrary :: Gen Target Source # shrink :: Target -> [Target] Source #
FromJSON Target Source # |
Instance details Defined in Input.Item Methods parseJSON :: Value -> Parser Target Source # parseJSONList :: Value -> Parser [Target] Source # omittedField :: Maybe Target Source #
ToJSON Target Source # |
Instance details Defined in Input.Item Methods toJSON :: Target -> Value Source # toEncoding :: Target -> Encoding Source # toJSONList :: [Target] -> Value Source # toEncodingList :: [Target] -> Encoding Source # omitField :: Target -> Bool Source #
NFData Target Source # |
Instance details Defined in Input.Item Methods rnf :: Target -> () Source #
Show Target Source # |
Instance details Defined in Input.Item Methods showsPrec :: Int -> Target -> ShowS Source # show :: Target -> String Source # showList :: [Target] -> ShowS Source #
Eq Target Source # |
Instance details Defined in Input.Item Methods (==) :: Target -> Target -> Bool Source # (/=) :: Target -> Target -> Bool Source #
Ord Target Source # |
Instance details Defined in Input.Item Methods compare :: Target -> Target -> Ordering Source # (<) :: Target -> Target -> Bool Source # (<=) :: Target -> Target -> Bool Source # (>) :: Target -> Target -> Bool Source # (>=) :: Target -> Target -> Bool Source # max :: Target -> Target -> Target Source # min :: Target -> Target -> Target Source #

type URL = String Source #

A URL, complete with a `https:` prefix.

hoogle :: [String] -> IO () Source #

Run a command line Hoogle operation.

targetInfo :: Target -> String Source #

Returns the details printed out when hoogle --info is called

targetResultDisplay :: Bool -> Target -> String Source #

Returns the Target formatted as an item to display in the results | Bool argument decides whether links are shown