aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-21 20:12:28 +0900
committernsfisis <nsfisis@gmail.com>2026-06-21 20:12:28 +0900
commitaa270b53045cc1ce779447f4f19448236e9c4c67 (patch)
tree635fbbeb6699f5bd4b831c4d850211ff2428a209 /crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs
parent4575b55e7769e14d2d88d79ec97e9939c978ed9a (diff)
downloadphp-shirabe-aa270b53045cc1ce779447f4f19448236e9c4c67.tar.gz
php-shirabe-aa270b53045cc1ce779447f4f19448236e9c4c67.tar.zst
php-shirabe-aa270b53045cc1ce779447f4f19448236e9c4c67.zip
feat(php-shim): implement array sort/merge/unique/splice helpers
Implement array_unique, array_splice, array_merge_recursive, krsort, ksort, asort, sort_with_flags and sort_natural_flag_case, plus the strnatcmp/strnatcasecmp port they rely on. Drop array_key_last and array_splice_mixed in favour of existing helpers at the call sites. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.rs12
1 files changed, 5 insertions, 7 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 482e7e1..bd51b8e 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
@@ -135,13 +135,11 @@ impl CompletionInput {
let argument_value = self.inner.inner.arguments[&current_argument_name].clone();
self.completion_name = Some(current_argument_name.clone());
- if let PhpMixed::Array(argument_value) = &argument_value {
- self.completion_value = if !argument_value.is_empty() {
- argument_value[shirabe_php_shim::array_key_last(argument_value)].to_string()
- } else {
- // null
- String::new()
- };
+ if let PhpMixed::List(argument_value) = &argument_value {
+ self.completion_value = argument_value
+ .last()
+ .map(|v| v.to_string())
+ .unwrap_or_default();
} else {
self.completion_value = argument_value.to_string();
}