From 96ba62f34ed07221feaccacb3eaed550c5cac58c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 9 Jul 2025 21:08:18 +0530 Subject: [PATCH] API to toggle the new flags --- kittens/choose_files/scan.go | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/kittens/choose_files/scan.go b/kittens/choose_files/scan.go index cd2d1f7a8..ee604f84b 100644 --- a/kittens/choose_files/scan.go +++ b/kittens/choose_files/scan.go @@ -462,10 +462,7 @@ func (fss *FileSystemScorer) Change_query(query string) { fss.Start() } -func (fss *FileSystemScorer) Change_filter(filter Filter) { - if fss.filter.Equal(filter) { - return - } +func (fss *FileSystemScorer) change_scanner_setting(callback func()) { fss.keep_going.Store(false) if fss.current_worker_wait != nil { if fss.scanner != nil { @@ -474,11 +471,30 @@ func (fss *FileSystemScorer) Change_filter(filter Filter) { fss.current_worker_wait.Wait() } fss.lock() - fss.filter = filter + callback() fss.sorted_results.Clear() fss.scanner = nil fss.unlock() fss.Start() + +} + +func (fss *FileSystemScorer) Change_filter(filter Filter) { + if !fss.filter.Equal(filter) { + fss.change_scanner_setting(func() { fss.filter = filter }) + } +} + +func (fss *FileSystemScorer) Change_show_hidden(val bool) { + if fss.show_hidden != val { + fss.change_scanner_setting(func() { fss.show_hidden = val }) + } +} + +func (fss *FileSystemScorer) Change_respect_ignores(val bool) { + if fss.respect_ignores != val { + fss.change_scanner_setting(func() { fss.respect_ignores = val }) + } } func (fss *FileSystemScorer) worker(on_results chan bool, worker_wait *sync.WaitGroup) {