From: Allan Caffee Date: Fri, 20 Mar 2009 19:13:53 GMT Subject: Re: [RFC] Colorization of log --graph Message-ID: In-Reply-To: <20090320064813.6117@nanako3.lavabit.com> On Thu, Mar 19, 2009 at 5:48 PM, Nanako Shiraishi wrote: > Quoting Johannes Schindelin : > >> I'd start like this: >> >>       enum color_name { >>               COLOR_RESET, >>               COLOR_RED, >>               COLOR_GREEN, >>               COLOR_YELLOW, >>               COLOR_BLUE, >>               COLOR_MAGENTA, >>               COLOR_CYAN, >>               COLOR_WHITE >>       }; > > Looking for "COLOR_RED" in the archive gives: > >  http://article.gmane.org/gmane.comp.version-control.git/109676 > Duly noted. Perhaps those #defines should be relocated to color.h? If we still wanted to provide a color_name type we could use GIT_COLOR_NAME_RESET et al. That would give us something like: #define GIT_COLOR_NORMAL "" #define GIT_COLOR_RESET "\033[m" #define GIT_COLOR_BOLD "\033[1m" #define GIT_COLOR_RED "\033[31m" #define GIT_COLOR_GREEN "\033[32m" #define GIT_COLOR_YELLOW "\033[33m" #define GIT_COLOR_BLUE "\033[34m" #define GIT_COLOR_CYAN "\033[36m" #define GIT_COLOR_BG_RED "\033[41m" enum color_name { GIT_COLOR_NAME_NORMAL GIT_COLOR_NAME_RESET, GIT_COLOR_NAME_RED, GIT_COLOR_NAME_GREEN, GIT_COLOR_NAME_YELLOW, GIT_COLOR_NAME_BLUE, GIT_COLOR_NAME_MAGENTA, GIT_COLOR_NAME_CYAN, GIT_COLOR_NAME_WHITE GIT_COLOR_NAME_BG_RED }; /* * Map names to ANSI escape sequences. Consider putting this in color.c * and providing color_name_get_ansi_code(enum color_name). */ const char* git_color_codes[] { GIT_COLOR_RESET, GIT_COLOR_BOLD, GIT_COLOR_RED, GIT_COLOR_GREEN, GIT_COLOR_YELLOW, GIT_COLOR_BLUE, GIT_COLOR_CYAN, GIT_COLOR_BG_RED, }; That conveniently offers clients access to both the raw escape codes and a clear type for storing/handling colors. ~Allan