aboutsummaryrefslogtreecommitdiff
path: root/modules/eshell-config.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-25 22:23:53 -0400
committerCraig Jennings <c@cjennings.net>2026-06-25 22:23:53 -0400
commitfcf171cc9108bc4501c4e877b110a56d1f605297 (patch)
tree24a1c4b5104ff5fd6dc34341cf46e2e0c65e4c7c /modules/eshell-config.el
parentb3035c595bfe8b2aa7177ae2c9bfbf2b39a7d585 (diff)
downloaddotemacs-fcf171cc9108bc4501c4e877b110a56d1f605297.tar.gz
dotemacs-fcf171cc9108bc4501c4e877b110a56d1f605297.zip
feat(eshell): run eshell commands through EAT via eat-eshell-mode
Enable eat-eshell-mode so eshell's external commands run in a real EAT terminal: visual commands (vim, htop, less) render properly and ANSI output is faithful, while eshell stays the shell (elisp functions as commands, TRAMP transparency). Activated when eshell loads. EAT handles color natively, so it likely supersedes xterm-color for eshell -- left in place pending an interactive color check.
Diffstat (limited to 'modules/eshell-config.el')
-rw-r--r--modules/eshell-config.el9
1 files changed, 9 insertions, 0 deletions
diff --git a/modules/eshell-config.el b/modules/eshell-config.el
index c2ec6d15..33b900af 100644
--- a/modules/eshell-config.el
+++ b/modules/eshell-config.el
@@ -179,6 +179,15 @@ pairs where COMMAND is the `cd' string `eshell/alias' should run."
(delete-window)))
(advice-add 'eshell-life-is-too-much :after 'cj/eshell-delete-window-on-exit)
+;; Run eshell's external commands through EAT (a real terminal): visual commands
+;; (vim, htop, less) render properly and ANSI output is faithful, while eshell
+;; stays the shell -- elisp functions as commands + TRAMP transparency. EAT
+;; handles color itself, so it supersedes xterm-color for eshell; the
+;; xterm-color block below stays for now and steps aside if colors double up.
+(with-eval-after-load 'esh-mode
+ (require 'eat)
+ (eat-eshell-mode 1))
+
(use-package eshell-toggle
:custom
(eshell-toggle-size-fraction 2)