License GPL 3 Quicklisp

cl-ansi-term allows to print various primitives on ANSI-complaint terminals. It also supports coloration and effects. cl-ansi-term is not something like ncurses, because it works with primitives that you can output on your terminal, as well as redirect to a file without any loss. In other words it's more about good ol' textual interface than emulation of GUI in terminal. An example of user interface created with cl-ansi-term is here.

cl-ansi-term can print the following things:

  • colorized text
  • horizontal lines
  • progress bars
  • unordered lists
  • ordered lists
  • tables

cl-ansi-term uses concept of style sheet to manage coloration of output. Define styles, give them names, specify foreground colors, background colors, and effects for every style.

The library is able to detect whether output goes to a terminal or to a file. If the latter case takes place, no escape sequences will get into the file. It's also possible to disable all effects and coloration.


Download or clone the repository and put it into some place where ASDF can find it.

Via Quicklisp (recommended):

(ql:quickload "cl-ansi-term")


See contents of directory doc. Documentation is also available online:


Copyright ? 2015?2017 Mark Karpov

Distributed under GNU GPL, version 3.

Mark Karpov
GNU GPL, version 3
console, library, text