summaryrefslogtreecommitdiff
path: root/completions/xz
diff options
context:
space:
mode:
Diffstat (limited to 'completions/xz')
-rw-r--r--completions/xz77
1 files changed, 15 insertions, 62 deletions
diff --git a/completions/xz b/completions/xz
index 89a8ac98..e2e1b709 100644
--- a/completions/xz
+++ b/completions/xz
@@ -1,24 +1,9 @@
-# xz(1) completion
+# xz(1) completion -*- shell-script -*-
-have xz &&
_xz()
{
- COMPREPLY=()
- local cur prev
- _get_comp_words_by_ref cur prev
-
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '--compress --decompress --test --list \
- --keep --force --stdout --suffix --files --files0 --format --check \
- -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 --fast --best --extreme --memory \
- --lzma1 --lzma2 --x86 --powerpc --ia64 --arm --armthumb --sparc \
- --delta --quiet --verbose --no-warn --help --long-help --version' \
- -- "$cur" ) )
- return 0
- fi
-
- local split=false
- _split_longopt && split=true
+ local cur prev words cword split
+ _init_completion -s || return
local xspec="*.@(xz|lzma|txz|tlz)"
@@ -31,18 +16,19 @@ _xz()
return 0
;;
-C|--check)
- COMPREPLY=( $( compgen -W 'crc32 crc64 sha256' -- "$cur" ) )
+ COMPREPLY=( $( compgen -W 'crc32 crc64 sha256 none' -- "$cur" ) )
return 0
;;
-F|--format)
COMPREPLY=( $( compgen -W 'auto xz lzma raw' -- "$cur" ) )
return 0
;;
- -M|--memory|-S|--suffix|--delta|--lzma1|--lzma2)
+ -M|--memlimit|--memlimit-compress|--memlimit-decompress|--memory|\
+ -S|--suffix|--delta|--lzma1|--lzma2)
# argument required but no completions available
return 0
;;
- -h|--help|-H|--long-help|-V|--version)
+ -h|--help|-H|--long-help|-V|--version|--info-memory)
# all other arguments are noop with these
return 0
;;
@@ -52,51 +38,18 @@ _xz()
_expand || return 0
- local IFS=$'\n'
- _compopt_o_filenames
- COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
- $( compgen -d -- "$cur" ) )
-} &&
-complete -F _xz xz
-
-# xzdec(1) completion
-#
-have xzdec &&
-_xzdec()
-{
- COMPREPLY=()
- local cur prev
- _get_comp_words_by_ref cur prev
-
if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '--memory --help --version' -- "$cur" ) )
+ COMPREPLY=( $( compgen -W '$( _parse_help "$1" --long-help ) {-1..-9}' \
+ -- "$cur" ) )
+ [[ $COMPREPLY == *= ]] && compopt -o nospace
return 0
fi
- local split=false
- _split_longopt && split=true
-
- case $prev in
- -M|--memory)
- # argument required but no completions available
- return 0
- ;;
- -h|--help|-V|--version)
- # all other arguments are noop with these
- return 0
- ;;
- esac
-
- $split && return 0
-
- _filedir xz # no lzma support here as of xz 4.999.9beta
+ local IFS=$'\n'
+ compopt -o filenames
+ COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
+ $( compgen -d -- "$cur" ) )
} &&
-complete -F _xzdec xzdec
+complete -F _xz xz pxz
-# Local variables:
-# mode: shell-script
-# sh-basic-offset: 4
-# sh-indent-comment: t
-# indent-tabs-mode: nil
-# End:
# ex: ts=4 sw=4 et filetype=sh