aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/symfony/console/input
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-16 21:59:35 +0900
committernsfisis <nsfisis@gmail.com>2026-06-19 22:17:11 +0900
commitfd733a87364b877d5e66b4973bd61b5379ec4d61 (patch)
tree64bd6c37ca1c33581a851eba22e4261bf5b62b49 /crates/shirabe-external-packages/src/symfony/console/input
parent7f3171b14a89762b2f0c71969d7243f2297af7c9 (diff)
downloadphp-shirabe-fd733a87364b877d5e66b4973bd61b5379ec4d61.tar.gz
php-shirabe-fd733a87364b877d5e66b4973bd61b5379ec4d61.tar.zst
php-shirabe-fd733a87364b877d5e66b4973bd61b5379ec4d61.zip
feat(command): implement Symfony Command
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/console/input')
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/input/input_argument.rs2
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/input/input_option.rs5
2 files changed, 4 insertions, 3 deletions
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<String>,
@@ -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."