Take a look at the Term::ANSIColor and Colored gems: - https://github.com/flori/term-ansicolor - https://github.com/defunkt/colored Maybe we can make ANSI's API compatible so that it can act as a drop-in replacement.