escape-artist: ANSI Escape Sequence Text Decoration Made Easy

[ bsd3, library, text ] [ Propose Tags ]

A library for text decoration with ANSI escape sequences made easy. Decorate your terminal text expressively. Any complex data type, existing or custom, can be simply colorized by implementing the class ToEscapable, then output to terminal or converted to String using the provided functions.

Simple Example

import Data.Monoid ((<>))
import Text.EscapeArtist

underlines = Underline $ FgCyan "I am underlined" <> UnderlineOff " but I am not " <> FgMagenta "and I am over here"

putEscLn underlines

Implementing ToEscapable

import Data.Monoid ((<>))
import Text.EscapeArtist

data ABC = A | B deriving (Show, Eq)

instance ToEscapable ABC where
    toEscapable (A) = FgRed $ show A
    toEscapable (B) = FgGreen $ show B

instance (ToEscapable a) => ToEscapable (Maybe a) where
     toEscapable (Just a) = FgGreen "Just" <> Inherit " " <> FgYellow a
     toEscapable a = FgRed $ show a

Comprehensive Documentation

See comprehensive documentation with many examples here:

https://github.com/EarthCitizen/escape-artist#readme

Versions [faq] 1.0.0, 1.1.0, 1.2.0.0, 1.2.0.1
Change log CHANGELOG.md
Dependencies base (>=4.8.0.0 && <5), bytestring (>=0.10.4.0 && <0.11), text (>=1.2.0.4 && <1.3), unsupported-ghc-version (>1 && <1) [details]
License BSD-3-Clause
Copyright 2016-2019 Ryan Daniels
Author Ryan Daniels
Maintainer rd.github@gmail.com
Category Text
Home page https://github.com/EarthCitizen/escape-artist#readme
Source repo head: git clone https://github.com/EarthCitizen/escape-artist
Uploaded by ryan_daniels at 2020-01-28T00:03:52Z
Distributions NixOS:1.2.0.1
Downloads 1610 total (18 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2020-01-28 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees