diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-08 02:23:31 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-08 02:23:31 +0900 |
| commit | 06368584a9277022d9cfc42d22c37f4cc6e580f8 (patch) | |
| tree | a210e77273316ce94530391ea4e6dc4ee60b42ea /crates/shirabe-external-packages/src/symfony/console/output/output_interface.rs | |
| parent | 318ea948f5932dfa7942081a269d62fd7161a9bf (diff) | |
| download | php-shirabe-06368584a9277022d9cfc42d22c37f4cc6e580f8.tar.gz php-shirabe-06368584a9277022d9cfc42d22c37f4cc6e580f8.tar.zst php-shirabe-06368584a9277022d9cfc42d22c37f4cc6e580f8.zip | |
refactor(external-packages): drop component segment from symfony paths
Align the Symfony namespace mapping with the documented convention
(symfony::component::X -> symfony::X) and remove now-unused console
stub files. Update all import paths across the workspace.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/console/output/output_interface.rs')
| -rw-r--r-- | crates/shirabe-external-packages/src/symfony/console/output/output_interface.rs | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/console/output/output_interface.rs b/crates/shirabe-external-packages/src/symfony/console/output/output_interface.rs index 4d5b7c7..18eadfb 100644 --- a/crates/shirabe-external-packages/src/symfony/console/output/output_interface.rs +++ b/crates/shirabe-external-packages/src/symfony/console/output/output_interface.rs @@ -1,24 +1,33 @@ use crate::symfony::console::formatter::OutputFormatter; +use crate::symfony::console::output::ConsoleOutputInterface; -pub trait OutputInterface { - fn write(&mut self, messages: &str, newline: bool, r#type: i64); - fn writeln(&mut self, messages: &str, r#type: i64); - fn set_verbosity(&mut self, level: i64); +pub trait OutputInterface: std::fmt::Debug { + // PHP class semantics: OutputInterface methods take &self with interior mutability, + // because output objects are shared by reference across the PHP code. + fn write(&self, messages: &str, newline: bool, r#type: i64); + fn writeln(&self, messages: &str, r#type: i64); + fn set_verbosity(&self, level: i64); fn get_verbosity(&self) -> i64; fn is_quiet(&self) -> bool; fn is_verbose(&self) -> bool; fn is_very_verbose(&self) -> bool; fn is_debug(&self) -> bool; - fn set_decorated(&mut self, decorated: bool); + fn set_decorated(&self, decorated: bool); fn is_decorated(&self) -> bool; - fn set_formatter(&mut self, formatter: OutputFormatter); - fn get_formatter(&mut self) -> &mut OutputFormatter; + fn set_formatter(&self, formatter: OutputFormatter); + fn get_formatter(&self) -> &OutputFormatter; /// PHP: `$output instanceof ConsoleOutputInterface`. Default false; ConsoleOutput overrides. fn is_console_output_interface(&self) -> bool { false } + /// PHP: `$output instanceof ConsoleOutputInterface`. Returns the output as a + /// ConsoleOutputInterface trait object when it is one. Default None; ConsoleOutput overrides. + fn as_console_output_interface(&self) -> Option<&dyn ConsoleOutputInterface> { + None + } + /// PHP: only StreamOutput exposes `getStream()`. Default panics for outputs without one. fn get_stream(&self) -> shirabe_php_shim::PhpResource { todo!("get_stream not available on this OutputInterface implementation") |
