aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-24 00:50:07 +0900
committernsfisis <nsfisis@gmail.com>2026-06-24 00:50:07 +0900
commit0ccb1a7740e63e4118c156f81aacf6381ae38464 (patch)
tree9087108ae74fd460c5f0f540405ce245bd9000a8 /crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs
parent27c961ee7bee5c775e1902e59f74a9871d31321d (diff)
downloadphp-shirabe-0ccb1a7740e63e4118c156f81aacf6381ae38464.tar.gz
php-shirabe-0ccb1a7740e63e4118c156f81aacf6381ae38464.tar.zst
php-shirabe-0ccb1a7740e63e4118c156f81aacf6381ae38464.zip
feat(io): implement BufferIO new/get_output/set_user_inputs
Wire StreamOutput into BufferIO::new, retrieve the stream in get_output via downcast, and set the user input stream in set_user_inputs. Add as_streamable_mut to InputInterface (and ArgvInput) for mutable streamable access, and make StringInput implement StreamableInputInterface to match PHP, where StringInput is streamable via its Input ancestor. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs')
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs b/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs
index ccb5a98..6ef7877 100644
--- a/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs
+++ b/crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs
@@ -48,4 +48,9 @@ pub trait InputInterface: std::fmt::Debug + shirabe_php_shim::AsAny {
fn as_streamable(&self) -> Option<&dyn StreamableInputInterface> {
None
}
+
+ /// Mutable counterpart of `as_streamable`, needed to call `set_stream`/`set_interactive`.
+ fn as_streamable_mut(&mut self) -> Option<&mut dyn StreamableInputInterface> {
+ None
+ }
}