This package defines functions that turns simple strings to ansi strings. Turning a string into an ansi string can be to add color to a text, add color in the background of a text or adding a style, such as bold, underscore or italic.
ansi to your Cask file:
All colors, background colors and styles can be accessed via a
function with the
ansi- prefix. For example:
;; Color text (ansi-red "foo") (ansi-blue "bar") ;; Color background (ansi-on-red "foo") (ansi-on-blue "bar") ;; Add style (ansi-bold "foo") (ansi-blink "bar")
It can become quite cumbersome to use those function names if the
coloring is a little bit more advanced. To simplify this, there's a
DSL, which makes this much more pleasant. If within a
ansi- prefix is not necessary anymore. This is the same
as the above.
;; Color text (with-ansi (red "foo") (blue "bar")) ;; Color background (with-ansi (on-red "foo") (on-blue "bar")) ;; Add style (with-ansi (bold "foo") (blink "bar"))
You can also use
ansi-apply if you only have the name of the color:
(ansi-apply 'red "foo %s" "bar")
Ansi supports CSI codes, for example moving the cursor:
(ansi-up) (ansi-down 3) (ansi-csi-apply 'forward) (ansi-csi-apply "J" 10)
Lets say you want to make a text bold, red and blinking. You can do this with nesting.
;; Without DSL (ansi-bold (ansi-red (ansi-blink "foo bar"))) ;; Using DSL (with-ansi (bold (red (blink "foo bar"))))