When you create shell scripts, it can be quite nice with colored output. It happens that I create shell scripts using Emacs batch mode. To get colored output in these scripts, I created a library called ansi.el that takes a string and applies some kind of ansi effect to it.
Example of Emacs batch script that uses ansi.el:
#!/usr/bin/env emacs --script (require 'ansi) ;; Do something (message (if success (ansi-green "Your task was successfully completed!") (ansi-red "Something went wrong!")))
In cases where a lot of different colors are mixed it can be quite cumbersome to write the ansi- prefix all over. Using the with-ansi block, the prefix can be skipped. For example:
#!/usr/bin/env emacs --script (require 'ansi) (with-ansi (message " |\\_/| ") (message " / %s %s \\ " (blue "@") (green "@")) (message "( > %s < )" (blink (yellow "º"))) (message " `»»x««´ ") (message " / %s \\ " (red "O")))
Yes, it will print a cat with one blue eye, one green eye, a blinking yellow nose and a red button.