about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--.emacs.d/init.el1
-rw-r--r--.emacs.d/lisp/init-misc.el17
-rw-r--r--.emacs.d/lisp/init-shell.el44
3 files changed, 45 insertions, 17 deletions
diff --git a/.emacs.d/init.el b/.emacs.d/init.el
index 01968e2..d014eb8 100644
--- a/.emacs.d/init.el
+++ b/.emacs.d/init.el
@@ -40,6 +40,7 @@
 (require 'init-paredit-x)
 (require 'init-lsp)
 (require 'init-git)
+(require 'init-shell)
 (require 'init-org)
 ;;(require 'init-latex)
 (require 'init-xml)
diff --git a/.emacs.d/lisp/init-misc.el b/.emacs.d/lisp/init-misc.el
index e718c58..e9e04ee 100644
--- a/.emacs.d/lisp/init-misc.el
+++ b/.emacs.d/lisp/init-misc.el
@@ -24,23 +24,6 @@
   :commands minibuffer-edit
   :init (miniedit-install))
 
-(use-package multi-vterm
-  :bind (("C-c t" . multi-vterm-next)
-         ("C-c C-M-t" . multi-vterm)
-         (:map vterm-mode-map
-               ("M-[" . multi-vterm-prev)
-               ("M-]" . multi-vterm-next))))
-
-(use-package eshell
-  :ensure nil
-  :bind ("C-x m " . eshell)
-  :custom
-  (eshell-directory-name (expand-file-name "eshell" save-dir)))
-
-(use-package eshell-z
-  :defer t
-  :hook (eshell-mode . (lambda () (require 'eshell-z))))
-
 (use-package json-mode)
 (use-package csv-mode)
 (use-package yaml-mode
diff --git a/.emacs.d/lisp/init-shell.el b/.emacs.d/lisp/init-shell.el
new file mode 100644
index 0000000..f3eb3ed
--- /dev/null
+++ b/.emacs.d/lisp/init-shell.el
@@ -0,0 +1,44 @@
+;;; init-shell.el --- eshell/vterm Configuration File -*- lexical-binding: t -*-
+;;; Commentary:
+;;; Code:
+
+(use-package eshell
+  :ensure nil
+  :bind ("C-x m " . eshell)
+  :hook
+  (eshell-pre-command . eshell-save-some-history)
+  :custom
+  (eshell-directory-name (expand-file-name "eshell" save-dir))
+  :config
+  (setenv "PAGER" "cat"))
+
+(use-package eshell-z
+  :defer t
+  :hook (eshell-mode . (lambda () (require 'eshell-z))))
+
+(use-package esh-autosuggest
+  :hook (eshell-mode . esh-autosuggest-mode))
+
+(use-package eshell-syntax-highlighting
+  :after esh-mode
+  :config
+  (eshell-syntax-highlighting-global-mode +1))
+
+(use-package xterm-color
+  :hook
+  (eshell-before-prompt . (lambda ()
+                            (setq xterm-color-preserve-properties t)))
+  :config
+  (push 'xterm-color-filter eshell-preoutput-filter-functions)
+  (delq 'eshell-handle-ansi-color eshell-output-filter-functions)
+  (setenv "TERM" "xterm-256color"))
+
+(use-package multi-vterm
+  :bind (("C-c t" . multi-vterm-next)
+         ("C-c C-M-t" . multi-vterm)
+         (:map vterm-mode-map
+               ("M-[" . multi-vterm-prev)
+               ("M-]" . multi-vterm-next))))
+
+(provide 'init-shell)
+;;; init-shell.el ends here