aboutsummaryrefslogtreecommitdiffhomepage
path: root/sprinter.h
diff options
context:
space:
mode:
authorGravatar craven@gmx.net <craven@gmx.net>2012-07-23 12:39:45 +0200
committerGravatar David Bremner <bremner@debian.org>2012-07-24 09:26:59 -0300
commit36522fca1cac6ca23c2c4c0280e3e20e96f7bfbb (patch)
treeb1a4a5fd43c106d66e09b2571145147232cee9e6 /sprinter.h
parent41becc0c9dfabbd59a1c96bdedc99a785539a93b (diff)
Add structured output formatter for JSON and plain text (but don't use them yet).
Using the new structured printer support in sprinter.h, implement sprinter_json_create, which returns a new JSON structured output formatter. The formatter prints output similar to the existing JSON, but with differences in whitespace (mostly newlines, --output=summary prints the entire message summary on one line, not split across multiple lines). Also implement a "structured" formatter for plain text that prints prefixed strings, to be used with notmuch-search.c plain text output.
Diffstat (limited to 'sprinter.h')
-rw-r--r--sprinter.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/sprinter.h b/sprinter.h
index 77dc26f3..6680d419 100644
--- a/sprinter.h
+++ b/sprinter.h
@@ -55,4 +55,14 @@ typedef struct sprinter {
notmuch_bool_t is_text_printer;
} sprinter_t;
+
+/* Create a new unstructured printer that emits the default text format
+ * for "notmuch search". */
+struct sprinter *
+sprinter_text_create (const void *ctx, FILE *stream);
+
+/* Create a new structure printer that emits JSON. */
+struct sprinter *
+sprinter_json_create (const void *ctx, FILE *stream);
+
#endif // NOTMUCH_SPRINTER_H