Update manpages and auto-completion

This commit is contained in:
Alexander Neumann 2021-08-03 11:45:36 +02:00
parent a92faca10e
commit 94983a1f36
30 changed files with 1376 additions and 1567 deletions

View file

@ -36,9 +36,103 @@ __restic_contains_word()
return 1 return 1
} }
__restic_handle_go_custom_completion()
{
__restic_debug "${FUNCNAME[0]}: cur is ${cur}, words[*] is ${words[*]}, #words[@] is ${#words[@]}"
local shellCompDirectiveError=1
local shellCompDirectiveNoSpace=2
local shellCompDirectiveNoFileComp=4
local shellCompDirectiveFilterFileExt=8
local shellCompDirectiveFilterDirs=16
local out requestComp lastParam lastChar comp directive args
# 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[*]}"
lastParam=${words[$((${#words[@]}-1))]}
lastChar=${lastParam:$((${#lastParam}-1)):1}
__restic_debug "${FUNCNAME[0]}: lastParam ${lastParam}, lastChar ${lastChar}"
if [ -z "${cur}" ] && [ "${lastChar}" != "=" ]; then
# If the last parameter is complete (there is a space following it)
# We add an extra empty parameter so we can indicate this to the go method.
__restic_debug "${FUNCNAME[0]}: Adding extra empty parameter"
requestComp="${requestComp} \"\""
fi
__restic_debug "${FUNCNAME[0]}: calling ${requestComp}"
# Use eval to handle any environment variables and such
out=$(eval "${requestComp}" 2>/dev/null)
# Extract the directive integer at the very end of the output following a colon (:)
directive=${out##*:}
# Remove the directive
out=${out%:*}
if [ "${directive}" = "${out}" ]; then
# There is not directive specified
directive=0
fi
__restic_debug "${FUNCNAME[0]}: the completion directive is: ${directive}"
__restic_debug "${FUNCNAME[0]}: the completions are: ${out[*]}"
if [ $((directive & shellCompDirectiveError)) -ne 0 ]; then
# Error code. No completion.
__restic_debug "${FUNCNAME[0]}: received error from custom completion go code"
return
else
if [ $((directive & shellCompDirectiveNoSpace)) -ne 0 ]; then
if [[ $(type -t compopt) = "builtin" ]]; then
__restic_debug "${FUNCNAME[0]}: activating no space"
compopt -o nospace
fi
fi
if [ $((directive & shellCompDirectiveNoFileComp)) -ne 0 ]; then
if [[ $(type -t compopt) = "builtin" ]]; then
__restic_debug "${FUNCNAME[0]}: activating no file completion"
compopt +o default
fi
fi
fi
if [ $((directive & shellCompDirectiveFilterFileExt)) -ne 0 ]; then
# File extension filtering
local fullFilter filter filteringCmd
# Do not use quotes around the $out variable or else newline
# characters will be kept.
for filter in ${out[*]}; do
fullFilter+="$filter|"
done
filteringCmd="_filedir $fullFilter"
__restic_debug "File filtering command: $filteringCmd"
$filteringCmd
elif [ $((directive & shellCompDirectiveFilterDirs)) -ne 0 ]; then
# File completion for directories only
local subDir
# Use printf to strip any trailing newline
subdir=$(printf "%s" "${out[0]}")
if [ -n "$subdir" ]; then
__restic_debug "Listing directories in $subdir"
__restic_handle_subdirs_in_dir_flag "$subdir"
else
__restic_debug "Listing directories in ."
_filedir -d
fi
else
while IFS='' read -r comp; do
COMPREPLY+=("$comp")
done < <(compgen -W "${out[*]}" -- "$cur")
fi
}
__restic_handle_reply() __restic_handle_reply()
{ {
__restic_debug "${FUNCNAME[0]}" __restic_debug "${FUNCNAME[0]}"
local comp
case $cur in case $cur in
-*) -*)
if [[ $(type -t compopt) = "builtin" ]]; then if [[ $(type -t compopt) = "builtin" ]]; then
@ -50,7 +144,9 @@ __restic_handle_reply()
else else
allflags=("${flags[*]} ${two_word_flags[*]}") allflags=("${flags[*]} ${two_word_flags[*]}")
fi fi
COMPREPLY=( $(compgen -W "${allflags[*]}" -- "$cur") ) while IFS='' read -r comp; do
COMPREPLY+=("$comp")
done < <(compgen -W "${allflags[*]}" -- "$cur")
if [[ $(type -t compopt) = "builtin" ]]; then if [[ $(type -t compopt) = "builtin" ]]; then
[[ "${COMPREPLY[0]}" == *= ]] || compopt +o nospace [[ "${COMPREPLY[0]}" == *= ]] || compopt +o nospace
fi fi
@ -95,15 +191,22 @@ __restic_handle_reply()
local completions local completions
completions=("${commands[@]}") completions=("${commands[@]}")
if [[ ${#must_have_one_noun[@]} -ne 0 ]]; then if [[ ${#must_have_one_noun[@]} -ne 0 ]]; then
completions=("${must_have_one_noun[@]}") completions+=("${must_have_one_noun[@]}")
elif [[ -n "${has_completion_function}" ]]; then
# if a go completion function is provided, defer to that function
__restic_handle_go_custom_completion
fi fi
if [[ ${#must_have_one_flag[@]} -ne 0 ]]; then if [[ ${#must_have_one_flag[@]} -ne 0 ]]; then
completions+=("${must_have_one_flag[@]}") completions+=("${must_have_one_flag[@]}")
fi fi
COMPREPLY=( $(compgen -W "${completions[*]}" -- "$cur") ) while IFS='' read -r comp; do
COMPREPLY+=("$comp")
done < <(compgen -W "${completions[*]}" -- "$cur")
if [[ ${#COMPREPLY[@]} -eq 0 && ${#noun_aliases[@]} -gt 0 && ${#must_have_one_noun[@]} -ne 0 ]]; then if [[ ${#COMPREPLY[@]} -eq 0 && ${#noun_aliases[@]} -gt 0 && ${#must_have_one_noun[@]} -ne 0 ]]; then
COMPREPLY=( $(compgen -W "${noun_aliases[*]}" -- "$cur") ) while IFS='' read -r comp; do
COMPREPLY+=("$comp")
done < <(compgen -W "${noun_aliases[*]}" -- "$cur")
fi fi
if [[ ${#COMPREPLY[@]} -eq 0 ]]; then if [[ ${#COMPREPLY[@]} -eq 0 ]]; then
@ -138,7 +241,7 @@ __restic_handle_filename_extension_flag()
__restic_handle_subdirs_in_dir_flag() __restic_handle_subdirs_in_dir_flag()
{ {
local dir="$1" local dir="$1"
pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 pushd "${dir}" >/dev/null 2>&1 && _filedir -d && popd >/dev/null 2>&1 || return
} }
__restic_handle_flag() __restic_handle_flag()
@ -267,42 +370,56 @@ _restic_backup()
flags+=("--exclude=") flags+=("--exclude=")
two_word_flags+=("--exclude") two_word_flags+=("--exclude")
two_word_flags+=("-e") two_word_flags+=("-e")
local_nonpersistent_flags+=("--exclude")
local_nonpersistent_flags+=("--exclude=") local_nonpersistent_flags+=("--exclude=")
local_nonpersistent_flags+=("-e")
flags+=("--exclude-caches") flags+=("--exclude-caches")
local_nonpersistent_flags+=("--exclude-caches") local_nonpersistent_flags+=("--exclude-caches")
flags+=("--exclude-file=") flags+=("--exclude-file=")
two_word_flags+=("--exclude-file") two_word_flags+=("--exclude-file")
local_nonpersistent_flags+=("--exclude-file")
local_nonpersistent_flags+=("--exclude-file=") local_nonpersistent_flags+=("--exclude-file=")
flags+=("--exclude-if-present=") flags+=("--exclude-if-present=")
two_word_flags+=("--exclude-if-present") two_word_flags+=("--exclude-if-present")
local_nonpersistent_flags+=("--exclude-if-present")
local_nonpersistent_flags+=("--exclude-if-present=") local_nonpersistent_flags+=("--exclude-if-present=")
flags+=("--exclude-larger-than=") flags+=("--exclude-larger-than=")
two_word_flags+=("--exclude-larger-than") two_word_flags+=("--exclude-larger-than")
local_nonpersistent_flags+=("--exclude-larger-than")
local_nonpersistent_flags+=("--exclude-larger-than=") local_nonpersistent_flags+=("--exclude-larger-than=")
flags+=("--files-from=") flags+=("--files-from=")
two_word_flags+=("--files-from") two_word_flags+=("--files-from")
local_nonpersistent_flags+=("--files-from")
local_nonpersistent_flags+=("--files-from=") local_nonpersistent_flags+=("--files-from=")
flags+=("--files-from-raw=") flags+=("--files-from-raw=")
two_word_flags+=("--files-from-raw") two_word_flags+=("--files-from-raw")
local_nonpersistent_flags+=("--files-from-raw")
local_nonpersistent_flags+=("--files-from-raw=") local_nonpersistent_flags+=("--files-from-raw=")
flags+=("--files-from-verbatim=") flags+=("--files-from-verbatim=")
two_word_flags+=("--files-from-verbatim") two_word_flags+=("--files-from-verbatim")
local_nonpersistent_flags+=("--files-from-verbatim")
local_nonpersistent_flags+=("--files-from-verbatim=") local_nonpersistent_flags+=("--files-from-verbatim=")
flags+=("--force") flags+=("--force")
flags+=("-f") flags+=("-f")
local_nonpersistent_flags+=("--force") local_nonpersistent_flags+=("--force")
local_nonpersistent_flags+=("-f")
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--host=") flags+=("--host=")
two_word_flags+=("--host") two_word_flags+=("--host")
two_word_flags+=("-H") two_word_flags+=("-H")
local_nonpersistent_flags+=("--host")
local_nonpersistent_flags+=("--host=") local_nonpersistent_flags+=("--host=")
local_nonpersistent_flags+=("-H")
flags+=("--iexclude=") flags+=("--iexclude=")
two_word_flags+=("--iexclude") two_word_flags+=("--iexclude")
local_nonpersistent_flags+=("--iexclude")
local_nonpersistent_flags+=("--iexclude=") local_nonpersistent_flags+=("--iexclude=")
flags+=("--iexclude-file=") flags+=("--iexclude-file=")
two_word_flags+=("--iexclude-file") two_word_flags+=("--iexclude-file")
local_nonpersistent_flags+=("--iexclude-file")
local_nonpersistent_flags+=("--iexclude-file=") local_nonpersistent_flags+=("--iexclude-file=")
flags+=("--ignore-ctime") flags+=("--ignore-ctime")
local_nonpersistent_flags+=("--ignore-ctime") local_nonpersistent_flags+=("--ignore-ctime")
@ -311,19 +428,24 @@ _restic_backup()
flags+=("--one-file-system") flags+=("--one-file-system")
flags+=("-x") flags+=("-x")
local_nonpersistent_flags+=("--one-file-system") local_nonpersistent_flags+=("--one-file-system")
local_nonpersistent_flags+=("-x")
flags+=("--parent=") flags+=("--parent=")
two_word_flags+=("--parent") two_word_flags+=("--parent")
local_nonpersistent_flags+=("--parent")
local_nonpersistent_flags+=("--parent=") local_nonpersistent_flags+=("--parent=")
flags+=("--stdin") flags+=("--stdin")
local_nonpersistent_flags+=("--stdin") local_nonpersistent_flags+=("--stdin")
flags+=("--stdin-filename=") flags+=("--stdin-filename=")
two_word_flags+=("--stdin-filename") two_word_flags+=("--stdin-filename")
local_nonpersistent_flags+=("--stdin-filename")
local_nonpersistent_flags+=("--stdin-filename=") local_nonpersistent_flags+=("--stdin-filename=")
flags+=("--tag=") flags+=("--tag=")
two_word_flags+=("--tag") two_word_flags+=("--tag")
local_nonpersistent_flags+=("--tag")
local_nonpersistent_flags+=("--tag=") local_nonpersistent_flags+=("--tag=")
flags+=("--time=") flags+=("--time=")
two_word_flags+=("--time") two_word_flags+=("--time")
local_nonpersistent_flags+=("--time")
local_nonpersistent_flags+=("--time=") local_nonpersistent_flags+=("--time=")
flags+=("--with-atime") flags+=("--with-atime")
local_nonpersistent_flags+=("--with-atime") local_nonpersistent_flags+=("--with-atime")
@ -385,8 +507,10 @@ _restic_cache()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--max-age=") flags+=("--max-age=")
two_word_flags+=("--max-age") two_word_flags+=("--max-age")
local_nonpersistent_flags+=("--max-age")
local_nonpersistent_flags+=("--max-age=") local_nonpersistent_flags+=("--max-age=")
flags+=("--no-size") flags+=("--no-size")
local_nonpersistent_flags+=("--no-size") local_nonpersistent_flags+=("--no-size")
@ -446,6 +570,7 @@ _restic_cat()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
flags+=("--cache-dir=") flags+=("--cache-dir=")
@ -504,10 +629,12 @@ _restic_check()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--read-data") flags+=("--read-data")
local_nonpersistent_flags+=("--read-data") local_nonpersistent_flags+=("--read-data")
flags+=("--read-data-subset=") flags+=("--read-data-subset=")
two_word_flags+=("--read-data-subset") two_word_flags+=("--read-data-subset")
local_nonpersistent_flags+=("--read-data-subset")
local_nonpersistent_flags+=("--read-data-subset=") local_nonpersistent_flags+=("--read-data-subset=")
flags+=("--with-cache") flags+=("--with-cache")
local_nonpersistent_flags+=("--with-cache") local_nonpersistent_flags+=("--with-cache")
@ -567,27 +694,40 @@ _restic_copy()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--host=") flags+=("--host=")
two_word_flags+=("--host") two_word_flags+=("--host")
two_word_flags+=("-H") two_word_flags+=("-H")
local_nonpersistent_flags+=("--host")
local_nonpersistent_flags+=("--host=") local_nonpersistent_flags+=("--host=")
local_nonpersistent_flags+=("-H")
flags+=("--key-hint2=") flags+=("--key-hint2=")
two_word_flags+=("--key-hint2") two_word_flags+=("--key-hint2")
local_nonpersistent_flags+=("--key-hint2")
local_nonpersistent_flags+=("--key-hint2=") local_nonpersistent_flags+=("--key-hint2=")
flags+=("--password-command2=") flags+=("--password-command2=")
two_word_flags+=("--password-command2") two_word_flags+=("--password-command2")
local_nonpersistent_flags+=("--password-command2")
local_nonpersistent_flags+=("--password-command2=") local_nonpersistent_flags+=("--password-command2=")
flags+=("--password-file2=") flags+=("--password-file2=")
two_word_flags+=("--password-file2") two_word_flags+=("--password-file2")
local_nonpersistent_flags+=("--password-file2")
local_nonpersistent_flags+=("--password-file2=") local_nonpersistent_flags+=("--password-file2=")
flags+=("--path=") flags+=("--path=")
two_word_flags+=("--path") two_word_flags+=("--path")
local_nonpersistent_flags+=("--path")
local_nonpersistent_flags+=("--path=") local_nonpersistent_flags+=("--path=")
flags+=("--repo2=") flags+=("--repo2=")
two_word_flags+=("--repo2") two_word_flags+=("--repo2")
local_nonpersistent_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=") flags+=("--tag=")
two_word_flags+=("--tag") two_word_flags+=("--tag")
local_nonpersistent_flags+=("--tag")
local_nonpersistent_flags+=("--tag=") local_nonpersistent_flags+=("--tag=")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
@ -645,6 +785,7 @@ _restic_diff()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--metadata") flags+=("--metadata")
local_nonpersistent_flags+=("--metadata") local_nonpersistent_flags+=("--metadata")
flags+=("--cacert=") flags+=("--cacert=")
@ -703,19 +844,26 @@ _restic_dump()
flags+=("--archive=") flags+=("--archive=")
two_word_flags+=("--archive") two_word_flags+=("--archive")
two_word_flags+=("-a") two_word_flags+=("-a")
local_nonpersistent_flags+=("--archive")
local_nonpersistent_flags+=("--archive=") local_nonpersistent_flags+=("--archive=")
local_nonpersistent_flags+=("-a")
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--host=") flags+=("--host=")
two_word_flags+=("--host") two_word_flags+=("--host")
two_word_flags+=("-H") two_word_flags+=("-H")
local_nonpersistent_flags+=("--host")
local_nonpersistent_flags+=("--host=") local_nonpersistent_flags+=("--host=")
local_nonpersistent_flags+=("-H")
flags+=("--path=") flags+=("--path=")
two_word_flags+=("--path") two_word_flags+=("--path")
local_nonpersistent_flags+=("--path")
local_nonpersistent_flags+=("--path=") local_nonpersistent_flags+=("--path=")
flags+=("--tag=") flags+=("--tag=")
two_word_flags+=("--tag") two_word_flags+=("--tag")
local_nonpersistent_flags+=("--tag")
local_nonpersistent_flags+=("--tag=") local_nonpersistent_flags+=("--tag=")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
@ -775,37 +923,50 @@ _restic_find()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--host=") flags+=("--host=")
two_word_flags+=("--host") two_word_flags+=("--host")
two_word_flags+=("-H") two_word_flags+=("-H")
local_nonpersistent_flags+=("--host")
local_nonpersistent_flags+=("--host=") local_nonpersistent_flags+=("--host=")
local_nonpersistent_flags+=("-H")
flags+=("--ignore-case") flags+=("--ignore-case")
flags+=("-i") flags+=("-i")
local_nonpersistent_flags+=("--ignore-case") local_nonpersistent_flags+=("--ignore-case")
local_nonpersistent_flags+=("-i")
flags+=("--long") flags+=("--long")
flags+=("-l") flags+=("-l")
local_nonpersistent_flags+=("--long") local_nonpersistent_flags+=("--long")
local_nonpersistent_flags+=("-l")
flags+=("--newest=") flags+=("--newest=")
two_word_flags+=("--newest") two_word_flags+=("--newest")
two_word_flags+=("-N") two_word_flags+=("-N")
local_nonpersistent_flags+=("--newest")
local_nonpersistent_flags+=("--newest=") local_nonpersistent_flags+=("--newest=")
local_nonpersistent_flags+=("-N")
flags+=("--oldest=") flags+=("--oldest=")
two_word_flags+=("--oldest") two_word_flags+=("--oldest")
two_word_flags+=("-O") two_word_flags+=("-O")
local_nonpersistent_flags+=("--oldest")
local_nonpersistent_flags+=("--oldest=") local_nonpersistent_flags+=("--oldest=")
local_nonpersistent_flags+=("-O")
flags+=("--pack") flags+=("--pack")
local_nonpersistent_flags+=("--pack") local_nonpersistent_flags+=("--pack")
flags+=("--path=") flags+=("--path=")
two_word_flags+=("--path") two_word_flags+=("--path")
local_nonpersistent_flags+=("--path")
local_nonpersistent_flags+=("--path=") local_nonpersistent_flags+=("--path=")
flags+=("--show-pack-id") flags+=("--show-pack-id")
local_nonpersistent_flags+=("--show-pack-id") local_nonpersistent_flags+=("--show-pack-id")
flags+=("--snapshot=") flags+=("--snapshot=")
two_word_flags+=("--snapshot") two_word_flags+=("--snapshot")
two_word_flags+=("-s") two_word_flags+=("-s")
local_nonpersistent_flags+=("--snapshot")
local_nonpersistent_flags+=("--snapshot=") local_nonpersistent_flags+=("--snapshot=")
local_nonpersistent_flags+=("-s")
flags+=("--tag=") flags+=("--tag=")
two_word_flags+=("--tag") two_word_flags+=("--tag")
local_nonpersistent_flags+=("--tag")
local_nonpersistent_flags+=("--tag=") local_nonpersistent_flags+=("--tag=")
flags+=("--tree") flags+=("--tree")
local_nonpersistent_flags+=("--tree") local_nonpersistent_flags+=("--tree")
@ -865,65 +1026,109 @@ _restic_forget()
flags+=("--keep-last=") flags+=("--keep-last=")
two_word_flags+=("--keep-last") two_word_flags+=("--keep-last")
two_word_flags+=("-l") two_word_flags+=("-l")
local_nonpersistent_flags+=("--keep-last")
local_nonpersistent_flags+=("--keep-last=") local_nonpersistent_flags+=("--keep-last=")
local_nonpersistent_flags+=("-l")
flags+=("--keep-hourly=") flags+=("--keep-hourly=")
two_word_flags+=("--keep-hourly") two_word_flags+=("--keep-hourly")
two_word_flags+=("-H") two_word_flags+=("-H")
local_nonpersistent_flags+=("--keep-hourly")
local_nonpersistent_flags+=("--keep-hourly=") local_nonpersistent_flags+=("--keep-hourly=")
local_nonpersistent_flags+=("-H")
flags+=("--keep-daily=") flags+=("--keep-daily=")
two_word_flags+=("--keep-daily") two_word_flags+=("--keep-daily")
two_word_flags+=("-d") two_word_flags+=("-d")
local_nonpersistent_flags+=("--keep-daily")
local_nonpersistent_flags+=("--keep-daily=") local_nonpersistent_flags+=("--keep-daily=")
local_nonpersistent_flags+=("-d")
flags+=("--keep-weekly=") flags+=("--keep-weekly=")
two_word_flags+=("--keep-weekly") two_word_flags+=("--keep-weekly")
two_word_flags+=("-w") two_word_flags+=("-w")
local_nonpersistent_flags+=("--keep-weekly")
local_nonpersistent_flags+=("--keep-weekly=") local_nonpersistent_flags+=("--keep-weekly=")
local_nonpersistent_flags+=("-w")
flags+=("--keep-monthly=") flags+=("--keep-monthly=")
two_word_flags+=("--keep-monthly") two_word_flags+=("--keep-monthly")
two_word_flags+=("-m") two_word_flags+=("-m")
local_nonpersistent_flags+=("--keep-monthly")
local_nonpersistent_flags+=("--keep-monthly=") local_nonpersistent_flags+=("--keep-monthly=")
local_nonpersistent_flags+=("-m")
flags+=("--keep-yearly=") flags+=("--keep-yearly=")
two_word_flags+=("--keep-yearly") two_word_flags+=("--keep-yearly")
two_word_flags+=("-y") two_word_flags+=("-y")
local_nonpersistent_flags+=("--keep-yearly")
local_nonpersistent_flags+=("--keep-yearly=") local_nonpersistent_flags+=("--keep-yearly=")
local_nonpersistent_flags+=("-y")
flags+=("--keep-within=") flags+=("--keep-within=")
two_word_flags+=("--keep-within") two_word_flags+=("--keep-within")
local_nonpersistent_flags+=("--keep-within")
local_nonpersistent_flags+=("--keep-within=") local_nonpersistent_flags+=("--keep-within=")
flags+=("--keep-within-hourly=")
two_word_flags+=("--keep-within-hourly")
local_nonpersistent_flags+=("--keep-within-hourly")
local_nonpersistent_flags+=("--keep-within-hourly=")
flags+=("--keep-within-daily=")
two_word_flags+=("--keep-within-daily")
local_nonpersistent_flags+=("--keep-within-daily")
local_nonpersistent_flags+=("--keep-within-daily=")
flags+=("--keep-within-weekly=")
two_word_flags+=("--keep-within-weekly")
local_nonpersistent_flags+=("--keep-within-weekly")
local_nonpersistent_flags+=("--keep-within-weekly=")
flags+=("--keep-within-monthly=")
two_word_flags+=("--keep-within-monthly")
local_nonpersistent_flags+=("--keep-within-monthly")
local_nonpersistent_flags+=("--keep-within-monthly=")
flags+=("--keep-within-yearly=")
two_word_flags+=("--keep-within-yearly")
local_nonpersistent_flags+=("--keep-within-yearly")
local_nonpersistent_flags+=("--keep-within-yearly=")
flags+=("--keep-tag=") flags+=("--keep-tag=")
two_word_flags+=("--keep-tag") two_word_flags+=("--keep-tag")
local_nonpersistent_flags+=("--keep-tag")
local_nonpersistent_flags+=("--keep-tag=") local_nonpersistent_flags+=("--keep-tag=")
flags+=("--host=") flags+=("--host=")
two_word_flags+=("--host") two_word_flags+=("--host")
local_nonpersistent_flags+=("--host")
local_nonpersistent_flags+=("--host=") local_nonpersistent_flags+=("--host=")
flags+=("--tag=") flags+=("--tag=")
two_word_flags+=("--tag") two_word_flags+=("--tag")
local_nonpersistent_flags+=("--tag")
local_nonpersistent_flags+=("--tag=") local_nonpersistent_flags+=("--tag=")
flags+=("--path=") flags+=("--path=")
two_word_flags+=("--path") two_word_flags+=("--path")
local_nonpersistent_flags+=("--path")
local_nonpersistent_flags+=("--path=") local_nonpersistent_flags+=("--path=")
flags+=("--compact") flags+=("--compact")
flags+=("-c") flags+=("-c")
local_nonpersistent_flags+=("--compact") local_nonpersistent_flags+=("--compact")
local_nonpersistent_flags+=("-c")
flags+=("--group-by=") flags+=("--group-by=")
two_word_flags+=("--group-by") two_word_flags+=("--group-by")
two_word_flags+=("-g") two_word_flags+=("-g")
local_nonpersistent_flags+=("--group-by")
local_nonpersistent_flags+=("--group-by=") local_nonpersistent_flags+=("--group-by=")
local_nonpersistent_flags+=("-g")
flags+=("--dry-run") flags+=("--dry-run")
flags+=("-n") flags+=("-n")
local_nonpersistent_flags+=("--dry-run") local_nonpersistent_flags+=("--dry-run")
local_nonpersistent_flags+=("-n")
flags+=("--prune") flags+=("--prune")
local_nonpersistent_flags+=("--prune") local_nonpersistent_flags+=("--prune")
flags+=("--max-unused=") flags+=("--max-unused=")
two_word_flags+=("--max-unused") two_word_flags+=("--max-unused")
local_nonpersistent_flags+=("--max-unused")
local_nonpersistent_flags+=("--max-unused=") local_nonpersistent_flags+=("--max-unused=")
flags+=("--max-repack-size=") flags+=("--max-repack-size=")
two_word_flags+=("--max-repack-size") two_word_flags+=("--max-repack-size")
local_nonpersistent_flags+=("--max-repack-size")
local_nonpersistent_flags+=("--max-repack-size=") local_nonpersistent_flags+=("--max-repack-size=")
flags+=("--repack-cacheable-only") flags+=("--repack-cacheable-only")
local_nonpersistent_flags+=("--repack-cacheable-only") local_nonpersistent_flags+=("--repack-cacheable-only")
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
flags+=("--cache-dir=") flags+=("--cache-dir=")
@ -979,15 +1184,23 @@ _restic_generate()
flags+=("--bash-completion=") flags+=("--bash-completion=")
two_word_flags+=("--bash-completion") two_word_flags+=("--bash-completion")
local_nonpersistent_flags+=("--bash-completion")
local_nonpersistent_flags+=("--bash-completion=") local_nonpersistent_flags+=("--bash-completion=")
flags+=("--fish-completion=")
two_word_flags+=("--fish-completion")
local_nonpersistent_flags+=("--fish-completion")
local_nonpersistent_flags+=("--fish-completion=")
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--man=") flags+=("--man=")
two_word_flags+=("--man") two_word_flags+=("--man")
local_nonpersistent_flags+=("--man")
local_nonpersistent_flags+=("--man=") local_nonpersistent_flags+=("--man=")
flags+=("--zsh-completion=") flags+=("--zsh-completion=")
two_word_flags+=("--zsh-completion") two_word_flags+=("--zsh-completion")
local_nonpersistent_flags+=("--zsh-completion")
local_nonpersistent_flags+=("--zsh-completion=") local_nonpersistent_flags+=("--zsh-completion=")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
@ -1028,6 +1241,60 @@ _restic_generate()
noun_aliases=() noun_aliases=()
} }
_restic_help()
{
last_command="restic_help"
command_aliases=()
commands=()
flags=()
two_word_flags=()
local_nonpersistent_flags=()
flags_with_completion=()
flags_completion=()
flags+=("--cacert=")
two_word_flags+=("--cacert")
flags+=("--cache-dir=")
two_word_flags+=("--cache-dir")
flags+=("--cleanup-cache")
flags+=("--json")
flags+=("--key-hint=")
two_word_flags+=("--key-hint")
flags+=("--limit-download=")
two_word_flags+=("--limit-download")
flags+=("--limit-upload=")
two_word_flags+=("--limit-upload")
flags+=("--no-cache")
flags+=("--no-lock")
flags+=("--option=")
two_word_flags+=("--option")
two_word_flags+=("-o")
flags+=("--password-command=")
two_word_flags+=("--password-command")
flags+=("--password-file=")
two_word_flags+=("--password-file")
two_word_flags+=("-p")
flags+=("--quiet")
flags+=("-q")
flags+=("--repo=")
two_word_flags+=("--repo")
two_word_flags+=("-r")
flags+=("--repository-file=")
two_word_flags+=("--repository-file")
flags+=("--tls-client-cert=")
two_word_flags+=("--tls-client-cert")
flags+=("--verbose")
flags+=("-v")
must_have_one_flag=()
must_have_one_noun=()
has_completion_function=1
noun_aliases=()
}
_restic_init() _restic_init()
{ {
last_command="restic_init" last_command="restic_init"
@ -1047,18 +1314,27 @@ _restic_init()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--key-hint2=") flags+=("--key-hint2=")
two_word_flags+=("--key-hint2") two_word_flags+=("--key-hint2")
local_nonpersistent_flags+=("--key-hint2")
local_nonpersistent_flags+=("--key-hint2=") local_nonpersistent_flags+=("--key-hint2=")
flags+=("--password-command2=") flags+=("--password-command2=")
two_word_flags+=("--password-command2") two_word_flags+=("--password-command2")
local_nonpersistent_flags+=("--password-command2")
local_nonpersistent_flags+=("--password-command2=") local_nonpersistent_flags+=("--password-command2=")
flags+=("--password-file2=") flags+=("--password-file2=")
two_word_flags+=("--password-file2") two_word_flags+=("--password-file2")
local_nonpersistent_flags+=("--password-file2")
local_nonpersistent_flags+=("--password-file2=") local_nonpersistent_flags+=("--password-file2=")
flags+=("--repo2=") flags+=("--repo2=")
two_word_flags+=("--repo2") two_word_flags+=("--repo2")
local_nonpersistent_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+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
flags+=("--cache-dir=") flags+=("--cache-dir=")
@ -1115,14 +1391,18 @@ _restic_key()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--host=") flags+=("--host=")
two_word_flags+=("--host") two_word_flags+=("--host")
local_nonpersistent_flags+=("--host")
local_nonpersistent_flags+=("--host=") local_nonpersistent_flags+=("--host=")
flags+=("--new-password-file=") flags+=("--new-password-file=")
two_word_flags+=("--new-password-file") two_word_flags+=("--new-password-file")
local_nonpersistent_flags+=("--new-password-file")
local_nonpersistent_flags+=("--new-password-file=") local_nonpersistent_flags+=("--new-password-file=")
flags+=("--user=") flags+=("--user=")
two_word_flags+=("--user") two_word_flags+=("--user")
local_nonpersistent_flags+=("--user")
local_nonpersistent_flags+=("--user=") local_nonpersistent_flags+=("--user=")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
@ -1180,6 +1460,7 @@ _restic_list()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
flags+=("--cache-dir=") flags+=("--cache-dir=")
@ -1236,20 +1517,26 @@ _restic_ls()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--host=") flags+=("--host=")
two_word_flags+=("--host") two_word_flags+=("--host")
two_word_flags+=("-H") two_word_flags+=("-H")
local_nonpersistent_flags+=("--host")
local_nonpersistent_flags+=("--host=") local_nonpersistent_flags+=("--host=")
local_nonpersistent_flags+=("-H")
flags+=("--long") flags+=("--long")
flags+=("-l") flags+=("-l")
local_nonpersistent_flags+=("--long") local_nonpersistent_flags+=("--long")
local_nonpersistent_flags+=("-l")
flags+=("--path=") flags+=("--path=")
two_word_flags+=("--path") two_word_flags+=("--path")
local_nonpersistent_flags+=("--path")
local_nonpersistent_flags+=("--path=") local_nonpersistent_flags+=("--path=")
flags+=("--recursive") flags+=("--recursive")
local_nonpersistent_flags+=("--recursive") local_nonpersistent_flags+=("--recursive")
flags+=("--tag=") flags+=("--tag=")
two_word_flags+=("--tag") two_word_flags+=("--tag")
local_nonpersistent_flags+=("--tag")
local_nonpersistent_flags+=("--tag=") local_nonpersistent_flags+=("--tag=")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
@ -1307,9 +1594,11 @@ _restic_migrate()
flags+=("--force") flags+=("--force")
flags+=("-f") flags+=("-f")
local_nonpersistent_flags+=("--force") local_nonpersistent_flags+=("--force")
local_nonpersistent_flags+=("-f")
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
flags+=("--cache-dir=") flags+=("--cache-dir=")
@ -1368,22 +1657,28 @@ _restic_mount()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--host=") flags+=("--host=")
two_word_flags+=("--host") two_word_flags+=("--host")
two_word_flags+=("-H") two_word_flags+=("-H")
local_nonpersistent_flags+=("--host")
local_nonpersistent_flags+=("--host=") local_nonpersistent_flags+=("--host=")
local_nonpersistent_flags+=("-H")
flags+=("--no-default-permissions") flags+=("--no-default-permissions")
local_nonpersistent_flags+=("--no-default-permissions") local_nonpersistent_flags+=("--no-default-permissions")
flags+=("--owner-root") flags+=("--owner-root")
local_nonpersistent_flags+=("--owner-root") local_nonpersistent_flags+=("--owner-root")
flags+=("--path=") flags+=("--path=")
two_word_flags+=("--path") two_word_flags+=("--path")
local_nonpersistent_flags+=("--path")
local_nonpersistent_flags+=("--path=") local_nonpersistent_flags+=("--path=")
flags+=("--snapshot-template=") flags+=("--snapshot-template=")
two_word_flags+=("--snapshot-template") two_word_flags+=("--snapshot-template")
local_nonpersistent_flags+=("--snapshot-template")
local_nonpersistent_flags+=("--snapshot-template=") local_nonpersistent_flags+=("--snapshot-template=")
flags+=("--tag=") flags+=("--tag=")
two_word_flags+=("--tag") two_word_flags+=("--tag")
local_nonpersistent_flags+=("--tag")
local_nonpersistent_flags+=("--tag=") local_nonpersistent_flags+=("--tag=")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
@ -1441,14 +1736,18 @@ _restic_prune()
flags+=("--dry-run") flags+=("--dry-run")
flags+=("-n") flags+=("-n")
local_nonpersistent_flags+=("--dry-run") local_nonpersistent_flags+=("--dry-run")
local_nonpersistent_flags+=("-n")
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--max-repack-size=") flags+=("--max-repack-size=")
two_word_flags+=("--max-repack-size") two_word_flags+=("--max-repack-size")
local_nonpersistent_flags+=("--max-repack-size")
local_nonpersistent_flags+=("--max-repack-size=") local_nonpersistent_flags+=("--max-repack-size=")
flags+=("--max-unused=") flags+=("--max-unused=")
two_word_flags+=("--max-unused") two_word_flags+=("--max-unused")
local_nonpersistent_flags+=("--max-unused")
local_nonpersistent_flags+=("--max-unused=") local_nonpersistent_flags+=("--max-unused=")
flags+=("--repack-cacheable-only") flags+=("--repack-cacheable-only")
local_nonpersistent_flags+=("--repack-cacheable-only") local_nonpersistent_flags+=("--repack-cacheable-only")
@ -1508,6 +1807,7 @@ _restic_rebuild-index()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--read-all-packs") flags+=("--read-all-packs")
local_nonpersistent_flags+=("--read-all-packs") local_nonpersistent_flags+=("--read-all-packs")
flags+=("--cacert=") flags+=("--cacert=")
@ -1566,6 +1866,7 @@ _restic_recover()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
flags+=("--cache-dir=") flags+=("--cache-dir=")
@ -1622,34 +1923,47 @@ _restic_restore()
flags+=("--exclude=") flags+=("--exclude=")
two_word_flags+=("--exclude") two_word_flags+=("--exclude")
two_word_flags+=("-e") two_word_flags+=("-e")
local_nonpersistent_flags+=("--exclude")
local_nonpersistent_flags+=("--exclude=") local_nonpersistent_flags+=("--exclude=")
local_nonpersistent_flags+=("-e")
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--host=") flags+=("--host=")
two_word_flags+=("--host") two_word_flags+=("--host")
two_word_flags+=("-H") two_word_flags+=("-H")
local_nonpersistent_flags+=("--host")
local_nonpersistent_flags+=("--host=") local_nonpersistent_flags+=("--host=")
local_nonpersistent_flags+=("-H")
flags+=("--iexclude=") flags+=("--iexclude=")
two_word_flags+=("--iexclude") two_word_flags+=("--iexclude")
local_nonpersistent_flags+=("--iexclude")
local_nonpersistent_flags+=("--iexclude=") local_nonpersistent_flags+=("--iexclude=")
flags+=("--iinclude=") flags+=("--iinclude=")
two_word_flags+=("--iinclude") two_word_flags+=("--iinclude")
local_nonpersistent_flags+=("--iinclude")
local_nonpersistent_flags+=("--iinclude=") local_nonpersistent_flags+=("--iinclude=")
flags+=("--include=") flags+=("--include=")
two_word_flags+=("--include") two_word_flags+=("--include")
two_word_flags+=("-i") two_word_flags+=("-i")
local_nonpersistent_flags+=("--include")
local_nonpersistent_flags+=("--include=") local_nonpersistent_flags+=("--include=")
local_nonpersistent_flags+=("-i")
flags+=("--path=") flags+=("--path=")
two_word_flags+=("--path") two_word_flags+=("--path")
local_nonpersistent_flags+=("--path")
local_nonpersistent_flags+=("--path=") local_nonpersistent_flags+=("--path=")
flags+=("--tag=") flags+=("--tag=")
two_word_flags+=("--tag") two_word_flags+=("--tag")
local_nonpersistent_flags+=("--tag")
local_nonpersistent_flags+=("--tag=") local_nonpersistent_flags+=("--tag=")
flags+=("--target=") flags+=("--target=")
two_word_flags+=("--target") two_word_flags+=("--target")
two_word_flags+=("-t") two_word_flags+=("-t")
local_nonpersistent_flags+=("--target")
local_nonpersistent_flags+=("--target=") local_nonpersistent_flags+=("--target=")
local_nonpersistent_flags+=("-t")
flags+=("--verify") flags+=("--verify")
local_nonpersistent_flags+=("--verify") local_nonpersistent_flags+=("--verify")
flags+=("--cacert=") flags+=("--cacert=")
@ -1708,8 +2022,10 @@ _restic_self-update()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--output=") flags+=("--output=")
two_word_flags+=("--output") two_word_flags+=("--output")
local_nonpersistent_flags+=("--output")
local_nonpersistent_flags+=("--output=") local_nonpersistent_flags+=("--output=")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
@ -1767,24 +2083,34 @@ _restic_snapshots()
flags+=("--compact") flags+=("--compact")
flags+=("-c") flags+=("-c")
local_nonpersistent_flags+=("--compact") local_nonpersistent_flags+=("--compact")
local_nonpersistent_flags+=("-c")
flags+=("--group-by=") flags+=("--group-by=")
two_word_flags+=("--group-by") two_word_flags+=("--group-by")
two_word_flags+=("-g") two_word_flags+=("-g")
local_nonpersistent_flags+=("--group-by")
local_nonpersistent_flags+=("--group-by=") local_nonpersistent_flags+=("--group-by=")
local_nonpersistent_flags+=("-g")
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--host=") flags+=("--host=")
two_word_flags+=("--host") two_word_flags+=("--host")
two_word_flags+=("-H") two_word_flags+=("-H")
local_nonpersistent_flags+=("--host")
local_nonpersistent_flags+=("--host=") local_nonpersistent_flags+=("--host=")
flags+=("--last") local_nonpersistent_flags+=("-H")
local_nonpersistent_flags+=("--last") flags+=("--latest=")
two_word_flags+=("--latest")
local_nonpersistent_flags+=("--latest")
local_nonpersistent_flags+=("--latest=")
flags+=("--path=") flags+=("--path=")
two_word_flags+=("--path") two_word_flags+=("--path")
local_nonpersistent_flags+=("--path")
local_nonpersistent_flags+=("--path=") local_nonpersistent_flags+=("--path=")
flags+=("--tag=") flags+=("--tag=")
two_word_flags+=("--tag") two_word_flags+=("--tag")
local_nonpersistent_flags+=("--tag")
local_nonpersistent_flags+=("--tag=") local_nonpersistent_flags+=("--tag=")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
@ -1842,18 +2168,24 @@ _restic_stats()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--host=") flags+=("--host=")
two_word_flags+=("--host") two_word_flags+=("--host")
two_word_flags+=("-H") two_word_flags+=("-H")
local_nonpersistent_flags+=("--host")
local_nonpersistent_flags+=("--host=") local_nonpersistent_flags+=("--host=")
local_nonpersistent_flags+=("-H")
flags+=("--mode=") flags+=("--mode=")
two_word_flags+=("--mode") two_word_flags+=("--mode")
local_nonpersistent_flags+=("--mode")
local_nonpersistent_flags+=("--mode=") local_nonpersistent_flags+=("--mode=")
flags+=("--path=") flags+=("--path=")
two_word_flags+=("--path") two_word_flags+=("--path")
local_nonpersistent_flags+=("--path")
local_nonpersistent_flags+=("--path=") local_nonpersistent_flags+=("--path=")
flags+=("--tag=") flags+=("--tag=")
two_word_flags+=("--tag") two_word_flags+=("--tag")
local_nonpersistent_flags+=("--tag")
local_nonpersistent_flags+=("--tag=") local_nonpersistent_flags+=("--tag=")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
@ -1910,25 +2242,33 @@ _restic_tag()
flags+=("--add=") flags+=("--add=")
two_word_flags+=("--add") two_word_flags+=("--add")
local_nonpersistent_flags+=("--add")
local_nonpersistent_flags+=("--add=") local_nonpersistent_flags+=("--add=")
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--host=") flags+=("--host=")
two_word_flags+=("--host") two_word_flags+=("--host")
two_word_flags+=("-H") two_word_flags+=("-H")
local_nonpersistent_flags+=("--host")
local_nonpersistent_flags+=("--host=") local_nonpersistent_flags+=("--host=")
local_nonpersistent_flags+=("-H")
flags+=("--path=") flags+=("--path=")
two_word_flags+=("--path") two_word_flags+=("--path")
local_nonpersistent_flags+=("--path")
local_nonpersistent_flags+=("--path=") local_nonpersistent_flags+=("--path=")
flags+=("--remove=") flags+=("--remove=")
two_word_flags+=("--remove") two_word_flags+=("--remove")
local_nonpersistent_flags+=("--remove")
local_nonpersistent_flags+=("--remove=") local_nonpersistent_flags+=("--remove=")
flags+=("--set=") flags+=("--set=")
two_word_flags+=("--set") two_word_flags+=("--set")
local_nonpersistent_flags+=("--set")
local_nonpersistent_flags+=("--set=") local_nonpersistent_flags+=("--set=")
flags+=("--tag=") flags+=("--tag=")
two_word_flags+=("--tag") two_word_flags+=("--tag")
local_nonpersistent_flags+=("--tag")
local_nonpersistent_flags+=("--tag=") local_nonpersistent_flags+=("--tag=")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
@ -1986,6 +2326,7 @@ _restic_unlock()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--remove-all") flags+=("--remove-all")
local_nonpersistent_flags+=("--remove-all") local_nonpersistent_flags+=("--remove-all")
flags+=("--cacert=") flags+=("--cacert=")
@ -2044,6 +2385,7 @@ _restic_version()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--cacert=") flags+=("--cacert=")
two_word_flags+=("--cacert") two_word_flags+=("--cacert")
flags+=("--cache-dir=") flags+=("--cache-dir=")
@ -2100,6 +2442,7 @@ _restic_root_command()
commands+=("find") commands+=("find")
commands+=("forget") commands+=("forget")
commands+=("generate") commands+=("generate")
commands+=("help")
commands+=("init") commands+=("init")
commands+=("key") commands+=("key")
commands+=("list") commands+=("list")
@ -2131,6 +2474,7 @@ _restic_root_command()
flags+=("--help") flags+=("--help")
flags+=("-h") flags+=("-h")
local_nonpersistent_flags+=("--help") local_nonpersistent_flags+=("--help")
local_nonpersistent_flags+=("-h")
flags+=("--json") flags+=("--json")
flags+=("--key-hint=") flags+=("--key-hint=")
two_word_flags+=("--key-hint") two_word_flags+=("--key-hint")
@ -2167,7 +2511,7 @@ _restic_root_command()
__start_restic() __start_restic()
{ {
local cur prev words cword local cur prev words cword split
declare -A flaghash 2>/dev/null || : declare -A flaghash 2>/dev/null || :
declare -A aliashash 2>/dev/null || : declare -A aliashash 2>/dev/null || :
if declare -F _init_completion >/dev/null 2>&1; then if declare -F _init_completion >/dev/null 2>&1; then
@ -2183,10 +2527,13 @@ __start_restic()
local flags_with_completion=() local flags_with_completion=()
local flags_completion=() local flags_completion=()
local commands=("restic") local commands=("restic")
local command_aliases=()
local must_have_one_flag=() local must_have_one_flag=()
local must_have_one_noun=() local must_have_one_noun=()
local has_completion_function
local last_command local last_command
local nouns=() local nouns=()
local noun_aliases=()
__restic_handle_word __restic_handle_word
} }

176
doc/fish-completion.fish Normal file
View file

@ -0,0 +1,176 @@
# fish completion for restic -*- shell-script -*-
function __restic_debug
set -l file "$BASH_COMP_DEBUG_FILE"
if test -n "$file"
echo "$argv" >> $file
end
end
function __restic_perform_completion
__restic_debug "Starting __restic_perform_completion"
# Extract all args except the last one
set -l args (commandline -opc)
# Extract the last arg and escape it in case it is a space
set -l lastArg (string escape -- (commandline -ct))
__restic_debug "args: $args"
__restic_debug "last arg: $lastArg"
set -l requestComp "$args[1] __complete $args[2..-1] $lastArg"
__restic_debug "Calling $requestComp"
set -l results (eval $requestComp 2> /dev/null)
# Some programs may output extra empty lines after the directive.
# Let's ignore them or else it will break completion.
# Ref: https://github.com/spf13/cobra/issues/1279
for line in $results[-1..1]
if test (string trim -- $line) = ""
# Found an empty line, remove it
set results $results[1..-2]
else
# Found non-empty line, we have our proper output
break
end
end
set -l comps $results[1..-2]
set -l directiveLine $results[-1]
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
# completions must be prefixed with the flag
set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
__restic_debug "Comps: $comps"
__restic_debug "DirectiveLine: $directiveLine"
__restic_debug "flagPrefix: $flagPrefix"
for comp in $comps
printf "%s%s\n" "$flagPrefix" "$comp"
end
printf "%s\n" "$directiveLine"
end
# This function does two things:
# - Obtain the completions and store them in the global __restic_comp_results
# - Return false if file completion should be performed
function __restic_prepare_completions
__restic_debug ""
__restic_debug "========= starting completion logic =========="
# Start fresh
set --erase __restic_comp_results
set -l results (__restic_perform_completion)
__restic_debug "Completion results: $results"
if test -z "$results"
__restic_debug "No completion, probably due to a failure"
# Might as well do file completion, in case it helps
return 1
end
set -l directive (string sub --start 2 $results[-1])
set --global __restic_comp_results $results[1..-2]
__restic_debug "Completions are: $__restic_comp_results"
__restic_debug "Directive is: $directive"
set -l shellCompDirectiveError 1
set -l shellCompDirectiveNoSpace 2
set -l shellCompDirectiveNoFileComp 4
set -l shellCompDirectiveFilterFileExt 8
set -l shellCompDirectiveFilterDirs 16
if test -z "$directive"
set directive 0
end
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
if test $compErr -eq 1
__restic_debug "Received error directive: aborting."
# Might as well do file completion, in case it helps
return 1
end
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
if test $filefilter -eq 1; or test $dirfilter -eq 1
__restic_debug "File extension filtering or directory filtering not supported"
# Do full file completion instead
return 1
end
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
__restic_debug "nospace: $nospace, nofiles: $nofiles"
# If we want to prevent a space, or if file completion is NOT disabled,
# we need to count the number of valid completions.
# To do so, we will filter on prefix as the completions we have received
# may not already be filtered so as to allow fish to match on different
# criteria than the prefix.
if test $nospace -ne 0; or test $nofiles -eq 0
set -l prefix (commandline -t | string escape --style=regex)
__restic_debug "prefix: $prefix"
set -l completions (string match -r -- "^$prefix.*" $__restic_comp_results)
set --global __restic_comp_results $completions
__restic_debug "Filtered completions are: $__restic_comp_results"
# Important not to quote the variable for count to work
set -l numComps (count $__restic_comp_results)
__restic_debug "numComps: $numComps"
if test $numComps -eq 1; and test $nospace -ne 0
# We must first split on \t to get rid of the descriptions to be
# able to check what the actual completion will be.
# We don't need descriptions anyway since there is only a single
# real completion which the shell will expand immediately.
set -l split (string split --max 1 \t $__restic_comp_results[1])
# Fish won't add a space if the completion ends with any
# of the following characters: @=/:.,
set -l lastChar (string sub -s -1 -- $split)
if not string match -r -q "[@=/:.,]" -- "$lastChar"
# In other cases, to support the "nospace" directive we trick the shell
# by outputting an extra, longer completion.
__restic_debug "Adding second completion to perform nospace directive"
set --global __restic_comp_results $split[1] $split[1].
__restic_debug "Completions are now: $__restic_comp_results"
end
end
if test $numComps -eq 0; and test $nofiles -eq 0
# To be consistent with bash and zsh, we only trigger file
# completion when there are no other completions
__restic_debug "Requesting file completion"
return 1
end
end
return 0
end
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
# so we can properly delete any completions provided by another script.
# Only do this if the program can be found, or else fish may print some errors; besides,
# the existing completions will only be loaded if the program can be found.
if type -q "restic"
# The space after the program name is essential to trigger completion for the program
# and not completion of the program name itself.
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
complete --do-complete "restic " > /dev/null 2>&1
end
# Remove any pre-existing completions for the program since we will be handling all of them.
complete -c restic -e
# The call to __restic_prepare_completions will setup __restic_comp_results
# which provides the program's completion choices.
complete -c restic -n '__restic_prepare_completions' -f -a '$__restic_comp_results'

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP
@ -33,8 +31,7 @@ Exit status is 3 if some source data could not be read (incomplete snapshot crea
.PP .PP
\fB\-\-exclude\-caches\fP[=false] \fB\-\-exclude\-caches\fP[=false]
excludes cache directories that are marked with a CACHEDIR.TAG file. See excludes cache directories that are marked with a CACHEDIR.TAG file. See https://bford.info/cachedir/ for the Cache Directory Tagging Standard
\[la]https://bford.info/cachedir/\[ra] for the Cache Directory Tagging Standard
.PP .PP
\fB\-\-exclude\-file\fP=[] \fB\-\-exclude\-file\fP=[]
@ -90,7 +87,7 @@ Exit status is 3 if some source data could not be read (incomplete snapshot crea
.PP .PP
\fB\-x\fP, \fB\-\-one\-file\-system\fP[=false] \fB\-x\fP, \fB\-\-one\-file\-system\fP[=false]
exclude other file systems exclude other file systems, don't cross filesystem boundaries and subvolumes
.PP .PP
\fB\-\-parent\fP="" \fB\-\-parent\fP=""

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP
@ -61,6 +59,10 @@ new destination repository using the "init" command.
\fB\-\-repo2\fP="" \fB\-\-repo2\fP=""
destination \fB\fCrepository\fR to copy snapshots to (default: $RESTIC\_REPOSITORY2) destination \fB\fCrepository\fR to copy snapshots to (default: $RESTIC\_REPOSITORY2)
.PP
\fB\-\-repository\-file2\fP=""
\fB\fCfile\fR from which to read the destination repository location to copy snapshots to (default: $RESTIC\_REPOSITORY\_FILE2)
.PP .PP
\fB\-\-tag\fP=[] \fB\-\-tag\fP=[]
only consider snapshots which include this \fB\fCtaglist\fR, when no snapshot ID is given only consider snapshots which include this \fB\fCtaglist\fR, when no snapshot ID is given

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP
@ -55,6 +53,26 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e
\fB\-\-keep\-within\fP= \fB\-\-keep\-within\fP=
keep snapshots that are newer than \fB\fCduration\fR (eg. 1y5m7d2h) relative to the latest snapshot keep snapshots that are newer than \fB\fCduration\fR (eg. 1y5m7d2h) relative to the latest snapshot
.PP
\fB\-\-keep\-within\-hourly\fP=
keep hourly snapshots that are newer than \fB\fCduration\fR (eg. 1y5m7d2h) relative to the latest snapshot
.PP
\fB\-\-keep\-within\-daily\fP=
keep daily snapshots that are newer than \fB\fCduration\fR (eg. 1y5m7d2h) relative to the latest snapshot
.PP
\fB\-\-keep\-within\-weekly\fP=
keep weekly snapshots that are newer than \fB\fCduration\fR (eg. 1y5m7d2h) relative to the latest snapshot
.PP
\fB\-\-keep\-within\-monthly\fP=
keep monthly snapshots that are newer than \fB\fCduration\fR (eg. 1y5m7d2h) relative to the latest snapshot
.PP
\fB\-\-keep\-within\-yearly\fP=
keep yearly snapshots that are newer than \fB\fCduration\fR (eg. 1y5m7d2h) relative to the latest snapshot
.PP .PP
\fB\-\-keep\-tag\fP=[] \fB\-\-keep\-tag\fP=[]
keep snapshots with this \fB\fCtaglist\fR (can be specified multiple times) keep snapshots with this \fB\fCtaglist\fR (can be specified multiple times)

View file

@ -1,11 +1,9 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP
restic\-generate \- Generate manual pages and auto\-completion files (bash, zsh) restic\-generate \- Generate manual pages and auto\-completion files (bash, fish, zsh)
.SH SYNOPSIS .SH SYNOPSIS
@ -16,7 +14,7 @@ restic\-generate \- Generate manual pages and auto\-completion files (bash, zsh)
.SH DESCRIPTION .SH DESCRIPTION
.PP .PP
The "generate" command writes automatically generated files (like the man pages The "generate" command writes automatically generated files (like the man pages
and the auto\-completion files for bash and zsh). and the auto\-completion files for bash, fish and zsh).
.SH EXIT STATUS .SH EXIT STATUS
@ -29,6 +27,10 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e
\fB\-\-bash\-completion\fP="" \fB\-\-bash\-completion\fP=""
write bash completion \fB\fCfile\fR write bash completion \fB\fCfile\fR
.PP
\fB\-\-fish\-completion\fP=""
write fish completion \fB\fCfile\fR
.PP .PP
\fB\-h\fP, \fB\-\-help\fP[=false] \fB\-h\fP, \fB\-\-help\fP[=false]
help for generate help for generate

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP
@ -48,6 +46,10 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e
\fB\-\-repo2\fP="" \fB\-\-repo2\fP=""
secondary \fB\fCrepository\fR to copy chunker parameters from (default: $RESTIC\_REPOSITORY2) secondary \fB\fCrepository\fR to copy chunker parameters from (default: $RESTIC\_REPOSITORY2)
.PP
\fB\-\-repository\-file2\fP=""
\fB\fCfile\fR from which to read the secondary repository location to copy chunker parameters from (default: $RESTIC\_REPOSITORY\_FILE2)
.SH OPTIONS INHERITED FROM PARENT COMMANDS .SH OPTIONS INHERITED FROM PARENT COMMANDS
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP
@ -47,8 +45,7 @@ Mon Jan 2 15:04:05 \-0700 MST 2006
.PP .PP
For details please see the documentation for time.Format() at: For details please see the documentation for time.Format() at:
https://godoc.org/time#Time.Format
\[la]https://godoc.org/time#Time.Format\[ra]
.SH EXIT STATUS .SH EXIT STATUS

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP
@ -41,8 +39,8 @@ Exit status is 0 if the command was successful, and non\-zero if there was any e
only consider snapshots for this \fB\fChost\fR (can be specified multiple times) only consider snapshots for this \fB\fChost\fR (can be specified multiple times)
.PP .PP
\fB\-\-last\fP[=false] \fB\-\-latest\fP=0
only show the last snapshot for each host and path only show the last \fB\fCn\fR snapshots for each host and path
.PP .PP
\fB\-\-path\fP=[] \fB\-\-path\fP=[]

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

View file

@ -1,7 +1,5 @@
.TH "restic backup" "1" "Jan 2017" "generated by `restic generate`" ""
.nh .nh
.ad l .TH "restic backup" "1" "Jan 2017" "generated by \fB\fCrestic generate\fR" ""
.SH NAME .SH NAME
.PP .PP

File diff suppressed because it is too large Load diff