about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
authorDaniel Shahaf <danielsh@apache.org>2020-01-04 14:39:44 +0000
committerDaniel Shahaf <danielsh@apache.org>2020-01-06 02:28:54 +0000
commit7542732df6b7aee0a77ef6e6097e71055cd2a257 (patch)
treeb7a1ce451c0428108416eaf7e6953bc9c567d768 /Completion
parent3ff0b189a06445bc451d1db1068792d13ae04cd4 (diff)
downloadzsh-7542732df6b7aee0a77ef6e6097e71055cd2a257.tar.gz
zsh-7542732df6b7aee0a77ef6e6097e71055cd2a257.tar.xz
zsh-7542732df6b7aee0a77ef6e6097e71055cd2a257.zip
45231: _rsync: When completing remote modules, ignore more of the motd.
We cannot use the --no-motd option because it inhibits the modules
listing.

We cannot look for a blank line because there will not be a blank line
if the "motd file" does not end with a newline.

Looking for tabs is an improvement.  Any tabs in the motd will still
cause extraneous matches, but there's nothing we can do about that.

While here, show the modules in the order listed.
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Unix/Command/_rsync3
1 files changed, 2 insertions, 1 deletions
diff --git a/Completion/Unix/Command/_rsync b/Completion/Unix/Command/_rsync
index c1404c908..56efd7b13 100644
--- a/Completion/Unix/Command/_rsync
+++ b/Completion/Unix/Command/_rsync
@@ -51,10 +51,11 @@ elif compset -P 1 '*::' || compset -P 1 'rsync://*/'; then
   fi
 
   remfiles=(${${(f)"$(_call_program files rsync $pat 2>/dev/null)"}:#([ 	]|MOTD:)*})
+  remfiles=( ${(M)remfiles:#*$'\t'*} )
 
   remmodules=(${remfiles/[ 	]##/:})
 
-  _describe "remote modules" remmodules -S/
+  _describe -V "remote modules" remmodules -S/
 
 elif compset -P 'rsync://'; then
   _rsync_user_or_host / "$@"