about summary refs log tree commit diff
path: root/Completion/Unix/Command/_rsync
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2009-04-16 10:00:26 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2009-04-16 10:00:26 +0000
commit29684e7c81ae85ce29f58a707b6339b853565dc6 (patch)
treeecf2ecb0db1aa73c15832300fe422f449ea1791c /Completion/Unix/Command/_rsync
parent4fdb6c2352f84c79d3886cb090f252d4ada9a3dd (diff)
downloadzsh-29684e7c81ae85ce29f58a707b6339b853565dc6.tar.gz
zsh-29684e7c81ae85ce29f58a707b6339b853565dc6.tar.xz
zsh-29684e7c81ae85ce29f58a707b6339b853565dc6.zip
26829: Alexey I. Froloff: _rsync miscounts fields
Diffstat (limited to 'Completion/Unix/Command/_rsync')
-rw-r--r--Completion/Unix/Command/_rsync7
1 files changed, 5 insertions, 2 deletions
diff --git a/Completion/Unix/Command/_rsync b/Completion/Unix/Command/_rsync
index 34d4260b3..c26c05f14 100644
--- a/Completion/Unix/Command/_rsync
+++ b/Completion/Unix/Command/_rsync
@@ -31,11 +31,14 @@ if compset -P '*::*/' || compset -P 'rsync://*/*/'; then
   remdispf=(${remfiles:#d*})
   remdispd=(${(M)remfiles:#d*})
 
+  # $remdisp[fd] format:
+  # attrs  size  date  time  name
+
   _wanted files expl 'remote file or directory' \
-      compadd -d remdispf ${remdispf##* }
+      compadd -d remdispf ${${${${remdispf##[^ ]## ##}##[^ ]## ##}##[^ ]## ##}##[^ ]## ##}
 
   _wanted files expl 'remote file or directory' \
-      compadd -S/ -d remdispd ${remdispd##* }
+      compadd -S/ -d remdispd ${${${${remdispd##[^ ]## ##}##[^ ]## ##}##[^ ]## ##}##[^ ]## ##}
 
 elif compset -P 1 '*::' || compset -P 1 'rsync://*/'; then