notmuch/emacs
Austin Clements 889dda3731 emacs: Implement an incremental JSON parser
This parser is designed to read streaming JSON whose structure is
known to the caller.  Like a typical JSON parsing interface, it
provides a function to read a complete JSON value from the input.
However, it extends this with an additional function that
requires the next value in the input to be a compound value and
descends into it, allowing its elements to be read one at a time
or further descended into.  Both functions can return 'retry to
indicate that not enough input is available.

The parser supports efficient partial parsing, so there's no need to
frame the input for correctness or performance.

The bulk of the parsing is still done by Emacs' json.el, so any
improvements or optimizations to that will benefit the incremental
parser as well.

Currently only descending into JSON lists is supported because that's
all we need, but support for descending into JSON objects can be added
in the future.
2012-07-12 17:39:28 -06:00
..
coolj.el emacs: Add more functions to clean up text/plain parts 2010-04-26 10:05:46 -07:00
Makefile fix sum moar typos [build scripts, Makefiles] 2011-06-23 15:44:59 -07:00
Makefile.local emacs: create notmuch-tag.el, and move appropriate functions from notmuch.el 2012-04-29 17:39:37 -03:00
notmuch-address.el emacs: globally replace non-branching "(if (not ..." with "(unless ..." 2012-01-21 08:17:56 -04:00
notmuch-crypto.el Spelling fix 2012-03-01 19:04:21 -04:00
notmuch-hello.el emacs: fix custom queries section customization widget in notmuch-hello 2012-05-06 19:44:55 -03:00
notmuch-lib.el emacs: Implement an incremental JSON parser 2012-07-12 17:39:28 -06:00
notmuch-logo.png emacs: Add notmuch-hello.el, a friendly frontend to notmuch 2010-04-23 12:50:18 -07:00
notmuch-maildir-fcc.el emacs: derive correct timestamp in FCC unique name 2012-06-22 07:39:21 -03:00
notmuch-message.el emacs: create notmuch-tag.el, and move appropriate functions from notmuch.el 2012-04-29 17:39:37 -03:00
notmuch-mua.el emacs: Do not pass stderr of notmuch reply to JSON parser 2012-05-06 08:49:38 -03:00
notmuch-print.el emacs: Put notmuch-print-mechanism in custom group notmuch-show 2012-04-24 23:25:51 -03:00
notmuch-query.el emacs: Add support for PGP/MIME verification/decryption 2011-05-27 16:22:00 -07:00
notmuch-show.el emacs: make elide messages use notmuch-show for omitting messages. 2012-06-29 22:33:31 -03:00
notmuch-tag.el emacs: allow notmuch-tag to accept string inputs and prompt for tags 2012-04-29 17:41:35 -03:00
notmuch-wash.el emacs: Add configurable wrapping width for notmuch-wash-wrap-long-lines 2012-06-29 22:38:52 -03:00
notmuch.el emacs: Pass plist to `notmuch-search-show-result' 2012-07-12 17:39:12 -06:00