aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs')
-rw-r--r--crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs b/crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs
index a16575de..8226b469 100644
--- a/crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs
+++ b/crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs
@@ -124,6 +124,9 @@ impl CompletionInput {
.cloned()
.collect();
for current_argument_name in argument_names {
+ // PHP's foreach assigns the key variable before the body runs, so on break
+ // $argumentName still names the first argument that has no bound value.
+ argument_name = Some(current_argument_name.clone());
if !self
.inner
.inner
@@ -132,7 +135,6 @@ impl CompletionInput {
{
break;
}
- argument_name = Some(current_argument_name.clone());
let argument_value = self.inner.inner.arguments[&current_argument_name].clone();
self.completion_name = Some(current_argument_name.clone());