-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Styling and coloring terminal output with ANSI escape sequences.
--   
--   Please see the README on Github at
--   <a>https://github.com/loganmac/pretty-terminal#readme</a>
@package pretty-terminal
@version 0.1.0.0


-- | Useful helpers to style and color text with ANSI escape sequences.
module System.Console.Pretty

-- | Colors for an ANSI terminal
data Color
Black :: Color
Red :: Color
Green :: Color
Yellow :: Color
Blue :: Color
Magenta :: Color
Cyan :: Color
White :: Color
Default :: Color

-- | A class to color and style
class Pretty a

-- | Helper to set foreground color
color :: Pretty a => Color -> a -> a

-- | Helper to set background color
bgColor :: Pretty a => Color -> a -> a

-- | Set the color of the (fg/bg) with the color
colorize :: Pretty a => Section -> Color -> a -> a

-- | Set the style
style :: Pretty a => Style -> a -> a

-- | A section to be colored, either foreground or background.
data Section
Foreground :: Section
Background :: Section

-- | SGR paramaters, aka text styles for an ANSI terminal
data Style
Normal :: Style
Bold :: Style
Faint :: Style
Italic :: Style
Underline :: Style
SlowBlink :: Style
ColoredNormal :: Style
Reverse :: Style

-- | Whether or not the current terminal supports pretty-terminal
supportsPretty :: IO Bool
instance GHC.Enum.Enum System.Console.Pretty.Color
instance GHC.Enum.Enum System.Console.Pretty.Style
instance System.Console.Pretty.Pretty Data.Text.Internal.Text
instance System.Console.Pretty.Pretty GHC.Base.String
