summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--Completion/Unix/Type/_files2
-rw-r--r--Completion/Zsh/Command/_zstyle10
3 files changed, 13 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 2e02cb123..1cc3a831d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2020-06-11 Oliver Kiddle <okiddle@yahoo.co.uk>
+
+ * users/24892: Completion/Unix/Type/_files,
+ Completion/Zsh/Command/_zstyle: fix local declaration with
+ recursive-files style and complete it for zstyle
+
2020-06-10 Daniel Shahaf <d.s@daniel.shahaf.name>
* unposted: Doc/Zsh/mod_zutil.yo: zstyle docs: Fix typo.
diff --git a/Completion/Unix/Type/_files b/Completion/Unix/Type/_files
index 6adaa8154..4ddec1e12 100644
--- a/Completion/Unix/Type/_files
+++ b/Completion/Unix/Type/_files
@@ -1,6 +1,7 @@
#compdef -redirect-,-default-,-default-
local -a match mbegin mend
+local -a subtree
local ret=1
# Look for glob qualifiers. This is duplicated from _path_files because
@@ -110,7 +111,6 @@ for def in "$pats[@]"; do
if _path_files -g "$pat" "$opts[@]" "$expl[@]"; then
ret=0
elif [[ $PREFIX$SUFFIX != */* ]] && zstyle -a ":completion:${curcontext}:$tag" recursive-files rfiles; then
- local subtree
for rfile in $rfiles; do
if [[ $PWD/ = ${~rfile} ]]; then
if [[ -z $subtree ]]; then
diff --git a/Completion/Zsh/Command/_zstyle b/Completion/Zsh/Command/_zstyle
index 07b60605f..e9a5d800c 100644
--- a/Completion/Zsh/Command/_zstyle
+++ b/Completion/Zsh/Command/_zstyle
@@ -100,6 +100,7 @@ styles=(
preserve-prefix c:preserve-prefix
range c:
recent-dirs-insert c:recent-dirs-insert
+ recursive-files c:
regular c:bool
rehash c:bool
remote-access c:bool
@@ -409,14 +410,15 @@ while (( $#state )); do
;;
(function)
- _wanted control-function expl 'control function' \
+ _wanted control-functions expl 'control function' \
compadd predict-on all-matches
;;
(functions)
- _wanted comp-widget expl 'completion widget' \
- compadd $suf - all-matches complete-debug complete-tag \
- correct-word expand-word expand-alias-word history-words
+ _wanted comp-widgets expl 'completion widget' \
+ compadd $suf -M 'r:|-=* r:|=*' - all-matches complete-debug complete-tag \
+ correct-word expand-word expand-alias-word history-words \
+ ${${${(M)${(f)"$(_call_program comp-widgets zle -l)"}:#*-C*}:#_*}/ -C*}
;;
(user-host-port)