diff options
author | Sebastian Spaeth <Sebastian@SSpaeth.de> | 2010-03-11 13:11:43 +0100 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-03-11 04:30:46 -0800 |
commit | d30049d2b9fd5eb113cd99e88d6fa7b40c36d3c5 (patch) | |
tree | f51c6ff325150361e95e7bbaff5d597e51542662 /notmuch-show.c | |
parent | bb61755afe0deddbb146222a4e42547b00a7fd76 (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.c | 13 |
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); } |