diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-24 00:50:07 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-24 00:50:07 +0900 |
| commit | 0ccb1a7740e63e4118c156f81aacf6381ae38464 (patch) | |
| tree | 9087108ae74fd460c5f0f540405ce245bd9000a8 /crates/shirabe-external-packages/src/symfony/console/input/input_interface.rs | |
| parent | 27c961ee7bee5c775e1902e59f74a9871d31321d (diff) | |
| download | php-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.rs | 5 |
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 + } } |
