[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/eat aa0607e1cb 2/4: Use Eshell "emacs" mode map when proce
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/eat aa0607e1cb 2/4: Use Eshell "emacs" mode map when process is live |
Date: |
Sun, 11 Dec 2022 04:58:38 -0500 (EST) |
branch: elpa/eat
commit aa0607e1cb44b9f237ba2e5872333ed4dbb07f3e
Author: Akib Azmain Turja <akib@disroot.org>
Commit: Akib Azmain Turja <akib@disroot.org>
Use Eshell "emacs" mode map when process is live
* eat.el (eat-eshell-emacs-mode-map): Update docstring.
* eat.el (eat--eshell-process-running-mode): New
non-interactive minor mode.
* eat.el (eat--eshell-setup-proc-and-term): Enable
'eat--eshell-process-running-mode'.
* eat.el (eat--eshell-cleanup): Disable
'eat--eshell-process-running-mode'.
* eat.le (eat--eshell-local-mode): Don't use
'eat-eshell-emacs-mode-map' as the mode keymap.
---
eat.el | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/eat.el b/eat.el
index 5fa15476e0..bf7750f6fb 100644
--- a/eat.el
+++ b/eat.el
@@ -5234,7 +5234,7 @@ PROGRAM can be a shell command."
(define-key map [remap eshell-toggle-direct-send] ; C-c M-d
#'eat-eshell-char-mode)
map)
- "Keymap for Eat Eshell when no process is running.")
+ "Keymap for Eat Eshell \"emacs\" mode.")
(defvar eat-eshell-semi-char-mode-map
(let ((map (eat-term-make-keymap
@@ -5260,6 +5260,11 @@ PROGRAM can be a shell command."
map)
"Keymap for Eat Eshell char mode.")
+(define-minor-mode eat--eshell-process-running-mode
+ "Minor mode for \"emacs\" mode keymap when process is running."
+ :interactive nil
+ :keymap eat-eshell-emacs-mode-map)
+
(define-minor-mode eat--eshell-semi-char-mode
"Minor mode for semi-char mode keymap."
:interactive nil
@@ -5381,6 +5386,7 @@ PROGRAM can be a shell command."
(eat-term-redisplay eat--terminal)
(setq-local eshell-output-filter-functions
'(eat--eshell-output-filter))
+ (eat--eshell-process-running-mode +1)
(eat-eshell-semi-char-mode)))
(defun eat--eshell-cleanup ()
@@ -5403,6 +5409,7 @@ PROGRAM can be a shell command."
(kill-local-variable 'eshell-output-filter-functions)
(eat--eshell-semi-char-mode -1)
(eat--eshell-char-mode -1)
+ (eat--eshell-process-running-mode -1)
(setq buffer-read-only nil))))
(declare-function eshell-output-filter "esh-mode" (process string))
@@ -5553,7 +5560,6 @@ sane 2>%s ; if [ $1 = .. ]; then shift; fi; exec \"$@\""
(define-minor-mode eat--eshell-local-mode
"Toggle Eat terminal emulation is Eshell."
:interactive nil
- :keymap eat-eshell-emacs-mode-map
(let ((locals '(cursor-type
glyphless-char-display
track-mouse