blob: 8d6c53bdf6e97125bab51a0afa3bc85d44622615 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# xz(1) completion -*- shell-script -*-
_comp_cmd_xz()
{
local cur prev words cword was_split comp_args
_comp_initialize -s -- "$@" || return
local xspec="*.@(xz|lzma|txz|tlz)"
local noargopts='!(-*|*[CFTMS]*)'
# shellcheck disable=SC2254
case $prev in
--decompress | --list | --test | -${noargopts}[dlt]*)
xspec="!"$xspec
;;
--files | --files0)
_comp_compgen_filedir
return
;;
--check | -${noargopts}C)
_comp_compgen -- -W 'crc32 crc64 sha256 none'
return
;;
--format | -${noargopts}F)
_comp_compgen -- -W 'auto xz lzma raw'
return
;;
--threads | -${noargopts}T)
local REPLY
_comp_get_ncpus
_comp_compgen -- -W "{0..$REPLY}"
return
;;
--memlimit | --memlimit-compress | --memlimit-decompress | --memory | \
--suffix | --delta | --lzma1 | --lzma2 | -${noargopts}[MS])
return
;;
--help | --long-help | --version | --info-memory | -${noargopts}[hHV])
return
;;
esac
[[ $was_split ]] && return
if [[ $cur == -* ]]; then
_comp_compgen_help -- --long-help
_comp_compgen -a -- -W '{-1..-9}'
[[ ${COMPREPLY-} == *= ]] && compopt -o nospace
return
fi
_comp_compgen_tilde && return
compopt -o filenames
_comp_compgen -- -f -X "$xspec" -o plusdirs
} &&
complete -F _comp_cmd_xz xz pxz
# ex: filetype=sh
|