hs-term-emulator-0.1.0.4: Terminal Emulator written in 100% Haskell
Safe HaskellNone
LanguageHaskell2010

System.Terminal.Emulator.Term

Synopsis

Types

data Term Source #

Instances

Instances details
Eq Term Source # 
Instance details

Defined in System.Terminal.Emulator.Term

Methods

(==) :: Term -> Term -> Bool #

(/=) :: Term -> Term -> Bool #

Ord Term Source # 
Instance details

Defined in System.Terminal.Emulator.Term

Methods

compare :: Term -> Term -> Ordering #

(<) :: Term -> Term -> Bool #

(<=) :: Term -> Term -> Bool #

(>) :: Term -> Term -> Bool #

(>=) :: Term -> Term -> Bool #

max :: Term -> Term -> Term #

min :: Term -> Term -> Term #

Show Term Source # 
Instance details

Defined in System.Terminal.Emulator.Term

Methods

showsPrec :: Int -> Term -> ShowS #

show :: Term -> String #

showList :: [Term] -> ShowS #

mkTerm :: (Int, Int) -> Term Source #

Create a new blank Terminal with the given size (width, height)

Direct Term Lenses

cursorPos :: Lens' Term (Int, Int) Source #

Cursor line is always in the range [0..numRows-1]

Cursor col is always in the range [0..numCols-1]

cursorState :: Lens' Term CursorState Source #

modeWrap :: Lens' Term Bool Source #

Wraparound Mode (DECAWM)

insertMode :: Lens' Term Bool Source #

Insert/Replace Mode (IRM)

Direct CursorState Lenses

wrapNext :: Lens' CursorState Bool Source #

origin :: Lens' CursorState Bool Source #

Helper Term Lenses

cursorLine :: Lens' Term TermLine Source #

A lens to the line where the cursor currently is

activeScreen :: Lens' Term TermLines Source #

Either the main screen or the alternate screen (depending on which is active)

Misc

vuIndex :: Unbox a => Int -> Lens' (Vector a) a Source #