notmuch show: Print tags for each message.

This is in the one-line summary so should always be visible even
in our emacs client that's so eager to make things invisible.
This commit is contained in:
Carl Worth 2009-11-03 12:29:07 -08:00
parent 6be03c1761
commit 02aa1391be

View file

@ -880,6 +880,32 @@ search_command (void *ctx, int argc, char *argv[])
return ret;
}
static const char *
_get_tags_as_string (void *ctx, notmuch_message_t *message)
{
notmuch_tags_t *tags;
int first = 1;
const char *tag;
char *result;
result = talloc_strdup (ctx, "");
if (result == NULL)
return NULL;
for (tags = notmuch_message_get_tags (message);
notmuch_tags_has_more (tags);
notmuch_tags_advance (tags))
{
tag = notmuch_tags_get (tags);
result = talloc_asprintf_append (result, "%s%s",
first ? "" : " ", tag);
first = 0;
}
return result;
}
/* Get a nice, single-line summary of message. */
static const char *
_get_one_line_summary (void *ctx, notmuch_message_t *message)
@ -888,6 +914,7 @@ _get_one_line_summary (void *ctx, notmuch_message_t *message)
time_t date;
const char *relative_date;
const char *subject;
const char *tags;
from = notmuch_message_get_header (message, "from");
@ -896,8 +923,10 @@ _get_one_line_summary (void *ctx, notmuch_message_t *message)
subject = notmuch_message_get_header (message, "subject");
return talloc_asprintf (ctx, "%s (%s) %s",
from, relative_date, subject);
tags = _get_tags_as_string (ctx, message);
return talloc_asprintf (ctx, "%s (%s) %s (%s)",
from, relative_date, subject, tags);
}
static void