diff options
Diffstat (limited to 'completions/xz')
-rw-r--r-- | completions/xz | 77 |
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 |