Update manpages and auto-completion

This commit is contained in:
Alexander Neumann 2022-08-25 19:55:00 +02:00
parent 193c62dfc3
commit c1a5da56e3
30 changed files with 1515 additions and 1080 deletions

View file

@ -2,7 +2,7 @@
__restic_debug()
{
if [[ -n ${BASH_COMP_DEBUG_FILE} ]]; then
if [[ -n ${BASH_COMP_DEBUG_FILE:-} ]]; then
echo "$*" >> "${BASH_COMP_DEBUG_FILE}"
fi
}
@ -51,7 +51,8 @@ __restic_handle_go_custom_completion()
# Prepare the command to request completions for the program.
# Calling ${words[0]} instead of directly restic allows to handle aliases
args=("${words[@]:1}")
requestComp="${words[0]} __completeNoDesc ${args[*]}"
# Disable ActiveHelp which is not supported for bash completion v1
requestComp="RESTIC_ACTIVE_HELP=0 ${words[0]} __completeNoDesc ${args[*]}"
lastParam=${words[$((${#words[@]}-1))]}
lastChar=${lastParam:$((${#lastParam}-1)):1}
@ -77,7 +78,7 @@ __restic_handle_go_custom_completion()
directive=0
fi
__restic_debug "${FUNCNAME[0]}: the completion directive is: ${directive}"
__restic_debug "${FUNCNAME[0]}: the completions are: ${out[*]}"
__restic_debug "${FUNCNAME[0]}: the completions are: ${out}"
if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then
# Error code. No completion.
@ -103,7 +104,7 @@ __restic_handle_go_custom_completion()
local fullFilter filter filteringCmd
# Do not use quotes around the $out variable or else newline
# characters will be kept.
for filter in ${out[*]}; do
for filter in ${out}; do
fullFilter+="$filter|"
done
@ -112,9 +113,9 @@ __restic_handle_go_custom_completion()
$filteringCmd
elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then
# File completion for directories only
local subDir
local subdir
# Use printf to strip any trailing newline
subdir=$(printf "%s" "${out[0]}")
subdir=$(printf "%s" "${out}")
if [ -n "$subdir" ]; then
__restic_debug "Listing directories in $subdir"
__restic_handle_subdirs_in_dir_flag "$subdir"
@ -125,7 +126,7 @@ __restic_handle_go_custom_completion()
else
while IFS='' read -r comp; do
COMPREPLY+=("$comp")
done < <(compgen -W "${out[*]}" -- "$cur")
done < <(compgen -W "${out}" -- "$cur")
fi
}
@ -165,13 +166,19 @@ __restic_handle_reply()
PREFIX=""
cur="${cur#*=}"
${flags_completion[${index}]}
if [ -n "${ZSH_VERSION}" ]; then
if [ -n "${ZSH_VERSION:-}" ]; then
# zsh completion needs --flag= prefix
eval "COMPREPLY=( \"\${COMPREPLY[@]/#/${flag}=}\" )"
fi
fi
fi
return 0;
if [[ -z "${flag_parsing_disabled}" ]]; then
# If flag parsing is enabled, we have completed the flags and can return.
# If flag parsing is disabled, we may not know all (or any) of the flags, so we fallthrough
# to possibly call handle_go_custom_completion.
return 0;
fi
;;
esac
@ -210,13 +217,13 @@ __restic_handle_reply()
fi
if [[ ${#COMPREPLY[@]} -eq 0 ]]; then
if declare -F __restic_custom_func >/dev/null; then
# try command name qualified custom func
__restic_custom_func
else
# otherwise fall back to unqualified for compatibility
declare -F __custom_func >/dev/null && __custom_func
fi
if declare -F __restic_custom_func >/dev/null; then
# try command name qualified custom func
__restic_custom_func
else
# otherwise fall back to unqualified for compatibility
declare -F __custom_func >/dev/null && __custom_func
fi
fi
# available in bash-completion >= 2, not always present on macOS
@ -250,7 +257,7 @@ __restic_handle_flag()
# if a command required a flag, and we found it, unset must_have_one_flag()
local flagname=${words[c]}
local flagvalue
local flagvalue=""
# if the word contained an =
if [[ ${words[c]} == *"="* ]]; then
flagvalue=${flagname#*=} # take in as flagvalue after the =
@ -269,7 +276,7 @@ __restic_handle_flag()
# keep flag value with flagname as flaghash
# flaghash variable is an associative array which is only supported in bash > 3.
if [[ -z "${BASH_VERSION}" || "${BASH_VERSINFO[0]}" -gt 3 ]]; then
if [[ -z "${BASH_VERSION:-}" || "${BASH_VERSINFO[0]:-}" -gt 3 ]]; then
if [ -n "${flagvalue}" ] ; then
flaghash[${flagname}]=${flagvalue}
elif [ -n "${words[ $((c+1)) ]}" ] ; then
@ -281,7 +288,7 @@ __restic_handle_flag()
# skip the argument to a two word flag
if [[ ${words[c]} != *"="* ]] && __restic_contains_word "${words[c]}" "${two_word_flags[@]}"; then
__restic_debug "${FUNCNAME[0]}: found a flag ${words[c]}, skip the next argument"
__restic_debug "${FUNCNAME[0]}: found a flag ${words[c]}, skip the next argument"
c=$((c+1))
# if we are looking for a flags value, don't show commands
if [[ $c -eq $cword ]]; then
@ -341,7 +348,7 @@ __restic_handle_word()
__restic_handle_command
elif __restic_contains_word "${words[c]}" "${command_aliases[@]}"; then
# aliashash variable is an associative array which is only supported in bash > 3.
if [[ -z "${BASH_VERSION}" || "${BASH_VERSINFO[0]}" -gt 3 ]]; then
if [[ -z "${BASH_VERSION:-}" || "${BASH_VERSINFO[0]:-}" -gt 3 ]]; then
words[c]=${aliashash[${words[c]}]}
__restic_handle_command
else
@ -458,6 +465,8 @@ _restic_backup()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -471,6 +480,8 @@ _restic_backup()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -524,6 +535,8 @@ _restic_cache()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -537,6 +550,8 @@ _restic_cache()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -582,6 +597,8 @@ _restic_cat()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -595,6 +612,8 @@ _restic_cat()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -631,8 +650,6 @@ _restic_check()
flags_with_completion=()
flags_completion=()
flags+=("--check-unused")
local_nonpersistent_flags+=("--check-unused")
flags+=("--help")
flags+=("-h")
local_nonpersistent_flags+=("--help")
@ -650,6 +667,8 @@ _restic_check()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -663,6 +682,8 @@ _restic_check()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -699,6 +720,26 @@ _restic_copy()
flags_with_completion=()
flags_completion=()
flags+=("--from-key-hint=")
two_word_flags+=("--from-key-hint")
local_nonpersistent_flags+=("--from-key-hint")
local_nonpersistent_flags+=("--from-key-hint=")
flags+=("--from-password-command=")
two_word_flags+=("--from-password-command")
local_nonpersistent_flags+=("--from-password-command")
local_nonpersistent_flags+=("--from-password-command=")
flags+=("--from-password-file=")
two_word_flags+=("--from-password-file")
local_nonpersistent_flags+=("--from-password-file")
local_nonpersistent_flags+=("--from-password-file=")
flags+=("--from-repo=")
two_word_flags+=("--from-repo")
local_nonpersistent_flags+=("--from-repo")
local_nonpersistent_flags+=("--from-repo=")
flags+=("--from-repository-file=")
two_word_flags+=("--from-repository-file")
local_nonpersistent_flags+=("--from-repository-file")
local_nonpersistent_flags+=("--from-repository-file=")
flags+=("--help")
flags+=("-h")
local_nonpersistent_flags+=("--help")
@ -709,30 +750,10 @@ _restic_copy()
local_nonpersistent_flags+=("--host")
local_nonpersistent_flags+=("--host=")
local_nonpersistent_flags+=("-H")
flags+=("--key-hint2=")
two_word_flags+=("--key-hint2")
local_nonpersistent_flags+=("--key-hint2")
local_nonpersistent_flags+=("--key-hint2=")
flags+=("--password-command2=")
two_word_flags+=("--password-command2")
local_nonpersistent_flags+=("--password-command2")
local_nonpersistent_flags+=("--password-command2=")
flags+=("--password-file2=")
two_word_flags+=("--password-file2")
local_nonpersistent_flags+=("--password-file2")
local_nonpersistent_flags+=("--password-file2=")
flags+=("--path=")
two_word_flags+=("--path")
local_nonpersistent_flags+=("--path")
local_nonpersistent_flags+=("--path=")
flags+=("--repo2=")
two_word_flags+=("--repo2")
local_nonpersistent_flags+=("--repo2")
local_nonpersistent_flags+=("--repo2=")
flags+=("--repository-file2=")
two_word_flags+=("--repository-file2")
local_nonpersistent_flags+=("--repository-file2")
local_nonpersistent_flags+=("--repository-file2=")
flags+=("--tag=")
two_word_flags+=("--tag")
local_nonpersistent_flags+=("--tag")
@ -742,6 +763,8 @@ _restic_copy()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -755,6 +778,8 @@ _restic_copy()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -802,6 +827,8 @@ _restic_diff()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -815,6 +842,8 @@ _restic_diff()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -880,6 +909,8 @@ _restic_dump()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -893,6 +924,8 @@ _restic_dump()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -986,6 +1019,8 @@ _restic_find()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -999,6 +1034,8 @@ _restic_find()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -1137,6 +1174,10 @@ _restic_forget()
local_nonpersistent_flags+=("--max-repack-size=")
flags+=("--repack-cacheable-only")
local_nonpersistent_flags+=("--repack-cacheable-only")
flags+=("--repack-small")
local_nonpersistent_flags+=("--repack-small")
flags+=("--repack-uncompressed")
local_nonpersistent_flags+=("--repack-uncompressed")
flags+=("--help")
flags+=("-h")
local_nonpersistent_flags+=("--help")
@ -1146,6 +1187,8 @@ _restic_forget()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -1159,6 +1202,8 @@ _restic_forget()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -1220,6 +1265,8 @@ _restic_generate()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -1233,6 +1280,8 @@ _restic_generate()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -1274,6 +1323,8 @@ _restic_help()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -1287,6 +1338,8 @@ _restic_help()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -1326,35 +1379,41 @@ _restic_init()
flags+=("--copy-chunker-params")
local_nonpersistent_flags+=("--copy-chunker-params")
flags+=("--from-key-hint=")
two_word_flags+=("--from-key-hint")
local_nonpersistent_flags+=("--from-key-hint")
local_nonpersistent_flags+=("--from-key-hint=")
flags+=("--from-password-command=")
two_word_flags+=("--from-password-command")
local_nonpersistent_flags+=("--from-password-command")
local_nonpersistent_flags+=("--from-password-command=")
flags+=("--from-password-file=")
two_word_flags+=("--from-password-file")
local_nonpersistent_flags+=("--from-password-file")
local_nonpersistent_flags+=("--from-password-file=")
flags+=("--from-repo=")
two_word_flags+=("--from-repo")
local_nonpersistent_flags+=("--from-repo")
local_nonpersistent_flags+=("--from-repo=")
flags+=("--from-repository-file=")
two_word_flags+=("--from-repository-file")
local_nonpersistent_flags+=("--from-repository-file")
local_nonpersistent_flags+=("--from-repository-file=")
flags+=("--help")
flags+=("-h")
local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--key-hint2=")
two_word_flags+=("--key-hint2")
local_nonpersistent_flags+=("--key-hint2")
local_nonpersistent_flags+=("--key-hint2=")
flags+=("--password-command2=")
two_word_flags+=("--password-command2")
local_nonpersistent_flags+=("--password-command2")
local_nonpersistent_flags+=("--password-command2=")
flags+=("--password-file2=")
two_word_flags+=("--password-file2")
local_nonpersistent_flags+=("--password-file2")
local_nonpersistent_flags+=("--password-file2=")
flags+=("--repo2=")
two_word_flags+=("--repo2")
local_nonpersistent_flags+=("--repo2")
local_nonpersistent_flags+=("--repo2=")
flags+=("--repository-file2=")
two_word_flags+=("--repository-file2")
local_nonpersistent_flags+=("--repository-file2")
local_nonpersistent_flags+=("--repository-file2=")
flags+=("--repository-version=")
two_word_flags+=("--repository-version")
local_nonpersistent_flags+=("--repository-version")
local_nonpersistent_flags+=("--repository-version=")
flags+=("--cacert=")
two_word_flags+=("--cacert")
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -1368,6 +1427,8 @@ _restic_init()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -1425,6 +1486,8 @@ _restic_key()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -1438,6 +1501,8 @@ _restic_key()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -1483,6 +1548,8 @@ _restic_list()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -1496,6 +1563,8 @@ _restic_list()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -1561,6 +1630,8 @@ _restic_ls()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -1574,6 +1645,8 @@ _restic_ls()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -1623,6 +1696,8 @@ _restic_migrate()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -1636,6 +1711,8 @@ _restic_migrate()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -1692,19 +1769,25 @@ _restic_mount()
two_word_flags+=("--path")
local_nonpersistent_flags+=("--path")
local_nonpersistent_flags+=("--path=")
flags+=("--snapshot-template=")
two_word_flags+=("--snapshot-template")
local_nonpersistent_flags+=("--snapshot-template")
local_nonpersistent_flags+=("--snapshot-template=")
flags+=("--path-template=")
two_word_flags+=("--path-template")
local_nonpersistent_flags+=("--path-template")
local_nonpersistent_flags+=("--path-template=")
flags+=("--tag=")
two_word_flags+=("--tag")
local_nonpersistent_flags+=("--tag")
local_nonpersistent_flags+=("--tag=")
flags+=("--time-template=")
two_word_flags+=("--time-template")
local_nonpersistent_flags+=("--time-template")
local_nonpersistent_flags+=("--time-template=")
flags+=("--cacert=")
two_word_flags+=("--cacert")
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -1718,6 +1801,8 @@ _restic_mount()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -1772,11 +1857,21 @@ _restic_prune()
local_nonpersistent_flags+=("--max-unused=")
flags+=("--repack-cacheable-only")
local_nonpersistent_flags+=("--repack-cacheable-only")
flags+=("--repack-small")
local_nonpersistent_flags+=("--repack-small")
flags+=("--repack-uncompressed")
local_nonpersistent_flags+=("--repack-uncompressed")
flags+=("--unsafe-recover-no-free-space=")
two_word_flags+=("--unsafe-recover-no-free-space")
local_nonpersistent_flags+=("--unsafe-recover-no-free-space")
local_nonpersistent_flags+=("--unsafe-recover-no-free-space=")
flags+=("--cacert=")
two_word_flags+=("--cacert")
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -1790,6 +1885,8 @@ _restic_prune()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -1837,6 +1934,8 @@ _restic_rebuild-index()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -1850,6 +1949,8 @@ _restic_rebuild-index()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -1895,6 +1996,8 @@ _restic_recover()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -1908,6 +2011,8 @@ _restic_recover()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -1995,6 +2100,8 @@ _restic_restore()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -2008,6 +2115,8 @@ _restic_restore()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -2057,6 +2166,8 @@ _restic_self-update()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -2070,6 +2181,8 @@ _restic_self-update()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -2143,6 +2256,8 @@ _restic_snapshots()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -2156,6 +2271,8 @@ _restic_snapshots()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -2219,6 +2336,8 @@ _restic_stats()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -2232,6 +2351,8 @@ _restic_stats()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -2303,6 +2424,8 @@ _restic_tag()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -2316,6 +2439,8 @@ _restic_tag()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -2363,6 +2488,8 @@ _restic_unlock()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -2376,6 +2503,8 @@ _restic_unlock()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -2421,6 +2550,8 @@ _restic_version()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--insecure-tls")
flags+=("--json")
flags+=("--key-hint=")
@ -2434,6 +2565,8 @@ _restic_version()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -2502,6 +2635,8 @@ _restic_root_command()
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--compression=")
two_word_flags+=("--compression")
flags+=("--help")
flags+=("-h")
local_nonpersistent_flags+=("--help")
@ -2519,6 +2654,8 @@ _restic_root_command()
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--pack-size=")
two_word_flags+=("--pack-size")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
@ -2553,6 +2690,7 @@ __start_restic()
fi
local c=0
local flag_parsing_disabled=
local flags=()
local two_word_flags=()
local local_nonpersistent_flags=()
@ -2562,8 +2700,8 @@ __start_restic()
local command_aliases=()
local must_have_one_flag=()
local must_have_one_noun=()
local has_completion_function
local last_command
local has_completion_function=""
local last_command=""
local nouns=()
local noun_aliases=()