Quoth Mark Walters on Feb 14 at 12:28 pm: > Finally, if notmuch-pick were able to do work asynchronously (as > notmuch-search does now) then I think all the speed concerns would go > away. However, I am not sure how to do incremental json parsing. For JSON search, at least, I think we've concluded that it should put newlines at strategic places in the JSON output (and never anywhere else) so that it's easy for a consumer to know when it has a complete JSON object and hand it to the JSON parser. E.g., [{"thread":"X", timestamp: 42, ...} ,{"thread":"Y", timestamp: 24, ...} ] This "framed JSON" works really well for the flat output of search. It's obviously trickier to apply to show's hierarchical output. But, perhaps this will inspire you. (One possibility: we could rework show's output to be non-hierarchical and use the above framing; that is, it could be a sequence of message objects that each indicate which earlier message object they're a reply to, probably restricted to DFS order.)