From 86ebe0859367ee9b8b01807297743ca67984dee0 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 25 Jun 2019 11:19:23 +0200 Subject: [PATCH] Show dirname in ivy-switch-buffer #1506 Makes buffer names more readable in case uniquify-buffer-name-style is nil (which is necessary to work around a limitation of persp-mode). --- modules/completion/ivy/autoload/ivy.el | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/completion/ivy/autoload/ivy.el b/modules/completion/ivy/autoload/ivy.el index 707dea79d..b2792886b 100644 --- a/modules/completion/ivy/autoload/ivy.el +++ b/modules/completion/ivy/autoload/ivy.el @@ -20,6 +20,17 @@ Buffers that are considered unreal (see `doom-real-buffer-p') are dimmed with `+ivy-buffer-unreal-face'." (let ((b (get-buffer candidate))) + (when-let* (((null uniquify-buffer-name-style)) + (file-path (buffer-file-name b)) + (uniquify-buffer-name-style 'forward)) + (setq candidate + (uniquify-get-proposed-name + (replace-regexp-in-string "<[0-9]+>$" "" (buffer-name b)) + (directory-file-name + (if file-path + (file-name-directory file-path) + default-directory)) + 1))) (cond ((ignore-errors (file-remote-p (buffer-local-value 'default-directory b)))