diff options
author | Nicholas Todoroff <nd.todoroff@gmail.com> | 2023-08-02 17:16:35 -0600 |
---|---|---|
committer | Nicholas Todoroff <nd.todoroff@gmail.com> | 2023-08-02 17:16:35 -0600 |
commit | 655ed9cb245bfddb79a22b3fa155eba293a2bc5f (patch) | |
tree | b8fd9374fad791a63695ea0335fc446f1c482714 | |
parent | e006ab13eea45c06ec22d01e3bd72aa8b53a777f (diff) |
Properly handle NONE_COLOR as described in :help
* Adds entry for NONE_COLOR in set_colors_param_dict()
* Makes chg_color() not error nor change the color when fg or bg is
"NONE_COLOR"
-rw-r--r-- | src/color.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/color.c b/src/color.c index c8aeedb..49ea6ee 100644 --- a/src/color.c +++ b/src/color.c @@ -186,6 +186,8 @@ void set_colors_param_dict() { sprintf(str, "%d", DEFAULT_COLOR); put(d_colors_param, "DEFAULT_COLOR", str); + sprintf(str, "%d", NONE_COLOR); + put(d_colors_param, "NONE_COLOR", str); sprintf(str, "%d", BLACK); put(d_colors_param, "BLACK", str); sprintf(str, "%d", RED); @@ -333,13 +335,17 @@ void chg_color(char * str) { // Change the color int type = get_int(d_colors_param, get(d, "type")); struct custom_color * cc; - if ((cc = get_custom_color(get(d, "bg"))) != NULL) { // bg is custom color + if (get_int(d_colors_param, get(d, "bg")) == NONE_COLOR) { + // Don't change anything + } else if ((cc = get_custom_color(get(d, "bg"))) != NULL) { // bg is custom color ucolors[ type ].bg = 7 + cc->number; } else { // bg is stock ncurses color ucolors[ type ].bg = get_int(d_colors_param, get(d, "bg")); } - if ((cc = get_custom_color(get(d, "fg"))) != NULL) { // fg is custom color + if (get_int(d_colors_param, get(d, "fg")) == NONE_COLOR) { + // Don't change anything + } else if ((cc = get_custom_color(get(d, "fg"))) != NULL) { // fg is custom color ucolors[ type ].fg = 7 + cc->number; } else { // fg is stock ncurses color ucolors[ type ].fg = get_int(d_colors_param, get(d, "fg")); |