branch: externals/poke
commit f9f332c37dad705ae172e803ecb82cbf917cf767
Author: Jose E. Marchesi <[email protected]>
Commit: Jose E. Marchesi <[email protected]>
poke.el: new command `w' in poke-maps-mode
This command copies the name of the selected mapped entity in the
kill-ring. Useful to refer to it at the repl.
2022-03-28 Jose E. Marchesi <[email protected]>
* emacs/poke.el (poke-maps-cmd-copy-name-as-kill): Define.
(poke-maps-mode-map): Map command above to (kbd "w").
---
poke.el | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/poke.el b/poke.el
index a7b492f7cc..34645fa532 100644
--- a/poke.el
+++ b/poke.el
@@ -1264,6 +1264,15 @@ at the top of the `poke-maps-stack' stack."
(get-buffer-window-list)))
(select-window cur-window)))))
+(defun poke-maps-cmd-copy-name-as-kill ()
+ (interactive)
+ (let ((name (tabulated-list-get-id)))
+ (when name
+ (if (eq last-command 'kill-region)
+ (kill-append name nil)
+ (kill-new name))
+ (message "%s" name))))
+
(defvar poke-maps-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "RET") 'poke-maps-cmd-sub)
@@ -1273,6 +1282,7 @@ at the top of the `poke-maps-stack' stack."
(define-key map (kbd "n") 'poke-maps-cmd-next)
(define-key map (kbd "p") 'poke-maps-cmd-prev)
(define-key map (kbd "e") 'poke-maps-cmd-edit)
+ (define-key map (kbd "w") 'poke-maps-cmd-copy-name-as-kill)
map)
"Local keymap for `poke-maps-mode' buffer.")