about summary refs log tree commit diff
path: root/Completion/Core/_parameters
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Core/_parameters')
-rw-r--r--Completion/Core/_parameters7
1 files changed, 6 insertions, 1 deletions
diff --git a/Completion/Core/_parameters b/Completion/Core/_parameters
index d9d8a38b2..a579e5ead 100644
--- a/Completion/Core/_parameters
+++ b/Completion/Core/_parameters
@@ -4,4 +4,9 @@
 # extra options of compadd. It completes only non-local parameters. All
 # arguments are given to compadd.
 
-compadd "$@" - "${(@)${(@)${(@)${(@f)$(typeset)}:#*local *\=*}%%\=*}##* }"
+if zmodload -e parameter; then
+  setopt localoptions extendedglob
+  compadd "$@" - ${(k)parameters[(R)^*local*]}
+else
+  compadd "$@" - ${${${(f)"$(typeset +)"}:#*local *}##* }
+fi