Param -> Types.
This commit is contained in:
19
List.hs
19
List.hs
@@ -2,24 +2,21 @@ module List (listModules) where
|
||||
|
||||
import Control.Applicative
|
||||
import Data.List
|
||||
import Exception
|
||||
import GHC
|
||||
import GHC.Paths (libdir)
|
||||
import Packages
|
||||
import Param
|
||||
import Types
|
||||
import UniqFM
|
||||
|
||||
----------------------------------------------------------------
|
||||
|
||||
listModules :: Options -> IO String
|
||||
listModules opt = convert opt . nub . sort <$> getModules
|
||||
listModules opt = convert opt . nub . sort <$> list
|
||||
|
||||
getModules :: IO [String]
|
||||
getModules = ghandle ignore $ runGhc (Just libdir) $ do
|
||||
initSession
|
||||
list :: IO [String]
|
||||
list = withGHC $ do
|
||||
initSession0
|
||||
getExposedModules <$> getSessionDynFlags
|
||||
where
|
||||
initSession = getSessionDynFlags >>= setSessionDynFlags
|
||||
getExposedModules = map moduleNameString . concatMap exposedModules . eltsUFM . pkgIdMap . pkgState
|
||||
ignore :: SomeException -> IO [String]
|
||||
ignore _ = return []
|
||||
getExposedModules = map moduleNameString
|
||||
. concatMap exposedModules
|
||||
. eltsUFM . pkgIdMap . pkgState
|
||||
|
||||
Reference in New Issue
Block a user