From 7f810b1bb288445ee5376fada752e84ecb1ce211 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 24 Jun 2026 21:38:53 +0900 Subject: feat(process): wire execute output handling to a callback model Replace the Option<&mut PhpMixed> output plumbing with the IntoExecOutput trait modelling each PHP `$output` case (forward, capture-to-buffer, discard, callback). This lets do_execute pass a real output handler to Process::run, captures output back via get_output, and lets Svn pass its streaming filter handler through execute instead of skipping it. --- crates/shirabe/src/package/locker.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'crates/shirabe/src/package/locker.rs') diff --git a/crates/shirabe/src/package/locker.rs b/crates/shirabe/src/package/locker.rs index a034497..8e6f3fb 100644 --- a/crates/shirabe/src/package/locker.rs +++ b/crates/shirabe/src/package/locker.rs @@ -833,7 +833,7 @@ impl Locker { let mut output = PhpMixed::Null; if 0 == self.process.borrow_mut().execute( PhpMixed::List(command.into_iter().map(PhpMixed::String).collect()), - Some(&mut output), + &mut output, path.as_deref(), )? { let output_str = trim( @@ -860,7 +860,7 @@ impl Locker { PhpMixed::String("-r".to_string()), PhpMixed::String(source_ref.clone()), ]), - Some(&mut output), + &mut output, path.as_deref(), )? { let mut m: IndexMap = IndexMap::new(); -- cgit v1.3.1