From 3f23480cb91c5b2eeb9ea2e6168fcceab96e2b4e Mon Sep 17 00:00:00 2001 From: Alexander Rosenberg Date: Mon, 10 Feb 2025 23:26:17 -0800 Subject: [PATCH] Add some evil fixes to eat --- init.el | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/init.el b/init.el index faab897..e58fdbe 100644 --- a/init.el +++ b/init.el @@ -2381,7 +2381,28 @@ argument." ("M-o" . ace-window) :map eat-eshell-semi-char-mode-map ("M-o" . ace-window)) + :init + (evil-define-key 'insert eat-semi-char-mode-map + (kbd "") #'eat-self-input + (kbd "C-S-n") #'evil-normal-state) :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) + (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)) + (not (eq evil-state 'insert))) + (apply oldfun r))) + (advice-add 'evil--sw-refresh-cursor :around + #'my/-evil-disable-cursor-in-eat-buffer) + ;; Evil fixes done + (defvar my/project-eat-hash-table (make-hash-table :test 'equal) "Hash table that maps project root dirs to eat buffers.") (defun my/-eat-shell-for-cwd ()