/bash_completion.d/xz
http://github.com/brinkman83/bashrc · #! · 103 lines · 88 code · 15 blank · 0 comment · 0 complexity · 925348ff196b3ed67eccd2c753163809 MD5 · raw file
- # xz(1) completion
- have xz &&
- _xz()
- {
- COMPREPLY=()
- local cur=`_get_cword`
- local prev=${COMP_WORDS[COMP_CWORD-1]}
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-z --compress -d --decompress \
- -t --test -l --list -k --keep -f --force -c --stdout \
- -S --suffix --files --files0 -F --format -C --check \
- -0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -M --memory --lzma1 \
- --lzma2 --x86 --powerpc --ia64 --arm --armthumb \
- --sparc --delta -q --quiet -v --verbose -h --help \
- -H --long-help -V --version' -- "$cur" ) )
- return 0
- fi
- local split=false
- _split_longopt && split=true
- local xspec="*.@(xz|lzma)"
- case "$prev" in
- -@(!(-*)[dlt]*|-decompress|-list|-test))
- xspec="!"$xspec
- ;;
- --files|--files0)
- _filedir
- return 0
- ;;
- -C|--check)
- COMPREPLY=( $( compgen -W 'crc32 crc64 sha256' -- "$cur" ) )
- return 0
- ;;
- -F|--format)
- COMPREPLY=( $( compgen -W 'auto xz lzma raw' -- "$cur" ) )
- return 0
- ;;
- -M|--memory|-S|--suffix|--delta|--lzma1|--lzma2)
- # argument required but no completions available
- return 0
- ;;
- -h|--help|-H|--long-help|-V|--version)
- # all other arguments are noop with these
- return 0
- ;;
- esac
- $split && return 0
- _expand || return 0
- local IFS=$'\t\n'
- COMPREPLY=( $( compgen -f -X "$xspec" -- "$cur" ) \
- $( compgen -d -- "$cur" ) )
- } &&
- complete -F _xz $filenames xz
- # xzdec(1) completion
- #
- have xzdec &&
- _xzdec()
- {
- COMPREPLY=()
- local cur=`_get_cword`
- local prev=${COMP_WORDS[COMP_CWORD-1]}
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-M --memory -h --help -V --version' \
- -- "$cur" ) )
- 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.8beta
- } &&
- complete -F _xzdec $filenames xzdec
- # 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