1#ifndef COLOR_H 2#define COLOR_H 3 4/* "\033[1;38;5;2xx;48;5;2xxm\0" is 23 bytes */ 5#define COLOR_MAXLEN 24 6 7/* 8 * IMPORTANT: Due to the way these color codes are emulated on Windows, 9 * write them only using printf(), fprintf(), and fputs(). In particular, 10 * do not use puts() or write(). 11 */ 12#define GIT_COLOR_NORMAL"" 13#define GIT_COLOR_RESET"\033[m" 14#define GIT_COLOR_BOLD"\033[1m" 15#define GIT_COLOR_RED"\033[31m" 16#define GIT_COLOR_GREEN"\033[32m" 17#define GIT_COLOR_YELLOW"\033[33m" 18#define GIT_COLOR_BLUE"\033[34m" 19#define GIT_COLOR_MAGENTA"\033[35m" 20#define GIT_COLOR_CYAN"\033[36m" 21#define GIT_COLOR_BG_RED"\033[41m" 22 23/* 24 * This variable stores the value of color.ui 25 */ 26externint git_use_color_default; 27 28 29/* 30 * Use this instead of git_default_config if you need the value of color.ui. 31 */ 32intgit_color_default_config(const char*var,const char*value,void*cb); 33 34intgit_config_colorbool(const char*var,const char*value,int stdout_is_tty); 35voidcolor_parse(const char*value,const char*var,char*dst); 36voidcolor_parse_mem(const char*value,int len,const char*var,char*dst); 37__attribute__((format(printf,3,4))) 38intcolor_fprintf(FILE*fp,const char*color,const char*fmt, ...); 39__attribute__((format(printf,3,4))) 40intcolor_fprintf_ln(FILE*fp,const char*color,const char*fmt, ...); 41intcolor_fwrite_lines(FILE*fp,const char*color,size_t count,const char*buf); 42 43#endif/* COLOR_H */