about summary refs log tree commit diff
path: root/Completion/Core/_path_files
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Core/_path_files')
-rw-r--r--Completion/Core/_path_files14
1 files changed, 14 insertions, 0 deletions
diff --git a/Completion/Core/_path_files b/Completion/Core/_path_files
index a53c5e10d..e76a54882 100644
--- a/Completion/Core/_path_files
+++ b/Completion/Core/_path_files
@@ -81,6 +81,20 @@ while getopts "P:S:qr:R:W:F:J:V:X:f/g:M:12n" opt; do
   esac
 done
 
+if [[ -z "$_file_pat_checked" ]] &&
+   zstyle -s ":completion${curcontext}:files" file-patterns tmp1 &&
+   [[ -n "$tmp1" ]]; then
+  if [[ "$tmp1" = '*(-/)' ]]; then
+    gopt=''
+    sopt=-/
+  else
+    gopt='-g'
+    sopt=-
+  fi
+  pats=( $=tmp1 )
+  haspats=yes
+fi
+
 if (( ! ( $#group + $#expl ) )); then
   if [[ -z "$gopt" && "$sopt" = -/ ]]; then
     _description directories expl directory