summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_rsync
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_rsync')
-rw-r--r--Completion/Unix/Command/_rsync23
1 files changed, 19 insertions, 4 deletions
diff --git a/Completion/Unix/Command/_rsync b/Completion/Unix/Command/_rsync
index 79d8243e1..f79ec1dfe 100644
--- a/Completion/Unix/Command/_rsync
+++ b/Completion/Unix/Command/_rsync
@@ -66,6 +66,20 @@ fi
}
+_rsync_info() {
+ local opts
+ opts=( ${${(M)${(f)"$(_call_program values $words[1] --info=help)"}:#*Mention*}/ ##Me/[me} )
+ (( $#opts )) && opts=( '(ALL NONE HELP)'${^opts}\] )
+ _values -s , 'info options' $opts ALL NONE HELP
+}
+
+_rsync_debug() {
+ local opts
+ opts=( ${${(M)${(f)"$(_call_program values $words[1] --debug=help)"}:#*Debug*}/ ##De/[de} )
+ (( $#opts )) && opts=( '(ALL NONE HELP)'${^opts}\] )
+ _values -s , 'debug options' $opts ALL NONE HELP
+}
+
_rsync_files() {
_alternative "files:file:_files" "remote-files:remote file:_rsync_remote_files"
}
@@ -78,6 +92,8 @@ _rsync() {
'--outbuf=[set output buffering]:buffering:(none line block)' \
'--port=[specify alternate port number]:port:(873)' \
'--address=[bind to the specified address]:bind address:_bind_addresses' \
+ '--log-file-format=[log updates using specified format]:format' \
+ '--log-file=[log what rsync is doing to the specified file]:file:_files' \
'(-T --temp-dir)'{-T,--temp-dir=}'[create temporary files in specified directory]:directory:_directories' \
'--sockopts=[specify custom TCP options]' \
'(-4 -6 --ipv4 --ipv6)'{-4,--ipv4}'[prefer IPv4]' \
@@ -87,6 +103,7 @@ _rsync() {
'--config=[specify alternate rsyncd.conf file]:file:_files' \
'--daemon[run as an rsync daemon]' \
'--detach[detach from the parent]' \
+ '(-M --dparam)'{-M,--dparam=}'[override global daemon config parameter]:config parameter' \
'--no-detach[do not detach from the parent]' \
- client \
'(-)--help[display help information]' \
@@ -205,15 +222,13 @@ _rsync() {
'(-i --itemize-changes)'{-i,--itemize-changes}'[output a change-summary for all updates]' \
'--log-format=[deprecated version of --out-format]' \
'--out-format=[output updates using specified format]:format' \
- '--log-file-format=[log updates using specified format]:format' \
- '--log-file=[log what rsync is doing to the specified file]:file:_files' \
'--password-file=[read daemon-access password from file]:file:_files' \
'--list-only[list the files instead of copying them]' \
'(--only-write-batch)--write-batch=[write a batched update to the specified file]:file:_files' \
'(--write-batch)--only-write-batch=[like --write-batch but w/o updating destination]:file:_files' \
'--protocol=[force an older protocol version to be used]:number' \
- '--info=[fine-grained informational verbosity]:comma-separated list' \
- '--debug=[fine-grained debug verbosity]:comma-separated list' \
+ '--info=[fine-grained informational verbosity]:info option:_rsync_info' \
+ '--debug=[fine-grained debug verbosity]:debug option:_rsync_debug' \
'--msgs2stderr[special output handling for debugging]' \
'--munge-links[munge symlinks to make them safer, but unusable]' \
'--ignore-missing-args[ignore missing source args without error]' \