about summary refs log tree commit diff
path: root/Completion/Unix/Command/_rsync
diff options
context:
space:
mode:
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