base-4.13.0.0: GHC/GHCi/Helpers.hs
-----------------------------------------------------------------------------
-- |
-- Module : GHC.GHCi.Helpers
-- Copyright : (c) The GHC Developers
-- License : see libraries/base/LICENSE
--
-- Maintainer : cvs-ghc@haskell.org
-- Stability : internal
-- Portability : non-portable (GHC Extensions)
--
-- Various helpers used by the GHCi shell.
--
-----------------------------------------------------------------------------
module GHC.GHCi.Helpers
( disableBuffering, flushAll
, evalWrapper
) where
import System.IO
import System.Environment
disableBuffering :: IO ()
disableBuffering = do
hSetBuffering stdin NoBuffering
hSetBuffering stdout NoBuffering
hSetBuffering stderr NoBuffering
flushAll :: IO ()
flushAll = do
hFlush stdout
hFlush stderr
evalWrapper :: String -> [String] -> IO a -> IO a
evalWrapper progName args m =
withProgName progName (withArgs args m)