diff options
Diffstat (limited to 'src/colors.c')
| -rw-r--r-- | src/colors.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/colors.c b/src/colors.c index 3e49870..4de484a 100644 --- a/src/colors.c +++ b/src/colors.c @@ -1,3 +1,41 @@ #include "../defs/all.h" +#include <stdlib.h> +#include <string.h> +#include <strings.h> +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 + */ +} |
