Don't invoke doom/escape too eagerly from evil
This fixes an issue where certain evil plugins would call evil-force-normal-state non-interactively, causing `doom-escape-hook` to wreck havoc. Instead, this should only happen when evil-force-normal-state is called interactively (e.g. via ESC in normal mode). Fixes evil-mc-make-cursor-move-next-line and evil-mc-make-cursor-move-prev-line.
This commit is contained in:
parent
ef9d8fb2e8
commit
69a796ff60
2 changed files with 7 additions and 1 deletions
|
@ -358,3 +358,9 @@ more information on modifiers."
|
|||
(when (and (not count) evil-auto-balance-windows)
|
||||
(balance-windows (window-parent)))
|
||||
(if file (evil-edit file)))
|
||||
|
||||
;;;###autoload
|
||||
(defun +evil*escape (&rest _)
|
||||
"Call `doom/escape' if `evil-force-normal-state' is called interactively."
|
||||
(when (called-interactively-p 'any)
|
||||
(call-interactively #'doom/escape)))
|
||||
|
|
|
@ -120,7 +120,7 @@ variable for an explanation of the defaults (in comments). See
|
|||
(setq save-silently t)
|
||||
(add-hook 'after-save-hook #'+evil|save-buffer))
|
||||
;; Make ESC (from normal mode) the universal escaper. See `doom-escape-hook'.
|
||||
(advice-add #'evil-force-normal-state :after #'doom/escape)
|
||||
(advice-add #'evil-force-normal-state :after #'+evil*escape)
|
||||
;; Don't move cursor when indenting
|
||||
(advice-add #'evil-indent :around #'+evil*static-reindent)
|
||||
;; monkey patch `evil-ex-replace-special-filenames' to improve support for
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue