module UI.Terminal.IO ( module UI.Terminal.IO , S.stdin , S.stdout , S.BufferMode (..) ) where import Data.Text (Text) import qualified System.IO as S class Monad m => HasTerminal m where setCursorPosition :: Int -> Int -> m () hideCursor :: m () showCursor :: m () putText :: Text -> m () putTextFlush :: Text -> m () hFlush :: m () hSetEcho :: S.Handle -> Bool -> m () hSetBuffering :: S.Handle -> S.BufferMode -> m () hGetChar :: m Char hWaitForInput :: m Bool clearscreen :: m () clearline :: m ()