35 lines
823 B
Haskell
35 lines
823 B
Haskell
module TestUtils (
|
|
run
|
|
, runD
|
|
, runI
|
|
, runID
|
|
, runIsolatedGhcMod
|
|
, isolateCradle
|
|
, module Language.Haskell.GhcMod.Monad
|
|
, module Language.Haskell.GhcMod.Types
|
|
) where
|
|
|
|
import Language.Haskell.GhcMod.Monad
|
|
import Language.Haskell.GhcMod.Types
|
|
|
|
isolateCradle :: GhcMod a -> GhcMod a
|
|
isolateCradle action =
|
|
local modifyEnv $ action
|
|
where
|
|
modifyEnv e = e { gmCradle = (gmCradle e) { cradlePkgDbStack = [GlobalDb] } }
|
|
|
|
runIsolatedGhcMod :: Options -> GhcMod a -> IO a
|
|
runIsolatedGhcMod opt action = runGhcMod opt $ isolateCradle action
|
|
|
|
-- | Run GhcMod in isolated cradle with default options
|
|
runID = runIsolatedGhcMod defaultOptions
|
|
|
|
-- | Run GhcMod in isolated cradle
|
|
runI = runIsolatedGhcMod
|
|
|
|
-- | Run GhcMod
|
|
run = runGhcMod
|
|
|
|
-- | Run GhcMod with default options
|
|
runD = runGhcMod defaultOptions
|