#include "../defs/all.h" #include #include #include void colorconfig_init(colorconfig config){ config.saturation = 100; config.brightness = 50; } enum color_mode detect_color_mode(void){ const char *colorterm, *term; if(getenv("NO_COLOR")) return MODE_NONE; colorterm = getenv("COLORTERM"); if(colorterm && (strstr(colorterm, "truecolor") || strstr(colorterm, "24bit"))) return MODE_TRUECOLOR; term = getenv("TERM"); if(term && strstr(term, "256color")) return MODE_ANSI256; return MODE_ANSI16; } #ifdef _WIN32 //i'll do this later #endif char parse_namedcolors(rgbcolor name, char *outrgb){ /* table = array of { name_string, rgb } for the 16 colors normalized = lowercase copy of name, with "_" removed // so that it handles bright_red and brightred for each entry in the table: if normalized equals entry.name -> out_rgb = entry.rgb, return success return fail */ }