From d17ffc47f008821e1b4ab04cd85d019ed8dc6fb9 Mon Sep 17 00:00:00 2001
From: Philipp Mildenberger <philipp@mildenberger.me>
Date: Tue, 18 Oct 2022 19:28:16 +0200
Subject: [PATCH] Use the same `WalkBuilder` configuration for the global
 search file picker as the default file picker (#4334)

Skip searching .git in global search, similar to how file picker skips listing files in .git.
---
 helix-term/src/commands.rs | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs
index d5fc1ad9..318dd035 100644
--- a/helix-term/src/commands.rs
+++ b/helix-term/src/commands.rs
@@ -1865,10 +1865,15 @@ fn global_search(cx: &mut Context) {
                     .hidden(file_picker_config.hidden)
                     .parents(file_picker_config.parents)
                     .ignore(file_picker_config.ignore)
+                    .follow_links(file_picker_config.follow_symlinks)
                     .git_ignore(file_picker_config.git_ignore)
                     .git_global(file_picker_config.git_global)
                     .git_exclude(file_picker_config.git_exclude)
                     .max_depth(file_picker_config.max_depth)
+                    // We always want to ignore the .git directory, otherwise if
+                    // `ignore` is turned off above, we end up with a lot of noise
+                    // in our picker.
+                    .filter_entry(|entry| entry.file_name() != ".git")
                     .build_parallel()
                     .run(|| {
                         let mut searcher = searcher.clone();