From 6ae7e0d4b3eaf20e2d2cd3d000cf61ab0c9b6e83 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 11 Jun 2026 02:39:35 +0900 Subject: feat(console): resolve phase-b TODOs in doRun and IO wiring Wire up ConsoleIO with HelperSet/QuestionHelper, register the ErrorHandler with the IO instance, and fall back to a default output in run(). Replace resolved phase-b TODOs across the console, command, io, factory, installer, dependency_resolver, and util modules; reclassify the remaining blockers (typed Symfony command registry, stdin resource caching) as phase-c. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../src/symfony/console/output/console_output.rs | 11 +++++++---- .../src/symfony/console/output/output_interface.rs | 9 ++++++--- .../src/symfony/console/output/stream_output.rs | 9 ++++++--- 3 files changed, 19 insertions(+), 10 deletions(-) (limited to 'crates/shirabe-external-packages/src/symfony/console/output') diff --git a/crates/shirabe-external-packages/src/symfony/console/output/console_output.rs b/crates/shirabe-external-packages/src/symfony/console/output/console_output.rs index 5aa6ff0..b3010b9 100644 --- a/crates/shirabe-external-packages/src/symfony/console/output/console_output.rs +++ b/crates/shirabe-external-packages/src/symfony/console/output/console_output.rs @@ -1,4 +1,4 @@ -use crate::symfony::console::formatter::OutputFormatter; +use crate::symfony::console::formatter::OutputFormatterInterface; use crate::symfony::console::output::ConsoleOutputInterface; use crate::symfony::console::output::OutputInterface; @@ -9,7 +9,7 @@ impl ConsoleOutput { pub fn new( _verbosity: i64, _decorated: Option, - _formatter: Option, + _formatter: Option>>, ) -> Self { todo!() } @@ -64,10 +64,13 @@ impl OutputInterface for ConsoleOutput { fn is_decorated(&self) -> bool { todo!() } - fn set_formatter(&self, _formatter: OutputFormatter) { + fn set_formatter( + &self, + _formatter: std::rc::Rc>, + ) { todo!() } - fn get_formatter(&self) -> &OutputFormatter { + fn get_formatter(&self) -> std::rc::Rc> { todo!() } } 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 18eadfb..661cd7f 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,4 +1,4 @@ -use crate::symfony::console::formatter::OutputFormatter; +use crate::symfony::console::formatter::OutputFormatterInterface; use crate::symfony::console::output::ConsoleOutputInterface; pub trait OutputInterface: std::fmt::Debug { @@ -14,8 +14,11 @@ pub trait OutputInterface: std::fmt::Debug { fn is_debug(&self) -> bool; fn set_decorated(&self, decorated: bool); fn is_decorated(&self) -> bool; - fn set_formatter(&self, formatter: OutputFormatter); - fn get_formatter(&self) -> &OutputFormatter; + fn set_formatter( + &self, + formatter: std::rc::Rc>, + ); + fn get_formatter(&self) -> std::rc::Rc>; /// PHP: `$output instanceof ConsoleOutputInterface`. Default false; ConsoleOutput overrides. fn is_console_output_interface(&self) -> bool { diff --git a/crates/shirabe-external-packages/src/symfony/console/output/stream_output.rs b/crates/shirabe-external-packages/src/symfony/console/output/stream_output.rs index 6aa79b8..da7dbf4 100644 --- a/crates/shirabe-external-packages/src/symfony/console/output/stream_output.rs +++ b/crates/shirabe-external-packages/src/symfony/console/output/stream_output.rs @@ -1,4 +1,4 @@ -use crate::symfony::console::formatter::OutputFormatter; +use crate::symfony::console::formatter::OutputFormatterInterface; use crate::symfony::console::output::OutputInterface; use shirabe_php_shim::PhpMixed; @@ -42,10 +42,13 @@ impl OutputInterface for StreamOutput { fn is_decorated(&self) -> bool { todo!() } - fn set_formatter(&self, _formatter: OutputFormatter) { + fn set_formatter( + &self, + _formatter: std::rc::Rc>, + ) { todo!() } - fn get_formatter(&self) -> &OutputFormatter { + fn get_formatter(&self) -> std::rc::Rc> { todo!() } fn get_stream(&self) -> shirabe_php_shim::PhpResource { -- cgit v1.3.1