Do not show the -fg, -bg and -attr options. If asked for one explicitly,

show the equivalent -style option instead.
This commit is contained in:
nicm 2014-04-17 07:43:20 +00:00
parent 992ef70fb6
commit ebc5cb447f

View File

@ -100,15 +100,17 @@ cmd_show_options_one(struct cmd *self, struct cmd_q *cmdq,
struct options *oo, int quiet) struct options *oo, int quiet)
{ {
struct args *args = self->args; struct args *args = self->args;
const char *name = args->argv[0];
const struct options_table_entry *table, *oe; const struct options_table_entry *table, *oe;
struct options_entry *o; struct options_entry *o;
const char *optval; const char *optval;
if (*args->argv[0] == '@') { retry:
if ((o = options_find1(oo, args->argv[0])) == NULL) { if (*name == '@') {
if ((o = options_find1(oo, name)) == NULL) {
if (quiet) if (quiet)
return (CMD_RETURN_NORMAL); return (CMD_RETURN_NORMAL);
cmdq_error(cmdq, "unknown option: %s", args->argv[0]); cmdq_error(cmdq, "unknown option: %s", name);
return (CMD_RETURN_ERROR); return (CMD_RETURN_ERROR);
} }
if (args_has(self->args, 'v')) if (args_has(self->args, 'v'))
@ -119,16 +121,20 @@ cmd_show_options_one(struct cmd *self, struct cmd_q *cmdq,
} }
table = oe = NULL; table = oe = NULL;
if (options_table_find(args->argv[0], &table, &oe) != 0) { if (options_table_find(name, &table, &oe) != 0) {
cmdq_error(cmdq, "ambiguous option: %s", args->argv[0]); cmdq_error(cmdq, "ambiguous option: %s", name);
return (CMD_RETURN_ERROR); return (CMD_RETURN_ERROR);
} }
if (oe == NULL) { if (oe == NULL) {
if (quiet) if (quiet)
return (CMD_RETURN_NORMAL); return (CMD_RETURN_NORMAL);
cmdq_error(cmdq, "unknown option: %s", args->argv[0]); cmdq_error(cmdq, "unknown option: %s", name);
return (CMD_RETURN_ERROR); return (CMD_RETURN_ERROR);
} }
if (oe->style != NULL) {
name = oe->style;
goto retry;
}
if ((o = options_find1(oo, oe->name)) == NULL) if ((o = options_find1(oo, oe->name)) == NULL)
return (CMD_RETURN_NORMAL); return (CMD_RETURN_NORMAL);
optval = options_table_print_entry(oe, o, args_has(self->args, 'v')); optval = options_table_print_entry(oe, o, args_has(self->args, 'v'));
@ -157,6 +163,8 @@ cmd_show_options_all(struct cmd *self, struct cmd_q *cmdq,
} }
for (oe = table; oe->name != NULL; oe++) { for (oe = table; oe->name != NULL; oe++) {
if (oe->style != NULL)
continue;
if ((o = options_find1(oo, oe->name)) == NULL) if ((o = options_find1(oo, oe->name)) == NULL)
continue; continue;
optval = options_table_print_entry(oe, o, optval = options_table_print_entry(oe, o,