From ea35825e1d9d7f81c05b7e96bc903473a37a3ae6 Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Thu, 17 Dec 2015 01:24:36 +0100 Subject: Move eshell-C-d to eshell library --- emacs/.emacs.d/site-lisp/oni-eshell.el | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'emacs/.emacs.d/site-lisp') diff --git a/emacs/.emacs.d/site-lisp/oni-eshell.el b/emacs/.emacs.d/site-lisp/oni-eshell.el index c0d3d13..988afd2 100644 --- a/emacs/.emacs.d/site-lisp/oni-eshell.el +++ b/emacs/.emacs.d/site-lisp/oni-eshell.el @@ -25,6 +25,7 @@ ;;; Code: (require 'em-dirs) +(require 'em-prompt) ;;;###autoload (defun eshell/cdp () @@ -49,5 +50,21 @@ directory in it." 'action (lambda (button) (browse-url (button-label button))))))) +;;;###autoload +(defun oni:eshell-C-d () + "Either call `delete-char' interactively or quit." + (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)))))) + +;;;###autoload +(defun oni:set-keys-for-eshell () + "Set some keybindings for `eshell'." + (define-key eshell-mode-map (kbd "C-d") #'oni:eshell-C-d)) + (provide 'oni-eshell) ;;; oni-eshell.el ends here -- cgit v1.2.3-54-g00ecf