From ad41c365c87fe438d4ad8412bfa86f64b542f26d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 2 Jun 2025 08:43:23 +0530 Subject: [PATCH] Dont score files when browsing only directories --- kittens/choose_files/scan.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kittens/choose_files/scan.go b/kittens/choose_files/scan.go index db7b22b38..fb8f2b079 100644 --- a/kittens/choose_files/scan.go +++ b/kittens/choose_files/scan.go @@ -142,6 +142,9 @@ func (sc *ScanCache) scan_dir(abspath string, patterns []string, positions []pos if entries := sc.readdir(abspath); len(entries) > 0 { npos := make([]pos_in_name, len(positions)+1) copy(npos, positions) + if sc.only_dirs { + entries = utils.Filter(entries, func(e os.DirEntry) bool { return e.IsDir() }) + } names := make([]string, len(entries)) for i, e := range entries { names[i] = e.Name() @@ -160,9 +163,6 @@ func (sc *ScanCache) scan_dir(abspath string, patterns []string, positions []pos is_last := pattern == "" || len(patterns) <= 1 for i, n := range names { e := entries[i] - if sc.only_dirs && !e.IsDir() { - continue - } child_abspath := filepath.Join(abspath, n) if pattern == "" || scores[i].Score > 0 { npos[len(positions)] = pos_in_name{name: n, positions: scores[i].Positions}