Make C-d quit eshell when appropriate
This commit is contained in:
parent
3106af31fe
commit
6167a906c6
1 changed files with 20 additions and 0 deletions
|
@ -23,3 +23,23 @@ Show the status of each command in the fringe of the eshell buffer.
|
|||
#+BEGIN_SRC emacs-lisp
|
||||
(add-hook 'eshell-mode-hook 'eshell-fringe-status-mode)
|
||||
#+END_SRC
|
||||
|
||||
Close the buffer when C-d is pressed and we're at the end of the
|
||||
buffer.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun oni:eshell-C-d ()
|
||||
"Call `delete-char' or close the buffer if it fails."
|
||||
(interactive)
|
||||
(condition-case err
|
||||
(call-interactively #'delete-char)
|
||||
(error (if (and (eq (car err) 'end-of-buffer)
|
||||
(looking-back eshell-prompt-regexp nil))
|
||||
(kill-buffer)
|
||||
(signal (car err) (cdr err))))))
|
||||
|
||||
(defun oni:set-eshell-C-d ()
|
||||
(define-key eshell-mode-map (kbd "C-d") #'oni:eshell-C-d))
|
||||
|
||||
(add-hook 'eshell-load-hook #'oni:set-eshell-C-d)
|
||||
#+END_SRC
|
||||
|
|
Loading…
Reference in a new issue