mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-01 12:17:25 -05:00
refactor(vertico): file completion backspace
Switch from the homemade +vertico/backward-updir to the upstream vertico-directory-delete-char. The former has the nice feature of traversing up abbreviated paths, but this comes at the cost of not being able to fully erase the path (since the buck stops at /), and unintentional directory moving in commands such as +vertico/find-file-in which causes issues. Overall this minor convenience is not worth it, so the vertico-directory-delete-char behaviour of just deleting up to the previous / is preferred instead.
This commit is contained in:
@ -95,23 +95,6 @@ If ARG (universal argument), include all files, even hidden or compressed ones."
|
|||||||
(interactive)
|
(interactive)
|
||||||
(consult-line (thing-at-point 'symbol)))
|
(consult-line (thing-at-point 'symbol)))
|
||||||
|
|
||||||
;;;###autoload
|
|
||||||
(defun +vertico/backward-updir ()
|
|
||||||
"Delete char before or go up directory for file cagetory vertico buffers."
|
|
||||||
(interactive)
|
|
||||||
(let ((metadata (completion-metadata (minibuffer-contents)
|
|
||||||
minibuffer-completion-table
|
|
||||||
minibuffer-completion-predicate)))
|
|
||||||
(if (and (eq (char-before) ?/)
|
|
||||||
(eq (completion-metadata-get metadata 'category) 'file))
|
|
||||||
(let ((new-path (minibuffer-contents)))
|
|
||||||
(delete-region (minibuffer-prompt-end) (point-max))
|
|
||||||
(insert (abbreviate-file-name
|
|
||||||
(file-name-directory
|
|
||||||
(directory-file-name
|
|
||||||
(expand-file-name new-path))))))
|
|
||||||
(call-interactively 'backward-delete-char))))
|
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun +vertico-embark-target-package-fn ()
|
(defun +vertico-embark-target-package-fn ()
|
||||||
"Targets Doom's package! statements and returns the package name"
|
"Targets Doom's package! statements and returns the package name"
|
||||||
|
@ -26,7 +26,7 @@ overrides `completion-styles' during company completion sessions.")
|
|||||||
;; Cleans up path when moving directories with shadowed paths syntax, e.g.
|
;; Cleans up path when moving directories with shadowed paths syntax, e.g.
|
||||||
;; cleans ~/foo/bar/// to /, and ~/foo/bar/~/ to ~/.
|
;; cleans ~/foo/bar/// to /, and ~/foo/bar/~/ to ~/.
|
||||||
(add-hook 'rfn-eshadow-update-overlay-hook #'vertico-directory-tidy)
|
(add-hook 'rfn-eshadow-update-overlay-hook #'vertico-directory-tidy)
|
||||||
(map! :map vertico-map [backspace] #'+vertico/backward-updir))
|
(map! :map vertico-map [backspace] #'vertico-directory-delete-char))
|
||||||
|
|
||||||
|
|
||||||
(use-package! orderless
|
(use-package! orderless
|
||||||
|
Reference in New Issue
Block a user