terminal-0.1.0.0: src/Control/Monad/Terminal.hs
{-# LANGUAGE TypeFamilies #-}
module Control.Monad.Terminal
( -- * Getting started
-- ** TerminalT
TerminalT ()
, runTerminalT
-- * Printing & Screen Modification
-- ** MonadPrinter
, MonadPrinter (..)
-- ** MonadPrettyPrinter
, MonadPrettyPrinter (..)
, pprint
-- ** MonadFormatPrinter
, MonadFormatPrinter (..)
-- ** MonadColorPrinter
, MonadColorPrinter (..)
, dull
, bright
, BasicColor (..)
, Color (..)
, ColorMode (..)
-- ** MonadTerminal
, MonadTerminal (..)
-- * Event Processing
-- ** MonadInput
, MonadInput (..)
-- *** waitEvent
, waitEvent
-- *** waitEventOrElse
, waitEventOrElse
-- *** waitInterruptOrElse
, waitInterruptOrElse
-- ** Events
, Event (..)
-- *** Keys & Modifiers
, Key (..)
, Direction (..)
, Modifiers ()
, shiftKey
, ctrlKey
, altKey
, metaKey
-- *** Mouse Events
, MouseEvent (..)
, MouseButton (..)
-- *** Window Events
, WindowEvent (..)
-- *** Device Events
, DeviceEvent (..)
-- * Low-Level
-- ** Terminal
, Terminal (..)
-- ** Decoding
, Decoder (..)
, ansiDecoder
) where
import Control.Monad.Terminal.Decoder
import Control.Monad.Terminal.Input
import Control.Monad.Terminal.Monad
import Control.Monad.Terminal.Printer
import Control.Monad.Terminal.Terminal
import Control.Monad.Terminal.TerminalT