diff options
author | 2020-04-12 14:38:15 -0400 | |
---|---|---|
committer | 2020-04-12 14:38:15 -0400 | |
commit | 679463c61523f4eed0ab40468e9504166863e4ac (patch) | |
tree | a354c179d17459d234b2f94a3f57f0b3dc6ae648 /lisp/bandali-eshell.el | |
parent | 97141042900a4675b2fb9c8bef6bcae6c69c7f1e (diff) | |
download | configs-679463c61523f4eed0ab40468e9504166863e4ac.tar.gz configs-679463c61523f4eed0ab40468e9504166863e4ac.tar.xz configs-679463c61523f4eed0ab40468e9504166863e4ac.zip |
Move dired, eshell, ibuffer, ido, and ivy to separate files in lisp/
Diffstat (limited to '')
-rw-r--r-- | lisp/bandali-eshell.el | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/lisp/bandali-eshell.el b/lisp/bandali-eshell.el new file mode 100644 index 0000000..07ed623 --- /dev/null +++ b/lisp/bandali-eshell.el @@ -0,0 +1,50 @@ +(use-package eshell + :commands eshell + :bind ("C-c a s e" . eshell) + :config + (eval-when-compile (defvar eshell-prompt-regexp)) + (defun b/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 b/eshell-clear () + (interactive) + (let ((inhibit-read-only t)) + (erase-buffer)) + (eshell-send-input)) + + (defun b/eshell-setup () + (make-local-variable 'company-idle-delay) + (defvar company-idle-delay) + (setq company-idle-delay nil) + (bind-keys :map eshell-mode-map + ("C-d" . b/eshell-quit-or-delete-char) + ("C-S-l" . b/eshell-clear) + ("M-r" . counsel-esh-history) + ;; ([tab] . company-complete) + :map eshell-hist-mode-map + ("M-r" . counsel-esh-history))) + + (setq + eshell-prompt-regexp "\\(.*\n\\)*[$#] " + eshell-prompt-function + (lambda () + (concat + (propertize (format "%s@%s:" (user-login-name) (system-name)) + 'face 'default) + (propertize (abbreviate-file-name default-directory) + 'face 'font-lock-comment-face) + (propertize "\n" 'face 'default) + (if (= (user-uid) 0) + (propertize "#" 'face 'red) + (propertize "$" 'face 'default)) + (propertize " " 'face 'default)))) + + :hook (eshell-mode . b/eshell-setup) + :custom + (eshell-hist-ignoredups t) + (eshell-input-filter 'eshell-input-filter-initial-space)) + +(provide 'bandali-eshell) |