1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

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

View File

@ -361,8 +361,19 @@ find_closest_col(int h, int s, int l)
static int static int
find_col(const char* col_name, int n) find_col(const char* col_name, int n)
{ {
char* endptr;
unsigned long col_value = strtoul(col_name, &endptr, 0);
char name[32] = { 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 * make a null terminated version of col_name. we don't want to
* use strNcasecmp because we could end up matching blue3 with * use strNcasecmp because we could end up matching blue3 with