diff options
author | Amin Bandali <amin@gnu.org> | 2018-08-29 22:13:15 -0400 |
---|---|---|
committer | Amin Bandali <amin@gnu.org> | 2018-08-29 22:13:15 -0400 |
commit | 4d987946cb62cd565b696cda7f2a2316fc93dc8b (patch) | |
tree | 82ed3bab1b3f92889c29f9bbc3b116f43fea6576 | |
parent | f1e3161264dec7f2d12f0280a0b71d11e62cc5c4 (diff) | |
download | configs-4d987946cb62cd565b696cda7f2a2316fc93dc8b.tar.gz configs-4d987946cb62cd565b696cda7f2a2316fc93dc8b.tar.xz configs-4d987946cb62cd565b696cda7f2a2316fc93dc8b.zip |
[emacs] have C-d quit eshell on empty prompt input
-rw-r--r-- | init.org | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -753,6 +753,26 @@ There's no way I could top that, so I won't attempt to. (defalias 'locate #'counsel-locate)) #+end_src +*** eshell + +#+begin_src emacs-lisp +(use-package eshell + :commands eshell + :config + (eval-when-compile (defvar eshell-prompt-regexp)) + (defun amin/eshell-quit-or-delete-char (arg) + (interactive "p") + (if (and (eolp) (looking-back eshell-prompt-regexp nil)) + (eshell-life-is-too-much) + (delete-char arg))) + + (defun amin|eshell-setup () + (bind-keys :map eshell-mode-map + ("C-d" . amin/eshell-quit-or-delete-char))) + + :hook (eshell-mode . amin|eshell-setup)) +#+end_src + * Borg's =layer/essentials= TODO: break this giant source block down into individual org sections. |