creating src/Boot.hs.
This commit is contained in:
42
src/Boot.hs
Normal file
42
src/Boot.hs
Normal file
@@ -0,0 +1,42 @@
|
||||
module Boot where
|
||||
|
||||
import Language.Haskell.GhcMod
|
||||
import Control.Applicative ((<$>))
|
||||
|
||||
boot :: Options -> Cradle -> IO String
|
||||
boot opt cradle = do
|
||||
mods <- listModules opt cradle
|
||||
langs <- listLanguages opt
|
||||
flags <- listFlags opt
|
||||
let opt' = addPackages opt
|
||||
pre <- concat <$> mapM (browseModule opt' cradle) preBrowsedModules
|
||||
return $ mods ++ langs ++ flags ++ pre
|
||||
|
||||
preBrowsedModules :: [String]
|
||||
preBrowsedModules = [
|
||||
"Prelude"
|
||||
, "Control.Applicative"
|
||||
, "Control.Exception"
|
||||
, "Control.Monad"
|
||||
, "Data.ByteString"
|
||||
, "Data.Char"
|
||||
, "Data.List"
|
||||
, "Data.Maybe"
|
||||
, "System.Directory"
|
||||
, "System.FilePath"
|
||||
, "System.IO"
|
||||
]
|
||||
|
||||
preBrowsePackages :: [String]
|
||||
preBrowsePackages = [
|
||||
"bytestring"
|
||||
, "directory"
|
||||
, "filepath"
|
||||
]
|
||||
|
||||
addPackages :: Options -> Options
|
||||
addPackages opt = opt { ghcOpts = pkgs ++ ghcOpts opt}
|
||||
where
|
||||
pkgs = map ("-package " ++) preBrowsePackages
|
||||
|
||||
|
||||
Reference in New Issue
Block a user