A header-only ANSI C library for writing colored text to the terminal, based on Termcolor for C++.
Like Termcolor, it uses ANSI escape codes to modify text attributes. This should work on most terminals, at least for POSIX-like systems. Note that unlike Termcolor, Windows is not yet supported here.
Add termcolor-c.h to your project and #include it.
The library is also installable using clib.
The idea behind termcolor, which is mimicked in termcolor-c, is to manipulate the underlying stream to which text is written. As an example:
#include <stdio.h>
#include "termcolor-c.h"
int main(int argc, char** argv) {
fputs("Hello, colorful world\n", text_red(stdout));
reset_colors(stdout);
return 0;
}If you compile this and run it, you'll find that "Hello, colorful world" has been
printed to STDOUT in red.
Note that if you don't call reset_colors, text in the terminal will continue to
be red even after the program has finished executing.
text_grayandtext_greytext_redtext_greentext_yellowtext_bluetext_magentatext_cyantext_white
background_greyandbackground_graybackground_redbackground_greenbackground_yellowbackground_bluebackground_magentabackground_cyanbackground_white
text_boldtext_darktext_underlinetext_blink(may not be supported in many terminals)text_reverse(may not be supported in many terminals)text_concealed(may not be supported in many terminals)
Licensed under the terms of the 2-clause "simplified" BSD license.
See LICENSE.