mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48: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 struct notmuch_show_params *params);
|
||||||
const char *message_set_sep;
|
const char *message_set_sep;
|
||||||
const char *message_set_end;
|
const char *message_set_end;
|
||||||
|
const char *null_message;
|
||||||
} notmuch_show_format_t;
|
} notmuch_show_format_t;
|
||||||
|
|
||||||
typedef struct notmuch_crypto {
|
typedef struct notmuch_crypto {
|
||||||
|
|
|
@ -37,7 +37,8 @@ static const notmuch_show_format_t format_json = {
|
||||||
.message_set_start = "[",
|
.message_set_start = "[",
|
||||||
.part = format_part_json_entry,
|
.part = format_part_json_entry,
|
||||||
.message_set_sep = ", ",
|
.message_set_sep = ", ",
|
||||||
.message_set_end = "]"
|
.message_set_end = "]",
|
||||||
|
.null_message = "null"
|
||||||
};
|
};
|
||||||
|
|
||||||
static notmuch_status_t
|
static notmuch_status_t
|
||||||
|
@ -799,6 +800,15 @@ format_part_raw (unused (const void *ctx), mime_node_t *node,
|
||||||
return NOTMUCH_STATUS_SUCCESS;
|
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
|
static notmuch_status_t
|
||||||
show_message (void *ctx,
|
show_message (void *ctx,
|
||||||
const notmuch_show_format_t *format,
|
const notmuch_show_format_t *format,
|
||||||
|
@ -861,10 +871,12 @@ show_messages (void *ctx,
|
||||||
if (status && !res)
|
if (status && !res)
|
||||||
res = status;
|
res = status;
|
||||||
next_indent = indent + 1;
|
next_indent = indent + 1;
|
||||||
|
} else {
|
||||||
|
status = show_null_message (format);
|
||||||
|
}
|
||||||
|
|
||||||
if (!status && format->message_set_sep)
|
if (!status && format->message_set_sep)
|
||||||
fputs (format->message_set_sep, stdout);
|
fputs (format->message_set_sep, stdout);
|
||||||
}
|
|
||||||
|
|
||||||
status = show_messages (ctx,
|
status = show_messages (ctx,
|
||||||
format,
|
format,
|
||||||
|
|
Loading…
Reference in a new issue