mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
cli: Let json output "null" messages for non --entire-thread
All formats except Json can output empty messages for non entire-thread, but in Json format we output "null" to keep the other elements (e.g. the replies to the omitted message) in the correct place.
This commit is contained in:
parent
779ce3e930
commit
4d3bfba983
2 changed files with 17 additions and 4 deletions
|
@ -75,6 +75,7 @@ typedef struct notmuch_show_format {
|
|||
const struct notmuch_show_params *params);
|
||||
const char *message_set_sep;
|
||||
const char *message_set_end;
|
||||
const char *null_message;
|
||||
} notmuch_show_format_t;
|
||||
|
||||
typedef struct notmuch_crypto {
|
||||
|
|
|
@ -37,7 +37,8 @@ static const notmuch_show_format_t format_json = {
|
|||
.message_set_start = "[",
|
||||
.part = format_part_json_entry,
|
||||
.message_set_sep = ", ",
|
||||
.message_set_end = "]"
|
||||
.message_set_end = "]",
|
||||
.null_message = "null"
|
||||
};
|
||||
|
||||
static notmuch_status_t
|
||||
|
@ -799,6 +800,15 @@ format_part_raw (unused (const void *ctx), mime_node_t *node,
|
|||
return NOTMUCH_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static notmuch_status_t
|
||||
show_null_message (const notmuch_show_format_t *format)
|
||||
{
|
||||
/* Output a null message. Currently empty for all formats except Json */
|
||||
if (format->null_message)
|
||||
printf ("%s", format->null_message);
|
||||
return NOTMUCH_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static notmuch_status_t
|
||||
show_message (void *ctx,
|
||||
const notmuch_show_format_t *format,
|
||||
|
@ -861,11 +871,13 @@ show_messages (void *ctx,
|
|||
if (status && !res)
|
||||
res = status;
|
||||
next_indent = indent + 1;
|
||||
|
||||
if (!status && format->message_set_sep)
|
||||
fputs (format->message_set_sep, stdout);
|
||||
} else {
|
||||
status = show_null_message (format);
|
||||
}
|
||||
|
||||
if (!status && format->message_set_sep)
|
||||
fputs (format->message_set_sep, stdout);
|
||||
|
||||
status = show_messages (ctx,
|
||||
format,
|
||||
notmuch_message_get_replies (message),
|
||||
|
|
Loading…
Reference in a new issue