Fix evil-escape aborting multiedit too eagerly

When evil-escape is invoked from multiedit-insert state, it erroneously
quits the current multiedit session entirely. No more.

This can be removed when syl20bnr/evil-escape#83 is merged.
This commit is contained in:
Henrik Lissner 2018-06-19 14:11:01 +02:00
parent 746d90c330
commit ba1488279b
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -248,6 +248,12 @@ variable for an explanation of the defaults (in comments). See
(add-hook 'pre-command-hook #'evil-escape-pre-command-hook)
(evil-define-key* '(insert replace visual operator) 'global "\C-g" #'evil-escape)
:config
;; TODO PR this upstream
(defun +evil*escape-func (ret)
(if (eq evil-state 'multiedit-insert)
#'evil-multiedit-state
ret))
(advice-add #'evil-escape-func :filter-return #'+evil*escape-func)
;; no `evil-escape' in minibuffer
(add-hook 'evil-escape-inhibit-functions #'minibufferp))