On 18 May 2015 at 01:48, Gabriela Gibson <gabriela.gib...@gmail.com> wrote:

> I made (for my branch) a color.c and a color.h, which can be
> handy if you're looking at a wall of text and want to spot
> something in particular without straining your eyes too much.
>
> It's easy to use:
>
>  printf(MAGENTA "foo = %d" RESET, 5);
>
> will give you a nice 'foo = 5' magenta output.  There's also
> stuff like blue("bar") which can be stuffed into other string
> functions.
>
> I wrangled it so that this feature can be turned on with a -D
> switch at compile time, ie, in CmakeLists.txt you can do:
>
>   set(CMAKE_C_FLAGS "-std=c99 -D_GNU_SOURCE -g -fPIC -DCOLOR_ON=1")
>
> otherwise it's not going to show up.
>
>
> 1) Does anyone else other than me find this kind of thing useful?
>
I had not thought of it, but it is not a bad idea....just wonder where we
have output that benefit from coloring.

>
> 2) Is it portable?
>
I dont think so, for a number of reasons...I would not know how to do color
on a vt100 terminal in Linux or a dos prompt in windows.


>
> 3) If 1 & 2, would you enjoy this dev debugging feature being
> added?
>
Yes an no.

We should never use printf or similar in DocFormats, those are bound to
give problems in a number of cases.

I discussed earlier with Peter, the idea that we make some DEBUG_PRINT
macros. The macro should contain
an #ifdef DEBUG (or similar), but most importantly it should NOT do printf.

Instead it should print via a global function pointer (parameters like
printf). That way the main program can decide to use
printf or other functions (when we define the API, we will have a setup()
call, that could then included the function ptr.

Going down that road, would open up for LOG_PRINT, WARNING_PRINT,
INFO_PRINT as well.

I am very much for the MACROS, and against a direct printf. Colors is more
a portability concern.

rgds
jan i.



> G
>
> --
> Visit my Coding Diary: http://gabriela-gibson.blogspot.com/
>

Reply via email to