From aecff2c9fd3efaad1316d0b1ee821310584ad217 Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Sat, 15 Dec 2012 22:17:25 -0500 Subject: [PATCH] show: Support --format-version --- man/man1/notmuch-show.1 | 20 ++++++++++++++++++++ notmuch-show.c | 3 +++ 2 files changed, 23 insertions(+) diff --git a/man/man1/notmuch-show.1 b/man/man1/notmuch-show.1 index bd41c48a..44cec46d 100644 --- a/man/man1/notmuch-show.1 +++ b/man/man1/notmuch-show.1 @@ -126,6 +126,15 @@ message. .RE .RE +.RS 4 +.TP 4 +.BR \-\-format-version=N + +Use the specified structured output format version. This is intended +for programs that invoke \fBnotmuch\fR(1) internally. If omitted, the +latest supported version will be used. +.RE + .RS 4 .TP 4 .B \-\-part=N @@ -201,6 +210,17 @@ column of output from the .B notmuch search command. +.SH EXIT STATUS + +This command supports the following special exit status codes + +.TP +.B 20 +The requested format version is too old. +.TP +.B 21 +The requested format version is too new. + .SH SEE ALSO \fBnotmuch\fR(1), \fBnotmuch-config\fR(1), \fBnotmuch-count\fR(1), diff --git a/notmuch-show.c b/notmuch-show.c index a83fef93..39faf218 100644 --- a/notmuch-show.c +++ b/notmuch-show.c @@ -1066,6 +1066,7 @@ notmuch_show_command (void *ctx, unused (int argc), unused (char *argv[])) { "mbox", NOTMUCH_FORMAT_MBOX }, { "raw", NOTMUCH_FORMAT_RAW }, { 0, 0 } } }, + { NOTMUCH_OPT_INT, ¬much_format_version, "format-version", 0, 0 }, { NOTMUCH_OPT_KEYWORD, &exclude, "exclude", 'x', (notmuch_keyword_t []){ { "true", EXCLUDE_TRUE }, { "false", EXCLUDE_FALSE }, @@ -1128,6 +1129,8 @@ notmuch_show_command (void *ctx, unused (int argc), unused (char *argv[])) break; } + notmuch_exit_if_unsupported_format (); + /* Default is entire-thread = FALSE except for format=json and * format=sexp. */ if (entire_thread == ENTIRE_THREAD_DEFAULT) { -- 2.43.0