From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:aacc::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms12 with LMTPS id +O1YIDDpu2BNdQAAsNZ9tg (envelope-from ); Sat, 05 Jun 2021 21:14:24 +0000 Received: from out2.migadu.com ([2001:41d0:2:aacc::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id AO1RICzpu2CMHAAA1q6Kng (envelope-from ); Sat, 05 Jun 2021 21:14:20 +0000 X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kyleam.com; s=key1; t=1622927660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y7vQ8Av8gpflA7gOM5dskxBMDX2caa9AF02fCuHwxZs=; b=P/83VDNA1rg99m/WxJ1sxVK9KX7Wks+3e/m1oIqnVcsR7Yhk8O6BjoCy9ALLcze1og4dhB sn9qj3f179dFVg55jbtUmHJXnr5QFvaOm4qirJRowTO17E5YtEuYSabQTsLh3UbYf2n2P+ RF91Mkx5ri/3SjRY3wIKXk4qDld1GrJ3CPP8DHWcPqDPR3tc1CvfbEaWLsTnCPcVW8bdAn V5mXTtUeu8fkUU8/DDweqDGEkDMoHkl2bKJYtpHGZD19RTG3QRYen0Nj/Dby5HBhcqf5TD ng7P226cHa0zelkEFrGE5iggBkEdoz6PoWZg0b1gp2NSI0FwaF0jax/LqQU/Og== From: Kyle Meyer To: piem@inbox.kyleam.com Subject: [PATCH 00/18] Initial lei support Date: Sat, 5 Jun 2021 17:13:44 -0400 Message-Id: <20210605211402.20304-1-kyle@kyleam.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT X-Migadu-Auth-User: kyle@kyleam.com X-TUID: bykcY92zFMkA public-inbox's upcoming lei (local email interface) opens up a lot of possibilities for integration with Emacs. This series is focused on adding basic commands to browse search results. Here's an example sequence of commands: * `M-x piem-lei-query' There's no keybinding in piem-dispatch yet because the plan is to add a transient with some lei-q arguments. * RET (piem-lei-query-show) or SPC (piem-lei-query-show-or-scroll-up) to see a result. * t (piem-lei-query-thread) to see an overview of the message's thread. lei supports both local and remote operations, but the changes here are assuming that the messages are available locally. Using remote externals should work (lightly tested), but it involves network activity that could be avoided if the commands were written with remote operations in mind. I'm still not sure how the interface will settle, so I'm using that as an excuse for holding off on starting the documentation. [ 1/18] lei: Add command and mode for displaying a message [ 2/18] piem-lei-show: Let caller suppress displaying buffer [ 3/18] piem-lei-show: Highlight headers and quoted text [ 4/18] lei: Add command and mode for displaying overview of search results [ 5/18] lei query: Add piem-lei-show wrapper for displaying line's message [ 6/18] lei: Add command for viewing a thread [ 7/18] lei query: Fontify results [ 8/18] piem-lei-query-thread: Position point on seed message [ 9/18] piem-lei-query-thread: Drop repeated subjects [10/18] piem-lei-query-thread: Deal with multiple "re:"s [11/18] piem-lei-query-thread: Omit main part of subject if shared [12/18] piem-lei-query-thread: Add bug#NNN special case when eliding subject [13/18] lei query: Add next/previous line variants that update message buffer [14/18] piem-lei-show: Record message ID [15/18] lei query: Add commands for showing or scrolling message buffer [16/18] lei: Configure bindings for query and show modes [17/18] lei: Wire up piem.el hooks [18/18] piem-lei-query-thread: Use piem-lei-get-mid to get message ID Makefile | 6 +- piem-lei.el | 612 ++++++++++++++++++++++++++++++++++++++++ tests/piem-lei-tests.el | 120 ++++++++ tests/piem-tests.el | 1 + 4 files changed, 737 insertions(+), 2 deletions(-) create mode 100644 piem-lei.el create mode 100644 tests/piem-lei-tests.el base-commit: 5bc055a18ee987cd950f948830e9eef8855fd41b -- 2.31.1