module Language.Haskell.HsColour.Output(TerminalType(..),Output(..)) where

data TerminalType = 
      Ansi16Colour -- ^ @\\033[Xm@-style escape sequences (with /X/ =~ [34][0-7]) 
    | XTerm256Compatible -- ^ 'Ansi16Colour', and also @\\033[Y8;5;Zm]@-style escape sequences (with /Y/ =~ [3,4] and /Z/ an integer in [0,255] with the XTerm colour cube semantics).
    deriving (Int -> TerminalType -> ShowS
[TerminalType] -> ShowS
TerminalType -> String
(Int -> TerminalType -> ShowS)
-> (TerminalType -> String)
-> ([TerminalType] -> ShowS)
-> Show TerminalType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TerminalType -> ShowS
showsPrec :: Int -> TerminalType -> ShowS
$cshow :: TerminalType -> String
show :: TerminalType -> String
$cshowList :: [TerminalType] -> ShowS
showList :: [TerminalType] -> ShowS
Show,TerminalType -> TerminalType -> Bool
(TerminalType -> TerminalType -> Bool)
-> (TerminalType -> TerminalType -> Bool) -> Eq TerminalType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TerminalType -> TerminalType -> Bool
== :: TerminalType -> TerminalType -> Bool
$c/= :: TerminalType -> TerminalType -> Bool
/= :: TerminalType -> TerminalType -> Bool
Eq,Eq TerminalType
Eq TerminalType =>
(TerminalType -> TerminalType -> Ordering)
-> (TerminalType -> TerminalType -> Bool)
-> (TerminalType -> TerminalType -> Bool)
-> (TerminalType -> TerminalType -> Bool)
-> (TerminalType -> TerminalType -> Bool)
-> (TerminalType -> TerminalType -> TerminalType)
-> (TerminalType -> TerminalType -> TerminalType)
-> Ord TerminalType
TerminalType -> TerminalType -> Bool
TerminalType -> TerminalType -> Ordering
TerminalType -> TerminalType -> TerminalType
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: TerminalType -> TerminalType -> Ordering
compare :: TerminalType -> TerminalType -> Ordering
$c< :: TerminalType -> TerminalType -> Bool
< :: TerminalType -> TerminalType -> Bool
$c<= :: TerminalType -> TerminalType -> Bool
<= :: TerminalType -> TerminalType -> Bool
$c> :: TerminalType -> TerminalType -> Bool
> :: TerminalType -> TerminalType -> Bool
$c>= :: TerminalType -> TerminalType -> Bool
>= :: TerminalType -> TerminalType -> Bool
$cmax :: TerminalType -> TerminalType -> TerminalType
max :: TerminalType -> TerminalType -> TerminalType
$cmin :: TerminalType -> TerminalType -> TerminalType
min :: TerminalType -> TerminalType -> TerminalType
Ord)

-- | The supported output formats.
data Output = TTY   -- ^ ANSI terminal codes. Equivalent to 'TTYg' 'Ansi16Colour' but left in for backwards compatibility. 
            | TTYg TerminalType -- ^ Terminal codes appropriate for the 'TerminalType'.
            | LaTeX -- ^ TeX macros
            | HTML  -- ^ HTML with font tags
            | CSS   -- ^ HTML with CSS.
            | ACSS  -- ^ HTML with CSS and mouseover types. 
            | ICSS  -- ^ HTML with inline CSS.
            | MIRC  -- ^ mIRC chat clients
  deriving (Output -> Output -> Bool
(Output -> Output -> Bool)
-> (Output -> Output -> Bool) -> Eq Output
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Output -> Output -> Bool
== :: Output -> Output -> Bool
$c/= :: Output -> Output -> Bool
/= :: Output -> Output -> Bool
Eq,Int -> Output -> ShowS
[Output] -> ShowS
Output -> String
(Int -> Output -> ShowS)
-> (Output -> String) -> ([Output] -> ShowS) -> Show Output
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Output -> ShowS
showsPrec :: Int -> Output -> ShowS
$cshow :: Output -> String
show :: Output -> String
$cshowList :: [Output] -> ShowS
showList :: [Output] -> ShowS
Show)