branch: externals/vertico commit e7b38d55dee2f4d56be36e508089943364309766 Author: Daniel Mendler <m...@daniel-mendler.de> Commit: Daniel Mendler <m...@daniel-mendler.de>
Move vertico--tidy-shadowed-file to vertico-directory-tidy --- extensions/vertico-directory.el | 15 ++++++++++++++- vertico.el | 11 ----------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/extensions/vertico-directory.el b/extensions/vertico-directory.el index a1cf87d..283297e 100644 --- a/extensions/vertico-directory.el +++ b/extensions/vertico-directory.el @@ -28,11 +28,13 @@ ;; This package is a Vertico extension, which provides Ido-like ;; directory navigation commands. The commands can be bound in the -;; `vertico-map'. +;; `vertico-map'. Furthermore a cleanup function for shadowed file paths +;; is provided. ;; ;; (define-key vertico-map "\r" #'vertico-directory-enter) ;; (define-key vertico-map "\d" #'vertico-directory-delete-char) ;; (define-key vertico-map "\M-\d" #'vertico-directory-delete-word) +;; (add-hook 'rfn-eshadow-update-overlay-hook #'vertico-directory-tidy) ;;; Code: @@ -87,5 +89,16 @@ (forward-word -1) (delete-region pt (point))))) +;;;###autoload +(defun vertico-directory-tidy () + "Tidy shadowed file name, see `rfn-eshadow-overlay'." + (when (and (eq this-command #'self-insert-command) + (bound-and-true-p rfn-eshadow-overlay) + (overlay-buffer rfn-eshadow-overlay) + (= (point) (point-max)) + (or (>= (- (point) (overlay-end rfn-eshadow-overlay)) 2) + (eq ?/ (char-before (- (point) 2))))) + (delete-region (overlay-start rfn-eshadow-overlay) (overlay-end rfn-eshadow-overlay)))) + (provide 'vertico-directory) ;;; vertico-directory.el ends here diff --git a/vertico.el b/vertico.el index 3816bb9..58798b4 100644 --- a/vertico.el +++ b/vertico.el @@ -516,16 +516,6 @@ See `resize-mini-windows' for documentation." (overlay-put vertico--count-ov 'priority 1) (overlay-put vertico--count-ov 'before-string (vertico--format-count)))) -(defun vertico--tidy-shadowed-file () - "Tidy shadowed file name, see `rfn-eshadow-overlay'." - (when (and (eq this-command #'self-insert-command) - (bound-and-true-p rfn-eshadow-overlay) - (overlay-buffer rfn-eshadow-overlay) - (= (point) (point-max)) - (or (>= (- (point) (overlay-end rfn-eshadow-overlay)) 2) - (eq ?/ (char-before (- (point) 2))))) - (delete-region (overlay-start rfn-eshadow-overlay) (overlay-end rfn-eshadow-overlay)))) - (defun vertico--prompt-selection () "Highlight the prompt if selected." (let ((inhibit-modification-hooks t)) @@ -543,7 +533,6 @@ See `resize-mini-windows' for documentation." (defun vertico--exhibit () "Exhibit completion UI." - (vertico--tidy-shadowed-file) (let* ((buffer-undo-list t) ;; Overlays affect point position and undo list! (pt (max 0 (- (point) (minibuffer-prompt-end)))) (content (minibuffer-contents-no-properties))