doomemacs/modules/ui/ophints/config.el

74 lines
3.2 KiB
EmacsLisp
Raw Normal View History

;;; ui/ophints/config.el -*- lexical-binding: t; -*-
2017-06-04 13:27:19 -04:00
(use-package! evil-goggles
:when (modulep! :editor evil)
:hook (doom-first-input . evil-goggles-mode)
2017-06-07 03:57:21 +02:00
: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 (modulep! :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! goggles
:unless (modulep! :editor evil)
:hook ((prog-mode text-mode) . goggles-mode)
:config
(goggles-define +goggles-general-undo undo) ; goggles only supports `primitive-undo' by default
(goggles-define +goggles-register-paste insert-register)
(goggles-define +goggles-kill-word backward-kill-word kill-word)
(goggles-define +goggles-undo-fu undo-fu-only-undo undo-fu-only-redo))