packages feed

spade-0.1.0.0: src/UI/Terminal/IO.hs

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 ()