(defun my/minibuffer-delete (arg) "When looking for files, go up an entire directory with the backspace button if theres no text after the directory." (interactive "p") (if minibuffer-completing-file-name (if (string-match-p ".*/$" (minibuffer-contents)) (vertico-directory-delete-word arg) (vertico-directory-delete-char arg)) (delete-backward-char arg))) (use-package vertico :config (vertico-mode) (vertico-mouse-mode) ;; Remove prefix when switching to tilde or root ("/") (setq file-name-shadow-properties '(invisible t intangible t)) (file-name-shadow-mode +1) (set-face-attribute 'vertico-current nil :inherit nil :background "#383b01") :custom (vertico-count 20) ) ;; Create an ivy-like experience when selecting files. (use-package vertico-directory :after vertico :ensure nil :bind ( :map vertico-map ("RET" . vertico-directory-enter) :map minibuffer-local-map ("DEL" . my/minibuffer-delete) ) ) (use-package consult :custom (completion-in-region-function #'consult-completion-in-region) (xref-show-xrefs-function #'consult-xref) (xref-show-definitions-function #'consult-xref) (consult-project-root-function #'deadgrep--project-root) :bind ( ("C-. s" . consult-ripgrep) ("C-s" . consult-line) ("M-g g" . consult-goto-line) ("C-. e" . consult-flymake) ) ) (use-package corfu :commands (corfu-mode global-corfu-mode) :custom (corfu-auto t) ) (use-package marginalia :config (marginalia-mode)) (use-package orderless :custom (completion-styles '(orderless))) (provide 'util-vertico)