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