about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>2000-01-20 09:15:32 +0000
committerTanaka Akira <akr@users.sourceforge.net>2000-01-20 09:15:32 +0000
commit70411169809410901ba6f90b668a69eec2002003 (patch)
tree6186c3185483ade3cc1347feee5b8b4c2453ed57 /Completion
parentaaf6682903d1a5cdb7a4c683f83c81a7af417d72 (diff)
downloadzsh-70411169809410901ba6f90b668a69eec2002003.tar.gz
zsh-70411169809410901ba6f90b668a69eec2002003.tar.xz
zsh-70411169809410901ba6f90b668a69eec2002003.zip
zsh-workers/9383
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Builtins/_zstyle2
-rw-r--r--Completion/Core/_path_files8
2 files changed, 10 insertions, 0 deletions
diff --git a/Completion/Builtins/_zstyle b/Completion/Builtins/_zstyle
index 07bfd2976..2e95545c2 100644
--- a/Completion/Builtins/_zstyle
+++ b/Completion/Builtins/_zstyle
@@ -18,6 +18,7 @@ styles=(
   cursor		 c:bool
   disable-stat		 c:bool
   expand		 c:
+  file-patterns		 c:
   format		 c:
   glob			 c:
   group-name		 c:
@@ -49,6 +50,7 @@ styles=(
   sort			 c:bool
   tag-order		 c:tag
   special-dirs		 c:sdirs
+  squeeze-slashes	 c:bool
   stop			 c:stop
   substitute		 c:
   users			 c:_users
diff --git a/Completion/Core/_path_files b/Completion/Core/_path_files
index e76a54882..9c1be30bf 100644
--- a/Completion/Core/_path_files
+++ b/Completion/Core/_path_files
@@ -157,6 +157,14 @@ if zstyle -s ":completion${curcontext}:files" sort tmp1; then
   fi
 fi
 
+# Squeeze sequences of slashes
+if zstyle -t ":completion${curcontext}:paths" squeeze-slashes
+then
+  PREFIX="${PREFIX//(\\/)#//}"
+  SUFFIX="${SUFFIX//(\\/)#//}"
+  [[ $PREFIX = */ ]] && SUFFIX=${SUFFIX#/}
+fi
+
 # We get the prefix and the suffix from the line and save the whole
 # original string. Then we see if we will do menucompletion.