From 92c80e72aa70ee4b3cc15271136f136e081a7ede Mon Sep 17 00:00:00 2001 From: Aaron Schrab Date: Thu, 23 Dec 2021 21:05:21 -0500 Subject: 49664: Use associative array for third-party completion --- ChangeLog | 3 +++ Completion/Unix/Command/_git | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9a79ff2d9..2a1db9cc1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2021-12-29 Oliver Kiddle + * Aaron Schrab: 49664: Completion/Unix/Command/_git: + Use associative array for third-party completion + * 49668: Completion/Unix/Command/_zfs, Completion/Unix/Type/_zfs_dataset: update zfs completion diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git index 04b5677ce..cecb80ac3 100644 --- a/Completion/Unix/Command/_git +++ b/Completion/Unix/Command/_git @@ -6267,8 +6267,8 @@ _git_commands () { zstyle -a :completion:$curcontext: user-commands user_commands local command - for command in $_git_third_party_commands; do - (( $+commands[git-${command%%:*}] )) && third_party_commands+=$command + for command in ${(k)_git_third_party_commands}; do + (( $+commands[git-${command}] )) && third_party_commands+=$command$_git_third_party_commands[$command] done local -a aliases @@ -8475,7 +8475,7 @@ _git() { } # Load any _git-* definitions so that they may be completed as commands. -declare -gUa _git_third_party_commands +declare -gA _git_third_party_commands _git_third_party_commands=() local file input @@ -8497,7 +8497,7 @@ for file in ${^fpath}/_git-*~(*~|*.zwc)(-.N); do (( i++ )) done < $file - _git_third_party_commands+=$name$desc + _git_third_party_commands+=([$name]=$desc) done _git -- cgit 1.4.1