- data ScopedEffect
- = Bold
- | Standout
- | Underline
- | Reverse
- | Blink
- | Dim
- | Invisible
- | Protected
- | Foreground Color
- | Background Color
- | Else ScopedEffect ScopedEffect
- | Nop
- with :: ScopedEffect -> TermDoc -> TermDoc
- data Effect
- = Push ScopedEffect
- | Pop
- | Ring Bell
- soft :: ScopedEffect -> ScopedEffect
- blink :: TermDoc -> TermDoc
- bold :: TermDoc -> TermDoc
- underline :: TermDoc -> TermDoc
- standout :: TermDoc -> TermDoc
- reversed :: TermDoc -> TermDoc
- protected :: TermDoc -> TermDoc
- invisible :: TermDoc -> TermDoc
- dim :: TermDoc -> TermDoc
- red :: TermDoc -> TermDoc
- black :: TermDoc -> TermDoc
- green :: TermDoc -> TermDoc
- blue :: TermDoc -> TermDoc
- yellow :: TermDoc -> TermDoc
- magenta :: TermDoc -> TermDoc
- cyan :: TermDoc -> TermDoc
- white :: TermDoc -> TermDoc
- foreground :: Color -> TermDoc -> TermDoc
- background :: Color -> TermDoc -> TermDoc
- data Bell
- ring :: Bell -> TermDoc
- type TermDoc = Doc Effect
- display :: TermDoc -> IO ()
- displayDoc :: Float -> TermDoc -> IO ()
- displayDoc' :: Terminal -> Float -> TermDoc -> IO ()
- displayDoc'' :: Terminal -> Float -> Int -> TermDoc -> IO ()
- class Pretty t => PrettyTerm t where
- prettyTerm :: t -> TermDoc
- prettyTermList :: [t] -> TermDoc
- type SimpleTermDoc = SimpleDoc Effect
- evalTermState :: Monad m => StateT TermState m a -> m a
- displayCap :: SimpleTermDoc -> StateT TermState Capability TermOutput
Raw Effect (requires the effect be present)
data ScopedEffect Source
with :: ScopedEffect -> TermDoc -> TermDocSource
Graceful degradation
Effects (built with soft)
Colors (built with soft)
foreground :: Color -> TermDoc -> TermDocSource
background :: Color -> TermDoc -> TermDocSource
Ringing bells
A Color Pretty Printer
Progressively less magical formatting
A Classy Interface
class Pretty t => PrettyTerm t whereSource
prettyTerm :: t -> TermDocSource
prettyTermList :: [t] -> TermDocSource
PrettyTerm Bool | |
PrettyTerm Char | |
PrettyTerm Double | |
PrettyTerm Float | |
PrettyTerm Int | |
PrettyTerm Integer | |
PrettyTerm t => PrettyTerm [t] | |
PrettyTerm a => PrettyTerm (Maybe a) | |
(PrettyTerm a, PrettyTerm b) => PrettyTerm (a, b) | |
(PrettyTerm a, PrettyTerm b, PrettyTerm c) => PrettyTerm (a, b, c) |
Evaluation
type SimpleTermDoc = SimpleDoc EffectSource
evalTermState :: Monad m => StateT TermState m a -> m aSource
displayCap :: SimpleTermDoc -> StateT TermState Capability TermOutputSource