mirror of
https://github.com/borgbackup/borg.git
synced 2025-03-11 14:48:22 +00:00
Using spaces instead of tabs for indentation.
This commit is contained in:
parent
181da5615e
commit
6e11ae1da2
2 changed files with 184 additions and 184 deletions
|
@ -7,161 +7,161 @@
|
|||
|
||||
_borg()
|
||||
{
|
||||
compopt -o default
|
||||
COMPREPLY=()
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
local prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||
local prevprev="${COMP_WORDS[COMP_CWORD-2]}"
|
||||
local common_opts="-h --help --version --critical --error --warning --info -v --verbose --debug --debug-topic -p --progress --log-json --lock-wait --show-version --show-rc --umask --remote-path --remote-ratelimit --consider-part-files --debug-profile"
|
||||
local opts="${common_opts}"
|
||||
compopt -o default
|
||||
COMPREPLY=()
|
||||
local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
local prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||
local prevprev="${COMP_WORDS[COMP_CWORD-2]}"
|
||||
local common_opts="-h --help --version --critical --error --warning --info -v --verbose --debug --debug-topic -p --progress --log-json --lock-wait --show-version --show-rc --umask --remote-path --remote-ratelimit --consider-part-files --debug-profile"
|
||||
local opts="${common_opts}"
|
||||
|
||||
# Commands
|
||||
if [[ ${COMP_CWORD} == 1 ]] ; then
|
||||
local borg_commands="init create extract check rename list diff delete prune info mount umount key serve upgrade recreate export-tar with-lock break-lock benchmark config"
|
||||
COMPREPLY=( $(compgen -W "${borg_commands}" -- ${cur}) )
|
||||
compopt +o default
|
||||
return 0
|
||||
fi
|
||||
# Commands
|
||||
if [[ ${COMP_CWORD} == 1 ]] ; then
|
||||
local borg_commands="init create extract check rename list diff delete prune info mount umount key serve upgrade recreate export-tar with-lock break-lock benchmark config"
|
||||
COMPREPLY=( $(compgen -W "${borg_commands}" -- ${cur}) )
|
||||
compopt +o default
|
||||
return 0
|
||||
fi
|
||||
|
||||
case "${prev}" in
|
||||
'key')
|
||||
COMPREPLY=( $(compgen -W "import export change-passphrase" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
'benchmark')
|
||||
COMPREPLY=( $(compgen -W "crud" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
'--encryption' | '-e')
|
||||
local encryption_modes="none keyfile keyfile-blake2 repokey repokey-blake2 authenticated authenticated-blake2"
|
||||
COMPREPLY=( $(compgen -W "${encryption_modes}" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
'--files-cache')
|
||||
local files_cache_mode="ctime,size,inode mtime,size,inode ctime,size mtime,size rechunk,ctime rechunk,mtime disabled"
|
||||
COMPREPLY=( $(compgen -W "${files_cache_mode}" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
'--compression' | '-C')
|
||||
local compression_methods="none auto lz4 zstd,1 zstd,2 zstd,3 zstd,4 zstd,5 zstd,6 zstd,7 zstd,8 zstd,9 zstd,10 zstd,11 zstd,12 zstd,13 zstd,14 zstd,15 zstd,16 zstd,17 zstd,18 zstd,19 zstd,20 zstd,21 zstd,22 zlib,1 zlib,2 zlib,3 zlib,4 zlib,5 zlib,6 zlib,7 zlib,8 zlib,9 lzma,0 lzma,1 lzma,2 lzma,3 lzma,4 lzma,5 lzma,6 lzma,7 lzma,8 lzma,9"
|
||||
COMPREPLY=( $(compgen -W "${compression_methods}" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
'--sort-by')
|
||||
local sort_keys="timestamp name id"
|
||||
COMPREPLY=( $(compgen -W "${sort_keys}" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
'-o')
|
||||
# FIXME there are lot more options, but not all are applicable:
|
||||
local fuse_options="allow_other allow_root versions allow_damaged_files"
|
||||
COMPREPLY=( $(compgen -W "${fuse_options}" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
'--recompress')
|
||||
local recompress_when="if-different always"
|
||||
COMPREPLY=( $(compgen -W "${recompress_when}" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
case "${prev}" in
|
||||
'key')
|
||||
COMPREPLY=( $(compgen -W "import export change-passphrase" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
'benchmark')
|
||||
COMPREPLY=( $(compgen -W "crud" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
'--encryption' | '-e')
|
||||
local encryption_modes="none keyfile keyfile-blake2 repokey repokey-blake2 authenticated authenticated-blake2"
|
||||
COMPREPLY=( $(compgen -W "${encryption_modes}" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
'--files-cache')
|
||||
local files_cache_mode="ctime,size,inode mtime,size,inode ctime,size mtime,size rechunk,ctime rechunk,mtime disabled"
|
||||
COMPREPLY=( $(compgen -W "${files_cache_mode}" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
'--compression' | '-C')
|
||||
local compression_methods="none auto lz4 zstd,1 zstd,2 zstd,3 zstd,4 zstd,5 zstd,6 zstd,7 zstd,8 zstd,9 zstd,10 zstd,11 zstd,12 zstd,13 zstd,14 zstd,15 zstd,16 zstd,17 zstd,18 zstd,19 zstd,20 zstd,21 zstd,22 zlib,1 zlib,2 zlib,3 zlib,4 zlib,5 zlib,6 zlib,7 zlib,8 zlib,9 lzma,0 lzma,1 lzma,2 lzma,3 lzma,4 lzma,5 lzma,6 lzma,7 lzma,8 lzma,9"
|
||||
COMPREPLY=( $(compgen -W "${compression_methods}" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
'--sort-by')
|
||||
local sort_keys="timestamp name id"
|
||||
COMPREPLY=( $(compgen -W "${sort_keys}" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
'-o')
|
||||
# FIXME there are lot more options, but not all are applicable:
|
||||
local fuse_options="allow_other allow_root versions allow_damaged_files"
|
||||
COMPREPLY=( $(compgen -W "${fuse_options}" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
'--recompress')
|
||||
local recompress_when="if-different always"
|
||||
COMPREPLY=( $(compgen -W "${recompress_when}" -- ${cur}) )
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ ${cur} == -* ]] ; then
|
||||
case "${COMP_LINE}" in
|
||||
*' init '*)
|
||||
local opts="-e --encryption --append-only --storage-quota ${common_opts}"
|
||||
;;
|
||||
*' create '*)
|
||||
local opts="-n --dry-run -s --stats --list --filter --json --no-cache-sync -e --exclude --exclude-from --pattern --patterns-from --exclude-caches --exclude-if-present --keep-exclude-tags --keep-tag-files --exclude-nodump -x --one-file-system --numeric-owner --noatime --noctime --nobirthtime --nobsdflags --ignore-inode --files-cache --read-special --comment --timestamp -c --checkpoint-interval --chunker-params -C --compression ${common_opts}"
|
||||
;;
|
||||
*' extract '*)
|
||||
local opts="--list -n --dry-run --numeric-owner --nobsdflags --stdout --sparse -e --exclude --exclude-from --pattern --patterns-from --strip-components ${common_opts}"
|
||||
;;
|
||||
*' check '*)
|
||||
local opts="--repository-only --archives-only --verify-data --repair --save-space -P --prefix -a --glob-archives --sort-by --first --last ${common_opts}"
|
||||
;;
|
||||
# rename
|
||||
# no specific options
|
||||
*" list "*)
|
||||
local opts="--short --list-format --format --json --json-lines -P --prefix -a --glob-archives --sort-by --first --last -e --exclude --exclude-from --pattern --patterns-from ${common_opts}"
|
||||
;;
|
||||
*' diff '*)
|
||||
local opts="--numeric-owner --same-chunker-params --sort -e --exclude --exclude-from --pattern --patterns-from ${common_opts}"
|
||||
;;
|
||||
*' delete '*)
|
||||
local opts="-s --stats --cache-only --force --save-space -P --prefix -a --glob-archives --sort-by --first --last ${common_opts}"
|
||||
;;
|
||||
*' prune '*)
|
||||
local opts="-n --dry-run --force -s --stats --list --keep-within --keep-last --keep-secondly --keep-minutely -H --keep-hourly -d --keep-daily -w --keep-weekly -m --keep-monthly -y --keep-yearly --save-space -P --prefix -a --glob-archives ${common_opts}"
|
||||
;;
|
||||
*' info '*)
|
||||
local opts="--json -P --prefix -a --glob-archives --sort-by --first --last ${common_opts}"
|
||||
;;
|
||||
*' mount '*)
|
||||
local opts="-f --foreground -o -P --prefix -a --glob-archives --sort-by --first --last ${common_opts}"
|
||||
;;
|
||||
# umount
|
||||
# no specific options
|
||||
# key change-passphrase
|
||||
# no specific options
|
||||
*' export '*)
|
||||
local opts="--paper --qr-html ${common_opts}"
|
||||
;;
|
||||
*' import '*)
|
||||
local opts="--paper ${common_opts}"
|
||||
;;
|
||||
*' upgrade '*)
|
||||
local opts="-n --dry-run --inplace --force --tam --disable-tam ${common_opts}"
|
||||
;;
|
||||
*' recreate '*)
|
||||
local opts="--list --filter -n dry-run -s stats -e exclude --exclude-from --pattern --patterns-from --exclude-caches --exclude-if-present --keep-exclude-tags --keep-tag-files --target -c checkpoint-interval --comment --timestamp --timestamp -C compression --recompress --chunker-params ${common_opts}"
|
||||
;;
|
||||
*' export-tar '*)
|
||||
local opts="--tar-filter --list -e exclude --exclude-from --pattern --patterns-from --strip-components ${common_opts}"
|
||||
;;
|
||||
*' serve '*)
|
||||
local opts="--restrict-to-path --restrict-to-repository --append-only --storage-quota ${common_opts}"
|
||||
;;
|
||||
# with-lock
|
||||
# no specific options
|
||||
# break-lock
|
||||
# no specific options
|
||||
# benchmark crud
|
||||
# no specific options
|
||||
*' config '*)
|
||||
local opts="-c --cache -d --delete ${common_opts}"
|
||||
;;
|
||||
esac
|
||||
if [[ ${cur} == -* ]] ; then
|
||||
case "${COMP_LINE}" in
|
||||
*' init '*)
|
||||
local opts="-e --encryption --append-only --storage-quota ${common_opts}"
|
||||
;;
|
||||
*' create '*)
|
||||
local opts="-n --dry-run -s --stats --list --filter --json --no-cache-sync -e --exclude --exclude-from --pattern --patterns-from --exclude-caches --exclude-if-present --keep-exclude-tags --keep-tag-files --exclude-nodump -x --one-file-system --numeric-owner --noatime --noctime --nobirthtime --nobsdflags --ignore-inode --files-cache --read-special --comment --timestamp -c --checkpoint-interval --chunker-params -C --compression ${common_opts}"
|
||||
;;
|
||||
*' extract '*)
|
||||
local opts="--list -n --dry-run --numeric-owner --nobsdflags --stdout --sparse -e --exclude --exclude-from --pattern --patterns-from --strip-components ${common_opts}"
|
||||
;;
|
||||
*' check '*)
|
||||
local opts="--repository-only --archives-only --verify-data --repair --save-space -P --prefix -a --glob-archives --sort-by --first --last ${common_opts}"
|
||||
;;
|
||||
# rename
|
||||
# no specific options
|
||||
*" list "*)
|
||||
local opts="--short --list-format --format --json --json-lines -P --prefix -a --glob-archives --sort-by --first --last -e --exclude --exclude-from --pattern --patterns-from ${common_opts}"
|
||||
;;
|
||||
*' diff '*)
|
||||
local opts="--numeric-owner --same-chunker-params --sort -e --exclude --exclude-from --pattern --patterns-from ${common_opts}"
|
||||
;;
|
||||
*' delete '*)
|
||||
local opts="-s --stats --cache-only --force --save-space -P --prefix -a --glob-archives --sort-by --first --last ${common_opts}"
|
||||
;;
|
||||
*' prune '*)
|
||||
local opts="-n --dry-run --force -s --stats --list --keep-within --keep-last --keep-secondly --keep-minutely -H --keep-hourly -d --keep-daily -w --keep-weekly -m --keep-monthly -y --keep-yearly --save-space -P --prefix -a --glob-archives ${common_opts}"
|
||||
;;
|
||||
*' info '*)
|
||||
local opts="--json -P --prefix -a --glob-archives --sort-by --first --last ${common_opts}"
|
||||
;;
|
||||
*' mount '*)
|
||||
local opts="-f --foreground -o -P --prefix -a --glob-archives --sort-by --first --last ${common_opts}"
|
||||
;;
|
||||
# umount
|
||||
# no specific options
|
||||
# key change-passphrase
|
||||
# no specific options
|
||||
*' export '*)
|
||||
local opts="--paper --qr-html ${common_opts}"
|
||||
;;
|
||||
*' import '*)
|
||||
local opts="--paper ${common_opts}"
|
||||
;;
|
||||
*' upgrade '*)
|
||||
local opts="-n --dry-run --inplace --force --tam --disable-tam ${common_opts}"
|
||||
;;
|
||||
*' recreate '*)
|
||||
local opts="--list --filter -n dry-run -s stats -e exclude --exclude-from --pattern --patterns-from --exclude-caches --exclude-if-present --keep-exclude-tags --keep-tag-files --target -c checkpoint-interval --comment --timestamp --timestamp -C compression --recompress --chunker-params ${common_opts}"
|
||||
;;
|
||||
*' export-tar '*)
|
||||
local opts="--tar-filter --list -e exclude --exclude-from --pattern --patterns-from --strip-components ${common_opts}"
|
||||
;;
|
||||
*' serve '*)
|
||||
local opts="--restrict-to-path --restrict-to-repository --append-only --storage-quota ${common_opts}"
|
||||
;;
|
||||
# with-lock
|
||||
# no specific options
|
||||
# break-lock
|
||||
# no specific options
|
||||
# benchmark crud
|
||||
# no specific options
|
||||
*' config '*)
|
||||
local opts="-c --cache -d --delete ${common_opts}"
|
||||
;;
|
||||
esac
|
||||
|
||||
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
||||
return 0
|
||||
fi
|
||||
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Listing archives.
|
||||
# Since "::" is treated as separate word in bash,
|
||||
# it is $cur when the cursor is right behind it
|
||||
# and $prev if the user has started to type an archive name.
|
||||
local repository_name="" # If set, we'll list the archives
|
||||
local typed_word=""
|
||||
if [[ ${cur} == "::" ]] ; then
|
||||
repository_name=${prev}
|
||||
fi
|
||||
if [[ ${prev} == "::" ]] ; then
|
||||
repository_name=${prevprev}
|
||||
typed_word=${cur}
|
||||
fi
|
||||
if [[ ${repository_name} != "" ]] ; then
|
||||
if [[ ${COMP_LINE} == *" ::"* ]] ; then
|
||||
# There is a space before the "::"
|
||||
# which means that no repository name was typed,
|
||||
# so probably $BORG_REPO is set.
|
||||
repository_name=""
|
||||
fi
|
||||
local archive_list=$(borg list --short "${repository_name}" 2>/dev/null)
|
||||
COMPREPLY=( $(compgen -W "${archive_list}" -- "${typed_word}" ) )
|
||||
return 0
|
||||
fi
|
||||
# Listing archives.
|
||||
# Since "::" is treated as separate word in bash,
|
||||
# it is $cur when the cursor is right behind it
|
||||
# and $prev if the user has started to type an archive name.
|
||||
local repository_name="" # If set, we'll list the archives
|
||||
local typed_word=""
|
||||
if [[ ${cur} == "::" ]] ; then
|
||||
repository_name=${prev}
|
||||
fi
|
||||
if [[ ${prev} == "::" ]] ; then
|
||||
repository_name=${prevprev}
|
||||
typed_word=${cur}
|
||||
fi
|
||||
if [[ ${repository_name} != "" ]] ; then
|
||||
if [[ ${COMP_LINE} == *" ::"* ]] ; then
|
||||
# There is a space before the "::"
|
||||
# which means that no repository name was typed,
|
||||
# so probably $BORG_REPO is set.
|
||||
repository_name=""
|
||||
fi
|
||||
local archive_list=$(borg list --short "${repository_name}" 2>/dev/null)
|
||||
COMPREPLY=( $(compgen -W "${archive_list}" -- "${typed_word}" ) )
|
||||
return 0
|
||||
fi
|
||||
|
||||
return 0
|
||||
return 0
|
||||
}
|
||||
|
||||
complete -F _borg borg
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Completions for borg
|
||||
# https://www.borgbackup.org/
|
||||
# Note:
|
||||
# Note:
|
||||
# Listing archives works on password protected repositories only if $BORG_PASSPHRASE is set.
|
||||
# Install:
|
||||
# Copy this file to /usr/share/fish/vendor_completions.d/
|
||||
|
@ -21,11 +21,11 @@ complete -c borg -f -n __fish_is_first_token -a 'mount' -d 'Mount archive or a r
|
|||
complete -c borg -f -n __fish_is_first_token -a 'umount' -d 'Un-mount the mounted archive'
|
||||
|
||||
function __fish_borg_seen_key
|
||||
if __fish_seen_subcommand_from key
|
||||
and not __fish_seen_subcommand_from import export change-passphrase
|
||||
return 0
|
||||
end
|
||||
return 1
|
||||
if __fish_seen_subcommand_from key
|
||||
and not __fish_seen_subcommand_from import export change-passphrase
|
||||
return 0
|
||||
end
|
||||
return 1
|
||||
end
|
||||
complete -c borg -f -n __fish_is_first_token -a 'key' -d 'Manage a repository key'
|
||||
complete -c borg -f -n __fish_borg_seen_key -a 'import' -d 'Import a repository key'
|
||||
|
@ -41,11 +41,11 @@ complete -c borg -f -n __fish_is_first_token -a 'break-lock' -d 'Break the repos
|
|||
complete -c borg -f -n __fish_is_first_token -a 'config' -d 'Get/set options in repo/cache config'
|
||||
|
||||
function __fish_borg_seen_benchmark
|
||||
if __fish_seen_subcommand_from benchmark
|
||||
and not __fish_seen_subcommand_from crud
|
||||
return 0
|
||||
end
|
||||
return 1
|
||||
if __fish_seen_subcommand_from benchmark
|
||||
and not __fish_seen_subcommand_from crud
|
||||
return 0
|
||||
end
|
||||
return 1
|
||||
end
|
||||
complete -c borg -f -n __fish_is_first_token -a 'benchmark' -d 'Benchmark borg operations'
|
||||
complete -c borg -f -n __fish_borg_seen_benchmark -a 'crud' -d 'Benchmark borg CRUD operations'
|
||||
|
@ -85,7 +85,7 @@ complete -c borg -f -l 'list' -d 'Print verbose list of it
|
|||
complete -c borg -f -l 'filter' -d 'Only items with given STATUSCHARS' -n "__fish_seen_subcommand_from create"
|
||||
complete -c borg -f -l 'json' -d 'Print verbose stats as json' -n "__fish_seen_subcommand_from create"
|
||||
complete -c borg -f -l 'no-cache-sync' -d 'Do not synchronize the cache' -n "__fish_seen_subcommand_from create"
|
||||
# Exclusion options
|
||||
# Exclusion options
|
||||
complete -c borg -s e -l 'exclude' -d 'Exclude paths matching PATTERN' -n "__fish_seen_subcommand_from create"
|
||||
complete -c borg -l 'exclude-from' -d 'Read exclude patterns from EXCLUDEFILE' -n "__fish_seen_subcommand_from create"
|
||||
complete -c borg -f -l 'pattern' -d 'Include/exclude paths matching PATTERN' -n "__fish_seen_subcommand_from create"
|
||||
|
@ -95,7 +95,7 @@ complete -c borg -l 'exclude-if-present' -d 'Exclude directories that
|
|||
complete -c borg -f -l 'keep-exclude-tags' -d 'Keep tag files of excluded directories' -n "__fish_seen_subcommand_from create"
|
||||
complete -c borg -f -l 'keep-tag-files' -d 'Keep tag files of excluded directories' -n "__fish_seen_subcommand_from create"
|
||||
complete -c borg -f -l 'exclude-nodump' -d 'Exclude files flagged NODUMP' -n "__fish_seen_subcommand_from create"
|
||||
# Filesytem options
|
||||
# Filesytem options
|
||||
complete -c borg -f -s x -l 'one-file-system' -d 'Stay in the same file system' -n "__fish_seen_subcommand_from create"
|
||||
complete -c borg -f -l 'numeric-owner' -d 'Only store numeric user:group identifiers' -n "__fish_seen_subcommand_from create"
|
||||
complete -c borg -f -l 'noatime' -d 'Do not store atime' -n "__fish_seen_subcommand_from create"
|
||||
|
@ -106,7 +106,7 @@ complete -c borg -f -l 'ignore-inode' -d 'Ignore inode data in fil
|
|||
set -l files_cache_mode "ctime,size,inode mtime,size,inode ctime,size mtime,size rechunk,ctime rechunk,mtime disabled"
|
||||
complete -c borg -f -l 'files-cache' -d 'Operate files cache in MODE' -a "$files_cache_mode" -n "__fish_seen_subcommand_from create"
|
||||
complete -c borg -f -l 'read-special' -d 'Open device files like regular files' -n "__fish_seen_subcommand_from create"
|
||||
# Archive options
|
||||
# Archive options
|
||||
complete -c borg -f -l 'comment' -d 'Add COMMENT to the archive' -n "__fish_seen_subcommand_from create"
|
||||
complete -c borg -f -l 'timestamp' -d 'Set creation TIME (yyyy-mm-ddThh:mm:ss)' -n "__fish_seen_subcommand_from create"
|
||||
complete -c borg -l 'timestamp' -d 'Set creation time by reference FILE' -n "__fish_seen_subcommand_from create"
|
||||
|
@ -122,7 +122,7 @@ complete -c borg -f -l 'numeric-owner' -d 'Only obey numeric user:g
|
|||
complete -c borg -f -l 'nobsdflags' -d 'Do not extract/set bsdflags' -n "__fish_seen_subcommand_from extract"
|
||||
complete -c borg -f -l 'stdout' -d 'Write all extracted data to stdout' -n "__fish_seen_subcommand_from extract"
|
||||
complete -c borg -f -l 'sparse' -d 'Create holes in output sparse file' -n "__fish_seen_subcommand_from extract"
|
||||
# Exclusion options
|
||||
# Exclusion options
|
||||
complete -c borg -s e -l 'exclude' -d 'Exclude paths matching PATTERN' -n "__fish_seen_subcommand_from extract"
|
||||
complete -c borg -l 'exclude-from' -d 'Read exclude patterns from EXCLUDEFILE' -n "__fish_seen_subcommand_from extract"
|
||||
complete -c borg -l 'pattern' -d 'Include/exclude paths matching PATTERN' -n "__fish_seen_subcommand_from extract"
|
||||
|
@ -135,7 +135,7 @@ complete -c borg -f -l 'archives-only' -d 'Only perform archives ch
|
|||
complete -c borg -f -l 'verify-data' -d 'Cryptographic integrity verification' -n "__fish_seen_subcommand_from check"
|
||||
complete -c borg -f -l 'repair' -d 'Attempt to repair found inconsistencies' -n "__fish_seen_subcommand_from check"
|
||||
complete -c borg -f -l 'save-space' -d 'Work slower but using less space' -n "__fish_seen_subcommand_from check"
|
||||
# Archive filters
|
||||
# Archive filters
|
||||
complete -c borg -f -s P -l 'prefix' -d 'Only archive names starting with PREFIX' -n "__fish_seen_subcommand_from check"
|
||||
complete -c borg -f -s a -l 'glob-archives' -d 'Only archive names matching GLOB' -n "__fish_seen_subcommand_from check"
|
||||
set -l sort_keys "timestamp name id"
|
||||
|
@ -144,7 +144,7 @@ complete -c borg -f -l 'first' -d 'Only first N archives'
|
|||
complete -c borg -f -l 'last' -d 'Only last N archives' -n "__fish_seen_subcommand_from check"
|
||||
|
||||
# borg rename
|
||||
# no specific options
|
||||
# no specific options
|
||||
|
||||
# borg list options
|
||||
complete -c borg -f -l 'short' -d 'Only print file/directory names' -n "__fish_seen_subcommand_from list"
|
||||
|
@ -152,13 +152,13 @@ complete -c borg -f -l 'list-format' -d 'Specify FORMAT for file
|
|||
complete -c borg -f -l 'format' -d 'Specify FORMAT for file listing' -n "__fish_seen_subcommand_from list"
|
||||
complete -c borg -f -l 'json' -d 'List contents in json format' -n "__fish_seen_subcommand_from list"
|
||||
complete -c borg -f -l 'json-lines' -d 'List contents in json lines format' -n "__fish_seen_subcommand_from list"
|
||||
# Archive filters
|
||||
# Archive filters
|
||||
complete -c borg -f -s P -l 'prefix' -d 'Only archive names starting with PREFIX' -n "__fish_seen_subcommand_from list"
|
||||
complete -c borg -f -s a -l 'glob-archives' -d 'Only archive names matching GLOB' -n "__fish_seen_subcommand_from list"
|
||||
complete -c borg -f -l 'sort-by' -d 'Sorting KEYS [timestamp]' -a "$sort_keys" -n "__fish_seen_subcommand_from list"
|
||||
complete -c borg -f -l 'first' -d 'Only first N archives' -n "__fish_seen_subcommand_from list"
|
||||
complete -c borg -f -l 'last' -d 'Only last N archives' -n "__fish_seen_subcommand_from list"
|
||||
# Exclusion options
|
||||
# Exclusion options
|
||||
complete -c borg -s e -l 'exclude' -d 'Exclude paths matching PATTERN' -n "__fish_seen_subcommand_from list"
|
||||
complete -c borg -l 'exclude-from' -d 'Read exclude patterns from EXCLUDEFILE' -n "__fish_seen_subcommand_from list"
|
||||
complete -c borg -f -l 'pattern' -d 'Include/exclude paths matching PATTERN' -n "__fish_seen_subcommand_from list"
|
||||
|
@ -168,7 +168,7 @@ complete -c borg -l 'patterns-from' -d 'Include/exclude paths fr
|
|||
complete -c borg -f -l 'numeric-owner' -d 'Only consider numeric user:group' -n "__fish_seen_subcommand_from diff"
|
||||
complete -c borg -f -l 'same-chunker-params' -d 'Override check of chunker parameters' -n "__fish_seen_subcommand_from diff"
|
||||
complete -c borg -f -l 'sort' -d 'Sort the output lines by file path' -n "__fish_seen_subcommand_from diff"
|
||||
# Exclusion options
|
||||
# Exclusion options
|
||||
complete -c borg -s e -l 'exclude' -d 'Exclude paths matching PATTERN' -n "__fish_seen_subcommand_from diff"
|
||||
complete -c borg -l 'exclude-from' -d 'Read exclude patterns from EXCLUDEFILE' -n "__fish_seen_subcommand_from diff"
|
||||
complete -c borg -f -l 'pattern' -d 'Include/exclude paths matching PATTERN' -n "__fish_seen_subcommand_from diff"
|
||||
|
@ -179,7 +179,7 @@ complete -c borg -f -s s -l 'stats' -d 'Print verbose statistics
|
|||
complete -c borg -f -l 'cache-only' -d "Delete only the local cache" -n "__fish_seen_subcommand_from delete"
|
||||
complete -c borg -f -l 'force' -d 'Force deletion of corrupted archives' -n "__fish_seen_subcommand_from delete"
|
||||
complete -c borg -f -l 'save-space' -d 'Work slower but using less space' -n "__fish_seen_subcommand_from delete"
|
||||
# Archive filters
|
||||
# Archive filters
|
||||
complete -c borg -f -s P -l 'prefix' -d 'Only archive names starting with PREFIX' -n "__fish_seen_subcommand_from delete"
|
||||
complete -c borg -f -s a -l 'glob-archives' -d 'Only archive names matching GLOB' -n "__fish_seen_subcommand_from delete"
|
||||
complete -c borg -f -l 'sort-by' -d 'Sorting KEYS [timestamp]' -a "$sort_keys" -n "__fish_seen_subcommand_from delete"
|
||||
|
@ -201,13 +201,13 @@ complete -c borg -f -s w -l 'keep-weekly' -d 'NUMBER of weekly archive
|
|||
complete -c borg -f -s m -l 'keep-monthly' -d 'NUMBER of monthly archives to keep' -n "__fish_seen_subcommand_from prune"
|
||||
complete -c borg -f -s y -l 'keep-yearly' -d 'NUMBER of yearly archives to keep' -n "__fish_seen_subcommand_from prune"
|
||||
complete -c borg -f -l 'save-space' -d 'Work slower but using less space' -n "__fish_seen_subcommand_from prune"
|
||||
# Archive filters
|
||||
# Archive filters
|
||||
complete -c borg -f -s P -l 'prefix' -d 'Only archive names starting with PREFIX' -n "__fish_seen_subcommand_from prune"
|
||||
complete -c borg -f -s a -l 'glob-archives' -d 'Only archive names matching GLOB' -n "__fish_seen_subcommand_from prune"
|
||||
|
||||
# borg info options
|
||||
complete -c borg -f -l 'json' -d 'Format output in json format' -n "__fish_seen_subcommand_from info"
|
||||
# Archive filters
|
||||
# Archive filters
|
||||
complete -c borg -f -s P -l 'prefix' -d 'Only archive names starting with PREFIX' -n "__fish_seen_subcommand_from info"
|
||||
complete -c borg -f -s a -l 'glob-archives' -d 'Only archive names matching GLOB' -n "__fish_seen_subcommand_from info"
|
||||
complete -c borg -f -l 'sort-by' -d 'Sorting KEYS [timestamp]' -a "$sort_keys" -n "__fish_seen_subcommand_from info"
|
||||
|
@ -219,7 +219,7 @@ complete -c borg -f -s f -l 'foreground' -d 'Stay in foreground, do n
|
|||
# FIXME there are lot more options, but not all are applicable:
|
||||
set -l fuse_options "allow_other allow_root versions allow_damaged_files"
|
||||
complete -c borg -f -s o -d 'Fuse mount OPTIONS' -a "$fuse_options" -n "__fish_seen_subcommand_from mount"
|
||||
# Archive filters
|
||||
# Archive filters
|
||||
complete -c borg -f -s P -l 'prefix' -d 'Only archive names starting with PREFIX' -n "__fish_seen_subcommand_from mount"
|
||||
complete -c borg -f -s a -l 'glob-archives' -d 'Only archive names matching GLOB' -n "__fish_seen_subcommand_from mount"
|
||||
complete -c borg -f -l 'sort-by' -d 'Sorting KEYS [timestamp]' -a "$sort_keys" -n "__fish_seen_subcommand_from mount"
|
||||
|
@ -227,10 +227,10 @@ complete -c borg -f -l 'first' -d 'Only first N archives'
|
|||
complete -c borg -f -l 'last' -d 'Only last N archives' -n "__fish_seen_subcommand_from mount"
|
||||
|
||||
# borg umount
|
||||
# no specific options
|
||||
# no specific options
|
||||
|
||||
# borg key change-passphrase
|
||||
# no specific options
|
||||
# no specific options
|
||||
|
||||
# borg key export
|
||||
complete -c borg -f -l 'paper' -d 'Create an export for printing' -n "__fish_seen_subcommand_from export"
|
||||
|
@ -251,7 +251,7 @@ complete -c borg -f -l 'list' -d 'Print verbose list of it
|
|||
complete -c borg -f -l 'filter' -d 'Only items with given STATUSCHARS' -n "__fish_seen_subcommand_from recreate"
|
||||
complete -c borg -f -s n -l 'dry-run' -d 'Do not change the repository' -n "__fish_seen_subcommand_from recreate"
|
||||
complete -c borg -f -s s -l 'stats' -d 'Print verbose statistics' -n "__fish_seen_subcommand_from recreate"
|
||||
# Exclusion options
|
||||
# Exclusion options
|
||||
complete -c borg -s e -l 'exclude' -d 'Exclude paths matching PATTERN' -n "__fish_seen_subcommand_from recreate"
|
||||
complete -c borg -l 'exclude-from' -d 'Read exclude patterns from EXCLUDEFILE' -n "__fish_seen_subcommand_from recreate"
|
||||
complete -c borg -f -l 'pattern' -d 'Include/exclude paths matching PATTERN' -n "__fish_seen_subcommand_from recreate"
|
||||
|
@ -260,7 +260,7 @@ complete -c borg -f -l 'exclude-caches' -d 'Exclude directories tagg
|
|||
complete -c borg -l 'exclude-if-present' -d 'Exclude directories that contain FILENAME' -n "__fish_seen_subcommand_from recreate"
|
||||
complete -c borg -f -l 'keep-exclude-tags' -d 'Keep tag files of excluded directories' -n "__fish_seen_subcommand_from recreate"
|
||||
complete -c borg -f -l 'keep-tag-files' -d 'Keep tag files of excluded directories' -n "__fish_seen_subcommand_from recreate"
|
||||
# Archive options
|
||||
# Archive options
|
||||
complete -c borg -f -l 'target' -d "Create a new ARCHIVE" -n "__fish_seen_subcommand_from recreate"
|
||||
complete -c borg -f -s c -l 'checkpoint-interval' -d 'Write checkpoint every N seconds [1800]' -n "__fish_seen_subcommand_from recreate"
|
||||
complete -c borg -f -l 'comment' -d 'Add COMMENT to the archive' -n "__fish_seen_subcommand_from recreate"
|
||||
|
@ -274,7 +274,7 @@ complete -c borg -f -l 'chunker-params' -d 'Chunker PARAMETERS [19,2
|
|||
# borg export-tar options
|
||||
complete -c borg -l 'tar-filter' -d 'Filter program to pipe data through' -n "__fish_seen_subcommand_from export-tar"
|
||||
complete -c borg -f -l 'list' -d 'Print verbose list of items' -n "__fish_seen_subcommand_from export-tar"
|
||||
# Exclusion options
|
||||
# Exclusion options
|
||||
complete -c borg -s e -l 'exclude' -d 'Exclude paths matching PATTERN' -n "__fish_seen_subcommand_from recreate"
|
||||
complete -c borg -l 'exclude-from' -d 'Read exclude patterns from EXCLUDEFILE' -n "__fish_seen_subcommand_from recreate"
|
||||
complete -c borg -f -l 'pattern' -d 'Include/exclude paths matching PATTERN' -n "__fish_seen_subcommand_from recreate"
|
||||
|
@ -288,13 +288,13 @@ complete -c borg -f -l 'append-only' -d 'Only allow appending to
|
|||
complete -c borg -f -l 'storage-quota' -d 'Override storage QUOTA of the repository' -n "__fish_seen_subcommand_from serve"
|
||||
|
||||
# borg with-lock
|
||||
# no specific options
|
||||
# no specific options
|
||||
|
||||
# borg break-lock
|
||||
# no specific options
|
||||
# no specific options
|
||||
|
||||
# borg benchmark
|
||||
# no specific options
|
||||
# no specific options
|
||||
|
||||
# borg config
|
||||
complete -c borg -f -s c -l 'cache' -d 'Get/set values in the repo cache' -n "__fish_seen_subcommand_from config"
|
||||
|
@ -304,12 +304,12 @@ complete -c borg -f -s d -l 'delete' -d 'Delete the KEY from the
|
|||
# List archives
|
||||
|
||||
function __fish_borg_is_repository
|
||||
return (string match --quiet --regex '.*::' '"'(commandline --current-token)'"')
|
||||
return (string match --quiet --regex '.*::' '"'(commandline --current-token)'"')
|
||||
end
|
||||
|
||||
function __fish_borg_list_archives
|
||||
set -l repository_name (string replace --regex '::.*' '' (commandline --current-token))
|
||||
borg list --format="$repository_name::{archive}{NEWLINE}" "$repository_name" ^/dev/null
|
||||
set -l repository_name (string replace --regex '::.*' '' (commandline --current-token))
|
||||
borg list --format="$repository_name::{archive}{NEWLINE}" "$repository_name" ^/dev/null
|
||||
end
|
||||
|
||||
complete -c borg -f -n __fish_borg_is_repository -a '(__fish_borg_list_archives)'
|
||||
|
|
Loading…
Add table
Reference in a new issue