completion: use native ZSH array pattern matching
When clearing the builtin operations on re-sourcing in the ZSH case we
can use the native ${parameters} associative array keys values to get
the currently `__gitcomp_builtin_*` operations using pattern matching
instead of using sed.
As also stated in commit 94408dc7, introducing this change the usage of
sed has some overhead implications, while ZSH can do this check just
using its native syntax.
Signed-off-by: Marco Trevisan (Treviño) <mail@3v1n0.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
2d5e9f31ac
commit
a44a0a9fc4
@ -373,7 +373,7 @@ __gitcomp ()
|
||||
# Clear the variables caching builtins' options when (re-)sourcing
|
||||
# the completion script.
|
||||
if [[ -n ${ZSH_VERSION-} ]]; then
|
||||
unset $(set |sed -ne 's/^\(__gitcomp_builtin_[a-zA-Z0-9_][a-zA-Z0-9_]*\)=.*/\1/p') 2>/dev/null
|
||||
unset ${(M)${(k)parameters[@]}:#__gitcomp_builtin_*} 2>/dev/null
|
||||
else
|
||||
unset $(compgen -v __gitcomp_builtin_)
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user