diff options
Diffstat (limited to 'gdb/cli/cli-setshow.c')
-rw-r--r-- | gdb/cli/cli-setshow.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gdb/cli/cli-setshow.c b/gdb/cli/cli-setshow.c index bcc793b..a8f22c9 100644 --- a/gdb/cli/cli-setshow.c +++ b/gdb/cli/cli-setshow.c @@ -443,6 +443,13 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c) option_changed = c->var->set<const char *> (match); } break; + case var_color: + { + ui_file_style::color color = parse_var_color (arg); + ui_file_style::color approx_color = color.approximate (colorsupport ()); + option_changed = c->var->set<ui_file_style::color> (approx_color); + } + break; default: error (_("gdb internal error: bad var_type in do_setshow_command")); } @@ -520,6 +527,14 @@ do_set_command (const char *arg, int from_tty, struct cmd_list_element *c) interps_notify_param_changed (name, c->var->get<const char *> ()); break; + case var_color: + { + const ui_file_style::color &color + = c->var->get<ui_file_style::color> (); + interps_notify_param_changed + (name, color.to_string ().c_str ()); + } + break; case var_boolean: { const char *opt = c->var->get<bool> () ? "on" : "off"; @@ -585,6 +600,12 @@ get_setshow_command_value_string (const setting &var) stb.puts (value); } break; + case var_color: + { + const ui_file_style::color &value = var.get<ui_file_style::color> (); + stb.puts (value.to_string ().c_str ()); + } + break; case var_boolean: stb.puts (var.get<bool> () ? "on" : "off"); break; |