X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-show.c;h=d04943f7d337fbb688c5790185d2da5627e1b25e;hp=d3419e4e84741cd3b6faaaef0057b1c5618996e9;hb=d79b24b98d26e08f7529df6c404d523739175347;hpb=14883b07003b9ed4223cd8f2c03b301fddae07bd diff --git a/notmuch-show.c b/notmuch-show.c index d3419e4e..d04943f7 100644 --- a/notmuch-show.c +++ b/notmuch-show.c @@ -20,12 +20,14 @@ #include "notmuch-client.h" #include "gmime-filter-reply.h" +#include "sprinter.h" static notmuch_status_t format_part_text (const void *ctx, mime_node_t *node, int indent, const notmuch_show_params_t *params); static const notmuch_show_format_t format_text = { + .new_sprinter = sprinter_text_create, .part = format_part_text, }; @@ -34,6 +36,7 @@ format_part_json_entry (const void *ctx, mime_node_t *node, int indent, const notmuch_show_params_t *params); static const notmuch_show_format_t format_json = { + .new_sprinter = sprinter_json_create, .message_set_start = "[", .part = format_part_json_entry, .message_set_sep = ", ", @@ -46,6 +49,7 @@ format_part_mbox (const void *ctx, mime_node_t *node, int indent, const notmuch_show_params_t *params); static const notmuch_show_format_t format_mbox = { + .new_sprinter = sprinter_text_create, .part = format_part_mbox, }; @@ -55,6 +59,7 @@ format_part_raw (unused (const void *ctx), mime_node_t *node, unused (const notmuch_show_params_t *params)); static const notmuch_show_format_t format_raw = { + .new_sprinter = sprinter_text_create, .part = format_part_raw, }; @@ -1003,6 +1008,7 @@ notmuch_show_command (void *ctx, unused (int argc), unused (char *argv[])) char *query_string; int opt_index, ret; const notmuch_show_format_t *format = &format_text; + sprinter_t *sprinter; notmuch_show_params_t params = { .part = -1, .omit_excluded = TRUE, @@ -1130,6 +1136,9 @@ notmuch_show_command (void *ctx, unused (int argc), unused (char *argv[])) return 1; } + /* Create structure printer. */ + sprinter = format->new_sprinter(ctx, stdout); + /* If a single message is requested we do not use search_excludes. */ if (params.part >= 0) ret = do_show_single (ctx, query, format, ¶ms);