💥 private/default: add +bindings, +snippets & +evil-commands features #383
This is a breaking change. You'll need to add these three flags to your init.el to restore the defaults.
This commit is contained in:
parent
5210ee5f7e
commit
26d1dd7991
2 changed files with 62 additions and 57 deletions
|
@ -138,5 +138,6 @@
|
|||
;; the defaults module. It contains a Spacemacs-inspired keybinding
|
||||
;; scheme and additional ex commands for evil-mode. Use it as a reference
|
||||
;; for your own.
|
||||
:private default)
|
||||
:private
|
||||
(default +bindings +snippets +evil-commands))
|
||||
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
;;; private/default/config.el -*- lexical-binding: t; -*-
|
||||
|
||||
(load! +bindings)
|
||||
(if (featurep! +bindings) (load! +bindings))
|
||||
|
||||
|
||||
;;
|
||||
;; Plugins
|
||||
;;
|
||||
|
||||
(def-package! emacs-snippets :after yasnippet)
|
||||
(def-package! emacs-snippets
|
||||
:if (featurep! +snippets)
|
||||
:after yasnippet)
|
||||
|
||||
|
||||
;;
|
||||
|
@ -22,63 +24,65 @@
|
|||
|
||||
|
||||
(when (featurep 'evil)
|
||||
(load! +evil-commands)
|
||||
(when (featurep! +evil-commands)
|
||||
(load! +evil-commands))
|
||||
|
||||
;; 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 (kbd ";") ',next-func)
|
||||
(define-key evil-motion-state-map (kbd ",") ',prev-func))
|
||||
(advice-add #',command :before #',fn-sym))))
|
||||
(when (featurep! +bindings)
|
||||
;; 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 (kbd ";") ',next-func)
|
||||
(define-key evil-motion-state-map (kbd ",") ',prev-func))
|
||||
(advice-add #',command :before #',fn-sym))))
|
||||
|
||||
;; n/N
|
||||
(do-repeat! evil-ex-search-next evil-ex-search-next evil-ex-search-previous)
|
||||
(do-repeat! evil-ex-search-previous evil-ex-search-next evil-ex-search-previous)
|
||||
(do-repeat! evil-ex-search-forward evil-ex-search-next evil-ex-search-previous)
|
||||
(do-repeat! evil-ex-search-backward evil-ex-search-next evil-ex-search-previous)
|
||||
;; n/N
|
||||
(do-repeat! evil-ex-search-next evil-ex-search-next evil-ex-search-previous)
|
||||
(do-repeat! evil-ex-search-previous evil-ex-search-next evil-ex-search-previous)
|
||||
(do-repeat! evil-ex-search-forward evil-ex-search-next evil-ex-search-previous)
|
||||
(do-repeat! evil-ex-search-backward evil-ex-search-next evil-ex-search-previous)
|
||||
|
||||
;; f/F/t/T/s/S
|
||||
(after! evil-snipe
|
||||
(setq evil-snipe-repeat-keys nil
|
||||
evil-snipe-override-evil-repeat-keys nil) ; causes problems with remapped ;
|
||||
;; f/F/t/T/s/S
|
||||
(after! evil-snipe
|
||||
(setq evil-snipe-repeat-keys nil
|
||||
evil-snipe-override-evil-repeat-keys nil) ; causes problems with remapped ;
|
||||
|
||||
(do-repeat! evil-snipe-f evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||
(do-repeat! evil-snipe-F evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||
(do-repeat! evil-snipe-t evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||
(do-repeat! evil-snipe-T evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||
(do-repeat! evil-snipe-s evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||
(do-repeat! evil-snipe-S evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||
(do-repeat! evil-snipe-x evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||
(do-repeat! evil-snipe-X evil-snipe-repeat evil-snipe-repeat-reverse))
|
||||
(do-repeat! evil-snipe-f evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||
(do-repeat! evil-snipe-F evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||
(do-repeat! evil-snipe-t evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||
(do-repeat! evil-snipe-T evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||
(do-repeat! evil-snipe-s evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||
(do-repeat! evil-snipe-S evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||
(do-repeat! evil-snipe-x evil-snipe-repeat evil-snipe-repeat-reverse)
|
||||
(do-repeat! evil-snipe-X evil-snipe-repeat evil-snipe-repeat-reverse))
|
||||
|
||||
;; */#
|
||||
(after! evil-visualstar
|
||||
(do-repeat! evil-visualstar/begin-search-forward
|
||||
evil-ex-search-next evil-ex-search-previous)
|
||||
(do-repeat! evil-visualstar/begin-search-backward
|
||||
evil-ex-search-previous evil-ex-search-next))
|
||||
;; */#
|
||||
(after! evil-visualstar
|
||||
(do-repeat! evil-visualstar/begin-search-forward
|
||||
evil-ex-search-next evil-ex-search-previous)
|
||||
(do-repeat! evil-visualstar/begin-search-backward
|
||||
evil-ex-search-previous evil-ex-search-next))
|
||||
|
||||
;; lazy-load `evil-easymotion'
|
||||
(map! :m "gs" #'+default/easymotion)
|
||||
(defun +default/easymotion ()
|
||||
(interactive)
|
||||
(let ((prefix (this-command-keys)))
|
||||
(evilem-default-keybindings prefix)
|
||||
(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))))
|
||||
;; lazy-load `evil-easymotion'
|
||||
(map! :m "gs" #'+default/easymotion)
|
||||
(defun +default/easymotion ()
|
||||
(interactive)
|
||||
(let ((prefix (this-command-keys)))
|
||||
(evilem-default-keybindings prefix)
|
||||
(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)))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue