aboutsummaryrefslogtreecommitdiff
path: root/notmuch-show.c
diff options
context:
space:
mode:
authorSebastian Spaeth <Sebastian@SSpaeth.de>2010-03-11 13:11:43 +0100
committerCarl Worth <cworth@cworth.org>2010-03-11 04:30:46 -0800
commitd30049d2b9fd5eb113cd99e88d6fa7b40c36d3c5 (patch)
treef51c6ff325150361e95e7bbaff5d597e51542662 /notmuch-show.c
parentbb61755afe0deddbb146222a4e42547b00a7fd76 (diff)
notmuch-show: add tags to json output
The previous json patches forgot to add the notmuch tags to the json output. This is inconsistent to the text output so here they are. We just output a 'tags' field that sends notmuch tags as a json array. Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Diffstat (limited to 'notmuch-show.c')
-rw-r--r--notmuch-show.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/notmuch-show.c b/notmuch-show.c
index cb5e47a..ff1fecb 100644
--- a/notmuch-show.c
+++ b/notmuch-show.c
@@ -136,13 +136,24 @@ format_message_text (unused (const void *ctx), notmuch_message_t *message, int i
static void
format_message_json (const void *ctx, notmuch_message_t *message, unused (int indent))
{
+ notmuch_tags_t *tags;
+ int first = 1;
void *ctx_quote = talloc_new (ctx);
- printf ("\"id\": %s, \"match\": %s, \"filename\": %s",
+ printf ("\"id\": %s, \"match\": %s, \"filename\": %s, \"tags\": [",
json_quote_str (ctx_quote, notmuch_message_get_message_id (message)),
notmuch_message_get_flag (message, NOTMUCH_MESSAGE_FLAG_MATCH) ? "true" : "false",
json_quote_str (ctx_quote, notmuch_message_get_filename (message)));
+ for (tags = notmuch_message_get_tags (message);
+ notmuch_tags_valid (tags);
+ notmuch_tags_move_to_next (tags))
+ {
+ printf("%s%s", first ? "" : ",",
+ json_quote_str (ctx_quote, notmuch_tags_get (tags)));
+ first = 0;
+ }
+ printf("]");
talloc_free (ctx_quote);
}