module Text.Colour
(
chunk,
Chunk (..),
fore,
back,
bold,
faint,
italic,
underline,
doubleUnderline,
Colour (..),
black,
red,
green,
yellow,
blue,
magenta,
cyan,
white,
brightBlack,
brightRed,
brightGreen,
brightYellow,
brightBlue,
brightMagenta,
brightCyan,
brightWhite,
color256,
colour256,
colorRGB,
colourRGB,
renderChunks,
renderChunk,
renderChunksBS,
renderChunkBS,
TerminalCapabilities (..),
getTerminalCapabilitiesFromEnv,
getTerminalCapabilitiesFromHandle,
putChunks,
hPutChunks,
putChunksWith,
hPutChunksWith,
)
where
import qualified Data.ByteString.Builder as SBB
import System.IO
import Text.Colour.Capabilities
import Text.Colour.Chunk
putChunks :: [Chunk] -> IO ()
putChunks :: [Chunk] -> IO ()
putChunks = Handle -> [Chunk] -> IO ()
hPutChunks Handle
stdout
hPutChunks :: Handle -> [Chunk] -> IO ()
hPutChunks :: Handle -> [Chunk] -> IO ()
hPutChunks Handle
h [Chunk]
cs = do
TerminalCapabilities
tc <- Handle -> IO TerminalCapabilities
getTerminalCapabilitiesFromHandle Handle
h
TerminalCapabilities -> Handle -> [Chunk] -> IO ()
hPutChunksWith TerminalCapabilities
tc Handle
h [Chunk]
cs
putChunksWith :: TerminalCapabilities -> [Chunk] -> IO ()
putChunksWith :: TerminalCapabilities -> [Chunk] -> IO ()
putChunksWith TerminalCapabilities
tc = TerminalCapabilities -> Handle -> [Chunk] -> IO ()
hPutChunksWith TerminalCapabilities
tc Handle
stdout
hPutChunksWith :: TerminalCapabilities -> Handle -> [Chunk] -> IO ()
hPutChunksWith :: TerminalCapabilities -> Handle -> [Chunk] -> IO ()
hPutChunksWith TerminalCapabilities
tc Handle
h [Chunk]
cs = Handle -> Builder -> IO ()
SBB.hPutBuilder Handle
h (Builder -> IO ()) -> Builder -> IO ()
forall a b. (a -> b) -> a -> b
$ TerminalCapabilities -> [Chunk] -> Builder
forall (f :: * -> *).
Foldable f =>
TerminalCapabilities -> f Chunk -> Builder
renderChunks TerminalCapabilities
tc [Chunk]
cs