]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-reply.c
util: Function to parse boolean term queries
[notmuch] / notmuch-reply.c
index ef450b24d46acafd0ac7e5d5f4737a690f24d2e4..22c58ff36776f87ade88dcf8ead0b5d2a97076a9 100644 (file)
@@ -697,6 +697,7 @@ notmuch_reply_format_headers_only(void *ctx,
 enum {
     FORMAT_DEFAULT,
     FORMAT_JSON,
+    FORMAT_SEXP,
     FORMAT_HEADERS_ONLY,
 };
 
@@ -729,8 +730,10 @@ notmuch_reply_command (void *ctx, int argc, char *argv[])
        { NOTMUCH_OPT_KEYWORD, &format, "format", 'f',
          (notmuch_keyword_t []){ { "default", FORMAT_DEFAULT },
                                  { "json", FORMAT_JSON },
+                                 { "sexp", FORMAT_SEXP },
                                  { "headers-only", FORMAT_HEADERS_ONLY },
                                  { 0, 0 } } },
+       { NOTMUCH_OPT_INT, &notmuch_format_version, "format-version", 0, 0 },
        { NOTMUCH_OPT_KEYWORD, &reply_all, "reply-to", 'r',
          (notmuch_keyword_t []){ { "all", TRUE },
                                  { "sender", FALSE },
@@ -750,10 +753,15 @@ notmuch_reply_command (void *ctx, int argc, char *argv[])
     } else if (format == FORMAT_JSON) {
        reply_format_func = notmuch_reply_format_sprinter;
        sp = sprinter_json_create (ctx, stdout);
+    } else if (format == FORMAT_SEXP) {
+       reply_format_func = notmuch_reply_format_sprinter;
+       sp = sprinter_sexp_create (ctx, stdout);
     } else {
        reply_format_func = notmuch_reply_format_default;
     }
 
+    notmuch_exit_if_unsupported_format ();
+
     config = notmuch_config_open (ctx, NULL, NULL);
     if (config == NULL)
        return 1;