notmuch-reply: Structured Formatters
Austin Clements
amdragon at MIT.EDU
Sun Jul 22 09:13:13 PDT 2012
LGTM! This is a great cleanup and I'm looking forward to S-expression
support.
Quoth craven at gmx.net on Jul 20 at 8:36 am:
> 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.
>
> 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.
>
> Overall diff --stat:
>
> Makefile.local | 2 +
> notmuch-search.c | 301 +++++++++++++----------------------------------
> sprinter-json.c | 185 +++++++++++++++++++++++++++++
> sprinter-text.c | 126 ++++++++++++++++++++
> sprinter.h | 68 +++++++++++
> test/json | 34 +++---
> 6 files changed, 484 insertions(+), 232 deletions(-)
>
> Changes versus v6 of this patch:
> - is_text_printer is now a field, not a function.
> - minor formatting
> - sprinter_text_search has been renamed to sprinter_text (as it contains
> no search-specific code).
> - string sanitization removed from sprinter_text, the caller should
> sanitize the strings.
More information about the notmuch
mailing list