From 3235e7bd7b95de1f21499a27bddef3b40210acac Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 20 Jun 2025 17:43:07 +0200 Subject: [PATCH] fix: eat keybindings, do not treat eat manual windows as eat --- init.el | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/init.el b/init.el index f9ab298..2d2b7cc 100644 --- a/init.el +++ b/init.el @@ -550,7 +550,8 @@ "Output\\*$" "\\*Async Shell Command\\*" ;; "^\\*Embark Collect: " - "\\(?:\\*-eat\\*\\|.*eat\\*\\)" + "^\\*eat\\*$" + "-eat\\*$" "\\*jupyter-repl" "\\*jupyter-error\\*" "\\*Python\\*" @@ -983,23 +984,39 @@ (my-use-package eat :ensure t - :commands eat + :commands (eat eat-project) :init (defun eat-toggle () (interactive) (if (string-match-p "\\(?:\\*-eat\\*\\|.*eat\\*\\)" (buffer-name)) (delete-window) (eat-project))) + :hook + (eat-exec . (lambda (_) (eat-line-mode))) :custom (eat-enable-auto-line-mode t) + :bind + (:map eat-line-mode-map + ("C-p" . eat-line-previous-input) + ("C-n" . eat-line-next-input)) :general (my-leader + "t p" '(eat-scroll-to-prompt :wk "Scroll to prompt") "t t" '(eat-toggle :wk "Toggle terminal") "t T" '(eat :project "Open terminal") "t p" '(eat-project :wk "Open project terminal") "t l" '(eat-line-mode :wk "Eat Line mode") "t c" '(eat-char-mode :wk "Eat Line mode") - "t s" '(eat-semi-char-mode :wk "Eat Line mode"))) + "t s" '(eat-semi-char-mode :wk "Eat Line mode")) + :config + ;; Override keys from evil-collection + + (defun eat-scroll-to-prompt () + (interactive) + (eat--synchronize-scroll (list (selected-window)))) + (evil-collection-define-key 'insert 'eat-mode-map + (kbd "C-p") 'eat-line-previous-input + (kbd "C-n") 'eat-line-next-input)) ;; MMM mode ;; (my-use-package mmm-mode -- 2.49.0