[PATCH v8 0/3] notmuch-search: Structured Output Formatters
Tomi Ollila
tomi.ollila at iki.fi
Mon Jul 23 06:54:14 PDT 2012
On Mon, Jul 23 2012, craven at gmx.net wrote:
> From: <craven at gmx.net>
>
> Currently there is no easy way to add support for different structured
> formatters (like JSON). For example, adding support for S-Expressions
> would result in code duplication.
>
> This patch series amends the situation by introducing structured
> formatters, which allow different implementations of structures like
> lists, maps, strings and numbers.
LGTM
Tomi
>
> The new code in sprinter.h and sprinter-json.c can be used instead of
> the current ad-hoc output in all parts of notmuch, a patch for
> notmuch-search.c is included.
>
> In a later patch, all other parts of notmuch should be adapted to the
> structured formatters, and the creation of formatters should be
> centralised (to make adding new formatters easier).
>
> A "structured" formatter is provided for notmuch-search that prints the
> current text format. This removes almost all the special-casing from
> notmuch-search.c.
>
> Changes versus v7 of this patch:
> - added {} around "else" blocks (as mentioned in
> id:20120722160843.GC31834 at mit.edu)
> - added fallback to INTERNAL_ERROR (which should never be called) in
> notmuch-search.c if format is unknown (as mentioned in
> id:m2r4s694ly.fsf at guru.guru-group.fi).
>
> Summary:
>
> Peter Feigl (3):
> Add support for structured output formatters.
> Add structured output formatter for JSON and plain text (but don't
> use them yet).
> Use the structured formatters in notmuch-search.c.
>
> Makefile.local | 2 +
> notmuch-search.c | 304 ++++++++++++++---------------------------------
> sprinter-json.c | 187 +++++++++++++++++++++++++++++
> sprinter-text.c | 126 ++++++++++++++++++++
> sprinter.h | 68 +++++++++++
> test/json | 34 +++---
> 6 files changed, 489 insertions(+), 232 deletions(-)
> create mode 100644 sprinter-json.c
> create mode 100644 sprinter-text.c
> create mode 100644 sprinter.h
>
> --
> 1.7.11.2
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list