# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*- # ex: ts=8 sw=8 noet filetype=sh # # bash completion for cpio have cpio && { _cpio_format() { COMPREPLY=( $( compgen -W 'bin odc newc crc tar ustar hpbin hpodc' -- $cur ) ) } _cpio() { local cur prev COMPREPLY=() cur=`_get_cword` prev=${COMP_WORDS[COMP_CWORD-1]} # --name value style option case $prev in -H) _cpio_format return 0 ;; -@(E|F|I)) _filedir return 0 ;; -R) _usergroup return 0 ;; esac # --name=value style option if [[ "$cur" == *=* ]]; then prev=${cur/=*/} cur=${cur/*=/} case $prev in --format) _cpio_format return 0 ;; --@(file|pattern-file)) _filedir return 0 ;; --owner) _usergroup return 0 ;; --rsh-command) COMPREPLY=( $( compgen -c -- $cur ) ) return 0 ;; esac fi if [ $COMP_CWORD -eq 1 ]; then COMPREPLY=( $( compgen -W '-o --create -i --extract -p --pass-through' -- $cur) ) else case ${COMP_WORDS[1]} in -@(o|-create)) if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-0 -a -c -v -A -B\ -L -V -C -H -M -O -F --file= --format=\ --message= --null --reset-access-time\ --verbose --dot --append --block-size=\ --dereference --io-size= --quiet\ --force-local --rsh-command= --help\ --version' -- $cur ) ) fi ;; -@(i|-extract)) if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-b -c -d -f -m -n -r\ -t -s -u -v -B -S -V -C -E -H -M -R -I\ -F --file= --make-directories\ --nonmatching\ --preserve-modification-time\ --numeric-uid-gid --rename -t --list\ --swap-bytes --swap --dot\ --unconditional --verbose --block-size=\ --swap-halfwords --io-size=\ --pattern-file= --format= --owner=\ --no-preserve-owner --message=\ --force-local --no-absolute-filenames\ --sparse --only-verify-crc --quiet\ --rsh-command= --help\ --version' -- $cur ) ) fi ;; -@(p|-pass-through)) if [[ "$cur" == -* ]]; then COMPREPLY=( $( compgen -W '-0 -a -d -l -m -u -v\ -L -V -R --null --reset-access-time\ --make-directories --link --quiet\ --preserve-modification-time\ --unconditional --verbose --dot\ --dereference --owner=\ --no-preserve-owner --sparse --help\ --version' -- $cur ) ) else _filedir -d fi ;; esac fi } complete -F _cpio cpio }