From b51c4fc8b38439d9bbef5a541fd54a485a4ef284 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 2 May 2020 17:41:36 -0400 Subject: [PATCH] Fix projectile on Windows failing to index anything with ripgrep Due to unescaped glob arguments. Fixes #2897, and possibly #1803 --- core/core-projects.el | 6 ++++-- modules/completion/ivy/config.el | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/core/core-projects.el b/core/core-projects.el index 74d403985..04310ffe7 100644 --- a/core/core-projects.el +++ b/core/core-projects.el @@ -146,7 +146,7 @@ c) are not valid projectile projects." ;; .gitignore. This is recommended in the projectile docs. ((executable-find doom-projectile-fd-binary) (setq projectile-generic-command - (format "%s . --color=never --type file --type symlink --follow -0 -H -E .git" + (format "%s . -0 -H -E .git --color=never --type file --type symlink --follow" doom-projectile-fd-binary) projectile-git-command projectile-generic-command projectile-git-submodule-command nil @@ -158,7 +158,9 @@ c) are not valid projectile projects." (setq projectile-generic-command (concat "rg -0 --files --follow --color=never --hidden" (cl-loop for dir in projectile-globally-ignored-directories - concat (format " --glob '!%s'" dir))) + concat " --glob " + concat (shell-quote-argument (concat "!" dir))) + (if IS-WINDOWS " --path-separator /")) projectile-git-command projectile-generic-command projectile-git-submodule-command nil ;; ensure Windows users get rg's benefits diff --git a/modules/completion/ivy/config.el b/modules/completion/ivy/config.el index cd212263a..bfdf62690 100644 --- a/modules/completion/ivy/config.el +++ b/modules/completion/ivy/config.el @@ -270,7 +270,8 @@ evil-ex-specific constructs, so we disable it solely in evil-ex." ((executable-find "rg") (append (list "rg" "--files" "--follow" "--color=never" "--hidden" "--no-messages") (cl-loop for dir in projectile-globally-ignored-directories - collect "--glob" and collect (concat "!" dir)) + collect "--glob" + collect (concat "!" dir)) (if IS-WINDOWS (list "--path-separator" "/")))) ((cons find-program args))) (unless (listp args)