f0bfcb8811
Not doing this makes having GhcModT pretty pointless as users of the library wouldn't be able to use custom inner monads as evey function for dealing with GhcModT's would be constraint to (GhcModT IO) thus only allowing IO as the inner monad.
26 lines
682 B
Haskell
26 lines
682 B
Haskell
module Language.Haskell.GhcMod.Boot where
|
|
|
|
import Control.Applicative
|
|
import Language.Haskell.GhcMod.Browse
|
|
import Language.Haskell.GhcMod.Flag
|
|
import Language.Haskell.GhcMod.Lang
|
|
import Language.Haskell.GhcMod.List
|
|
import Language.Haskell.GhcMod.Monad
|
|
|
|
-- | Printing necessary information for front-end booting.
|
|
boot :: IOish m => GhcModT m String
|
|
boot = concat <$> sequence [modules, languages, flags,
|
|
concat <$> mapM browse preBrowsedModules]
|
|
|
|
preBrowsedModules :: [String]
|
|
preBrowsedModules = [
|
|
"Prelude"
|
|
, "Control.Applicative"
|
|
, "Control.Exception"
|
|
, "Control.Monad"
|
|
, "Data.Char"
|
|
, "Data.List"
|
|
, "Data.Maybe"
|
|
, "System.IO"
|
|
]
|