doomemacs/modules/ui/ophints/config.el
Grazfather 0d5ed1e257 ophints: Add hooks for lispyville
Because lispyville (depending on how you configure it) replaces some
evil-mode mappings with its own function, we lose the indication of our
deletions/yanks/etc. This change adds all lispyville functions to the
evil-goggles--commands list.
2021-05-10 12:58:46 -04:00

73 lines
3.1 KiB
EmacsLisp

;;; ui/ophints/config.el -*- lexical-binding: t; -*-
(use-package! evil-goggles
:when (featurep! :editor evil)
:hook (doom-first-input . evil-goggles-mode)
:init
(setq evil-goggles-duration 0.1
evil-goggles-pulse nil ; too slow
;; evil-goggles provides a good indicator of what has been affected.
;; delete/change is obvious, so I'd rather disable it for these.
evil-goggles-enable-delete nil
evil-goggles-enable-change nil)
:config
(pushnew! evil-goggles--commands
'(evil-magit-yank-whole-line
:face evil-goggles-yank-face
:switch evil-goggles-enable-yank
:advice evil-goggles--generic-async-advice)
'(+evil:yank-unindented
:face evil-goggles-yank-face
:switch evil-goggles-enable-yank
:advice evil-goggles--generic-async-advice)
'(+eval:region
:face evil-goggles-yank-face
:switch evil-goggles-enable-yank
:advice evil-goggles--generic-async-advice))
(when (featurep! :editor lispy)
(pushnew! evil-goggles--commands
'(lispyville-delete
:face evil-goggles-delete-face
:switch evil-goggles-enable-delete
:advice evil-goggles--generic-blocking-advice)
'(lispyville-delete-line
:face evil-goggles-delete-face
:switch evil-goggles-enable-delete
:advice evil-goggles--delete-line-advice)
'(lispyville-yank
:face evil-goggles-yank-face
:switch evil-goggles-enable-yank
:advice evil-goggles--generic-async-advice)
'(lispyville-yank-line
:face evil-goggles-yank-face
:switch evil-goggles-enable-yank
:advice evil-goggles--generic-async-advice)
'(lispyville-change
:face evil-goggles-change-face
:switch evil-goggles-enable-change
:advice evil-goggles--generic-blocking-advice)
'(lispyville-change-line
:face evil-goggles-change-face
:switch evil-goggles-enable-change
:advice evil-goggles--generic-blocking-advice)
'(lispyville-change-whole-line
:face evil-goggles-change-face
:switch evil-goggles-enable-change
:advice evil-goggles--generic-blocking-advice)
'(lispyville-indent
:face evil-goggles-indent-face
:switch evil-goggles-enable-indent
:advice evil-goggles--generic-async-advice)
'(lispyville-join
:face evil-goggles-join-face
:switch evil-goggles-enable-join
:advice evil-goggles--join-advice))))
(use-package! volatile-highlights
:unless (featurep! :editor evil)
:hook (doom-first-input . volatile-highlights-mode)
:config
(after! undo-fu
(vhl/define-extension 'undo-fu 'undo-fu-only-undo 'undo-fu-only-redo)
(vhl/install-extension 'undo-fu)))