1
0
Fork 0

Add support for int colors in themes

Allow theme colors to be specified as integers.

Works with both decimal & hex. Given the XXX warning, it seems
reasonable to allow users to specify their theme’s colors as the base
integers since the names are pretty arbitrary.

We changed the variable name `ul` to `col_value` per @H3rnand3zzz
suggestion.
This commit is contained in:
toastal 2023-10-26 17:24:00 +07:00 committed by Michael Vetter
parent 06644915c3
commit bccfad3de2
1 changed files with 11 additions and 0 deletions

View File

@ -361,8 +361,19 @@ find_closest_col(int h, int s, int l)
static int
find_col(const char* col_name, int n)
{
char* endptr;
unsigned long col_value = strtoul(col_name, &endptr, 0);
char name[32] = { 0 };
/*
* When the col_name is a uint8, then we dont need to look up by
* color name (which is problematic given the duplicate names)
*/
if ((*endptr == '\0' || *endptr == '\n') && col_value <= UINT8_MAX) {
return (int)col_value;
}
/*
* make a null terminated version of col_name. we don't want to
* use strNcasecmp because we could end up matching blue3 with