mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
cli: use the arg parser .present feature to handle show --entire-thread
The --entire-thread default depends on other arguments, so we'll have to figure out if it was explicitly set by the user or not. The arg parser .present feature helps us clean up the code here.
This commit is contained in:
parent
9165df2135
commit
ed43b8ddcd
1 changed files with 6 additions and 13 deletions
|
@ -1086,10 +1086,7 @@ notmuch_show_command (notmuch_config_t *config, int argc, char *argv[])
|
|||
};
|
||||
int format = NOTMUCH_FORMAT_NOT_SPECIFIED;
|
||||
int exclude = TRUE;
|
||||
|
||||
/* This value corresponds to neither true nor false being passed
|
||||
* on the command line */
|
||||
int entire_thread = -1;
|
||||
notmuch_bool_t entire_thread_set = FALSE;
|
||||
notmuch_bool_t single_message;
|
||||
|
||||
notmuch_opt_desc_t options[] = {
|
||||
|
@ -1102,7 +1099,8 @@ notmuch_show_command (notmuch_config_t *config, int argc, char *argv[])
|
|||
{ 0, 0 } } },
|
||||
{ .opt_int = ¬much_format_version, .name = "format-version" },
|
||||
{ .opt_bool = &exclude, .name = "exclude" },
|
||||
{ .opt_bool = &entire_thread, .name = "entire-thread" },
|
||||
{ .opt_bool = ¶ms.entire_thread, .name = "entire-thread",
|
||||
.present = &entire_thread_set },
|
||||
{ .opt_int = ¶ms.part, .name = "part" },
|
||||
{ .opt_bool = ¶ms.crypto.decrypt, .name = "decrypt" },
|
||||
{ .opt_bool = ¶ms.crypto.verify, .name = "verify" },
|
||||
|
@ -1147,14 +1145,9 @@ notmuch_show_command (notmuch_config_t *config, int argc, char *argv[])
|
|||
|
||||
/* Default is entire-thread = FALSE except for format=json and
|
||||
* format=sexp. */
|
||||
if (entire_thread != FALSE && entire_thread != TRUE) {
|
||||
if (format == NOTMUCH_FORMAT_JSON || format == NOTMUCH_FORMAT_SEXP)
|
||||
params.entire_thread = TRUE;
|
||||
else
|
||||
params.entire_thread = FALSE;
|
||||
} else {
|
||||
params.entire_thread = entire_thread;
|
||||
}
|
||||
if (! entire_thread_set &&
|
||||
(format == NOTMUCH_FORMAT_JSON || format == NOTMUCH_FORMAT_SEXP))
|
||||
params.entire_thread = TRUE;
|
||||
|
||||
if (!params.output_body) {
|
||||
if (params.part > 0) {
|
||||
|
|
Loading…
Reference in a new issue