Add -q flags to shut up errors to capture-pane and show-options, from

George Nachman.
This commit is contained in:
Nicholas Marriott 2013-03-25 10:04:04 +00:00
parent 62db3c8efe
commit d39b1a87a5

View File

@ -30,14 +30,14 @@
enum cmd_retval cmd_show_options_exec(struct cmd *, struct cmd_q *); enum cmd_retval cmd_show_options_exec(struct cmd *, struct cmd_q *);
enum cmd_retval cmd_show_options_one(struct cmd *, struct cmd_q *, enum cmd_retval cmd_show_options_one(struct cmd *, struct cmd_q *,
struct options *); struct options *, int);
enum cmd_retval cmd_show_options_all(struct cmd *, struct cmd_q *, enum cmd_retval cmd_show_options_all(struct cmd *, struct cmd_q *,
const struct options_table_entry *, struct options *); const struct options_table_entry *, struct options *);
const struct cmd_entry cmd_show_options_entry = { const struct cmd_entry cmd_show_options_entry = {
"show-options", "show", "show-options", "show",
"gst:vw", 0, 1, "gqst:vw", 0, 1,
"[-gsvw] [-t target-session|target-window] [option]", "[-gqsvw] [-t target-session|target-window] [option]",
0, 0,
NULL, NULL,
NULL, NULL,
@ -62,6 +62,7 @@ cmd_show_options_exec(struct cmd *self, struct cmd_q *cmdq)
struct winlink *wl; struct winlink *wl;
const struct options_table_entry *table; const struct options_table_entry *table;
struct options *oo; struct options *oo;
int quiet;
if (args_has(self->args, 's')) { if (args_has(self->args, 's')) {
oo = &global_options; oo = &global_options;
@ -89,15 +90,16 @@ cmd_show_options_exec(struct cmd *self, struct cmd_q *cmdq)
} }
} }
if (args->argc != 0) quiet = args_has(self->args, 'q');
return (cmd_show_options_one(self, cmdq, oo)); if (args->argc == 0)
else
return (cmd_show_options_all(self, cmdq, table, oo)); return (cmd_show_options_all(self, cmdq, table, oo));
else
return (cmd_show_options_one(self, cmdq, oo, quiet));
} }
enum cmd_retval enum cmd_retval
cmd_show_options_one(struct cmd *self, struct cmd_q *cmdq, cmd_show_options_one(struct cmd *self, struct cmd_q *cmdq,
struct options *oo) struct options *oo, int quiet)
{ {
struct args *args = self->args; struct args *args = self->args;
const struct options_table_entry *table, *oe; const struct options_table_entry *table, *oe;
@ -106,6 +108,8 @@ cmd_show_options_one(struct cmd *self, struct cmd_q *cmdq,
if (*args->argv[0] == '@') { if (*args->argv[0] == '@') {
if ((o = options_find1(oo, args->argv[0])) == NULL) { if ((o = options_find1(oo, args->argv[0])) == NULL) {
if (quiet)
return (CMD_RETURN_NORMAL);
cmdq_error(cmdq, "unknown option: %s", args->argv[0]); cmdq_error(cmdq, "unknown option: %s", args->argv[0]);
return (CMD_RETURN_ERROR); return (CMD_RETURN_ERROR);
} }
@ -122,6 +126,8 @@ cmd_show_options_one(struct cmd *self, struct cmd_q *cmdq,
return (CMD_RETURN_ERROR); return (CMD_RETURN_ERROR);
} }
if (oe == NULL) { if (oe == NULL) {
if (quiet)
return (CMD_RETURN_NORMAL);
cmdq_error(cmdq, "unknown option: %s", args->argv[0]); cmdq_error(cmdq, "unknown option: %s", args->argv[0]);
return (CMD_RETURN_ERROR); return (CMD_RETURN_ERROR);
} }