From 7542732df6b7aee0a77ef6e6097e71055cd2a257 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Sat, 4 Jan 2020 14:39:44 +0000 Subject: 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. --- Completion/Unix/Command/_rsync | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Completion') 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 / "$@" -- cgit 1.4.1