-- 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.1.0.1 module Distribution.Utils identifier :: GenericPackageDescription -> PackageIdentifier findPackageDescription :: FilePath -> IO (Maybe GenericPackageDescription) findProjects :: FilePath -> IO [(FilePath, PackageIdentifier)] readProject :: FilePath -> IO (Maybe (FilePath, PackageIdentifier)) module Distribution.Hackage.Utils getHackagePath :: IO FilePath module Codex.Project newtype Workspace Workspace :: [WorkspaceProject] -> Workspace data WorkspaceProject WorkspaceProject :: PackageIdentifier -> FilePath -> WorkspaceProject workspaceProjectIdentifier :: WorkspaceProject -> PackageIdentifier workspaceProjectPath :: WorkspaceProject -> FilePath type ProjectDependencies = (PackageIdentifier, [PackageIdentifier], [WorkspaceProject]) allDependencies :: GenericPackageDescription -> [Dependency] resolveCurrentProjectDependencies :: IO ProjectDependencies resolveProjectDependencies :: Workspace -> FilePath -> IO ProjectDependencies resolveInstalledDependencies :: FilePath -> IO (Either SomeException [PackageIdentifier]) resolveHackageDependencies :: Hackage -> GenericPackageDescription -> [GenericPackageDescription] resolvePackageDependencies :: FilePath -> GenericPackageDescription -> IO [PackageIdentifier] resolveSandboxDependencies :: FilePath -> IO [WorkspaceProject] resolveWorkspaceDependencies :: Workspace -> GenericPackageDescription -> [WorkspaceProject] readWorkspaceProject :: FilePath -> IO (Maybe WorkspaceProject) getWorkspace :: FilePath -> IO Workspace instance Eq WorkspaceProject instance Show WorkspaceProject instance Eq Workspace instance Show Workspace module Codex.Internal data Codex Codex :: FilePath -> String -> Bool -> Bool -> Codex hackagePath :: Codex -> FilePath tagsCmd :: Codex -> String tagsFileHeader :: Codex -> Bool tagsFileSorted :: Codex -> Bool packagePath :: Codex -> PackageIdentifier -> FilePath packageArchive :: Codex -> PackageIdentifier -> FilePath packageSources :: Codex -> PackageIdentifier -> FilePath packageTags :: Codex -> PackageIdentifier -> FilePath packageUrl :: PackageIdentifier -> String module Codex data Codex Codex :: FilePath -> String -> Bool -> Bool -> Codex hackagePath :: Codex -> FilePath tagsCmd :: Codex -> String tagsFileHeader :: Codex -> Bool tagsFileSorted :: Codex -> Bool 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