>From 87426c1a071c498b1780b1e2ef2a98c6ec90b2eb Mon Sep 17 00:00:00 2001 From: "F. Jason Park" Date: Thu, 7 Jul 2022 02:04:40 -0700 Subject: [PATCH 3/3] [POC/FIXME] Add erc-message shortcuts to erc-pcomplete * lisp/erc/erc-pcomplete.el (pcomplete/erc-mode/MSG): Intercept a "." or a "," shortcut and possibly expand it in place, almost like an abbrev, to a target stored in `erc-server-last-peers'. This should probably be done elsewhere, such as during initial command-line parsing. Someone familiar with pcomplete please help! --- lisp/erc/erc-pcomplete.el | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lisp/erc/erc-pcomplete.el b/lisp/erc/erc-pcomplete.el index af8528dbc3..be733f17e9 100644 --- a/lisp/erc/erc-pcomplete.el +++ b/lisp/erc/erc-pcomplete.el @@ -144,6 +144,12 @@ pcomplete/erc-mode/SAY (while (pcomplete-here (pcomplete-erc-nicks)))) (defun pcomplete/erc-mode/MSG () + (when-let* (((= 1 pcomplete-index pcomplete-last)) + (a (pcomplete-arg 1 1)) + ((member a '("." ","))) + (s (erc--message-shortcut a))) + (with-silent-modifications (delete-char -1)) + (pcomplete-here (list s) "")) (pcomplete-here (append (pcomplete-erc-all-nicks) (pcomplete-erc-channels))) (while (pcomplete-here (pcomplete-erc-nicks)))) @@ -152,6 +158,7 @@ pcomplete/erc-mode/NAMES (while (pcomplete-here (pcomplete-erc-channels)))) (defalias 'pcomplete/erc-mode/NOTICE #'pcomplete/erc-mode/MSG) +(defalias 'pcomplete/erc-mode/M #'pcomplete/erc-mode/MSG) (defun pcomplete/erc-mode/OP () (while (pcomplete-here (pcomplete-erc-not-ops)))) -- 2.36.1