{-# LANGUAGE Trustworthy #-}
module GHC.Internal.GHCi.Helpers
( disableBuffering, flushAll
, evalWrapper
) where
import GHC.Internal.Base
import GHC.Internal.System.IO
import GHC.Internal.System.Environment
disableBuffering :: IO ()
disableBuffering :: IO ()
disableBuffering = do
Handle -> BufferMode -> IO ()
hSetBuffering Handle
stdin BufferMode
NoBuffering
Handle -> BufferMode -> IO ()
hSetBuffering Handle
stdout BufferMode
NoBuffering
Handle -> BufferMode -> IO ()
hSetBuffering Handle
stderr BufferMode
NoBuffering
flushAll :: IO ()
flushAll :: IO ()
flushAll = do
Handle -> IO ()
hFlush Handle
stdout
Handle -> IO ()
hFlush Handle
stderr
evalWrapper :: String -> [String] -> IO a -> IO a
evalWrapper :: forall a. String -> [String] -> IO a -> IO a
evalWrapper String
progName [String]
args IO a
m =
String -> IO a -> IO a
forall a. String -> IO a -> IO a
withProgName String
progName ([String] -> IO a -> IO a
forall a. [String] -> IO a -> IO a
withArgs [String]
args IO a
m)