branch: externals/consult
commit d32cccdcb5559b503306291fa9f52df19594d687
Author: Daniel Mendler <m...@daniel-mendler.de>
Commit: Daniel Mendler <m...@daniel-mendler.de>

    Improve consult--left-truncate-file
---
 consult.el | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/consult.el b/consult.el
index 331a77ae96..d475dc461e 100644
--- a/consult.el
+++ b/consult.el
@@ -792,11 +792,12 @@ network file systems."
 (defun consult--left-truncate-file (file)
   "Return abbreviated file name of FILE for use in `completing-read' prompt."
   (save-match-data
-    (let ((file (directory-file-name (abbreviate-file-name file)))
-          (prefix nil))
-      (when (string-match "\\`/\\([^/|:]+:[^/|:]+:\\)" file)
+    (let* ((file-name-handler-alist) ;; No Tramp interference please.
+           (file (directory-file-name (abbreviate-file-name file)))
+           (prefix nil))
+      (when (string-match "\\`/\\([^/|:]+:[^/|:]*:\\)" file)
         (setq prefix (propertize (match-string 1 file) 'face 'error)
-              file (substring file (match-end 0))))
+              file (if (= (match-end 0) (length file)) "/" (substring file 
(match-end 0)))))
       (when (string-match "/\\([^/]+\\)/\\([^/]+\\)\\'" file)
         (let* ((fst (truncate-string-to-width (match-string 1 file) 20 nil nil 
"…"))
                (snd (truncate-string-to-width (match-string 2 file) 20 nil nil 
"…"))

Reply via email to