summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2022-11-28 03:21:50 +0000
committerjao <jao@gnu.org>2022-11-28 03:21:50 +0000
commit4c5879f102054e36747d7e76e05dd806bea5ea10 (patch)
tree19d2bfa1623e08ef206a3d32441da91c856a5619
parentdf4136581bb603c9444bdaac9f17d464e6d52c8a (diff)
downloadelibs-4c5879f102054e36747d7e76e05dd806bea5ea10.tar.gz
elibs-4c5879f102054e36747d7e76e05dd806bea5ea10.tar.bz2
eat
-rw-r--r--init.el29
1 files changed, 21 insertions, 8 deletions
diff --git a/init.el b/init.el
index 70012d4..e887242 100644
--- a/init.el
+++ b/init.el
@@ -561,6 +561,7 @@
(pulsar-highlight-face 'jao-themes--hilite))
:config
(dolist (f '(jao-prev-window
+ jao-tracking-next-buffer
smartscan-symbol-go-forward
smartscan-symbol-go-backward))
(add-to-list 'pulsar-pulse-functions f))
@@ -1589,6 +1590,15 @@
(autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
(defvar jao-use-vterm nil)
+(defvar jao-use-eat nil)
+
+;;;; eat
+(use-package eat
+ :init (setq jao-use-eat t
+ eat-kill-buffer-on-exit t)
+ :hook ((eshell-mode . eat-eshell-mode)
+ (eshell-mode . eat-eshell-visual-command-mode))
+ :ensure t)
;;;; term
(defvar-local jao-term--cmd nil)
@@ -1601,14 +1611,17 @@
(buffer-list)))
(defun jao-exec-in-term (cmd &optional name)
- (if (and jao-use-vterm (fboundp 'jao-exec-in-vterm))
- (jao-exec-in-vterm cmd name)
- (ansi-term "bash" name)
- (set-process-sentinel (get-buffer-process (current-buffer))
- (lambda (process event)
- (when (string= event "finished\n")
- (kill-buffer (process-buffer process)))))
- (term-send-string nil (concat cmd " ; exit\n"))))
+ (cond ((and jao-use-vterm (fboundp 'jao-exec-in-vterm))
+ (jao-exec-in-vterm cmd name))
+ (jao-use-eat (let ((eat-term-name "xterm-256color"))
+ (eat cmd)
+ (setq jao-term--cmd cmd)))
+ (t (ansi-term "bash" name)
+ (set-process-sentinel (get-buffer-process (current-buffer))
+ (lambda (process event)
+ (when (string= event "finished\n")
+ (kill-buffer (process-buffer process)))))
+ (term-send-string nil (concat cmd " ; exit\n")))))
(defmacro jao-def-exec-in-term (name cmd &rest prelude)
`(defun ,(intern (format "jao-term-%s" name)) (&optional term)