Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   C/C++ (http://www.chiefdelphi.com/forums/forumdisplay.php?f=183)
-   -   putting color in printf's? (http://www.chiefdelphi.com/forums/showthread.php?t=105552)

yabberyabber 10-04-2012 16:22

putting color in printf's?
 
I know almost all terminal emulators support displaying colors, and was wondering if the FRC netconsole also supported them. We've tried the standard VT100 escape sequences, and those didn't work, but I know there are other terminal standards. Does anyone know anything about this?

Thanks in advance for your responses. I know it's not very important, but I think it would be nice not to have to scroll through lines of text just to find what you're looking for.

mikets 10-04-2012 22:00

Re: putting color in printf's?
 
If netconsole does not support color fonts, I would like to make a feature request for next year. In particular, I would like to have support for the following ANSI escape sequences. It's nice to be able to use different colors for messages such as information, warnings and errors. Since vxWorks as well as WPILib also spew tons of output to netconsole, if we could change color of our messages, it is a lot easier to spot them. It would be great if netconsole even allows filtering the messages by color (e.g. I don't want to see messages in green color).
Code:

#define ESC_PREFIX              "\x1b["
#define ESC_SUFFIX              "m"
#define ESC_SEP                ";"
#define SGR_RESET              "0"
#define SGR_BRIGHT              "1"
#define SGR_DIM                "2"
#define SGR_ITALIC              "3"
#define SGR_UNDERLINE          "4"
#define SGR_BLINKSLOW          "5"
#define SGR_BLINKFAST          "6"
#define SGR_REVERSE            "7"
#define SGR_HIDDEN              "8"
#define SGR_CROSSEDOUT          "9"
#define SGR_FG_BLACK            "30"
#define SGR_FG_RED              "31"
#define SGR_FG_GREEN            "32"
#define SGR_FG_YELLOW          "33"
#define SGR_FG_BLUE            "34"
#define SGR_FG_MAGENTA          "35"
#define SGR_FG_CYAN            "36"
#define SGR_FG_WHITE            "37"
#define SGR_BG_BLACK            "40"
#define SGR_BG_RED              "41"
#define SGR_BG_GREEN            "42"
#define SGR_BG_YELLOW          "43"
#define SGR_BG_BLUE            "44"
#define SGR_BG_MAGENTA          "45"
#define SGR_BG_CYAN            "46"
#define SGR_BG_WHITE            "47"
#define ESC_RESET              ESC_PREFIX ESC_SUFFIX
#define ESC_BLINKSLOW          ESC_PREFIX SGR_BLINKSLOW ESC_SUFFIX
#define ESC_BLINKFAST          ESC_PREFIX SGR_BLINKFAST ESC_SUFFIX
#define ESC_FG_BLACK            ESC_PREFIX SGR_FG_BLACK    ESC_SUFFIX
#define ESC_FG_RED              ESC_PREFIX SGR_FG_RED      ESC_SUFFIX
#define ESC_FG_GREEN            ESC_PREFIX SGR_FG_GREEN    ESC_SUFFIX
#define ESC_FG_YELLOW          ESC_PREFIX SGR_FG_YELLOW  ESC_SUFFIX
#define ESC_FG_BLUE            ESC_PREFIX SGR_FG_BLUE    ESC_SUFFIX
#define ESC_FG_MAGENTA          ESC_PREFIX SGR_FG_MAGENTA  ESC_SUFFIX
#define ESC_FG_CYAN            ESC_PREFIX SGR_FG_CYAN    ESC_SUFFIX
#define ESC_FG_WHITE            ESC_PREFIX SGR_FG_WHITE    ESC_SUFFIX
#define ESC_BG_BLACK            ESC_PREFIX SGR_BG_BLACK    ESC_SUFFIX
#define ESC_BG_RED              ESC_PREFIX SGR_BG_RED      ESC_SUFFIX
#define ESC_BG_GREEN            ESC_PREFIX SGR_BG_GREEN    ESC_SUFFIX
#define ESC_BG_YELLOW          ESC_PREFIX SGR_BG_YELLOW  ESC_SUFFIX
#define ESC_BG_BLUE            ESC_PREFIX SGR_BG_BLUE    ESC_SUFFIX
#define ESC_BG_MAGENTA          ESC_PREFIX SGR_BG_MAGENTA  ESC_SUFFIX
#define ESC_BG_CYAN            ESC_PREFIX SGR_BG_CYAN    ESC_SUFFIX
#define ESC_BG_WHITE            ESC_PREFIX SGR_BG_WHITE    ESC_SUFFIX
#define ESC_FGB_BLACK          ESC_PREFIX SGR_FG_BLACK    \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_FGB_RED            ESC_PREFIX SGR_FG_RED      \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_FGB_GREEN          ESC_PREFIX SGR_FG_GREEN    \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_FGB_YELLOW          ESC_PREFIX SGR_FG_YELLOW  \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_FGB_BLUE            ESC_PREFIX SGR_FG_BLUE    \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_FGB_MAGENTA        ESC_PREFIX SGR_FG_MAGENTA  \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_FGB_CYAN            ESC_PREFIX SGR_FG_CYAN    \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_FGB_WHITE          ESC_PREFIX SGR_FG_WHITE    \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_BLACK          ESC_PREFIX SGR_BG_BLACK    \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_RED            ESC_PREFIX SGR_BG_RED      \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_GREEN          ESC_PREFIX SGR_BG_GREEN    \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_YELLOW          ESC_PREFIX SGR_BG_YELLOW  \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_BLUE            ESC_PREFIX SGR_BG_BLUE    \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_MAGENTA        ESC_PREFIX SGR_BG_MAGENTA  \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_CYAN            ESC_PREFIX SGR_BG_CYAN    \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX
#define ESC_BGB_WHITE          ESC_PREFIX SGR_BG_WHITE    \
                                ESC_SEP SGR_BRIGHT ESC_SUFFIX



All times are GMT -5. The time now is 17:37.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi