Clean up DynFlags initialization

This commit is contained in:
Daniel Gröber
2014-04-23 03:41:28 +02:00
parent e3798ac82a
commit c9ca3a6d76
4 changed files with 68 additions and 54 deletions

View File

@@ -13,7 +13,8 @@ module Language.Haskell.GhcMod.Gap (
, toStringBuffer
, showSeverityCaption
, setCabalPkg
, addDevPkgs
, setHideAllPackages
, addPackageFlags
, filterOutChildren
, infoThing
, pprInfo
@@ -232,18 +233,19 @@ setCabalPkg dflag = dopt_set dflag Opt_BuildingCabalPackage
----------------------------------------------------------------
addDevPkgs :: DynFlags -> [Package] -> DynFlags
addDevPkgs df [] = df
addDevPkgs df pkgs = df''
setHideAllPackages :: DynFlags -> DynFlags
setHideAllPackages df = df'
where
#if __GLASGOW_HASKELL__ >= 707
df' = gopt_set df Opt_HideAllPackages
#else
df' = dopt_set df Opt_HideAllPackages
#endif
df'' = df' {
packageFlags = map expose pkgs ++ packageFlags df
}
addPackageFlags :: [Package] -> DynFlags -> DynFlags
addPackageFlags pkgs df =
df { packageFlags = packageFlags df ++ expose `map` pkgs }
where
expose pkg = ExposePackageId $ showPkgId pkg
----------------------------------------------------------------