| @@ -2150,39 +2150,45 @@ if arg given, use that eshell buffer, otherwise make new eshell buffer." | |||||
| (setq eshell-prompt-function | (setq eshell-prompt-function | ||||
| 'my-eshell-prompt-function) | 'my-eshell-prompt-function) | ||||
| (defun my-eshell-prompt-function () | |||||
| (with-temp-buffer | |||||
| (let (p1 p2 p3 p4) | |||||
| (insert ":: [") | |||||
| (setq p1 (point)) | |||||
| (insert user-login-name | |||||
| "@" | |||||
| (car (split-string system-name | |||||
| "\\.")) | |||||
| ) | |||||
| (setq p2 (point)) | |||||
| (insert ":") | |||||
| (setq p3 (point)) | |||||
| (insert (abbreviate-file-name default-directory)) | |||||
| (setq p4 (point)) | |||||
| (insert "]") | |||||
| (insert "\n:: ") | |||||
| (unless (eq 0 | |||||
| (defun my-eshell-prompt-function() | |||||
| "Prompt function. | |||||
| It looks like: | |||||
| :: [10sr@darwin:~/] | |||||
| :: $ | |||||
| " | |||||
| (concat ":: [" | |||||
| (let ((str (concat user-login-name | |||||
| "@" | |||||
| (car (split-string system-name | |||||
| "\\.")) | |||||
| ))) | |||||
| (put-text-property 0 | |||||
| (length str) | |||||
| 'face | |||||
| 'underline | |||||
| str) | |||||
| str) | |||||
| ":" | |||||
| (let ((str (abbreviate-file-name default-directory))) | |||||
| (put-text-property 0 | |||||
| (length str) | |||||
| 'face | |||||
| 'underline | |||||
| str) | |||||
| str) | |||||
| "]\n:: " | |||||
| (if (eq 0 | |||||
| eshell-last-command-status) | eshell-last-command-status) | ||||
| (insert (format "[STATUS:%d] " | |||||
| eshell-last-command-status))) | |||||
| (insert (if (= (user-uid) | |||||
| 0) | |||||
| "# " | |||||
| "$ ")) | |||||
| (add-text-properties p1 | |||||
| p2 | |||||
| '(face underline)) | |||||
| (add-text-properties p3 | |||||
| p4 | |||||
| '(face underline)) | |||||
| (buffer-substring (point-min) | |||||
| (point-max))))) | |||||
| "" | |||||
| (format "[STATUS:%d] " | |||||
| eshell-last-command-status)) | |||||
| (if (= (user-uid) | |||||
| 0) | |||||
| "# " | |||||
| "$ ") | |||||
| )) | |||||
| (add-hook 'eshell-mode-hook | (add-hook 'eshell-mode-hook | ||||
| (lambda () | (lambda () | ||||
| @@ -2207,10 +2213,10 @@ if arg given, use that eshell buffer, otherwise make new eshell buffer." | |||||
| 'scroll-down-line) | 'scroll-down-line) | ||||
| (define-key eshell-mode-map (kbd "<down>") | (define-key eshell-mode-map (kbd "<down>") | ||||
| 'scroll-up-line) | 'scroll-up-line) | ||||
| (define-key eshell-mode-map | |||||
| (kbd "C-p") 'eshell-previous-matching-input-from-input) | |||||
| (define-key eshell-mode-map | |||||
| (kbd "C-n") 'eshell-next-matching-input-from-input) | |||||
| ;; (define-key eshell-mode-map | |||||
| ;; (kbd "C-p") 'eshell-previous-matching-input-from-input) | |||||
| ;; (define-key eshell-mode-map | |||||
| ;; (kbd "C-n") 'eshell-next-matching-input-from-input) | |||||
| (apply 'eshell/addpath exec-path) | (apply 'eshell/addpath exec-path) | ||||
| (set (make-local-variable 'scroll-margin) 0) | (set (make-local-variable 'scroll-margin) 0) | ||||