From fd733a87364b877d5e66b4973bd61b5379ec4d61 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 16 Jun 2026 21:59:35 +0900 Subject: feat(command): implement Symfony Command --- .../src/symfony/console/input/input_argument.rs | 2 +- .../src/symfony/console/input/input_option.rs | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'crates/shirabe-external-packages/src/symfony/console/input') diff --git a/crates/shirabe-external-packages/src/symfony/console/input/input_argument.rs b/crates/shirabe-external-packages/src/symfony/console/input/input_argument.rs index bc825d5..4a732bd 100644 --- a/crates/shirabe-external-packages/src/symfony/console/input/input_argument.rs +++ b/crates/shirabe-external-packages/src/symfony/console/input/input_argument.rs @@ -4,7 +4,7 @@ use crate::symfony::console::exception::invalid_argument_exception::InvalidArgum use crate::symfony::console::exception::logic_exception::LogicException; use shirabe_php_shim::PhpMixed; -#[derive(Debug)] +#[derive(Debug, Clone)] pub struct InputArgument { name: String, mode: i64, diff --git a/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs b/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs index afb36a5..24ad27b 100644 --- a/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs +++ b/crates/shirabe-external-packages/src/symfony/console/input/input_option.rs @@ -4,7 +4,7 @@ use crate::symfony::console::exception::invalid_argument_exception::InvalidArgum use crate::symfony::console::exception::logic_exception::LogicException; use shirabe_php_shim::PhpMixed; -#[derive(Debug)] +#[derive(Debug, Clone)] pub struct InputOption { name: String, shortcut: Option, @@ -168,7 +168,8 @@ impl InputOption { let default = if self.is_array() { match default { PhpMixed::Null => PhpMixed::List(vec![]), - PhpMixed::List(_) => default, + // PHP `is_array()` accepts both list-style and associative arrays. + PhpMixed::List(_) | PhpMixed::Array(_) => default, _ => { return Err(LogicException(shirabe_php_shim::LogicException { message: "A default value for an array option must be an array." -- cgit v1.3.1