aboutsummaryrefslogtreecommitdiff
path: root/common/.config/emacs
diff options
context:
space:
mode:
authorjjanzen <jjanzen@jjanzen.ca>2025-03-13 18:02:18 -0500
committerjjanzen <jjanzen@jjanzen.ca>2025-03-13 18:02:18 -0500
commitb729cdd7d98ea2e82acfb0e2c187ab56ae5594cd (patch)
treee4a51346678002f7289cd8aad9a165576e844a65 /common/.config/emacs
parent8f4b5c68ab91f5e68d4da2cde402e9ba96bbb48b (diff)
system changes
Diffstat (limited to 'common/.config/emacs')
-rw-r--r--common/.config/emacs/init.el.org12
1 files changed, 10 insertions, 2 deletions
diff --git a/common/.config/emacs/init.el.org b/common/.config/emacs/init.el.org
index e72c719..c7826ce 100644
--- a/common/.config/emacs/init.el.org
+++ b/common/.config/emacs/init.el.org
@@ -314,19 +314,27 @@ Install and configure =eat= as a terminal emulator in Emacs.
(use-package eat
:init
(setopt eat-kill-buffer-on-exit t)
- ;;(add-to-list 'eshell-modules-list 'eshell-rebind)
+ (defun jj/eshell-quit-or-delete-char (arg)
+ (interactive "p")
+ (if (and (eolp) (looking-back eshell-prompt-regexp))
+ (progn
+ (eshell-life-is-too-much)
+ (ignore-errors
+ (delete-window)))
+ (delete-forward-char arg)))
:config
(eat-eshell-mode)
(setq eshell-visual-commands '())
:hook
(eat-mode . (lambda () (display-line-numbers-mode -1)))
(eshell-mode . (lambda () (display-line-numbers-mode -1)
+ (bind-keys :map eshell-mode-map ("C-d" . jj/eshell-quit-or-delete-char))
(eshell/alias "ll" "ls -alF $@*")
(eshell/alias "la" "ls -a $@*")
(eshell/alias "l" "ls -F $@*")))
:bind
("C-c v" . eshell)
- (:map eshell-mode-map ("C-d" . eshell-delchar-or-maybe-eof)))
+ (:map eshell-mode-map ("C-d" . jj/eshell-quit-or-delete-char)))
#+end_src
Use =corfu= and =vertico= for completions. =orderless= is used to allow searching in any portion of a string and =marginalia= gives descriptions of items in the list.