diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-21 20:12:28 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-21 20:12:28 +0900 |
| commit | aa270b53045cc1ce779447f4f19448236e9c4c67 (patch) | |
| tree | 635fbbeb6699f5bd4b831c4d850211ff2428a209 /crates/shirabe-external-packages/src/symfony | |
| parent | 4575b55e7769e14d2d88d79ec97e9939c978ed9a (diff) | |
| download | php-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')
| -rw-r--r-- | crates/shirabe-external-packages/src/symfony/console/completion/completion_input.rs | 12 | ||||
| -rw-r--r-- | crates/shirabe-external-packages/src/symfony/console/helper/table.rs | 4 |
2 files changed, 7 insertions, 9 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[¤t_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(); } diff --git a/crates/shirabe-external-packages/src/symfony/console/helper/table.rs b/crates/shirabe-external-packages/src/symfony/console/helper/table.rs index 9c868c4..27b07aa 100644 --- a/crates/shirabe-external-packages/src/symfony/console/helper/table.rs +++ b/crates/shirabe-external-packages/src/symfony/console/helper/table.rs @@ -990,10 +990,10 @@ impl Table { Self::vec_set(&mut row, *column, unmerged_row[column].clone()); } } - shirabe_php_shim::array_splice_mixed( + shirabe_php_shim::array_splice( &mut rows, unmerged_row_key, - 0, + Some(0), vec![Self::from_row_vec(row)], ); } |
