Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

[PATCH] _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.
---
 Completion/Unix/Command/_rsync | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

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 / "$@"



Messages sorted by: Reverse Date, Date, Thread, Author