summaryrefslogtreecommitdiff
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
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>
-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);
}