From fba888c5aa841db303ef8b18904a89fed521ff9d Mon Sep 17 00:00:00 2001 From: timvisee Date: Mon, 18 Mar 2019 16:35:02 +0100 Subject: [PATCH] Add common shell completions, fix invalid quiet check --- contrib/completions/_ffsend | 2024 +++++++++++++++++++++--- contrib/completions/_ffsend.ps1 | 492 ++++++ contrib/completions/ffsend.bash | 2254 +++++++++++++++++++++++++++ contrib/completions/ffsend.elv | 470 ++++++ contrib/completions/ffsend.fish | 219 +++ contrib/completions/gen_completions | 8 + src/action/generate/completions.rs | 6 +- 7 files changed, 5245 insertions(+), 228 deletions(-) create mode 100644 contrib/completions/_ffsend.ps1 create mode 100644 contrib/completions/ffsend.bash create mode 100644 contrib/completions/ffsend.elv create mode 100644 contrib/completions/ffsend.fish create mode 100755 contrib/completions/gen_completions diff --git a/contrib/completions/_ffsend b/contrib/completions/_ffsend index b789679..92cd8f0 100644 --- a/contrib/completions/_ffsend +++ b/contrib/completions/_ffsend @@ -1,233 +1,1807 @@ #compdef ffsend -local -a root_args -root_args=( - '(- *)'{-h,--help}'[Prints help information]' - '(- *)'{-V,--version}'[Prints version information]' -) +autoload -U is-at-least -local -a common_args -common_args=( - '(-f --force)'{-f,--force}'[Force the action, ignore warnings]' - '(-i --incognito)'{-i,--incognito}"[Don't update local history for actions]" - '(-I --no-interact)'{-I,--no-interact}'[Not interactive, do not prompt]' - '(-q --quiet)'{-q,--quiet}'[Produce output suitable for logging and automation]' - '(-v --verbose)'{-v,--verbose}'[Enable verbose information and logging]' - '(-y --yes)'{-y,--yes}'[Assume yes for prompts]' -) +_ffsend() { + typeset -A opt_args + typeset -a _arguments_options + local ret=1 -local -a common_options -common_options=( - '(-A --api)'{-A,--api}"[Server API version to use, '-' to lookup]:api:(2 3 auto -)" - '(-H --history)'{-H,--history}'[Use the specified history file]:history file:_files' - '(-t --timeout)'{-t,--timeout}'[Request timeout (0 to disable)]:timeout:' - '(-T --transfer-timeout)'{-T,--transfer-timeout}'[Transfer timeout (0 to disable)]:timeout:' -) + if is-at-least 5.2; then + _arguments_options=(-s -S -C) + else + _arguments_options=(-s -C) + fi -_ffsend_commands() { - local -a commands - commands=( - 'upload:Upload files' - 'download:Download files' - 'debug:View debug information' - 'delete:Delete a shared file' - 'exists:Check whether a remote file exists' - 'help:Prints this message or the help of the given subcommand(s)' - 'history:View file history' - 'info:Fetch info about a shared file' - 'parameters:Change parameters of a shared file' - 'password:Change the password of a shared file' - 'version:Determine the Send server version' - ) - _describe 'command' commands -} - -_arguments -w -s -S \ - ${root_args[@]} \ - ${common_args[@]} \ - ${common_options[@]} \ - '1: :_ffsend_commands' \ - '*:: :->subcommands' - -case ${words[1]} in - upload) - local -a upload_args - upload_args=( - '(-a --archive)'{-a,--archive}'[Archive the upload in a single file]' - '(-c --copy)'{-c,--copy}'[Copy the share link to your clipboard]' - '(-C --copy-cmd)'{-C,--copy-cmd}'[Copy the ffsend download command to your clipboard]' - '(-P --gen-passphrase)'{-P,--gen-passphrase}'[Protect the file with a generated passphrase]' - '(- *)--help[Prints help information]' - '(-o --open)'{-o,--open}'[Open the share link in your browser]' - ) - local -a upload_options - upload_options=( - '(-d --download-limit)'{-d,--download-limit}'[The file download limit]:count:' - '(-h --host)'{-h,--host}'[The remote host to upload to]:host:' - '(-n --name)'{-n,--name}'[Rename the file being uploaded]:name:' - '(-p --password)'{-p,--password}'[Protect the file with a password]:password:' - ) - _arguments -w -s -S \ - ${upload_args[@]} \ - ${common_args[@]} \ - ${upload_options[@]} \ - ${common_options[@]} \ - ':file:_files' - ;; - download) - local -a download_args - download_args=( - '(-e --extract)'{-e,--extract}'[Extract an archived file]' - '(- *)'{-h,--help}'[Prints help information]' - ) - local -a download_options - download_options=( - '(-o --output)'{-o,--output}'[The output file or directory]:output file or directory:_files' - '(-p --password)'{-p,--password}'[Unlock a password protected file]:password:' - ) - _arguments -w -s -S \ - ${download_args[@]} \ - ${common_args[@]} \ - ${download_options[@]} \ - ${common_options[@]} \ - ':url:()' - ;; - debug) - local -a debug_args - debug_args=( - '(- *)--help[Prints help information]' - ) - local -a debug_options - debug_options=( - '(-h --host)'{-h,--host}'[The remote host to upload to]:host:' - ) - _arguments -w -s -S \ - ${debug_args[@]} \ - ${common_args[@]} \ - ${debug_options[@]} \ - ${common_options[@]} - ;; - delete) - local -a delete_args - delete_args=( - '(- *)'{-h,--help}'[Prints help information]' - ) - local -a delete_options - delete_options=( - '(-o --owner)'{-o,--owner}'[Specify the file owner token]:token:' - ) - _arguments -w -s -S \ - ${delete_args[@]} \ - ${common_args[@]} \ - ${delete_options[@]} \ - ${common_options[@]} \ - '1:url:()' - ;; - exists) - local -a exists_args - exists_args=( - '(- *)'{-h,--help}'[Prints help information]' - ) - _arguments -w -s -S \ - ${exists_args[@]} \ - ${common_args[@]} \ - ${common_options[@]} \ - '1:url:()' - ;; - help) - local -a help_topics - help_topics=( - 'upload' - 'download' - 'debug' - 'delete' - 'exists' - 'help' - 'history' - 'info' - 'parameters' - 'password' - 'version' - ) - _values 'help topics' ${help_topics[@]} - ;; - history) - local -a history_args - history_args=( - '(- *)'{-h,--help}'[Prints help information]' - ) - _arguments -w -s -S \ - ${history_args[@]} \ - ${common_args[@]} \ - ${common_options[@]} - ;; - info) - local -a info_args - info_args=( - '(- *)'{-h,--help}'[Prints help information]' - ) - local -a info_options - info_options=( - '(-o --owner)'{-o,--owner}'[Specify the file owner token]:token:' - '(-p --password)'{-p,--password}'[Unlock a password protected file]:password:' - ) - _arguments -w -s -S \ - ${info_args[@]} \ - ${common_args[@]} \ - ${info_options[@]} \ - ${common_options[@]} \ - '1:url:()' - ;; - parameters) - local -a parameters_args - parameters_args=( - '(- *)'{-h,--help}'[Prints help information]' - ) - local -a parameters_options - parameters_options=( - '(-d --download-limit)'{-d,--download-limit}'[The file download limit]:count:' - '(-o --owner)'{-o,--owner}'[Specify the file owner token]:token:' - ) - _arguments -w -s -S \ - ${parameters_args[@]} \ - ${common_args[@]} \ - ${parameters_options[@]} \ - ${common_options[@]} \ - '1:url:()' - ;; - password) - local -a password_args - password_args=( - '(-P --gen-passphrase)'{-P,--gen-passphrase}'[Protect the file with a generated passphrase]' - '(- *)'{-h,--help}'[Prints help information]' - ) - local -a password_options - password_options=( - '(-o --owner)'{-o,--owner}'[Specify the file owner token]:token:' - '(-p --password)'{-p,--password}'[Unlock a password protected file]:password:' - ) - _arguments -w -s -S \ - ${password_args[@]} \ - ${common_args[@]} \ - ${password_options[@]} \ - ${common_options[@]} \ - '1:url:()' - ;; - version) - local -a version_args - version_args=( - '(- *)--help[Prints help information]' - ) - local -a version_options - version_options=( - '(-h --host)'{-h,--host}'[The remote host to upload to]:host:' - ) - _arguments -w -s -S \ - ${version_args[@]} \ - ${common_args[@]} \ - ${version_options[@]} \ - ${common_options[@]} + local context curcontext="$curcontext" state line + _arguments "${_arguments_options[@]}" \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +":: :_ffsend_commands" \ +"*::: :->ffsend" \ +&& ret=0 + case $state in + (ffsend) + words=($line[1] "${words[@]}") + (( CURRENT += 1 )) + curcontext="${curcontext%:*:*}:ffsend-command-$line[1]:" + case $line[1] in + (dbg) +_arguments "${_arguments_options[@]}" \ +'-h+[The remote host to upload to]' \ +'--host=[The remote host to upload to]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +&& ret=0 +;; +(debug) +_arguments "${_arguments_options[@]}" \ +'-h+[The remote host to upload to]' \ +'--host=[The remote host to upload to]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +&& ret=0 +;; +(del) +_arguments "${_arguments_options[@]}" \ +'-o+[Specify the file owner token]' \ +'--owner=[Specify the file owner token]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(delete) +_arguments "${_arguments_options[@]}" \ +'-o+[Specify the file owner token]' \ +'--owner=[Specify the file owner token]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(d) +_arguments "${_arguments_options[@]}" \ +'-p+[Unlock a password protected file]' \ +'--password=[Unlock a password protected file]' \ +'-o+[Output file or directory]' \ +'--output=[Output file or directory]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-e[Extract an archived file]' \ +'--extract[Extract an archived file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(down) +_arguments "${_arguments_options[@]}" \ +'-p+[Unlock a password protected file]' \ +'--password=[Unlock a password protected file]' \ +'-o+[Output file or directory]' \ +'--output=[Output file or directory]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-e[Extract an archived file]' \ +'--extract[Extract an archived file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(download) +_arguments "${_arguments_options[@]}" \ +'-p+[Unlock a password protected file]' \ +'--password=[Unlock a password protected file]' \ +'-o+[Output file or directory]' \ +'--output=[Output file or directory]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-e[Extract an archived file]' \ +'--extract[Extract an archived file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(e) +_arguments "${_arguments_options[@]}" \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(exist) +_arguments "${_arguments_options[@]}" \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(exists) +_arguments "${_arguments_options[@]}" \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(gen) +_arguments "${_arguments_options[@]}" \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +":: :_ffsend__generate_commands" \ +"*::: :->generate" \ +&& ret=0 +case $state in + (generate) + words=($line[1] "${words[@]}") + (( CURRENT += 1 )) + curcontext="${curcontext%:*:*}:ffsend-generate-command-$line[1]:" + case $line[1] in + (completion) +_arguments "${_arguments_options[@]}" \ +'-o+[Shell completion files output directory]' \ +'--output=[Shell completion files output directory]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':SHELL -- Shell type to generate completions for:(all zsh bash fish powershell elvish)' \ +&& ret=0 +;; +(complete) +_arguments "${_arguments_options[@]}" \ +'-o+[Shell completion files output directory]' \ +'--output=[Shell completion files output directory]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':SHELL -- Shell type to generate completions for:(all zsh bash fish powershell elvish)' \ +&& ret=0 +;; +(completions) +_arguments "${_arguments_options[@]}" \ +'-o+[Shell completion files output directory]' \ +'--output=[Shell completion files output directory]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':SHELL -- Shell type to generate completions for:(all zsh bash fish powershell elvish)' \ +&& ret=0 +;; +(help) +_arguments "${_arguments_options[@]}" \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +&& ret=0 +;; + esac ;; esac +;; +(generate) +_arguments "${_arguments_options[@]}" \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +":: :_ffsend__generate_commands" \ +"*::: :->generate" \ +&& ret=0 +case $state in + (generate) + words=($line[1] "${words[@]}") + (( CURRENT += 1 )) + curcontext="${curcontext%:*:*}:ffsend-generate-command-$line[1]:" + case $line[1] in + (completion) +_arguments "${_arguments_options[@]}" \ +'-o+[Shell completion files output directory]' \ +'--output=[Shell completion files output directory]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':SHELL -- Shell type to generate completions for:(all zsh bash fish powershell elvish)' \ +&& ret=0 +;; +(complete) +_arguments "${_arguments_options[@]}" \ +'-o+[Shell completion files output directory]' \ +'--output=[Shell completion files output directory]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':SHELL -- Shell type to generate completions for:(all zsh bash fish powershell elvish)' \ +&& ret=0 +;; +(completions) +_arguments "${_arguments_options[@]}" \ +'-o+[Shell completion files output directory]' \ +'--output=[Shell completion files output directory]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':SHELL -- Shell type to generate completions for:(all zsh bash fish powershell elvish)' \ +&& ret=0 +;; +(help) +_arguments "${_arguments_options[@]}" \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +&& ret=0 +;; + esac + ;; +esac +;; +(i) +_arguments "${_arguments_options[@]}" \ +'-o+[Specify the file owner token]' \ +'--owner=[Specify the file owner token]' \ +'-p+[Unlock a password protected file]' \ +'--password=[Unlock a password protected file]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(information) +_arguments "${_arguments_options[@]}" \ +'-o+[Specify the file owner token]' \ +'--owner=[Specify the file owner token]' \ +'-p+[Unlock a password protected file]' \ +'--password=[Unlock a password protected file]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(info) +_arguments "${_arguments_options[@]}" \ +'-o+[Specify the file owner token]' \ +'--owner=[Specify the file owner token]' \ +'-p+[Unlock a password protected file]' \ +'--password=[Unlock a password protected file]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(params) +_arguments "${_arguments_options[@]}" \ +'-o+[Specify the file owner token]' \ +'--owner=[Specify the file owner token]' \ +'-d+[The file download limit]' \ +'--download-limit=[The file download limit]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(param) +_arguments "${_arguments_options[@]}" \ +'-o+[Specify the file owner token]' \ +'--owner=[Specify the file owner token]' \ +'-d+[The file download limit]' \ +'--download-limit=[The file download limit]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(parameter) +_arguments "${_arguments_options[@]}" \ +'-o+[Specify the file owner token]' \ +'--owner=[Specify the file owner token]' \ +'-d+[The file download limit]' \ +'--download-limit=[The file download limit]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(parameters) +_arguments "${_arguments_options[@]}" \ +'-o+[Specify the file owner token]' \ +'--owner=[Specify the file owner token]' \ +'-d+[The file download limit]' \ +'--download-limit=[The file download limit]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(pass) +_arguments "${_arguments_options[@]}" \ +'-p+[Specify a password, do not prompt]' \ +'--password=[Specify a password, do not prompt]' \ +'-o+[Specify the file owner token]' \ +'--owner=[Specify the file owner token]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-P[Protect the file with a generated passphrase]' \ +'--gen-passphrase[Protect the file with a generated passphrase]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(p) +_arguments "${_arguments_options[@]}" \ +'-p+[Specify a password, do not prompt]' \ +'--password=[Specify a password, do not prompt]' \ +'-o+[Specify the file owner token]' \ +'--owner=[Specify the file owner token]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-P[Protect the file with a generated passphrase]' \ +'--gen-passphrase[Protect the file with a generated passphrase]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(password) +_arguments "${_arguments_options[@]}" \ +'-p+[Specify a password, do not prompt]' \ +'--password=[Specify a password, do not prompt]' \ +'-o+[Specify the file owner token]' \ +'--owner=[Specify the file owner token]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-P[Protect the file with a generated passphrase]' \ +'--gen-passphrase[Protect the file with a generated passphrase]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':URL -- The share URL:_files' \ +&& ret=0 +;; +(u) +_arguments "${_arguments_options[@]}" \ +'-p+[Protect the file with a password]' \ +'--password=[Protect the file with a password]' \ +'-d+[The file download limit]' \ +'--download-limit=[The file download limit]' \ +'-h+[The remote host to upload to]' \ +'--host=[The remote host to upload to]' \ +'-n+[Rename the file being uploaded]' \ +'--name=[Rename the file being uploaded]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-P[Protect the file with a generated passphrase]' \ +'--gen-passphrase[Protect the file with a generated passphrase]' \ +'-o[Open the share link in your browser]' \ +'--open[Open the share link in your browser]' \ +'-a[Archive the upload in a single file]' \ +'--archive[Archive the upload in a single file]' \ +'(-C --copy-cmd)-c[Copy the share link to your clipboard]' \ +'(-C --copy-cmd)--copy[Copy the share link to your clipboard]' \ +'(-c --copy)-C[Copy the ffsend download command to your clipboard]' \ +'(-c --copy)--copy-cmd[Copy the ffsend download command to your clipboard]' \ +'-S[Shorten share URLs with a public service]' \ +'--shorten[Shorten share URLs with a public service]' \ +'-Q[Print a QR code for the share URL]' \ +'--qrcode[Print a QR code for the share URL]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':FILE -- The file to upload:_files' \ +&& ret=0 +;; +(up) +_arguments "${_arguments_options[@]}" \ +'-p+[Protect the file with a password]' \ +'--password=[Protect the file with a password]' \ +'-d+[The file download limit]' \ +'--download-limit=[The file download limit]' \ +'-h+[The remote host to upload to]' \ +'--host=[The remote host to upload to]' \ +'-n+[Rename the file being uploaded]' \ +'--name=[Rename the file being uploaded]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-P[Protect the file with a generated passphrase]' \ +'--gen-passphrase[Protect the file with a generated passphrase]' \ +'-o[Open the share link in your browser]' \ +'--open[Open the share link in your browser]' \ +'-a[Archive the upload in a single file]' \ +'--archive[Archive the upload in a single file]' \ +'(-C --copy-cmd)-c[Copy the share link to your clipboard]' \ +'(-C --copy-cmd)--copy[Copy the share link to your clipboard]' \ +'(-c --copy)-C[Copy the ffsend download command to your clipboard]' \ +'(-c --copy)--copy-cmd[Copy the ffsend download command to your clipboard]' \ +'-S[Shorten share URLs with a public service]' \ +'--shorten[Shorten share URLs with a public service]' \ +'-Q[Print a QR code for the share URL]' \ +'--qrcode[Print a QR code for the share URL]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':FILE -- The file to upload:_files' \ +&& ret=0 +;; +(upload) +_arguments "${_arguments_options[@]}" \ +'-p+[Protect the file with a password]' \ +'--password=[Protect the file with a password]' \ +'-d+[The file download limit]' \ +'--download-limit=[The file download limit]' \ +'-h+[The remote host to upload to]' \ +'--host=[The remote host to upload to]' \ +'-n+[Rename the file being uploaded]' \ +'--name=[Rename the file being uploaded]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-P[Protect the file with a generated passphrase]' \ +'--gen-passphrase[Protect the file with a generated passphrase]' \ +'-o[Open the share link in your browser]' \ +'--open[Open the share link in your browser]' \ +'-a[Archive the upload in a single file]' \ +'--archive[Archive the upload in a single file]' \ +'(-C --copy-cmd)-c[Copy the share link to your clipboard]' \ +'(-C --copy-cmd)--copy[Copy the share link to your clipboard]' \ +'(-c --copy)-C[Copy the ffsend download command to your clipboard]' \ +'(-c --copy)--copy-cmd[Copy the ffsend download command to your clipboard]' \ +'-S[Shorten share URLs with a public service]' \ +'--shorten[Shorten share URLs with a public service]' \ +'-Q[Print a QR code for the share URL]' \ +'--qrcode[Print a QR code for the share URL]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +':FILE -- The file to upload:_files' \ +&& ret=0 +;; +(ver) +_arguments "${_arguments_options[@]}" \ +'-h+[The remote host to upload to]' \ +'--host=[The remote host to upload to]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +&& ret=0 +;; +(v) +_arguments "${_arguments_options[@]}" \ +'-h+[The remote host to upload to]' \ +'--host=[The remote host to upload to]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +&& ret=0 +;; +(version) +_arguments "${_arguments_options[@]}" \ +'-h+[The remote host to upload to]' \ +'--host=[The remote host to upload to]' \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +&& ret=0 +;; +(h) +_arguments "${_arguments_options[@]}" \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +&& ret=0 +;; +(ls) +_arguments "${_arguments_options[@]}" \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +&& ret=0 +;; +(history) +_arguments "${_arguments_options[@]}" \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +&& ret=0 +;; +(help) +_arguments "${_arguments_options[@]}" \ +'-t+[Request timeout (0 to disable)]' \ +'--timeout=[Request timeout (0 to disable)]' \ +'-T+[Transfer timeout (0 to disable)]' \ +'--transfer-timeout=[Transfer timeout (0 to disable)]' \ +'-A+[Server API version to use, '\''-'\'' to lookup]' \ +'--api=[Server API version to use, '\''-'\'' to lookup]' \ +'-H+[Use the specified history file]' \ +'--history=[Use the specified history file]' \ +'-h[Prints help information]' \ +'--help[Prints help information]' \ +'-V[Prints version information]' \ +'--version[Prints version information]' \ +'-f[Force the action, ignore warnings]' \ +'--force[Force the action, ignore warnings]' \ +'-I[Not interactive, do not prompt]' \ +'--no-interact[Not interactive, do not prompt]' \ +'-y[Assume yes for prompts]' \ +'--yes[Assume yes for prompts]' \ +'-q[Produce output suitable for logging and automation]' \ +'--quiet[Produce output suitable for logging and automation]' \ +'*-v[Enable verbose information and logging]' \ +'*--verbose[Enable verbose information and logging]' \ +'-i[Don'\''t update local history for actions]' \ +'--incognito[Don'\''t update local history for actions]' \ +&& ret=0 +;; + esac + ;; +esac +} -# vim: ft=zsh sw=2 ts=2 et +(( $+functions[_ffsend_commands] )) || +_ffsend_commands() { + local commands; commands=( + "debug:View debug information" \ +"dbg:View debug information" \ +"delete:Delete a shared file" \ +"del:Delete a shared file" \ +"download:Download files" \ +"d:Download files" \ +"down:Download files" \ +"exists:Check whether a remote file exists" \ +"e:Check whether a remote file exists" \ +"generate:Generate assets" \ +"gen:Generate assets" \ +"info:Fetch info about a shared file" \ +"i:Fetch info about a shared file" \ +"parameters:Change parameters of a shared file" \ +"params:Change parameters of a shared file" \ +"password:Change the password of a shared file" \ +"pass:Change the password of a shared file" \ +"p:Change the password of a shared file" \ +"upload:Upload files" \ +"u:Upload files" \ +"up:Upload files" \ +"version:Determine the Send server version" \ +"v:Determine the Send server version" \ +"history:View file history" \ +"h:View file history" \ +"help:Prints this message or the help of the given subcommand(s)" \ + ) + _describe -t commands 'ffsend commands' commands "$@" +} +(( $+functions[_ffsend__complete_commands] )) || +_ffsend__complete_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend complete commands' commands "$@" +} +(( $+functions[_ffsend__generate__complete_commands] )) || +_ffsend__generate__complete_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend generate complete commands' commands "$@" +} +(( $+functions[_ffsend__completion_commands] )) || +_ffsend__completion_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend completion commands' commands "$@" +} +(( $+functions[_ffsend__generate__completion_commands] )) || +_ffsend__generate__completion_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend generate completion commands' commands "$@" +} +(( $+functions[_ffsend__generate__completions_commands] )) || +_ffsend__generate__completions_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend generate completions commands' commands "$@" +} +(( $+functions[_d_commands] )) || +_d_commands() { + local commands; commands=( + + ) + _describe -t commands 'd commands' commands "$@" +} +(( $+functions[_ffsend__d_commands] )) || +_ffsend__d_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend d commands' commands "$@" +} +(( $+functions[_dbg_commands] )) || +_dbg_commands() { + local commands; commands=( + + ) + _describe -t commands 'dbg commands' commands "$@" +} +(( $+functions[_ffsend__dbg_commands] )) || +_ffsend__dbg_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend dbg commands' commands "$@" +} +(( $+functions[_ffsend__debug_commands] )) || +_ffsend__debug_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend debug commands' commands "$@" +} +(( $+functions[_del_commands] )) || +_del_commands() { + local commands; commands=( + + ) + _describe -t commands 'del commands' commands "$@" +} +(( $+functions[_ffsend__del_commands] )) || +_ffsend__del_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend del commands' commands "$@" +} +(( $+functions[_ffsend__delete_commands] )) || +_ffsend__delete_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend delete commands' commands "$@" +} +(( $+functions[_down_commands] )) || +_down_commands() { + local commands; commands=( + + ) + _describe -t commands 'down commands' commands "$@" +} +(( $+functions[_ffsend__down_commands] )) || +_ffsend__down_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend down commands' commands "$@" +} +(( $+functions[_ffsend__download_commands] )) || +_ffsend__download_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend download commands' commands "$@" +} +(( $+functions[_e_commands] )) || +_e_commands() { + local commands; commands=( + + ) + _describe -t commands 'e commands' commands "$@" +} +(( $+functions[_ffsend__e_commands] )) || +_ffsend__e_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend e commands' commands "$@" +} +(( $+functions[_exist_commands] )) || +_exist_commands() { + local commands; commands=( + + ) + _describe -t commands 'exist commands' commands "$@" +} +(( $+functions[_ffsend__exist_commands] )) || +_ffsend__exist_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend exist commands' commands "$@" +} +(( $+functions[_ffsend__exists_commands] )) || +_ffsend__exists_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend exists commands' commands "$@" +} +(( $+functions[_gen_commands] )) || +_gen_commands() { + local commands; commands=( + "completions:Shell completions" \ +"help:Prints this message or the help of the given subcommand(s)" \ + ) + _describe -t commands 'gen commands' commands "$@" +} +(( $+functions[_ffsend__generate_commands] )) || +_ffsend__generate_commands() { + local commands; commands=( + "completions:Shell completions" \ +"help:Prints this message or the help of the given subcommand(s)" \ + ) + _describe -t commands 'ffsend generate commands' commands "$@" +} +(( $+functions[_ffsend__h_commands] )) || +_ffsend__h_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend h commands' commands "$@" +} +(( $+functions[_h_commands] )) || +_h_commands() { + local commands; commands=( + + ) + _describe -t commands 'h commands' commands "$@" +} +(( $+functions[_ffsend__generate__help_commands] )) || +_ffsend__generate__help_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend generate help commands' commands "$@" +} +(( $+functions[_ffsend__help_commands] )) || +_ffsend__help_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend help commands' commands "$@" +} +(( $+functions[_ffsend__history_commands] )) || +_ffsend__history_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend history commands' commands "$@" +} +(( $+functions[_ffsend__i_commands] )) || +_ffsend__i_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend i commands' commands "$@" +} +(( $+functions[_i_commands] )) || +_i_commands() { + local commands; commands=( + + ) + _describe -t commands 'i commands' commands "$@" +} +(( $+functions[_ffsend__info_commands] )) || +_ffsend__info_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend info commands' commands "$@" +} +(( $+functions[_ffsend__information_commands] )) || +_ffsend__information_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend information commands' commands "$@" +} +(( $+functions[_information_commands] )) || +_information_commands() { + local commands; commands=( + + ) + _describe -t commands 'information commands' commands "$@" +} +(( $+functions[_ffsend__ls_commands] )) || +_ffsend__ls_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend ls commands' commands "$@" +} +(( $+functions[_ls_commands] )) || +_ls_commands() { + local commands; commands=( + + ) + _describe -t commands 'ls commands' commands "$@" +} +(( $+functions[_ffsend__p_commands] )) || +_ffsend__p_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend p commands' commands "$@" +} +(( $+functions[_p_commands] )) || +_p_commands() { + local commands; commands=( + + ) + _describe -t commands 'p commands' commands "$@" +} +(( $+functions[_ffsend__param_commands] )) || +_ffsend__param_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend param commands' commands "$@" +} +(( $+functions[_param_commands] )) || +_param_commands() { + local commands; commands=( + + ) + _describe -t commands 'param commands' commands "$@" +} +(( $+functions[_ffsend__parameter_commands] )) || +_ffsend__parameter_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend parameter commands' commands "$@" +} +(( $+functions[_parameter_commands] )) || +_parameter_commands() { + local commands; commands=( + + ) + _describe -t commands 'parameter commands' commands "$@" +} +(( $+functions[_ffsend__parameters_commands] )) || +_ffsend__parameters_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend parameters commands' commands "$@" +} +(( $+functions[_ffsend__params_commands] )) || +_ffsend__params_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend params commands' commands "$@" +} +(( $+functions[_params_commands] )) || +_params_commands() { + local commands; commands=( + + ) + _describe -t commands 'params commands' commands "$@" +} +(( $+functions[_ffsend__pass_commands] )) || +_ffsend__pass_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend pass commands' commands "$@" +} +(( $+functions[_pass_commands] )) || +_pass_commands() { + local commands; commands=( + + ) + _describe -t commands 'pass commands' commands "$@" +} +(( $+functions[_ffsend__password_commands] )) || +_ffsend__password_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend password commands' commands "$@" +} +(( $+functions[_ffsend__u_commands] )) || +_ffsend__u_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend u commands' commands "$@" +} +(( $+functions[_u_commands] )) || +_u_commands() { + local commands; commands=( + + ) + _describe -t commands 'u commands' commands "$@" +} +(( $+functions[_ffsend__up_commands] )) || +_ffsend__up_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend up commands' commands "$@" +} +(( $+functions[_up_commands] )) || +_up_commands() { + local commands; commands=( + + ) + _describe -t commands 'up commands' commands "$@" +} +(( $+functions[_ffsend__upload_commands] )) || +_ffsend__upload_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend upload commands' commands "$@" +} +(( $+functions[_ffsend__v_commands] )) || +_ffsend__v_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend v commands' commands "$@" +} +(( $+functions[_v_commands] )) || +_v_commands() { + local commands; commands=( + + ) + _describe -t commands 'v commands' commands "$@" +} +(( $+functions[_ffsend__ver_commands] )) || +_ffsend__ver_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend ver commands' commands "$@" +} +(( $+functions[_ver_commands] )) || +_ver_commands() { + local commands; commands=( + + ) + _describe -t commands 'ver commands' commands "$@" +} +(( $+functions[_ffsend__version_commands] )) || +_ffsend__version_commands() { + local commands; commands=( + + ) + _describe -t commands 'ffsend version commands' commands "$@" +} + +_ffsend "$@" \ No newline at end of file diff --git a/contrib/completions/_ffsend.ps1 b/contrib/completions/_ffsend.ps1 new file mode 100644 index 0000000..5580d41 --- /dev/null +++ b/contrib/completions/_ffsend.ps1 @@ -0,0 +1,492 @@ + +using namespace System.Management.Automation +using namespace System.Management.Automation.Language + +Register-ArgumentCompleter -Native -CommandName 'ffsend' -ScriptBlock { + param($wordToComplete, $commandAst, $cursorPosition) + + $commandElements = $commandAst.CommandElements + $command = @( + 'ffsend' + for ($i = 1; $i -lt $commandElements.Count; $i++) { + $element = $commandElements[$i] + if ($element -isnot [StringConstantExpressionAst] -or + $element.StringConstantType -ne [StringConstantType]::BareWord -or + $element.Value.StartsWith('-')) { + break + } + $element.Value + }) -join ';' + + $completions = @(switch ($command) { + 'ffsend' { + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('debug', 'debug', [CompletionResultType]::ParameterValue, 'View debug information') + [CompletionResult]::new('delete', 'delete', [CompletionResultType]::ParameterValue, 'Delete a shared file') + [CompletionResult]::new('download', 'download', [CompletionResultType]::ParameterValue, 'Download files') + [CompletionResult]::new('exists', 'exists', [CompletionResultType]::ParameterValue, 'Check whether a remote file exists') + [CompletionResult]::new('generate', 'generate', [CompletionResultType]::ParameterValue, 'Generate assets') + [CompletionResult]::new('info', 'info', [CompletionResultType]::ParameterValue, 'Fetch info about a shared file') + [CompletionResult]::new('parameters', 'parameters', [CompletionResultType]::ParameterValue, 'Change parameters of a shared file') + [CompletionResult]::new('password', 'password', [CompletionResultType]::ParameterValue, 'Change the password of a shared file') + [CompletionResult]::new('upload', 'upload', [CompletionResultType]::ParameterValue, 'Upload files') + [CompletionResult]::new('version', 'version', [CompletionResultType]::ParameterValue, 'Determine the Send server version') + [CompletionResult]::new('history', 'history', [CompletionResultType]::ParameterValue, 'View file history') + [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Prints this message or the help of the given subcommand(s)') + break + } + 'ffsend;debug' { + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'The remote host to upload to') + [CompletionResult]::new('--host', 'host', [CompletionResultType]::ParameterName, 'The remote host to upload to') + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + break + } + 'ffsend;delete' { + [CompletionResult]::new('-o', 'o', [CompletionResultType]::ParameterName, 'Specify the file owner token') + [CompletionResult]::new('--owner', 'owner', [CompletionResultType]::ParameterName, 'Specify the file owner token') + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + break + } + 'ffsend;download' { + [CompletionResult]::new('-p', 'p', [CompletionResultType]::ParameterName, 'Unlock a password protected file') + [CompletionResult]::new('--password', 'password', [CompletionResultType]::ParameterName, 'Unlock a password protected file') + [CompletionResult]::new('-o', 'o', [CompletionResultType]::ParameterName, 'Output file or directory') + [CompletionResult]::new('--output', 'output', [CompletionResultType]::ParameterName, 'Output file or directory') + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('-e', 'e', [CompletionResultType]::ParameterName, 'Extract an archived file') + [CompletionResult]::new('--extract', 'extract', [CompletionResultType]::ParameterName, 'Extract an archived file') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + break + } + 'ffsend;exists' { + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + break + } + 'ffsend;generate' { + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('completions', 'completions', [CompletionResultType]::ParameterValue, 'Shell completions') + [CompletionResult]::new('help', 'help', [CompletionResultType]::ParameterValue, 'Prints this message or the help of the given subcommand(s)') + break + } + 'ffsend;generate;completions' { + [CompletionResult]::new('-o', 'o', [CompletionResultType]::ParameterName, 'Shell completion files output directory') + [CompletionResult]::new('--output', 'output', [CompletionResultType]::ParameterName, 'Shell completion files output directory') + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + break + } + 'ffsend;generate;help' { + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + break + } + 'ffsend;info' { + [CompletionResult]::new('-o', 'o', [CompletionResultType]::ParameterName, 'Specify the file owner token') + [CompletionResult]::new('--owner', 'owner', [CompletionResultType]::ParameterName, 'Specify the file owner token') + [CompletionResult]::new('-p', 'p', [CompletionResultType]::ParameterName, 'Unlock a password protected file') + [CompletionResult]::new('--password', 'password', [CompletionResultType]::ParameterName, 'Unlock a password protected file') + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + break + } + 'ffsend;parameters' { + [CompletionResult]::new('-o', 'o', [CompletionResultType]::ParameterName, 'Specify the file owner token') + [CompletionResult]::new('--owner', 'owner', [CompletionResultType]::ParameterName, 'Specify the file owner token') + [CompletionResult]::new('-d', 'd', [CompletionResultType]::ParameterName, 'The file download limit') + [CompletionResult]::new('--download-limit', 'download-limit', [CompletionResultType]::ParameterName, 'The file download limit') + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + break + } + 'ffsend;password' { + [CompletionResult]::new('-p', 'p', [CompletionResultType]::ParameterName, 'Specify a password, do not prompt') + [CompletionResult]::new('--password', 'password', [CompletionResultType]::ParameterName, 'Specify a password, do not prompt') + [CompletionResult]::new('-o', 'o', [CompletionResultType]::ParameterName, 'Specify the file owner token') + [CompletionResult]::new('--owner', 'owner', [CompletionResultType]::ParameterName, 'Specify the file owner token') + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('-P', 'P', [CompletionResultType]::ParameterName, 'Protect the file with a generated passphrase') + [CompletionResult]::new('--gen-passphrase', 'gen-passphrase', [CompletionResultType]::ParameterName, 'Protect the file with a generated passphrase') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + break + } + 'ffsend;upload' { + [CompletionResult]::new('-p', 'p', [CompletionResultType]::ParameterName, 'Protect the file with a password') + [CompletionResult]::new('--password', 'password', [CompletionResultType]::ParameterName, 'Protect the file with a password') + [CompletionResult]::new('-d', 'd', [CompletionResultType]::ParameterName, 'The file download limit') + [CompletionResult]::new('--download-limit', 'download-limit', [CompletionResultType]::ParameterName, 'The file download limit') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'The remote host to upload to') + [CompletionResult]::new('--host', 'host', [CompletionResultType]::ParameterName, 'The remote host to upload to') + [CompletionResult]::new('-n', 'n', [CompletionResultType]::ParameterName, 'Rename the file being uploaded') + [CompletionResult]::new('--name', 'name', [CompletionResultType]::ParameterName, 'Rename the file being uploaded') + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('-P', 'P', [CompletionResultType]::ParameterName, 'Protect the file with a generated passphrase') + [CompletionResult]::new('--gen-passphrase', 'gen-passphrase', [CompletionResultType]::ParameterName, 'Protect the file with a generated passphrase') + [CompletionResult]::new('-o', 'o', [CompletionResultType]::ParameterName, 'Open the share link in your browser') + [CompletionResult]::new('--open', 'open', [CompletionResultType]::ParameterName, 'Open the share link in your browser') + [CompletionResult]::new('-a', 'a', [CompletionResultType]::ParameterName, 'Archive the upload in a single file') + [CompletionResult]::new('--archive', 'archive', [CompletionResultType]::ParameterName, 'Archive the upload in a single file') + [CompletionResult]::new('-c', 'c', [CompletionResultType]::ParameterName, 'Copy the share link to your clipboard') + [CompletionResult]::new('--copy', 'copy', [CompletionResultType]::ParameterName, 'Copy the share link to your clipboard') + [CompletionResult]::new('-C', 'C', [CompletionResultType]::ParameterName, 'Copy the ffsend download command to your clipboard') + [CompletionResult]::new('--copy-cmd', 'copy-cmd', [CompletionResultType]::ParameterName, 'Copy the ffsend download command to your clipboard') + [CompletionResult]::new('-S', 'S', [CompletionResultType]::ParameterName, 'Shorten share URLs with a public service') + [CompletionResult]::new('--shorten', 'shorten', [CompletionResultType]::ParameterName, 'Shorten share URLs with a public service') + [CompletionResult]::new('-Q', 'Q', [CompletionResultType]::ParameterName, 'Print a QR code for the share URL') + [CompletionResult]::new('--qrcode', 'qrcode', [CompletionResultType]::ParameterName, 'Print a QR code for the share URL') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + break + } + 'ffsend;version' { + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'The remote host to upload to') + [CompletionResult]::new('--host', 'host', [CompletionResultType]::ParameterName, 'The remote host to upload to') + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + break + } + 'ffsend;history' { + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + break + } + 'ffsend;help' { + [CompletionResult]::new('-t', 't', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('--timeout', 'timeout', [CompletionResultType]::ParameterName, 'Request timeout (0 to disable)') + [CompletionResult]::new('-T', 'T', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('--transfer-timeout', 'transfer-timeout', [CompletionResultType]::ParameterName, 'Transfer timeout (0 to disable)') + [CompletionResult]::new('-A', 'A', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('--api', 'api', [CompletionResultType]::ParameterName, 'Server API version to use, ''-'' to lookup') + [CompletionResult]::new('-H', 'H', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('--history', 'history', [CompletionResultType]::ParameterName, 'Use the specified history file') + [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Prints help information') + [CompletionResult]::new('-V', 'V', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Prints version information') + [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('--force', 'force', [CompletionResultType]::ParameterName, 'Force the action, ignore warnings') + [CompletionResult]::new('-I', 'I', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('--no-interact', 'no-interact', [CompletionResultType]::ParameterName, 'Not interactive, do not prompt') + [CompletionResult]::new('-y', 'y', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('--yes', 'yes', [CompletionResultType]::ParameterName, 'Assume yes for prompts') + [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Produce output suitable for logging and automation') + [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Enable verbose information and logging') + [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + [CompletionResult]::new('--incognito', 'incognito', [CompletionResultType]::ParameterName, 'Don''t update local history for actions') + break + } + }) + + $completions.Where{ $_.CompletionText -like "$wordToComplete*" } | + Sort-Object -Property ListItemText +} diff --git a/contrib/completions/ffsend.bash b/contrib/completions/ffsend.bash new file mode 100644 index 0000000..a11ce13 --- /dev/null +++ b/contrib/completions/ffsend.bash @@ -0,0 +1,2254 @@ +_ffsend() { + local i cur prev opts cmds + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + cmd="" + opts="" + + for i in ${COMP_WORDS[@]} + do + case "${i}" in + ffsend) + cmd="ffsend" + ;; + + complete) + cmd+="__complete" + ;; + completion) + cmd+="__completion" + ;; + completions) + cmd+="__completions" + ;; + d) + cmd+="__d" + ;; + dbg) + cmd+="__dbg" + ;; + debug) + cmd+="__debug" + ;; + del) + cmd+="__del" + ;; + delete) + cmd+="__delete" + ;; + down) + cmd+="__down" + ;; + download) + cmd+="__download" + ;; + e) + cmd+="__e" + ;; + exist) + cmd+="__exist" + ;; + exists) + cmd+="__exists" + ;; + gen) + cmd+="__gen" + ;; + generate) + cmd+="__generate" + ;; + h) + cmd+="__h" + ;; + help) + cmd+="__help" + ;; + history) + cmd+="__history" + ;; + i) + cmd+="__i" + ;; + info) + cmd+="__info" + ;; + information) + cmd+="__information" + ;; + ls) + cmd+="__ls" + ;; + p) + cmd+="__p" + ;; + param) + cmd+="__param" + ;; + parameter) + cmd+="__parameter" + ;; + parameters) + cmd+="__parameters" + ;; + params) + cmd+="__params" + ;; + pass) + cmd+="__pass" + ;; + password) + cmd+="__password" + ;; + u) + cmd+="__u" + ;; + up) + cmd+="__up" + ;; + upload) + cmd+="__upload" + ;; + v) + cmd+="__v" + ;; + ver) + cmd+="__ver" + ;; + version) + cmd+="__version" + ;; + *) + ;; + esac + done + + case "${cmd}" in + ffsend) + opts=" -f -I -y -q -v -i -h -V -t -T -A -H --force --no-interact --yes --quiet --verbose --incognito --help --version --timeout --transfer-timeout --api --history debug delete download exists generate info parameters password upload version history help dbg del d down e exist gen i information params param parameter pass p u up ver v h ls" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + + ffsend__d) + opts=" -e -h -V -f -I -y -q -v -i -p -o -t -T -A -H --extract --help --version --force --no-interact --yes --quiet --verbose --incognito --password --output --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --password) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -p) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --output) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__dbg) + opts=" -V -f -I -y -q -v -i -h -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --host --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --host) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -h) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__debug) + opts=" -V -f -I -y -q -v -i -h -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --host --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --host) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -h) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__del) + opts=" -h -V -f -I -y -q -v -i -o -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --owner --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --owner) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__delete) + opts=" -h -V -f -I -y -q -v -i -o -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --owner --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --owner) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__down) + opts=" -e -h -V -f -I -y -q -v -i -p -o -t -T -A -H --extract --help --version --force --no-interact --yes --quiet --verbose --incognito --password --output --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --password) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -p) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --output) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__download) + opts=" -e -h -V -f -I -y -q -v -i -p -o -t -T -A -H --extract --help --version --force --no-interact --yes --quiet --verbose --incognito --password --output --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --password) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -p) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --output) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__e) + opts=" -h -V -f -I -y -q -v -i -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__exist) + opts=" -h -V -f -I -y -q -v -i -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__exists) + opts=" -h -V -f -I -y -q -v -i -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__gen) + opts=" -h -V -f -I -y -q -v -i -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --timeout --transfer-timeout --api --history completions help completion complete" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__generate) + opts=" -h -V -f -I -y -q -v -i -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --timeout --transfer-timeout --api --history completions help completion complete" + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__generate__complete) + opts=" -h -V -f -I -y -q -v -i -o -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --output --timeout --transfer-timeout --api --history ... " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --output) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__generate__completion) + opts=" -h -V -f -I -y -q -v -i -o -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --output --timeout --transfer-timeout --api --history ... " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --output) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__generate__completions) + opts=" -h -V -f -I -y -q -v -i -o -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --output --timeout --transfer-timeout --api --history ... " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --output) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__generate__help) + opts=" -h -V -f -I -y -q -v -i -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__h) + opts=" -h -V -f -I -y -q -v -i -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__help) + opts=" -h -V -f -I -y -q -v -i -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__history) + opts=" -h -V -f -I -y -q -v -i -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__i) + opts=" -h -V -f -I -y -q -v -i -o -p -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --owner --password --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --owner) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --password) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -p) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__info) + opts=" -h -V -f -I -y -q -v -i -o -p -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --owner --password --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --owner) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --password) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -p) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__information) + opts=" -h -V -f -I -y -q -v -i -o -p -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --owner --password --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --owner) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --password) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -p) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__ls) + opts=" -h -V -f -I -y -q -v -i -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__p) + opts=" -P -h -V -f -I -y -q -v -i -p -o -t -T -A -H --gen-passphrase --help --version --force --no-interact --yes --quiet --verbose --incognito --password --owner --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --password) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -p) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --owner) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__param) + opts=" -h -V -f -I -y -q -v -i -o -d -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --owner --download-limit --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --owner) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --download-limit) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -d) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__parameter) + opts=" -h -V -f -I -y -q -v -i -o -d -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --owner --download-limit --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --owner) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --download-limit) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -d) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__parameters) + opts=" -h -V -f -I -y -q -v -i -o -d -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --owner --download-limit --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --owner) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --download-limit) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -d) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__params) + opts=" -h -V -f -I -y -q -v -i -o -d -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --owner --download-limit --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --owner) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --download-limit) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -d) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__pass) + opts=" -P -h -V -f -I -y -q -v -i -p -o -t -T -A -H --gen-passphrase --help --version --force --no-interact --yes --quiet --verbose --incognito --password --owner --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --password) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -p) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --owner) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__password) + opts=" -P -h -V -f -I -y -q -v -i -p -o -t -T -A -H --gen-passphrase --help --version --force --no-interact --yes --quiet --verbose --incognito --password --owner --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --password) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -p) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --owner) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -o) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__u) + opts=" -P -o -a -c -C -S -Q -V -f -I -y -q -v -i -p -d -h -n -t -T -A -H --gen-passphrase --open --archive --copy --copy-cmd --shorten --qrcode --help --version --force --no-interact --yes --quiet --verbose --incognito --password --download-limit --host --name --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --password) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -p) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --download-limit) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -d) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --host) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -h) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --name) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -n) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__up) + opts=" -P -o -a -c -C -S -Q -V -f -I -y -q -v -i -p -d -h -n -t -T -A -H --gen-passphrase --open --archive --copy --copy-cmd --shorten --qrcode --help --version --force --no-interact --yes --quiet --verbose --incognito --password --download-limit --host --name --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --password) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -p) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --download-limit) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -d) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --host) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -h) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --name) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -n) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__upload) + opts=" -P -o -a -c -C -S -Q -V -f -I -y -q -v -i -p -d -h -n -t -T -A -H --gen-passphrase --open --archive --copy --copy-cmd --shorten --qrcode --help --version --force --no-interact --yes --quiet --verbose --incognito --password --download-limit --host --name --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --password) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -p) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --download-limit) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -d) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --host) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -h) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --name) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -n) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__v) + opts=" -V -f -I -y -q -v -i -h -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --host --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --host) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -h) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__ver) + opts=" -V -f -I -y -q -v -i -h -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --host --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --host) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -h) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + ffsend__version) + opts=" -V -f -I -y -q -v -i -h -t -T -A -H --help --version --force --no-interact --yes --quiet --verbose --incognito --host --timeout --transfer-timeout --api --history " + if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + fi + case "${prev}" in + + --host) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -h) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -t) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --transfer-timeout) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -T) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --api) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -A) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + --history) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + -H) + COMPREPLY=($(compgen -f ${cur})) + return 0 + ;; + *) + COMPREPLY=() + ;; + esac + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 + ;; + esac +} + +complete -F _ffsend -o bashdefault -o default ffsend diff --git a/contrib/completions/ffsend.elv b/contrib/completions/ffsend.elv new file mode 100644 index 0000000..917a28c --- /dev/null +++ b/contrib/completions/ffsend.elv @@ -0,0 +1,470 @@ + +edit:completion:arg-completer[ffsend] = [@words]{ + fn spaces [n]{ + repeat $n ' ' | joins '' + } + fn cand [text desc]{ + edit:complex-candidate $text &display-suffix=' '(spaces (- 14 (wcswidth $text)))$desc + } + command = 'ffsend' + for word $words[1:-1] { + if (has-prefix $word '-') { + break + } + command = $command';'$word + } + completions = [ + &'ffsend'= { + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + cand -h 'Prints help information' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand debug 'View debug information' + cand delete 'Delete a shared file' + cand download 'Download files' + cand exists 'Check whether a remote file exists' + cand generate 'Generate assets' + cand info 'Fetch info about a shared file' + cand parameters 'Change parameters of a shared file' + cand password 'Change the password of a shared file' + cand upload 'Upload files' + cand version 'Determine the Send server version' + cand history 'View file history' + cand help 'Prints this message or the help of the given subcommand(s)' + } + &'ffsend;debug'= { + cand -h 'The remote host to upload to' + cand --host 'The remote host to upload to' + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + } + &'ffsend;delete'= { + cand -o 'Specify the file owner token' + cand --owner 'Specify the file owner token' + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand -h 'Prints help information' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + } + &'ffsend;download'= { + cand -p 'Unlock a password protected file' + cand --password 'Unlock a password protected file' + cand -o 'Output file or directory' + cand --output 'Output file or directory' + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand -e 'Extract an archived file' + cand --extract 'Extract an archived file' + cand -h 'Prints help information' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + } + &'ffsend;exists'= { + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand -h 'Prints help information' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + } + &'ffsend;generate'= { + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand -h 'Prints help information' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + cand completions 'Shell completions' + cand help 'Prints this message or the help of the given subcommand(s)' + } + &'ffsend;generate;completions'= { + cand -o 'Shell completion files output directory' + cand --output 'Shell completion files output directory' + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand -h 'Prints help information' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + } + &'ffsend;generate;help'= { + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand -h 'Prints help information' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + } + &'ffsend;info'= { + cand -o 'Specify the file owner token' + cand --owner 'Specify the file owner token' + cand -p 'Unlock a password protected file' + cand --password 'Unlock a password protected file' + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand -h 'Prints help information' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + } + &'ffsend;parameters'= { + cand -o 'Specify the file owner token' + cand --owner 'Specify the file owner token' + cand -d 'The file download limit' + cand --download-limit 'The file download limit' + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand -h 'Prints help information' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + } + &'ffsend;password'= { + cand -p 'Specify a password, do not prompt' + cand --password 'Specify a password, do not prompt' + cand -o 'Specify the file owner token' + cand --owner 'Specify the file owner token' + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand -P 'Protect the file with a generated passphrase' + cand --gen-passphrase 'Protect the file with a generated passphrase' + cand -h 'Prints help information' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + } + &'ffsend;upload'= { + cand -p 'Protect the file with a password' + cand --password 'Protect the file with a password' + cand -d 'The file download limit' + cand --download-limit 'The file download limit' + cand -h 'The remote host to upload to' + cand --host 'The remote host to upload to' + cand -n 'Rename the file being uploaded' + cand --name 'Rename the file being uploaded' + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand -P 'Protect the file with a generated passphrase' + cand --gen-passphrase 'Protect the file with a generated passphrase' + cand -o 'Open the share link in your browser' + cand --open 'Open the share link in your browser' + cand -a 'Archive the upload in a single file' + cand --archive 'Archive the upload in a single file' + cand -c 'Copy the share link to your clipboard' + cand --copy 'Copy the share link to your clipboard' + cand -C 'Copy the ffsend download command to your clipboard' + cand --copy-cmd 'Copy the ffsend download command to your clipboard' + cand -S 'Shorten share URLs with a public service' + cand --shorten 'Shorten share URLs with a public service' + cand -Q 'Print a QR code for the share URL' + cand --qrcode 'Print a QR code for the share URL' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + } + &'ffsend;version'= { + cand -h 'The remote host to upload to' + cand --host 'The remote host to upload to' + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + } + &'ffsend;history'= { + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand -h 'Prints help information' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + } + &'ffsend;help'= { + cand -t 'Request timeout (0 to disable)' + cand --timeout 'Request timeout (0 to disable)' + cand -T 'Transfer timeout (0 to disable)' + cand --transfer-timeout 'Transfer timeout (0 to disable)' + cand -A 'Server API version to use, ''-'' to lookup' + cand --api 'Server API version to use, ''-'' to lookup' + cand -H 'Use the specified history file' + cand --history 'Use the specified history file' + cand -h 'Prints help information' + cand --help 'Prints help information' + cand -V 'Prints version information' + cand --version 'Prints version information' + cand -f 'Force the action, ignore warnings' + cand --force 'Force the action, ignore warnings' + cand -I 'Not interactive, do not prompt' + cand --no-interact 'Not interactive, do not prompt' + cand -y 'Assume yes for prompts' + cand --yes 'Assume yes for prompts' + cand -q 'Produce output suitable for logging and automation' + cand --quiet 'Produce output suitable for logging and automation' + cand -v 'Enable verbose information and logging' + cand --verbose 'Enable verbose information and logging' + cand -i 'Don''t update local history for actions' + cand --incognito 'Don''t update local history for actions' + } + ] + $completions[$command] +} diff --git a/contrib/completions/ffsend.fish b/contrib/completions/ffsend.fish new file mode 100644 index 0000000..800b6d1 --- /dev/null +++ b/contrib/completions/ffsend.fish @@ -0,0 +1,219 @@ +complete -c ffsend -n "__fish_use_subcommand" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_use_subcommand" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_use_subcommand" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_use_subcommand" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_use_subcommand" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_use_subcommand" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_use_subcommand" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_use_subcommand" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_use_subcommand" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_use_subcommand" -s i -l incognito -d 'Don\'t update local history for actions' +complete -c ffsend -n "__fish_use_subcommand" -s h -l help -d 'Prints help information' +complete -c ffsend -n "__fish_use_subcommand" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_use_subcommand" -f -a "debug" -d 'View debug information' +complete -c ffsend -n "__fish_use_subcommand" -f -a "delete" -d 'Delete a shared file' +complete -c ffsend -n "__fish_use_subcommand" -f -a "download" -d 'Download files' +complete -c ffsend -n "__fish_use_subcommand" -f -a "exists" -d 'Check whether a remote file exists' +complete -c ffsend -n "__fish_use_subcommand" -f -a "generate" -d 'Generate assets' +complete -c ffsend -n "__fish_use_subcommand" -f -a "info" -d 'Fetch info about a shared file' +complete -c ffsend -n "__fish_use_subcommand" -f -a "parameters" -d 'Change parameters of a shared file' +complete -c ffsend -n "__fish_use_subcommand" -f -a "password" -d 'Change the password of a shared file' +complete -c ffsend -n "__fish_use_subcommand" -f -a "upload" -d 'Upload files' +complete -c ffsend -n "__fish_use_subcommand" -f -a "version" -d 'Determine the Send server version' +complete -c ffsend -n "__fish_use_subcommand" -f -a "history" -d 'View file history' +complete -c ffsend -n "__fish_use_subcommand" -f -a "help" -d 'Prints this message or the help of the given subcommand(s)' +complete -c ffsend -n "__fish_seen_subcommand_from debug" -s h -l host -d 'The remote host to upload to' +complete -c ffsend -n "__fish_seen_subcommand_from debug" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from debug" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from debug" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_seen_subcommand_from debug" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_seen_subcommand_from debug" -l help -d 'Prints help information' +complete -c ffsend -n "__fish_seen_subcommand_from debug" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_seen_subcommand_from debug" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_seen_subcommand_from debug" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from debug" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_seen_subcommand_from debug" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_seen_subcommand_from debug" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_seen_subcommand_from debug" -s i -l incognito -d 'Don\'t update local history for actions' +complete -c ffsend -n "__fish_seen_subcommand_from delete" -s o -l owner -d 'Specify the file owner token' +complete -c ffsend -n "__fish_seen_subcommand_from delete" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from delete" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from delete" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_seen_subcommand_from delete" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_seen_subcommand_from delete" -s h -l help -d 'Prints help information' +complete -c ffsend -n "__fish_seen_subcommand_from delete" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_seen_subcommand_from delete" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_seen_subcommand_from delete" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from delete" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_seen_subcommand_from delete" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_seen_subcommand_from delete" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_seen_subcommand_from delete" -s i -l incognito -d 'Don\'t update local history for actions' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s p -l password -d 'Unlock a password protected file' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s o -l output -d 'Output file or directory' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s e -l extract -d 'Extract an archived file' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s h -l help -d 'Prints help information' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_seen_subcommand_from download" -s i -l incognito -d 'Don\'t update local history for actions' +complete -c ffsend -n "__fish_seen_subcommand_from exists" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from exists" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from exists" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_seen_subcommand_from exists" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_seen_subcommand_from exists" -s h -l help -d 'Prints help information' +complete -c ffsend -n "__fish_seen_subcommand_from exists" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_seen_subcommand_from exists" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_seen_subcommand_from exists" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from exists" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_seen_subcommand_from exists" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_seen_subcommand_from exists" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_seen_subcommand_from exists" -s i -l incognito -d 'Don\'t update local history for actions' +complete -c ffsend -n "__fish_seen_subcommand_from generate" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from generate" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from generate" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_seen_subcommand_from generate" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_seen_subcommand_from generate" -s h -l help -d 'Prints help information' +complete -c ffsend -n "__fish_seen_subcommand_from generate" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_seen_subcommand_from generate" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_seen_subcommand_from generate" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from generate" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_seen_subcommand_from generate" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_seen_subcommand_from generate" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_seen_subcommand_from generate" -s i -l incognito -d 'Don\'t update local history for actions' +complete -c ffsend -n "__fish_seen_subcommand_from generate" -f -a "completions" -d 'Shell completions' +complete -c ffsend -n "__fish_seen_subcommand_from generate" -f -a "help" -d 'Prints this message or the help of the given subcommand(s)' +complete -c ffsend -n "__fish_seen_subcommand_from completions" -s o -l output -d 'Shell completion files output directory' +complete -c ffsend -n "__fish_seen_subcommand_from completions" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from completions" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from completions" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_seen_subcommand_from completions" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_seen_subcommand_from completions" -s h -l help -d 'Prints help information' +complete -c ffsend -n "__fish_seen_subcommand_from completions" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_seen_subcommand_from completions" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_seen_subcommand_from completions" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from completions" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_seen_subcommand_from completions" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_seen_subcommand_from completions" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_seen_subcommand_from completions" -s i -l incognito -d 'Don\'t update local history for actions' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s h -l help -d 'Prints help information' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s i -l incognito -d 'Don\'t update local history for actions' +complete -c ffsend -n "__fish_seen_subcommand_from info" -s o -l owner -d 'Specify the file owner token' +complete -c ffsend -n "__fish_seen_subcommand_from info" -s p -l password -d 'Unlock a password protected file' +complete -c ffsend -n "__fish_seen_subcommand_from info" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from info" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from info" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_seen_subcommand_from info" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_seen_subcommand_from info" -s h -l help -d 'Prints help information' +complete -c ffsend -n "__fish_seen_subcommand_from info" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_seen_subcommand_from info" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_seen_subcommand_from info" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from info" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_seen_subcommand_from info" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_seen_subcommand_from info" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_seen_subcommand_from info" -s i -l incognito -d 'Don\'t update local history for actions' +complete -c ffsend -n "__fish_seen_subcommand_from parameters" -s o -l owner -d 'Specify the file owner token' +complete -c ffsend -n "__fish_seen_subcommand_from parameters" -s d -l download-limit -d 'The file download limit' +complete -c ffsend -n "__fish_seen_subcommand_from parameters" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from parameters" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from parameters" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_seen_subcommand_from parameters" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_seen_subcommand_from parameters" -s h -l help -d 'Prints help information' +complete -c ffsend -n "__fish_seen_subcommand_from parameters" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_seen_subcommand_from parameters" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_seen_subcommand_from parameters" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from parameters" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_seen_subcommand_from parameters" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_seen_subcommand_from parameters" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_seen_subcommand_from parameters" -s i -l incognito -d 'Don\'t update local history for actions' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s p -l password -d 'Specify a password, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s o -l owner -d 'Specify the file owner token' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s P -l gen-passphrase -d 'Protect the file with a generated passphrase' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s h -l help -d 'Prints help information' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_seen_subcommand_from password" -s i -l incognito -d 'Don\'t update local history for actions' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s p -l password -d 'Protect the file with a password' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s d -l download-limit -d 'The file download limit' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s h -l host -d 'The remote host to upload to' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s n -l name -d 'Rename the file being uploaded' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s P -l gen-passphrase -d 'Protect the file with a generated passphrase' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s o -l open -d 'Open the share link in your browser' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s a -l archive -d 'Archive the upload in a single file' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s c -l copy -d 'Copy the share link to your clipboard' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s C -l copy-cmd -d 'Copy the ffsend download command to your clipboard' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s S -l shorten -d 'Shorten share URLs with a public service' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s Q -l qrcode -d 'Print a QR code for the share URL' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -l help -d 'Prints help information' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_seen_subcommand_from upload" -s i -l incognito -d 'Don\'t update local history for actions' +complete -c ffsend -n "__fish_seen_subcommand_from version" -s h -l host -d 'The remote host to upload to' +complete -c ffsend -n "__fish_seen_subcommand_from version" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from version" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from version" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_seen_subcommand_from version" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_seen_subcommand_from version" -l help -d 'Prints help information' +complete -c ffsend -n "__fish_seen_subcommand_from version" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_seen_subcommand_from version" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_seen_subcommand_from version" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from version" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_seen_subcommand_from version" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_seen_subcommand_from version" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_seen_subcommand_from version" -s i -l incognito -d 'Don\'t update local history for actions' +complete -c ffsend -n "__fish_seen_subcommand_from history" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from history" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from history" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_seen_subcommand_from history" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_seen_subcommand_from history" -s h -l help -d 'Prints help information' +complete -c ffsend -n "__fish_seen_subcommand_from history" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_seen_subcommand_from history" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_seen_subcommand_from history" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from history" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_seen_subcommand_from history" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_seen_subcommand_from history" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_seen_subcommand_from history" -s i -l incognito -d 'Don\'t update local history for actions' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s t -l timeout -d 'Request timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s T -l transfer-timeout -d 'Transfer timeout (0 to disable)' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s A -l api -d 'Server API version to use, \'-\' to lookup' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s H -l history -d 'Use the specified history file' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s h -l help -d 'Prints help information' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s V -l version -d 'Prints version information' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s f -l force -d 'Force the action, ignore warnings' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s I -l no-interact -d 'Not interactive, do not prompt' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s y -l yes -d 'Assume yes for prompts' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s q -l quiet -d 'Produce output suitable for logging and automation' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s v -l verbose -d 'Enable verbose information and logging' +complete -c ffsend -n "__fish_seen_subcommand_from help" -s i -l incognito -d 'Don\'t update local history for actions' diff --git a/contrib/completions/gen_completions b/contrib/completions/gen_completions new file mode 100755 index 0000000..6a4aad6 --- /dev/null +++ b/contrib/completions/gen_completions @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +# Stop on error +set -e + +echo "Generating all completions using cargo debug binary..." +cargo run -q -- generate completions all --output $PWD +echo "Done." diff --git a/src/action/generate/completions.rs b/src/action/generate/completions.rs index 9e29b36..1021d21 100644 --- a/src/action/generate/completions.rs +++ b/src/action/generate/completions.rs @@ -27,7 +27,7 @@ impl<'a> Completions<'a> { // Obtian shells to generate completions for, build application definition let shells = matcher_completions.shells(); let dir = matcher_completions.output(); - let verbose = matcher_main.verbose(); + let quiet = matcher_main.quiet(); let mut app = crate::cmd::handler::Handler::build(); // If the directory does not exist yet, attempt to create it @@ -37,14 +37,14 @@ impl<'a> Completions<'a> { // Generate completions for shell in shells { - if verbose { + if !quiet { print!( "Generating completions for {}...", format!("{}", shell).to_lowercase() ); } app.gen_completions(crate_name!(), shell, &dir); - if verbose { + if !quiet { println!(" done."); } }