From 69868a8f475dabf46a4069cd5cc333794e1fb595 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 1 May 2020 18:39:40 -0400 Subject: [PATCH] Fix evil-escape in evil-collection-powered minibuffer --- modules/editor/evil/config.el | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/editor/evil/config.el b/modules/editor/evil/config.el index 358e0cb1f..c9c27f272 100644 --- a/modules/editor/evil/config.el +++ b/modules/editor/evil/config.el @@ -280,8 +280,13 @@ directives. By default, this only recognizes C directives.") evil-escape-delay 0.15) (evil-define-key* '(insert replace visual operator) 'global "\C-g" #'evil-escape) :config - ;; no `evil-escape' in minibuffer - (add-hook 'evil-escape-inhibit-functions #'minibufferp) + ;; no `evil-escape' in minibuffer, unless `evil-collection-setup-minibuffer' + ;; is enabled, where we could be in insert mode in the minibuffer. + (add-hook! 'evil-escape-inhibit-functions + (defun +evil-inhibit-escape-in-minibuffer-fn () + (and (minibufferp) + (or (not (bound-and-true-p evil-collection-setup-minibuffer)) + (evil-normal-state-p))))) ;; so that evil-escape-mode-hook runs, and can be toggled by evil-mc (evil-escape-mode +1))