hoogle-5.0.18.4: Haskell API Search
Safe HaskellNone
LanguageHaskell2010

Hoogle

Description

High level Hoogle API

Synopsis

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

shrink :: Target -> [Target]

FromJSON Target Source # 
Instance details

Defined in Input.Item

Methods

parseJSON :: Value -> Parser Target

parseJSONList :: Value -> Parser [Target]

omittedField :: Maybe Target

ToJSON Target Source # 
Instance details

Defined in Input.Item

Methods

toJSON :: Target -> Value

toEncoding :: Target -> Encoding

toJSONList :: [Target] -> Value

toEncodingList :: [Target] -> Encoding

omitField :: Target -> Bool

NFData Target Source # 
Instance details

Defined in Input.Item

Methods

rnf :: Target -> ()

Show Target Source # 
Instance details

Defined in Input.Item

Methods

showsPrec :: Int -> Target -> ShowS #

show :: Target -> String #

showList :: [Target] -> ShowS #

Eq Target Source # 
Instance details

Defined in Input.Item

Methods

(==) :: Target -> Target -> Bool #

(/=) :: Target -> Target -> Bool #

Ord Target Source # 
Instance details

Defined in Input.Item

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