From 99332da43b8324814ca6c1af7f0076f83c8ce233 Mon Sep 17 00:00:00 2001 From: Amin Bandali Date: Sun, 9 Feb 2025 02:09:16 -0500 Subject: Port the rest of my GNU Emacs configuration to use-package --- .emacs.d/lisp/bandali-eshell.el | 42 ++++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 15 deletions(-) (limited to '.emacs.d/lisp/bandali-eshell.el') diff --git a/.emacs.d/lisp/bandali-eshell.el b/.emacs.d/lisp/bandali-eshell.el index 444c796..e9476cd 100644 --- a/.emacs.d/lisp/bandali-eshell.el +++ b/.emacs.d/lisp/bandali-eshell.el @@ -24,12 +24,15 @@ ;;; Code: -(with-eval-after-load 'eshell - (setopt - eshell-hist-ignoredups t - eshell-input-filter #'eshell-input-filter-initial-space - eshell-prompt-regexp "^[^#$\n]* [#$] ; " - eshell-prompt-function +(use-package eshell + :defer t + :bind + ("C-c s e" . eshell) + :custom + (eshell-hist-ignoredups t) + (eshell-input-filter #'eshell-input-filter-initial-space) + (eshell-prompt-regexp "^[^#$\n]* [#$] ; ") + (eshell-prompt-function (lambda () (let ((uid (if (functionp #'file-user-uid) #'file-user-uid ; (version<= "30" emacs-version) @@ -41,7 +44,11 @@ (unless (eshell-exit-success-p) (format " [%d]" eshell-last-command-status)) (if (= (funcall uid) 0) " # " " $ ") - "; ")))) + "; "))))) + +(use-package esh-mode + :after eshell + :init (eval-when-compile (defvar eshell-prompt-regexp) (declare-function eshell-life-is-too-much "esh-mode") @@ -57,18 +64,23 @@ (let ((inhibit-read-only t)) (erase-buffer)) (eshell-send-input)) + :bind + (:map + eshell-mode-map + ("C-d" . b/eshell-quit-or-delete-char) + ("C-S-l" . b/eshell-clear))) + +(use-package esh-hist + :after eshell + :init (defun b/eshell-history () (interactive) (completing-read "Eshell history: " (ring-elements eshell-history-ring))) - (with-eval-after-load 'esh-mode - (let ((m eshell-mode-map)) - (b/keymap-set m "C-d" #'b/eshell-quit-or-delete-char) - (b/keymap-set m "C-S-l" #'b/eshell-clear))) - (with-eval-after-load 'esh-hist - (let ((m eshell-hist-mode-map)) - (b/keymap-set m "M-r" #'b/eshell-history)))) -(b/keymap-global-set "C-c s e" #'eshell) + :bind + (:map + eshell-hist-mode-map + ("M-r" . b/eshell-history))) (provide 'bandali-eshell) ;;; bandali-eshell.el ends here -- cgit v1.2.3-60-g2f50