-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Search Hoogle and navigate Hackage from the command line. -- -- Please see the README on GitHub at -- https://github.com/lazamar/haskell-docs-cli#readme @package haskell-docs-cli @version 1.0.0.0 -- | Store results of named computations. module Data.Cache create :: MonadIO m => EvictionPolicy -> m Cache -- | Try to get result from cache. If not present, run computation. cached :: MonadIO m => Cache -> String -> m ByteString -> m ByteString enforce :: MonadIO m => EvictionPolicy -> m () newtype Store Store :: FilePath -> Store data EvictionPolicy Evict :: MaxBytes -> MaxAgeDays -> Store -> EvictionPolicy NoStorage :: EvictionPolicy data Cache data MaxBytes MaxBytes :: Integer -> MaxBytes NoMaxBytes :: MaxBytes data MaxAgeDays MaxAgeDays :: Int -> MaxAgeDays NoMaxAge :: MaxAgeDays instance GHC.Classes.Ord Data.Cache.Hash instance GHC.Classes.Eq Data.Cache.Hash instance GHC.Show.Show Data.Cache.Hash instance GHC.Classes.Eq Data.Cache.Entry instance GHC.Show.Show Data.Cache.Entry instance GHC.Show.Show Data.Cache.SerialisedEntry module Docs.CLI.Directory newtype AppCache AppCache :: FilePath -> AppCache -- | Create top directory of app cache if it doesn't exist mkAppCacheDir :: Maybe FilePath -> IO AppCache getAppHistoryFile :: IO FilePath module Docs.CLI.Types type Url = String -- | Appears at the end of a url after a pound sign, pointing the element -- to focus on. -- https://hackage.haskell.org/package/hoogle-5.0.18.1/docs/Hoogle.html#t:Target -- ^^^^^^^^ type Anchor = Text dropAnchor :: Url -> Url takeAnchor :: MonadFail m => Url -> m Anchor data DeclUrl DeclUrl :: ModuleUrl -> Anchor -> DeclUrl -- | Link to an item in a src page data SourceLink SourceLink :: Url -> Anchor -> SourceLink newtype ModuleUrl ModuleUrl :: Url -> ModuleUrl -- | Url to a Haddock package page newtype PackageUrl PackageUrl :: Url -> PackageUrl type FileName = String type FileContent = Text newtype RelativeUrl RelativeUrl :: Text -> RelativeUrl data FileInfo FileInfo :: FileName -> Maybe Int -> FileContent -> FileInfo [fName] :: FileInfo -> FileName [fLine] :: FileInfo -> Maybe Int [fContent] :: FileInfo -> FileContent class HasUrl a getUrl :: HasUrl a => a -> Url instance GHC.Show.Show Docs.CLI.Types.SourceLink instance GHC.Classes.Eq Docs.CLI.Types.SourceLink instance GHC.Show.Show Docs.CLI.Types.ModuleUrl instance GHC.Classes.Eq Docs.CLI.Types.ModuleUrl instance GHC.Show.Show Docs.CLI.Types.DeclUrl instance GHC.Classes.Eq Docs.CLI.Types.DeclUrl instance GHC.Show.Show Docs.CLI.Types.PackageUrl instance GHC.Classes.Eq Docs.CLI.Types.PackageUrl instance Docs.CLI.Types.HasUrl Docs.CLI.Types.DeclUrl instance Docs.CLI.Types.HasUrl Docs.CLI.Types.ModuleUrl instance Docs.CLI.Types.HasUrl Docs.CLI.Types.SourceLink instance Docs.CLI.Types.HasUrl Docs.CLI.Types.PackageUrl instance Docs.CLI.Types.HasUrl Docs.CLI.Types.Url -- | Functions to parse and display Haddock HTML module Docs.CLI.Haddock -- | An html element data Html -- | The root of an html page data HtmlPage -- | An exported declaration data Declaration Declaration :: Set Anchor -> Anchor -> Html -> Html -> [Html] -> ModuleUrl -> DeclUrl -> String -> Declaration [dAnchors] :: Declaration -> Set Anchor -- | Main declaration anchor [dAnchor] :: Declaration -> Anchor [dSignature] :: Declaration -> Html -- | Signature with argument documentation, if available. [dSignatureExpanded] :: Declaration -> Html [dContent] :: Declaration -> [Html] [dModuleUrl] :: Declaration -> ModuleUrl [dDeclUrl] :: Declaration -> DeclUrl -- | string to be used when selecting this declaration with tab completion [dCompletion] :: Declaration -> String data Module Module :: String -> Maybe Html -> [Declaration] -> ModuleUrl -> Module [mTitle] :: Module -> String [mDescription] :: Module -> Maybe Html [mDeclarations] :: Module -> [Declaration] [mUrl] :: Module -> ModuleUrl data Package Package :: String -> Maybe String -> Html -> Maybe Html -> [(String, Html)] -> [String] -> PackageUrl -> Package [pTitle] :: Package -> String [pSubTitle] :: Package -> Maybe String [pDescription] :: Package -> Html [pReadme] :: Package -> Maybe Html [pProperties] :: Package -> [(String, Html)] [pModules] :: Package -> [String] [pUrl] :: Package -> PackageUrl parseHtmlDocument :: ByteString -> HtmlPage parseModuleDocs :: ModuleUrl -> HtmlPage -> Module parsePackageDocs :: PackageUrl -> HtmlPage -> Package sourceLinks :: ModuleUrl -> HtmlPage -> [(Anchor, SourceLink)] -- | Convert an html page into a src file and inform of line number of -- SourceLink fileInfo :: SourceLink -> HtmlPage -> FileInfo -- | Types that can be selected with tab completion class HasCompletion a completion :: HasCompletion a => a -> String innerString :: Html -> String -- | Render Haddock's Html prettyHtml :: IsHtml html => html -> Doc numbered :: [Doc] -> [Doc] parseHoogleHtml :: String -> Html link :: Doc -> Doc instance GHC.Classes.Eq Docs.CLI.Haddock.Html instance GHC.Show.Show Docs.CLI.Haddock.Html instance Docs.CLI.Haddock.IsHtml Docs.CLI.Haddock.Html instance Docs.CLI.Haddock.IsHtml Docs.CLI.Haddock.HtmlPage instance Docs.CLI.Haddock.HasCompletion a => Docs.CLI.Haddock.HasCompletion (GHC.Base.NonEmpty a) instance Docs.CLI.Haddock.HasCompletion GHC.Base.String instance Docs.CLI.Haddock.HasCompletion Docs.CLI.Haddock.Declaration instance Docs.CLI.Haddock.HasCompletion Docs.CLI.Haddock.Module instance Docs.CLI.Haddock.HasCompletion Docs.CLI.Haddock.Package -- | Functions and data types to handle Hoogle results module Docs.CLI.Hoogle data Item Declaration :: Declaration -> Item Module :: Module -> Item Package :: Package -> Item fromHoogleTarget :: Target -> Item data Declaration Declaration_ :: DeclUrl -> String -> PackageUrl -> String -> ModuleUrl -> Html -> Html -> Target -> String -> Declaration [dUrl] :: Declaration -> DeclUrl [dPackage] :: Declaration -> String [dPackageUrl] :: Declaration -> PackageUrl [dModule] :: Declaration -> String [dModuleUrl] :: Declaration -> ModuleUrl [dDescription] :: Declaration -> Html [dDocs] :: Declaration -> Html [dTarget] :: Declaration -> Target [dCompletion] :: Declaration -> String data Module Module_ :: ModuleUrl -> String -> PackageUrl -> Html -> Html -> Target -> String -> Module [mUrl] :: Module -> ModuleUrl [mPackage] :: Module -> String [mPackageUrl] :: Module -> PackageUrl [mDescription] :: Module -> Html [mDocs] :: Module -> Html [mTarget] :: Module -> Target [mTitle] :: Module -> String data Package Package_ :: PackageUrl -> Html -> Html -> Target -> String -> Package [pUrl] :: Package -> PackageUrl [pDescription] :: Package -> Html [pDocs] :: Package -> Html [pTarget] :: Package -> Target [pTitle] :: Package -> String description :: Item -> Html docs :: Item -> Html instance GHC.Classes.Eq Docs.CLI.Hoogle.Declaration instance GHC.Classes.Eq Docs.CLI.Hoogle.Module instance GHC.Classes.Eq Docs.CLI.Hoogle.Package instance GHC.Classes.Eq Docs.CLI.Hoogle.Item instance Docs.CLI.Haddock.HasCompletion Docs.CLI.Hoogle.Item instance Data.Aeson.Types.FromJSON.FromJSON Docs.CLI.Hoogle.Item module Docs.CLI.Evaluate interactive :: M () evaluate :: String -> M () evaluateCmd :: Cmd -> M () data ShellState ShellState :: Context -> Manager -> Cache -> Bool -> HoogleUrl -> HackageUrl -> ShellState [sContext] :: ShellState -> Context [sManager] :: ShellState -> Manager [sCache] :: ShellState -> Cache [sNoColours] :: ShellState -> Bool [sHoogle] :: ShellState -> HoogleUrl [sHackage] :: ShellState -> HackageUrl -- | Context referenced by commands that contain an index data Context -- | Nothing selected ContextEmpty :: Context -- | within search results ContextSearch :: String -> [TargetGroup] -> Context -- | looking at module docs ContextModule :: Module -> Context -- | looking at a a package's modules ContextPackage :: Package -> Context -- | Commands we accept data Cmd -- | by default we do a Hoogle search or view/index the current context ViewAny :: View -> Selection -> Cmd ViewDeclarationSource :: Selection -> Cmd ViewDeclaration :: Selection -> Cmd ViewModule :: View -> Selection -> Cmd ViewPackage :: View -> Selection -> Cmd Help :: Cmd Quit :: Cmd data Selection SelectContext :: Selection SelectByIndex :: Index -> Selection SelectByPrefix :: String -> Selection Search :: String -> Selection data View Interface :: View Documentation :: View newtype HackageUrl HackageUrl :: Url -> HackageUrl newtype HoogleUrl HoogleUrl :: Url -> HoogleUrl runCLI :: ShellState -> M a -> IO (Either String a) defaultHoogleUrl :: HoogleUrl defaultHackageUrl :: HackageUrl moreInfoText :: Doc instance Control.Monad.Fail.MonadFail Docs.CLI.Evaluate.M instance Control.Monad.Catch.MonadThrow Docs.CLI.Evaluate.M instance Control.Monad.IO.Class.MonadIO Docs.CLI.Evaluate.M instance Control.Monad.Error.Class.MonadError GHC.Base.String Docs.CLI.Evaluate.M instance GHC.Base.Monad Docs.CLI.Evaluate.M instance GHC.Base.Applicative Docs.CLI.Evaluate.M instance GHC.Base.Functor Docs.CLI.Evaluate.M instance Docs.CLI.Evaluate.MonadCLI Docs.CLI.Evaluate.M instance Control.Monad.State.Class.MonadState Docs.CLI.Evaluate.ShellState Docs.CLI.Evaluate.M module Main data CacheOption Unlimited :: CacheOption Off :: CacheOption data Options Options :: String -> Maybe FilePath -> Maybe CacheOption -> Maybe HoogleUrl -> Maybe HackageUrl -> Options [optQuery] :: Options -> String [optAppCacheDir] :: Options -> Maybe FilePath [optCache] :: Options -> Maybe CacheOption [optHoogle] :: Options -> Maybe HoogleUrl [optHackage] :: Options -> Maybe HackageUrl cachePolicy :: Maybe CacheOption -> AppCache -> IO EvictionPolicy cliOptions :: ParserInfo Options main :: IO () main' :: IO ()