summaryrefslogtreecommitdiff
path: root/.config/emacs/bd-shells.el
blob: e6789c5891095049d53cc7a0f4c9b17bcc3a237c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
;; -*- lexical-binding: t; -*-


(defun bd/get-prompt-path ()
  (abbreviate-file-name (eshell/pwd)))

(defun bd/eshell-prompt ()
  "Assemble a shell prompt including host, git
status, and path."
  (let ((current-branch (magit-get-current-branch)))
    (concat
     "\n"
     (propertize (system-name) 'face `(:foreground "#edb54b"))
     (when current-branch
       (concat
        (format " %s " (all-the-icons-octicon "git-branch"))
        (propertize current-branch 'face `(:foreground "#98d1ce"))))
     (format " %s " (all-the-icons-fileicon "gn"))
     (propertize (bd/get-prompt-path) 'face `(:foreground "#33859d"))
     (format " %s " (all-the-icons-material "watch_later"))
     (propertize (format-time-string "%a, %R") 'face `(:foreground "#888ba5"))
     (propertize "\n> " 'face `(:foreground "#c33027")))))

(current-time-string)
(format-time-string "%a, %R")

(use-package eshell
  :init
  (require 'magit)
  :bind (:map eshell-mode-map
              ("<tab>" . completion-at-point))
  :custom
  (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")))


(use-package term
  :config
  (defalias 'term 'ansi-term))