[Emacs] Fix issue with path abbreviation in Eshell

This commit is contained in:
Lucien Cartier-Tilet 2020-12-02 17:29:14 +01:00
parent 888e237ab8
commit 312a7ebf2d
Signed by: phundrak
GPG Key ID: BD7789E705CB8DCA

View File

@ -1304,19 +1304,19 @@ With this established, lets write some emacs-lisp that will allow me to get a
:buffer "*org files*"))) :buffer "*org files*")))
#+END_SRC #+END_SRC
*** ~phundrak/is-dir-a-git-repo~ *** ~phundrak/git-repo-root~
:PROPERTIES: :PROPERTIES:
:CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-is-dir-a-git-repo-3bb5e09b :CUSTOM_ID: User-Configuration-Custom-functions-macros-and-variables-phundrak-git-repo-root-f7cf3bb9
:END: :END:
This function detects if the path passed as an argument points to a git directory or to one of its subdirectories. This function detects if the path passed as an argument points to a git directory or to one of its subdirectories. If it is, it will return the path to the root of the git repository, else it will return ~nil~.
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(defun phundrak/is-dir-a-git-repo ($path) (defun phundrak/git-repo-root ($path)
"Return `$path' if it points to a git repository or one of its "Return `$path' if it points to a git repository or one of its
subdirectories" subdirectories"
(when $path (when $path
(if (f-dir? (concat $path "/.git")) (if (f-dir? (concat $path "/.git"))
$path $path
(phundrak/is-dir-a-git-repo (f-parent $path))))) (phundrak/git-repo-root (f-parent $path)))))
#+END_SRC #+END_SRC
*** ~phundrak/yas-rust-new-assignments~ *** ~phundrak/yas-rust-new-assignments~
@ -1602,13 +1602,16 @@ As with most shells, again, it is possible to customize the appearance of the Es
failure respectively." failure respectively."
(let* ((header-bg phundrak/nord0) (let* ((header-bg phundrak/nord0)
($path (phundrak/abbr-path (eshell/pwd))) ($path (phundrak/abbr-path (eshell/pwd)))
($git-path (phundrak/is-dir-a-git-repo $path)) ($git-path (phundrak/git-repo-root $path))
($abbr-path (phundrak/abbr-path $path phundrak/prompt--abbreviate)) ($abbr-path (phundrak/abbr-path $path phundrak/prompt--abbreviate))
($background phundrak/nord1) ($background phundrak/nord1)
($foreground phundrak/nord14) ($foreground phundrak/nord14)
($success phundrak/nord10) ($success phundrak/nord10)
($error phundrak/nord11)) ($error phundrak/nord11))
(concat (with-face (concat " " (phundrak/var-or-if-nil $git-path $path) " ") (concat (with-face (concat " "
(phundrak/abbr-path (phundrak/var-or-if-nil $git-path $path)
phundrak/prompt--abbreviate)
" ")
:foreground $foreground :foreground $foreground
:background $background) :background $background)
(when $git-path (when $git-path