| Safe Haskell | None | 
|---|---|
| Language | Haskell98 | 
HsDev.Scan.Browse
- browsePackages :: [String] -> PackageDbStack -> GhcM [PackageConfig]
 - browsePackagesDeps :: [String] -> PackageDbStack -> GhcM (Deps PackageConfig)
 - listModules :: [String] -> PackageDbStack -> [ModulePackage] -> GhcM [ModuleLocation]
 - browseModules :: [String] -> PackageDbStack -> [ModuleLocation] -> GhcM [InspectedModule]
 - browseModules' :: [String] -> [ModuleLocation] -> GhcM [InspectedModule]
 - readPackage :: PackageConfig -> ModulePackage
 - readPackageConfig :: PackageConfig -> PackageConfig
 - ghcModuleLocation :: PackageConfig -> Module -> Bool -> ModuleLocation
 - packageConfigs :: GhcM [PackageConfig]
 - packageDbModules :: GhcM [(PackageConfig, Module, Bool)]
 - lookupModule_ :: DynFlags -> ModuleName -> [Module]
 - modulesPackages :: [ModuleLocation] -> [ModulePackage]
 - modulesPackagesGroups :: [ModuleLocation] -> [(ModulePackage, [ModuleLocation])]
 - withEachPackage :: (ModulePackage -> [ModuleLocation] -> GhcM a) -> [ModuleLocation] -> GhcM [a]
 - module Control.Monad.Except
 
List all packages
browsePackages :: [String] -> PackageDbStack -> GhcM [PackageConfig] Source #
Browse packages
browsePackagesDeps :: [String] -> PackageDbStack -> GhcM (Deps PackageConfig) Source #
Get packages with deps
Scan cabal modules
listModules :: [String] -> PackageDbStack -> [ModulePackage] -> GhcM [ModuleLocation] Source #
List modules from ghc, accepts ghc-opts, stack of package-db to get modules for and list of packages to explicitely expose them with '-package' flag, otherwise hidden packages won't be loaded
browseModules :: [String] -> PackageDbStack -> [ModuleLocation] -> GhcM [InspectedModule] Source #
Like browseModules, but groups modules by package and inspects each package separately
 Trying to fix error: when there are several same packages (of different version), only Module from
 one of them can be lookuped and therefore modules from different version packages won't be actually inspected
browseModules' :: [String] -> [ModuleLocation] -> GhcM [InspectedModule] Source #
Inspect installed modules, doesn't set session and package flags!
Helpers
ghcModuleLocation :: PackageConfig -> Module -> Bool -> ModuleLocation Source #
packageDbModules :: GhcM [(PackageConfig, Module, Bool)] Source #
lookupModule_ :: DynFlags -> ModuleName -> [Module] Source #
modulesPackages :: [ModuleLocation] -> [ModulePackage] Source #
Get modules packages
modulesPackagesGroups :: [ModuleLocation] -> [(ModulePackage, [ModuleLocation])] Source #
Group modules by packages
withEachPackage :: (ModulePackage -> [ModuleLocation] -> GhcM a) -> [ModuleLocation] -> GhcM [a] Source #
Run action for each package with prepared '-package' flags
module Control.Monad.Except