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
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TerminalType] -> ShowS
$cshowList :: [TerminalType] -> ShowS
show :: TerminalType -> String
$cshow :: TerminalType -> String
showsPrec :: Int -> TerminalType -> ShowS
$cshowsPrec :: Int -> TerminalType -> ShowS
Show,TerminalType -> TerminalType -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TerminalType -> TerminalType -> Bool
$c/= :: TerminalType -> TerminalType -> Bool
== :: TerminalType -> TerminalType -> Bool
$c== :: TerminalType -> TerminalType -> Bool
Eq,Eq 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
min :: TerminalType -> TerminalType -> TerminalType
$cmin :: TerminalType -> TerminalType -> TerminalType
max :: TerminalType -> TerminalType -> TerminalType
$cmax :: TerminalType -> TerminalType -> TerminalType
>= :: TerminalType -> TerminalType -> Bool
$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
compare :: TerminalType -> TerminalType -> Ordering
$ccompare :: TerminalType -> TerminalType -> Ordering
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
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Output -> Output -> Bool
$c/= :: Output -> Output -> Bool
== :: Output -> Output -> Bool
$c== :: Output -> Output -> Bool
Eq,Int -> Output -> ShowS
[Output] -> ShowS
Output -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Output] -> ShowS
$cshowList :: [Output] -> ShowS
show :: Output -> String
$cshow :: Output -> String
showsPrec :: Int -> Output -> ShowS
$cshowsPrec :: Int -> Output -> ShowS
Show)