-- 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/stack -- projects. -- -- You basically do `codex update` in your project directory and you'll -- get a file (`codex.tags` by default, or TAGS when using emacs -- format) that you can use in your favorite text editor. -- -- Usage overview can be found in the README. @package codex @version 0.6.0.0 module Codex.Internal defaultStackOpts :: FilePath defaultTagsFileName :: FilePath data Builder Cabal :: Builder Stack :: String -> Builder data Codex Codex :: Bool -> FilePath -> String -> String -> Bool -> Bool -> FilePath -> Codex [currentProjectIncluded] :: Codex -> Bool [hackagePath] :: Codex -> FilePath [stackOpts] :: Codex -> String [tagsCmd] :: Codex -> String [tagsFileHeader] :: Codex -> Bool [tagsFileSorted] :: Codex -> Bool [tagsFileName] :: Codex -> FilePath hackagePathOf :: Builder -> Codex -> FilePath packagePath :: FilePath -> PackageIdentifier -> FilePath packageArchive :: FilePath -> PackageIdentifier -> FilePath packageSources :: FilePath -> PackageIdentifier -> FilePath packageTags :: FilePath -> PackageIdentifier -> FilePath packageUrl :: PackageIdentifier -> String removePrefix :: String -> String -> Maybe String readStackPath :: String -> String -> IO String stackListDependencies :: String -> String -> IO [PackageIdentifier] readStackVersion :: IO Version instance GHC.Show.Show Codex.Internal.Codex instance GHC.Generics.Generic Codex.Internal.Codex instance Data.Aeson.Types.ToJSON.ToJSON Codex.Internal.Codex instance Data.Aeson.Types.FromJSON.FromJSON Codex.Internal.Codex module Distribution.Sandbox.Utils findSandbox :: FilePath -> IO (Maybe FilePath) readSandboxSources :: FilePath -> IO [FilePath] module Codex.Project type Hackage = HackageDB newtype Workspace Workspace :: [WorkspaceProject] -> Workspace data WorkspaceProject WorkspaceProject :: PackageIdentifier -> FilePath -> WorkspaceProject [workspaceProjectIdentifier] :: WorkspaceProject -> PackageIdentifier [workspaceProjectPath] :: WorkspaceProject -> FilePath type ProjectDependencies = (Maybe PackageIdentifier, [PackageIdentifier], [WorkspaceProject]) identifier :: GenericPackageDescription -> PackageIdentifier allDependencies :: GenericPackageDescription -> [Dependency] findPackageDescription :: FilePath -> IO (Maybe GenericPackageDescription) -- | Find a regular file ending with ".cabal" within a directory. findCabalFilePath :: FilePath -> IO (Maybe FilePath) resolveCurrentProjectDependencies :: Builder -> FilePath -> IO ProjectDependencies -- | Resolve the dependencies of each local project package. resolveLocalDependencies :: Builder -> FilePath -> [WorkspaceProject] -> IO ProjectDependencies resolveProjectDependencies :: Builder -> Workspace -> FilePath -> FilePath -> IO ProjectDependencies resolveInstalledDependencies :: Builder -> FilePath -> GenericPackageDescription -> IO (Either SomeException [PackageIdentifier]) allComponentsInBuildOrder' :: LocalBuildInfo -> [ComponentLocalBuildInfo] resolveHackageDependencies :: Hackage -> GenericPackageDescription -> [GenericPackageDescription] withinRange' :: Version -> VersionRange -> Bool resolvePackageDependencies :: Builder -> FilePath -> FilePath -> GenericPackageDescription -> IO [PackageIdentifier] resolveSandboxDependencies :: FilePath -> IO [WorkspaceProject] resolveWorkspaceDependencies :: Workspace -> GenericPackageDescription -> [WorkspaceProject] readWorkspaceProject :: FilePath -> IO (Maybe WorkspaceProject) getWorkspace :: FilePath -> IO Workspace -- | Recursively find local packages in root, up to depth -- layers deep. The root directory has a depth of 0. findLocalPackages :: Int -> FilePath -> IO [WorkspaceProject] instance GHC.Show.Show Codex.Project.Workspace instance GHC.Classes.Eq Codex.Project.Workspace instance GHC.Show.Show Codex.Project.WorkspaceProject instance GHC.Classes.Eq Codex.Project.WorkspaceProject module Codex data Codex Codex :: Bool -> FilePath -> String -> String -> Bool -> Bool -> FilePath -> Codex [currentProjectIncluded] :: Codex -> Bool [hackagePath] :: Codex -> FilePath [stackOpts] :: Codex -> String [tagsCmd] :: Codex -> String [tagsFileHeader] :: Codex -> Bool [tagsFileSorted] :: Codex -> Bool [tagsFileName] :: Codex -> FilePath defaultStackOpts :: FilePath defaultTagsFileName :: FilePath data Verbosity data Tagger Ctags :: Tagger Hasktags :: Tagger HasktagsEmacs :: Tagger HasktagsExtended :: Tagger type Action = ExceptT String IO data Status Source :: Tagging -> Status Archive :: Status Remote :: Status data Tagging Tagged :: Tagging Untagged :: Tagging replace :: String -> String -> String -> String md5hash :: String -> String fromBool :: Bool -> Tagging taggerCmd :: Tagger -> String taggerCmdRun :: Codex -> FilePath -> FilePath -> Action FilePath tryIO :: IO a -> Action a codexHash :: Codex -> String dependenciesHash :: [PackageIdentifier] -> String tagsFileHash :: Codex -> [PackageIdentifier] -> String -> String computeCurrentProjectHash :: Codex -> IO String isUpdateRequired :: Codex -> [PackageIdentifier] -> String -> Action Bool status :: FilePath -> PackageIdentifier -> Action Status fetch :: Manager -> FilePath -> PackageIdentifier -> Action FilePath openLazyURI :: Manager -> String -> IO (Either String ByteString) extract :: FilePath -> PackageIdentifier -> Action FilePath tags :: Builder -> Codex -> PackageIdentifier -> Action FilePath assembly :: Builder -> Codex -> [PackageIdentifier] -> String -> [WorkspaceProject] -> FilePath -> Action FilePath newProgressBar' :: (MonadIO m, MonadIO m2, Integral estimate) => String -> estimate -> m (m2 ()) instance GHC.Read.Read Codex.Tagger instance GHC.Show.Show Codex.Tagger instance GHC.Classes.Eq Codex.Tagger instance GHC.Show.Show Codex.Status instance GHC.Classes.Eq Codex.Status instance GHC.Show.Show Codex.Tagging instance GHC.Classes.Eq Codex.Tagging