-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A ctags file generator for cabal project dependencies.
--
-- This tool download and cache the source code of packages in your local
-- hackage, it can then use this cache to generate tags files
-- aggregating the sources of all the dependencies of your cabal
-- projects.
--
-- You basically do `codex update` in your cabal project directory and
-- you'll get a `codex.tags` file that you can use in your favorite text
-- editor.
--
-- Usage overview can be found in the README.
@package codex
@version 0.0.2.1
module Distribution.Hackage.Utils
getHackagePath :: IO FilePath
module Codex.Project
newtype Workspace
Workspace :: [WorkspaceProject] -> Workspace
data WorkspaceProject
WorkspaceProject :: PackageIdentifier -> FilePath -> WorkspaceProject
type ProjectDependencies = (PackageIdentifier, [PackageIdentifier], [WorkspaceProject])
identifier :: GenericPackageDescription -> PackageIdentifier
allDependencies :: GenericPackageDescription -> [Dependency]
findPackageDescription :: FilePath -> IO (Maybe GenericPackageDescription)
resolveCurrentProjectDependencies :: IO ProjectDependencies
resolveProjectDependenciesWithWorkspace :: Workspace -> FilePath -> IO ProjectDependencies
resolveProjectDependencies :: FilePath -> GenericPackageDescription -> IO [PackageIdentifier]
resolveInstalledDependencies :: FilePath -> IO (Either SomeException [PackageIdentifier])
resolveHackageDependencies :: Hackage -> GenericPackageDescription -> [GenericPackageDescription]
resolveWorkspaceDependencies :: Workspace -> GenericPackageDescription -> [WorkspaceProject]
getWorkspace :: FilePath -> IO Workspace
instance Eq WorkspaceProject
instance Show WorkspaceProject
instance Eq Workspace
instance Show Workspace
module Codex.Internal
data Codex
Codex :: String -> FilePath -> Codex
tagsCmd :: Codex -> String
hackagePath :: Codex -> FilePath
packagePath :: Codex -> PackageIdentifier -> FilePath
packageArchive :: Codex -> PackageIdentifier -> FilePath
packageSources :: Codex -> PackageIdentifier -> FilePath
packageTags :: Codex -> PackageIdentifier -> FilePath
packageUrl :: PackageIdentifier -> String
module Codex
data Codex
Codex :: String -> FilePath -> Codex
tagsCmd :: Codex -> String
hackagePath :: Codex -> FilePath
data Verbosity :: *
data Tagging
Tagged :: Tagging
Untagged :: Tagging
fromBool :: Bool -> Tagging
data Status
Source :: Tagging -> Status
Archive :: Status
Remote :: Status
type Action = EitherT String IO
data Tagger
Ctags :: Tagger
Hasktags :: Tagger
taggerCmd :: Tagger -> String
taggerCmdRun :: Codex -> FilePath -> FilePath -> Action FilePath
tryIO :: IO a -> Action a
dependenciesHash :: [PackageIdentifier] -> String
isUpdateRequired :: FilePath -> [PackageIdentifier] -> Action Bool
status :: Codex -> PackageIdentifier -> Action Status
fetch :: Codex -> PackageIdentifier -> Action FilePath
extract :: Codex -> PackageIdentifier -> Action FilePath
tags :: Codex -> PackageIdentifier -> Action FilePath
assembly :: Codex -> [PackageIdentifier] -> [WorkspaceProject] -> FilePath -> Action FilePath
instance Eq Tagging
instance Show Tagging
instance Eq Status
instance Show Status
instance Eq Tagger
instance Show Tagger
instance Read Tagger