diff options
Diffstat (limited to 'emacs/.config/emacs-kj/lisp/kj-lib.el')
-rw-r--r-- | emacs/.config/emacs-kj/lisp/kj-lib.el | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/emacs/.config/emacs-kj/lisp/kj-lib.el b/emacs/.config/emacs-kj/lisp/kj-lib.el new file mode 100644 index 0000000..117584b --- /dev/null +++ b/emacs/.config/emacs-kj/lisp/kj-lib.el @@ -0,0 +1,17 @@ +;;; -*- lexical-binding: t; -*- + +(defmacro define-repeating-key (keymap key cmd &optional desc) + "DEF may be a cons cell (DESCRIPTION . FUNC) or a command." + `(let ((def + ,(if desc + `'(,desc ,cmd) + `',cmd))) + (define-key ,keymap ,key def) + (put ',cmd 'repeat-map ',keymap))) + +(provide 'kj-lib) + +(macroexpand '(define-repeating-key map "." mc/mark-next-like-this )) +(define-repeating-map) + +(macroexpand '(define-repeating-key map "." mc/mark-next-like-this "→ this")) |