refactor: generalize fd/ripgrep vars & options

I intend to eventually replace projectile with project.el, so these
doom-projectile-* variables need to be generalized, starting with the
fd/ripgrep executable paths.

ALong with that, this refactors Doom's projectile-generic-command to
lean more on built-in fd support in projectile, where possible (fewer
wheels reinvented).

Ref: doomemacs/core#1
This commit is contained in:
Henrik Lissner 2024-08-09 20:54:23 -04:00
parent 939fc0d322
commit 4fcf332749
No known key found for this signature in database
GPG key ID: B60957CA074D39A3
5 changed files with 48 additions and 33 deletions

View file

@ -286,7 +286,7 @@ workable results ripgrep produces, despite the error."
"Change `counsel-file-jump' to use fd or ripgrep, if they are available."
:override #'counsel--find-return-list
(cl-destructuring-bind (find-program . args)
(cond ((when-let (fd (executable-find (or doom-projectile-fd-binary "fd") t))
(cond ((when-let (fd (executable-find (or doom-fd-executable "fd") t))
(append (list fd "--hidden" "--type" "file" "--type" "symlink" "--follow" "--color=never")
(cl-loop for dir in projectile-globally-ignored-directories
collect "--exclude"

View file

@ -211,15 +211,15 @@ targets."
;;;###autoload
(defun +vertico/consult-fd-or-find (&optional dir initial)
"Runs consult-fd if fd version > 8.6.0 exists, consult-find otherwise.
See URL `https://github.com/minad/consult/issues/770'."
See minad/consult#770."
(interactive "P")
;; TODO this condition was adapted from a similar one in lisp/doom-projects.el, to be replaced with a more robust check post v3
(if (when-let*
((bin (if (ignore-errors (file-remote-p default-directory nil t))
(cl-find-if (doom-rpartial #'executable-find t)
(list "fdfind" "fd"))
doom-projectile-fd-binary))
(version (with-memoization doom-projects--fd-version
doom-fd-executable))
(version (with-memoization (get 'doom-fd-executable 'version)
(cadr (split-string (cdr (doom-call-process bin "--version"))
" " t))))
((ignore-errors (version-to-list version))))

View file

@ -211,7 +211,7 @@ we have to clean it up ourselves."
(use-package! fd-dired
:when doom-projectile-fd-binary
:when doom-fd-executable
:defer t
:init
(global-set-key [remap find-dired] #'fd-dired)