diff options
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/component/console')
5 files changed, 39 insertions, 11 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/component/console/application.rs b/crates/shirabe-external-packages/src/symfony/component/console/application.rs index bc64521..1197792 100644 --- a/crates/shirabe-external-packages/src/symfony/component/console/application.rs +++ b/crates/shirabe-external-packages/src/symfony/component/console/application.rs @@ -89,4 +89,16 @@ impl Application { pub fn is_single_command(&self) -> bool { todo!() } + + pub fn render_throwable(&self, _exception: &anyhow::Error, _output: &mut dyn OutputInterface) { + todo!() + } + + pub fn set_catch_errors(&mut self, _catch_errors: bool) { + todo!() + } + + pub fn has(&self, _name: &str) -> bool { + todo!() + } } diff --git a/crates/shirabe-external-packages/src/symfony/component/console/helper/helper_set.rs b/crates/shirabe-external-packages/src/symfony/component/console/helper/helper_set.rs index f8b2e24..26af492 100644 --- a/crates/shirabe-external-packages/src/symfony/component/console/helper/helper_set.rs +++ b/crates/shirabe-external-packages/src/symfony/component/console/helper/helper_set.rs @@ -8,7 +8,7 @@ impl HelperSet { todo!() } - pub fn get(&self, _name: &str) -> Option<PhpMixed> { + pub fn get(&self, _name: &str) -> PhpMixed { todo!() } diff --git a/crates/shirabe-external-packages/src/symfony/component/console/helper/progress_bar.rs b/crates/shirabe-external-packages/src/symfony/component/console/helper/progress_bar.rs index 64835bb..b3aefef 100644 --- a/crates/shirabe-external-packages/src/symfony/component/console/helper/progress_bar.rs +++ b/crates/shirabe-external-packages/src/symfony/component/console/helper/progress_bar.rs @@ -31,4 +31,8 @@ impl ProgressBar { pub fn get_max_steps(&self) -> i64 { todo!() } + + pub fn set_progress(&mut self, _step: i64) { + todo!() + } } diff --git a/crates/shirabe-external-packages/src/symfony/component/console/output/console_output.rs b/crates/shirabe-external-packages/src/symfony/component/console/output/console_output.rs index 73c5c46..f9792f0 100644 --- a/crates/shirabe-external-packages/src/symfony/component/console/output/console_output.rs +++ b/crates/shirabe-external-packages/src/symfony/component/console/output/console_output.rs @@ -19,13 +19,13 @@ impl ConsoleOutput { } impl OutputInterface for ConsoleOutput { - fn write(&mut self, _messages: &str, _newline: bool, _type: i64) { + fn write(&self, _messages: &str, _newline: bool, _type: i64) { todo!() } - fn writeln(&mut self, _messages: &str, _type: i64) { + fn writeln(&self, _messages: &str, _type: i64) { todo!() } - fn set_verbosity(&mut self, _level: i64) { + fn set_verbosity(&self, _level: i64) { todo!() } fn get_verbosity(&self) -> i64 { @@ -43,13 +43,13 @@ impl OutputInterface for ConsoleOutput { fn is_debug(&self) -> bool { todo!() } - fn set_decorated(&mut self, _decorated: bool) { + fn set_decorated(&self, _decorated: bool) { todo!() } fn is_decorated(&self) -> bool { todo!() } - fn set_formatter(&mut self, _formatter: OutputFormatter) { + fn set_formatter(&self, _formatter: OutputFormatter) { todo!() } fn get_formatter(&self) -> &OutputFormatter { diff --git a/crates/shirabe-external-packages/src/symfony/component/console/output/output_interface.rs b/crates/shirabe-external-packages/src/symfony/component/console/output/output_interface.rs index 62a95bb..22a4b17 100644 --- a/crates/shirabe-external-packages/src/symfony/component/console/output/output_interface.rs +++ b/crates/shirabe-external-packages/src/symfony/component/console/output/output_interface.rs @@ -1,18 +1,30 @@ use crate::symfony::component::console::formatter::output_formatter::OutputFormatter; 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); + // 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 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: 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") + } } pub const VERBOSITY_QUIET: i64 = 16; |
