browseAll.
This commit is contained in:
parent
a786ad9025
commit
38a3e32ac3
@ -1,4 +1,8 @@
|
|||||||
module Language.Haskell.GhcMod.Browse (browseModule, browse) where
|
module Language.Haskell.GhcMod.Browse (
|
||||||
|
browseModule
|
||||||
|
, browse
|
||||||
|
, browseAll)
|
||||||
|
where
|
||||||
|
|
||||||
import Control.Applicative
|
import Control.Applicative
|
||||||
import Control.Monad (void)
|
import Control.Monad (void)
|
||||||
@ -7,7 +11,7 @@ import Data.List
|
|||||||
import Data.Maybe (catMaybes)
|
import Data.Maybe (catMaybes)
|
||||||
import FastString (mkFastString)
|
import FastString (mkFastString)
|
||||||
import GHC
|
import GHC
|
||||||
import Language.Haskell.GhcMod.Doc (showUnqualifiedPage)
|
import Language.Haskell.GhcMod.Doc (showUnqualifiedPage, showUnqualifiedOneLine)
|
||||||
import Language.Haskell.GhcMod.GHCApi
|
import Language.Haskell.GhcMod.GHCApi
|
||||||
import Language.Haskell.GhcMod.Gap
|
import Language.Haskell.GhcMod.Gap
|
||||||
import Language.Haskell.GhcMod.Types
|
import Language.Haskell.GhcMod.Types
|
||||||
@ -126,3 +130,19 @@ removeForAlls' ty (Just (pre, ftype))
|
|||||||
|
|
||||||
showOutputable :: Outputable a => DynFlags -> a -> String
|
showOutputable :: Outputable a => DynFlags -> a -> String
|
||||||
showOutputable dflag = unwords . lines . showUnqualifiedPage dflag . ppr
|
showOutputable dflag = unwords . lines . showUnqualifiedPage dflag . ppr
|
||||||
|
|
||||||
|
----------------------------------------------------------------
|
||||||
|
|
||||||
|
browseAll :: DynFlags -> Ghc [(String,String)]
|
||||||
|
browseAll dflag = do
|
||||||
|
ms <- packageDbModules True
|
||||||
|
is <- mapM getModuleInfo ms
|
||||||
|
return $ concatMap (toNameModule dflag) (zip ms is)
|
||||||
|
|
||||||
|
toNameModule :: DynFlags -> (Module, Maybe ModuleInfo) -> [(String,String)]
|
||||||
|
toNameModule _ (_,Nothing) = []
|
||||||
|
toNameModule dflag (m,Just inf) = map (\name -> (toStr name, mdl)) names
|
||||||
|
where
|
||||||
|
mdl = moduleNameString (moduleName m)
|
||||||
|
names = modInfoExports inf
|
||||||
|
toStr = showUnqualifiedOneLine dflag . ppr
|
||||||
|
@ -31,8 +31,10 @@ module Language.Haskell.GhcMod.Internal (
|
|||||||
, (|||>)
|
, (|||>)
|
||||||
-- * GHC
|
-- * GHC
|
||||||
, getSystemLibDir
|
, getSystemLibDir
|
||||||
|
, browseAll
|
||||||
) where
|
) where
|
||||||
|
|
||||||
|
import Language.Haskell.GhcMod.Browse
|
||||||
import Language.Haskell.GhcMod.CabalApi
|
import Language.Haskell.GhcMod.CabalApi
|
||||||
import Language.Haskell.GhcMod.ErrMsg
|
import Language.Haskell.GhcMod.ErrMsg
|
||||||
import Language.Haskell.GhcMod.GHCApi
|
import Language.Haskell.GhcMod.GHCApi
|
||||||
|
Loading…
Reference in New Issue
Block a user