colourista
«The best colour in the whole world is the one that looks good on you.»
— Coco Chanel
colourista
is the library that provides a convenient interface for printing
colourful messages to the terminal. It is based on
ansi-terminal
, however,
in contradistinction to this Haskell library, colourista
is a high-level
wrapper focused on easily achieved output modification without low-level setup.
Interface
The two main functions that colourista
provides are:
formatWith
— the function that formats pure output by applying provided
formatting codes. It works with polymorphic strings.
formattedMessage
— the function that outputs the formatted output directly
into the terminal (working in IO
with Text
).
The library also provides a set of different pure and impure helpers for the
colouring and emphasis.
Example
How to use
colourista
is compatible with the latest GHC compiler versions starting from 8.2.2
.
In order to start using colourista
in your project, you will need to set it up with the three easy steps:
-
Add the dependency on colourista
in your project’s .cabal
file. For this,
you should modify the build-depends
section by adding the name of this
library. After the adjustment, this section could look like this:
build-depends: colourista ^>= LATEST_VERSION
, ...
-
In the module where you wish to use the colourful output with colourista
,
you should add the import:
import Colourista (...)
-
Now you can use the functions from the library. For example:
import qualified Data.Text as Text
main :: IO ()
main = successMessage $ Text.pack "All set up!"
Usage with Stack
If colourista
is not available on your current Stackage resolver yet, fear not! You can still use
it from Hackage by adding the following to the extra-deps
section of your stack.yaml
file:
extra-deps:
- colourista-0.1.0.0
- ...
Then you can add it as a dependency in your package.yaml
file as usual:
library:
dependencies:
- colourista
Great!
Acknowledgement
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY.