stackctl-1.1.0.0: src/Stackctl/Colors.hs
-- | Facilities for colorizing output
module Stackctl.Colors
( Colors(..)
, HasColorOption
, getColorsStdout
, noColors
) where
import Stackctl.Prelude
import Blammo.Logging.Colors
import Stackctl.ColorOption (HasColorOption(..), colorHandle)
-- | Return 'Colors' based on options and 'stdout'
getColorsStdout
:: (MonadIO m, MonadReader env m, HasColorOption env) => m Colors
getColorsStdout = getColorsHandle stdout
-- | Return 'Colors' based on options given 'Handle'
getColorsHandle
:: (MonadIO m, MonadReader env m, HasColorOption env) => Handle -> m Colors
getColorsHandle h = do
colorOption <- view colorOptionL
c <- colorHandle h colorOption
pure $ getColors c
noColors :: Colors
noColors = getColors False