summaryrefslogtreecommitdiff
path: root/.config/emacs/modules/bd--shells.el
diff options
context:
space:
mode:
Diffstat (limited to '.config/emacs/modules/bd--shells.el')
-rw-r--r--.config/emacs/modules/bd--shells.el57
1 files changed, 57 insertions, 0 deletions
diff --git a/.config/emacs/modules/bd--shells.el b/.config/emacs/modules/bd--shells.el
new file mode 100644
index 0000000..8bcd9c4
--- /dev/null
+++ b/.config/emacs/modules/bd--shells.el
@@ -0,0 +1,57 @@
+;; -*- lexical-binding: t; -*-
+
+
+(require 'all-the-icons)
+
+
+;;;; term
+(defalias 'term 'ansi-term)
+
+
+;;;; eshell
+(defun eshell-open-buffer ()
+ "Opens eshell in the bottom
+side window."
+ (interactive)
+ (let ((curr-buffer (current-buffer))
+ (eshell (eshell)))
+ (switch-to-buffer curr-buffer)
+ (display-buffer-in-side-window (get-buffer eshell) '((side . top)))
+ (switch-to-buffer-other-window eshell)))
+
+
+(defun bd/get-prompt-path ()
+ (abbreviate-file-name (eshell/pwd)))
+
+(defun bd/eshell-prompt ()
+ "Assemble a shell prompt including host, git
+status, and path."
+ (concat
+ "\n"
+ (propertize (system-name) 'face `(:foreground "#edb54b"))
+ (format " %s " (all-the-icons-fileicon "gn"))
+ (propertize (bd/get-prompt-path) 'face `(:foreground "#33859d"))
+ (propertize (format-time-string " %a, %R") 'face `(:foreground "#888ba5"))
+ (propertize "\n> " 'face `(:foreground "#c33027"))))
+
+
+(require 'esh-mode)
+(keymap-global-set "C-z C-e" 'eshell-open-buffer)
+(keymap-set eshell-mode-map "C-q" 'delete-window) ; mostly for side window
+(keymap-set eshell-mode-map "<tab>" 'completion-at-point) ; mostly for side window
+(setopt eshell-prompt-function 'bd/eshell-prompt
+ eshell-prompt-regexp "^> "
+ eshell-scroll-to-bottom-on-input 'this
+ eshell-banner-message (concat "\n" (propertize " " 'display (create-image (expand-file-name "~/.config/emacs/images/raven.png") 'png nil :scale 0.2 :align-to "center")) "\n"))
+
+
+;;;; shell
+(require 'shell)
+(keymap-set shell-mode-map "C-c C-k" #'comint-clear-buffer)
+(setopt shell-command-prompt-show-cwd t
+ shell-highlight-undef-enable t
+ shell-kill-buffer-on-exit t
+ comint-prompt-read-only t)
+
+
+(provide 'bd--shells)