aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-06 13:52:48 +0900
committernsfisis <nsfisis@gmail.com>2026-06-06 13:52:48 +0900
commitba22d3a98e8f3fbf50274180bfeb870a10d9ae55 (patch)
tree33b2d5ca0a1b2627ab383d472226e03601aeebbf /crates/shirabe
parent9d7983455c051185f44a507c2f4e9b8a33f1799d (diff)
downloadphp-shirabe-ba22d3a98e8f3fbf50274180bfeb870a10d9ae55.tar.gz
php-shirabe-ba22d3a98e8f3fbf50274180bfeb870a10d9ae55.tar.zst
php-shirabe-ba22d3a98e8f3fbf50274180bfeb870a10d9ae55.zip
feat(archivable-files-finder): wire exclude closure into Finder::filter
Add a Finder::filter(Box<dyn FnMut(&SplFileInfo) -> bool>) stub method and route the exclude closure through it, matching PHP's ->in()->filter() chain. FnMut faithfully represents PHP's stateful \Closure. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe')
-rw-r--r--crates/shirabe/src/package/archiver/archivable_files_finder.rs3
1 files changed, 1 insertions, 2 deletions
diff --git a/crates/shirabe/src/package/archiver/archivable_files_finder.rs b/crates/shirabe/src/package/archiver/archivable_files_finder.rs
index 2e06e4d..09041a3 100644
--- a/crates/shirabe/src/package/archiver/archivable_files_finder.rs
+++ b/crates/shirabe/src/package/archiver/archivable_files_finder.rs
@@ -74,11 +74,10 @@ impl ArchivableFilesFinder {
finder
.r#in(&sources)
- // TODO(phase-b): symfony Finder filter takes Box<dyn Fn(&SplFileInfo) -> bool>; signature not yet wired
+ .filter(Box::new(filter))
.ignore_vcs(true)
.ignore_dot_files(false)
.sort_by_name();
- let _ = filter;
let inner_iter: Box<dyn Iterator<Item = SplFileInfo>> = Box::new(finder.get_iterator());