diff options
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/console/input')
3 files changed, 14 insertions, 8 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/console/input/argv_input.rs b/crates/shirabe-external-packages/src/symfony/console/input/argv_input.rs index c614f88..d3df9aa 100644 --- a/crates/shirabe-external-packages/src/symfony/console/input/argv_input.rs +++ b/crates/shirabe-external-packages/src/symfony/console/input/argv_input.rs @@ -520,9 +520,11 @@ impl ArgvInput { default } +} - /// Returns a stringified representation of the args passed to the command. - pub fn to_string(&self) -> String { +/// Returns a stringified representation of the args passed to the command. +impl std::fmt::Display for ArgvInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let tokens: Vec<String> = self .tokens .iter() @@ -544,7 +546,7 @@ impl ArgvInput { }) .collect(); - shirabe_php_shim::implode(" ", &tokens) + write!(f, "{}", shirabe_php_shim::implode(" ", &tokens)) } } diff --git a/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs b/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs index 1c17480..cad26e8 100644 --- a/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs +++ b/crates/shirabe-external-packages/src/symfony/console/input/array_input.rs @@ -129,9 +129,11 @@ impl ArrayInput { default } +} - /// Returns a stringified representation of the args passed to the command. - pub fn to_string(&self) -> String { +/// Returns a stringified representation of the args passed to the command. +impl std::fmt::Display for ArrayInput { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let mut params: Vec<String> = vec![]; for (param, val) in &self.parameters { // $param && \is_string($param) && '-' === $param[0] @@ -183,9 +185,11 @@ impl ArrayInput { } } - shirabe_php_shim::implode(" ", ¶ms) + write!(f, "{}", shirabe_php_shim::implode(" ", ¶ms)) } +} +impl ArrayInput { fn parse(&mut self) -> anyhow::Result<()> { // Clone to avoid borrowing self while mutating; PHP iterates over a copy semantically. let parameters = self.parameters.clone(); 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 24ad27b..a90bff0 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 @@ -27,8 +27,8 @@ impl InputOption { description: String, default: PhpMixed, ) -> anyhow::Result<Self> { - let name = if name.starts_with("--") { - name[2..].to_string() + let name = if let Some(stripped) = name.strip_prefix("--") { + stripped.to_string() } else { name.to_string() }; |
