+ :sh can now be fed commands to run immediately, e.g. :sh cd %:P to start from the current project root. + Eshell will spawn a new eshell on every split. This can be controlled via `+eshell-enable-new-shell-on-split' + Eshell can be configured to kill the window when you kill the eshell process. This is disabled by default. See `+eshell-kill-window-on-exit'. Some commands ignore this, like the quit-and-close command (I alias this to "q"). + eshell-directory-name has been moved to doom-etc-dir/eshell. It will seem like eshell has forgotten all your history, but you can move ~/.eshell (or ~/.doom.d/eshell) to ~/.emacs.d/.local/etc/eshell and you'll be fine. + eshell-aliases-file has been moved to ~/.doom.d/eshell_aliases by default. + Automatic writing to eshell-aliases-file has been disabled. No shell so aggressively persists aliases. You may maintain it yourself, or use the new +eshell-aliases variable to customize eshell from Doom. + C-s now invokes a history search with ivy/helm. + C-c s and C-c v split horizontally and vertically. Inspired by tmux. + C-c x kill the current eshell and its window. Inspired by tmux.j + New set-eshell-alias! autodef for defining your own aliases. + +eshell/open-workspace has been replaced with +eshell/open-fullscreen. + Added the "cd-to-project" command. I suggest you alias it.
31 lines
1.1 KiB
EmacsLisp
31 lines
1.1 KiB
EmacsLisp
;;; emacs/eshell/autoload/prompts.el -*- lexical-binding: t; -*-
|
|
|
|
;;;###autoload
|
|
(defface +eshell-prompt-pwd '((t :inherit font-lock-constant-face))
|
|
"TODO"
|
|
:group 'eshell)
|
|
|
|
;;;###autoload
|
|
(defface +eshell-prompt-git-branch '((t :inherit font-lock-builtin-face))
|
|
"TODO"
|
|
:group 'eshell)
|
|
|
|
|
|
(defun +eshell--current-git-branch ()
|
|
(let ((branch (car (cl-loop for match in (split-string (shell-command-to-string "git branch") "\n")
|
|
if (string-match-p "^\*" match)
|
|
collect match))))
|
|
(if (not (eq branch nil))
|
|
(format " [%s]" (substring branch 2))
|
|
"")))
|
|
|
|
;;;###autoload
|
|
(defun +eshell-default-prompt ()
|
|
"Generate the prompt string for eshell. Use for `eshell-prompt-function'."
|
|
(concat (if (bobp) "" "\n")
|
|
(propertize (abbreviate-file-name (shrink-path-file (eshell/pwd)))
|
|
'face '+eshell-prompt-pwd)
|
|
(propertize (+eshell--current-git-branch)
|
|
'face '+eshell-prompt-git-branch)
|
|
(propertize " λ" 'face (if (zerop eshell-last-command-status) 'success 'error))
|
|
" "))
|