From de206d7b935d051005db78ae75c6d19380c94c11 Mon Sep 17 00:00:00 2001 From: Alexander Rosenberg Date: Tue, 11 Feb 2025 01:15:55 -0800 Subject: [PATCH] Fix eat in terminal and eat char mode with evil --- init.el | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/init.el b/init.el index e58fdbe..bbf0539 100644 --- a/init.el +++ b/init.el @@ -2388,12 +2388,7 @@ argument." :config ;; The below makes sure that the first time the ESC key is pressed, it does ;; what it is supposed to - (defun my/-fix-eat-evil-keymap () - (evil-normalize-keymaps) - (remove-hook 'eat-update-hook #'my/-fix-eat-evil-keymap t)) - (defun my/-setup-eat-terminal-keymap-fix () - (add-hook 'eat-update-hook #'my/-fix-eat-evil-keymap nil t)) - (add-hook 'eat-mode-hook #'my/-setup-eat-terminal-keymap-fix) + (add-hook 'eat--semi-char-mode-hook #'evil-normalize-keymaps) (defun my/-evil-disable-cursor-in-eat-buffer (oldfun &rest r) "Disable `evil--sw-refresh-cursor' in `eat-mode' buffers." (when (or (not (derived-mode-p 'eat-mode)) @@ -2401,6 +2396,15 @@ argument." (apply oldfun r))) (advice-add 'evil--sw-refresh-cursor :around #'my/-evil-disable-cursor-in-eat-buffer) + (defun my/-eat-update-cursor-on-tty (&rest r) + (etcc--evil-set-cursor)) + (advice-add 'eat--set-cursor :after + #'my/-eat-update-cursor-on-tty) + (defun my/-eat-disable-evil-in-char-mode () + (if eat--char-mode + (evil-local-mode -1) + (evil-local-mode 1))) + (add-hook 'eat--char-mode-hook #'my/-eat-disable-evil-in-char-mode) ;; Evil fixes done (defvar my/project-eat-hash-table (make-hash-table :test 'equal)