Lazy-load evil-easymotion properly via keybinds #335

The package wasn't set up properly to autoload until evil-snipe did,
making its functionality inaccessible without an explicit (require
'evil-easymotion)
This commit is contained in:
Henrik Lissner 2018-01-14 23:37:48 -05:00
parent 10167b85b5
commit eece13f2ca
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 21 additions and 18 deletions

View file

@ -156,8 +156,7 @@
(def-package! evil-easymotion
:after evil-snipe
:commands evilem-create)
:commands (evilem-create evilem-default-keybindings))
(def-package! evil-embrace

View file

@ -61,20 +61,24 @@
(do-repeat! evil-visualstar/begin-search-backward
evil-ex-search-previous evil-ex-search-next))
(after! evil-easymotion
(let ((prefix (concat doom-leader-key " /")))
;; NOTE `evilem-default-keybinds' unsets all other keys on the prefix (in
;; motion state)
;; lazy-load `evil-easymotion'
(map! :m "gs" #'+default/easymotion)
(defun +default/easymotion ()
(interactive)
(let ((prefix (this-command-keys)))
(evilem-default-keybindings prefix)
(evilem-define (kbd (concat prefix " n")) #'evil-ex-search-next)
(evilem-define (kbd (concat prefix " N")) #'evil-ex-search-previous)
(evilem-define (kbd (concat prefix " s")) #'evil-snipe-repeat
:pre-hook (save-excursion (call-interactively #'evil-snipe-s))
:bind ((evil-snipe-scope 'buffer)
(evil-snipe-enable-highlight)
(evil-snipe-enable-incremental-highlight)))
(evilem-define (kbd (concat prefix " S")) #'evil-snipe-repeat-reverse
:pre-hook (save-excursion (call-interactively #'evil-snipe-s))
:bind ((evil-snipe-scope 'buffer)
(evil-snipe-enable-highlight)
(evil-snipe-enable-incremental-highlight))))))
(map! :map evilem-map
"n" (evilem-create #'evil-ex-search-next)
"N" (evilem-create #'evil-ex-search-previous)
"s" (evilem-create #'evil-snipe-repeat
:pre-hook (save-excursion (call-interactively #'evil-snipe-s))
:bind ((evil-snipe-scope 'buffer)
(evil-snipe-enable-highlight)
(evil-snipe-enable-incremental-highlight)))
"S" (evilem-create #'evil-snipe-repeat-reverse
:pre-hook (save-excursion (call-interactively #'evil-snipe-s))
:bind ((evil-snipe-scope 'buffer)
(evil-snipe-enable-highlight)
(evil-snipe-enable-incremental-highlight))))
(set-transient-map evilem-map)
(which-key-reload-key-sequence prefix))))