module System.Console.ANSI.Types
(
SGR (..)
, ConsoleLayer (..)
, Color (..)
, ColorIntensity (..)
, ConsoleIntensity (..)
, Underlining (..)
, BlinkSpeed (..)
) where
import Data.Ix (Ix)
import Data.Colour (Colour)
data Color = Black
| Red
| Green
| Yellow
| Blue
| Magenta
| Cyan
| White
deriving (Eq, Ord, Bounded, Enum, Show, Read, Ix)
data ColorIntensity = Dull
| Vivid
deriving (Eq, Ord, Bounded, Enum, Show, Read, Ix)
data ConsoleLayer = Foreground
| Background
deriving (Eq, Ord, Bounded, Enum, Show, Read, Ix)
data BlinkSpeed = SlowBlink
| RapidBlink
| NoBlink
deriving (Eq, Ord, Bounded, Enum, Show, Read, Ix)
data Underlining = SingleUnderline
| DoubleUnderline
| NoUnderline
deriving (Eq, Ord, Bounded ,Enum, Show, Read, Ix)
data ConsoleIntensity = BoldIntensity
| FaintIntensity
| NormalIntensity
deriving (Eq, Ord, Bounded, Enum, Show, Read, Ix)
data SGR = Reset
| SetConsoleIntensity !ConsoleIntensity
| SetItalicized !Bool
| SetUnderlining !Underlining
| SetBlinkSpeed !BlinkSpeed
| SetVisible !Bool
| SetSwapForegroundBackground !Bool
| SetColor !ConsoleLayer !ColorIntensity !Color
| SetRGBColor !ConsoleLayer !(Colour Float)
deriving (Eq, Show, Read)