blob: 4574cc6d3ccd3d5ee1c0d492bf092283907cf628 (
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
42
43
44
45
46
47
48
49
50
|
;; -*- lexical-binding: t; -*-
(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."
(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"))
(propertize (format-time-string " %a, %R") 'face `(:foreground "#888ba5"))
(propertize "\n> " 'face `(:foreground "#c33027")))))
(use-package eshell
:demand
:bind (("C-z C-e" . 'eshell-open-buffer)
:map eshell-mode-map
("C-q" . 'delete-window) ; mostly for side window
("<tab>" . completion-at-point))
:config
;; (eshell/addpath "~/Personal/scripts/")
: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))
|