# bash completion for cpio -*- shell-script -*- proc _cpio { local cur prev words cword split _init_completion -s -n : || return # --name value style option match $prev { with -H|--format setglobal COMPREPLY = ''( $( compgen -W \ 'bin odc newc crc tar ustar hpbin hpodc' -- "$cur" ) ) return 0 with -E|-F|-I|--file|--pattern-file _filedir return 0 with -R|--owner _usergroup return 0 with --rsh-command compopt -o filenames setglobal COMPREPLY = ''( $( compgen -c -- "$cur" ) ) return 0 } $split && return 0 if [[ $cword -eq 1 ]] { setglobal COMPREPLY = ''( $( compgen -W '-o --create -i --extract -p --pass-through -? --help --license --usage --version' -- "$cur" ) ) } else { match $(words[1]) { with -o|--create if [[ "$cur" == -* ]] { setglobal 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" ) ) } with -i|--extract if [[ "$cur" == -* ]] { setglobal 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 --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 --to-stdout --version' \ -- "$cur" ) ) } with -p*|--pass-through if [[ "$cur" == -* ]] { setglobal 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 } } } } && complete -F _cpio cpio # ex: ts=4 sw=4 et filetype=sh