Tive o mesmo problema, depois que algumas pesquisas descobriram que isso repo e adotei meu código para a seguinte solução:
Obter nome da agência:
(defun git-prompt-branch-name ()
"Get current git branch name"
(let ((args '("symbolic-ref" "HEAD" "--short")))
(with-temp-buffer
(apply #'process-file "git" nil (list t nil) nil args)
(unless (bobp)
(goto-char (point-min))
(buffer-substring-no-properties (point) (line-end-position))))))
Função de solicitação personalizada:
(defun 4lex1v:eshell-prompt ()
(let ((branch-name (git-prompt-branch-name)))
(concat
"\n# " (user-login-name) " in " (abbreviate-file-name (eshell/pwd)) "\n"
(if branch-name (format "git:(%s) >> " branch-name) ">> ")
)))
Configurar:
(setq eshell-prompt-function #'4lex1v:eshell-prompt
eshell-prompt-regexp ".*>>+ ")