colourise :: Color -> Text -> ByteString -> ByteString
colourise c x y = prefix
    <> Text.encodeUtf8 x
    <> suffix
    <> ": "
    <> y
    <> clear
  where
    prefix = BS.pack $ setSGRCode
        [ SetColor Foreground Vivid c
        , SetConsoleIntensity BoldIntensity
        ]

    suffix = BS.pack $ setSGRCode
        [ SetColor Foreground Vivid c
        , SetConsoleIntensity NormalIntensity
        ]

    clear = BS.pack $ setSGRCode []
colourise :: Color -> Text -> ByteString -> ByteString
colourise c x y = prefix
    <> Text.encodeUtf8 x
    <> suffix
    <> ": "
    <> y
    <> clear
  where
    prefix = BS.pack $ setSGRCode
        [ SetColor Foreground Vivid c
        , SetConsoleIntensity BoldIntensity
        ]

    suffix = BS.pack $ setSGRCode
        [ SetColor Foreground Vivid c
        , SetConsoleIntensity NormalIntensity
        ]

    clear = BS.pack $ setSGRCode []
colourise c x y = prefix
    <> Text.encodeUtf8 x
    <> suffix
    <> ": "
    <> y
    <> clear
  where
    prefix = BS.pack $ setSGRCode
        [ SetColor Foreground Vivid c
        , SetConsoleIntensity BoldIntensity
        ]

    suffix = BS.pack $ setSGRCode
        [ SetColor Foreground Vivid c
        , SetConsoleIntensity NormalIntensity
        ]

    clear = BS.pack $ setSGRCode []