config/default: add +default-repeat-{forward,backward}-key options

This commit is contained in:
Henrik Lissner 2018-03-25 22:39:03 -04:00
parent e41212bb7b
commit 1983363f9c
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -74,14 +74,17 @@
(load! +evil-commands))
(when (featurep! +bindings)
(defvar +default-repeat-forward-key ";")
(defvar +default-repeat-backward-key ",")
;; Makes ; and , the universal repeat-keys in evil-mode
(defmacro do-repeat! (command next-func prev-func)
"Repeat motions with ;/,"
(let ((fn-sym (intern (format "+evil*repeat-%s" command))))
`(progn
(defun ,fn-sym (&rest _)
(define-key evil-motion-state-map ";" ',next-func)
(define-key evil-motion-state-map "," ',prev-func))
(define-key evil-motion-state-map +default-repeat-forward-key ',next-func)
(define-key evil-motion-state-map +default-repeat-backward-key ',prev-func))
(advice-add #',command :before #',fn-sym))))
;; n/N