diff options
-rw-r--r-- | emacs/.config/emacs-kj/init.el | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/emacs/.config/emacs-kj/init.el b/emacs/.config/emacs-kj/init.el index e1474f8..12d8e45 100644 --- a/emacs/.config/emacs-kj/init.el +++ b/emacs/.config/emacs-kj/init.el @@ -719,9 +719,33 @@ ;; ("SPC" "Quit" transient-quit-all)] ;; ) +(defvar kj/leader-repeat-map + (let ((map (make-sparse-keymap))) + (define-key map (kbd "@") 'er/expand-region) + (define-key map (kbd "!") (defun kj/contract-region () + (er/expand-region -1))) + map) + "kj/leader-map keymap.") + +(defun repeatize (keymap) + "Add `repeat-mode' support to a KEYMAP." + (map-keymap + (lambda (_key cmd) + (when (symbolp cmd) + (put cmd 'repeat-map keymap))) + (symbol-value keymap))) +(repeatize 'kj/leader-repeat-map) + +(defvar kj/leader-map + (let ((map (make-sparse-keymap))) + (define-key map (kbd "b") 'consult-buffer) + (set-keymap-parent map kj/leader-repeat-map) + map) + "kj/leader-map keymap.") + (defvar kj/keys-minor-mode-map (let ((map (make-sparse-keymap))) - (define-key map (kbd "C-t") 'kj/transient) + (define-key map (kbd "C-t") kj/leader-map) map) "kj/keys-minor-mode keymap.") |