    -- | Basic color helpers for prettifying console output.

    {-# LANGUAGE OverloadedStrings #-}

    module Hledger.Utils.Color
    (
      color,
      bgColor,
      Color(..),
      ColorIntensity(..)
    )
    where

    import System.Console.ANSI

    -- | Wrap a string in ANSI codes to set and reset foreground colour.
    color :: ColorIntensity -> Color -> String -> String
    color int col s = setSGRCode [SetColor Foreground int col] ++ s ++ setSGRCode []

    -- | Wrap a string in ANSI codes to set and reset background colour.
    bgColor :: ColorIntensity -> Color -> String -> String
    bgColor int col s = setSGRCode [SetColor Background int col] ++ s ++ setSGRCode []