diff options
Diffstat (limited to 'lisp/eshell/em-prompt.el')
-rw-r--r-- | lisp/eshell/em-prompt.el | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/lisp/eshell/em-prompt.el b/lisp/eshell/em-prompt.el index bbf3b94ff44..dcee1e7a981 100644 --- a/lisp/eshell/em-prompt.el +++ b/lisp/eshell/em-prompt.el @@ -48,10 +48,9 @@ as is common with most shells." (autoload 'eshell/pwd "em-dirs") (defcustom eshell-prompt-function - (function - (lambda () - (concat (abbreviate-file-name (eshell/pwd)) - (if (= (user-uid) 0) " # " " $ ")))) + (lambda () + (concat (abbreviate-file-name (eshell/pwd)) + (if (= (user-uid) 0) " # " " $ "))) "A function that returns the Eshell prompt string. Make sure to update `eshell-prompt-regexp' so that it will match your prompt." @@ -97,8 +96,20 @@ arriving, or after." :options '(eshell-show-maximum-output) :group 'eshell-prompt) +(defvar eshell-prompt-mode-map + (let ((map (make-sparse-keymap))) + (define-key map (kbd "C-c C-n") #'eshell-next-prompt) + (define-key map (kbd "C-c C-p") #'eshell-previous-prompt) + map)) + ;;; Functions: +(define-minor-mode eshell-prompt-mode + "Minor mode for eshell-prompt module. + +\\{eshell-prompt-mode-map}" + :keymap eshell-prompt-mode-map) + (defun eshell-prompt-initialize () ;Called from `eshell-mode' via intern-soft! "Initialize the prompting code." (unless eshell-non-interactive-p @@ -110,9 +121,7 @@ arriving, or after." (set (make-local-variable 'eshell-skip-prompt-function) 'eshell-skip-prompt) - - (define-key eshell-command-map [(control ?n)] 'eshell-next-prompt) - (define-key eshell-command-map [(control ?p)] 'eshell-previous-prompt))) + (eshell-prompt-mode))) (defun eshell-emit-prompt () "Emit a prompt if eshell is being used interactively." |