Use rlwrap for `T' action (mark messages interactively for a sequence) - anmhi - nmh(7) interface that (ab)uses less, lesskey, tmux and entr
(HTM) hg clone https://bitbucket.org/iamleot/anmhi
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
(DIR) changeset 9083582da781cb66c5ac090ea448803e3be5bc58
(DIR) parent 0600bc264e71cd6948d00985ac848ab8c41a8727
(HTM) Author: Leonardo Taccari <iamleot@gmail.com>
Date: Tue, 3 Jul 2018 02:13:57
Use rlwrap for `T' action (mark messages interactively for a sequence)
If rlwrap is available generate a file with all the user defined
sequences as ${MHTMPDIR}/${anmhi_sequences} and passes it to rlwrap
via `-f' option.
At the moment no cleanup is done after doing that and
${MHTMPDIR}/${anmhi_sequences} is always overwritten.
Diffstat:
TODO | 2 --
anmhi | 15 ++++++++++++++-
2 files changed, 14 insertions(+), 3 deletions(-)
---
diff -r 0600bc264e71 -r 9083582da781 TODO
--- a/TODO Tue Jul 03 01:36:00 2018 +0200
+++ b/TODO Tue Jul 03 02:13:57 2018 +0200
@@ -6,5 +6,3 @@
and `L' action.
- Make the `fzy' dependency configurable via a variable (e.g. `dmenu'
can be used instead.)
-- When marking a sequence interactively, reuse rlwrap - if available -
- with the current sequences as history.
diff -r 0600bc264e71 -r 9083582da781 anmhi
--- a/anmhi Tue Jul 03 01:36:00 2018 +0200
+++ b/anmhi Tue Jul 03 02:13:57 2018 +0200
@@ -27,10 +27,12 @@
# POSSIBILITY OF SUCH DAMAGE.
#
+: ${MHTMPDIR:=/tmp}
anmhi_lesskey="$(mhpath +)/.lesskey"
anmhi_mark_sequence="marked"
anmhi_unseen_sequence="$(mhparam unseen-sequence)"
+anmhi_sequences=".mhcurseqs"
anmhi_scan_format='%<(cur)>%| %>%6(msg) %<(mymbox{from})%<{to}To: %13(unquote(decode(friendly{to})))%>%>%<(zero)%17(unquote(decode(friendly{from})))%> %3(day{date}) %3(month{date}) %02(mday{date}) %02(hour{date}):%02(min{date}) %(decode{subject})'
anmhi_lines=$(stty size | cut -d ' ' -f 1)
@@ -89,7 +91,18 @@
;;
T)
# Mark a message interactively asking for a sequence
- read sequence
+ if which rlwrap; then
+ cd "${MHTMPDIR}"
+ mark -list |
+ grep -Ev "(cur|`mhparam unseen-sequence`)" |
+ cut -d ':' -f 1 > "${anmhi_sequences}"
+ clear
+ sequence=$(rlwrap -f "${anmhi_sequences}" -s 0 -o cat | tr -d '[:space:]')
+ cd -
+ else
+ clear
+ read sequence
+ fi
if [ "${sequence}" ]; then
mark -sequence "${sequence}"
fi