aboutsummaryrefslogtreecommitdiff
path: root/bard-emacs-modules/bard-emacs-eshell.el
blob: e9349220becb8add40a69ac7e295fc0e12a655b3 (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
(use-package eshell
  :ensure nil
  :bind
  (("C-z e" . eshell-switcher))
  :config
  (require 'bard-eshell)
  ;; (setq eshell-banner-message "Time for another recreational programming session.\n\n")
  (setq eshell-banner-message
        '(format "%s %s\n %s\n"
                 (propertize (format " %s " (string-trim (buffer-name)))
                             'face 'mode-line-highlight)
                 (propertize (current-time-string)
                             'face 'font-lock-keyword-face)
		 (propertize "Time for another recreational programming session."
			         'face 'warning)))
  (setq bard/eshell-aliases
        '((g   . magit)
	      (gl  . magit-log)
	      (d   . dired)
	      (o   . find-file)
          (oo . find-file-other-window)
	      (vim . find-file)
	      (l  . (lambda () (eshell/ls '-la)))
	      (eshell/clear . eshell/clear-scrollback)))

  (mapc (lambda (alias)
	      (defalias (car alias) (cdr alias)))
        bard/eshell-aliases))

(use-package eshell
  :ensure nil
  :after esh-mode
  :bind
  (:map eshell-mode-map
        ("C-c C-e" . prot-eshell-export)
        ("M-k"     . eshell-kill-input)
        ("C-c C-d"   . prot-eshell-complete-recent-dir)
        ("C-c C-h"   . prot-eshell-narrow-output-highlight-regexp)
        ("C-c C-f"   . bard/eshell-find-file-at-point)))

(provide 'bard-emacs-eshell)