За раскраску символов в терминале отвечает сам терминал, а управление - ESC последовательности
ты просто выводишь в stdout среди обычного текста последовательности вида
"\033[31m" - весь последующий текст будет красным
"\033[0m" - весь последующий текст стандартного цвета
документаций много, с разной степенью удобства, гугл показал отличный коментарий на
stackoverflow