PageRenderTime 275ms CodeModel.GetById 267ms app.highlight 2ms RepoModel.GetById 2ms app.codeStats 0ms

/bash_completion.d/cpio

http://github.com/brinkman83/bashrc
#! | 101 lines | 93 code | 8 blank | 0 comment | 0 complexity | 029c06016fc6b7dec094740bdca8fe95 MD5 | raw file
  1# bash completion for cpio
  2
  3have cpio && {
  4_cpio_format()
  5{
  6    COMPREPLY=( $( compgen -W 'bin odc newc crc tar ustar hpbin hpodc' -- "$cur" ) )
  7}
  8
  9_cpio()
 10{
 11    local cur prev split=false
 12
 13    COMPREPLY=()
 14    cur=`_get_cword`
 15    prev=${COMP_WORDS[COMP_CWORD-1]}
 16
 17    _split_longopt && split=true
 18
 19    # --name value style option
 20    case $prev in
 21        -H|--format)
 22            _cpio_format
 23            return 0
 24            ;;
 25        -@(E|F|I|-?(pattern-)file))
 26            _filedir
 27            return 0
 28            ;;
 29        -R|--owner)
 30            _usergroup
 31            return 0
 32            ;;
 33        --rsh-command)
 34            COMPREPLY=( $( compgen -c -- "$cur" ) )
 35            return 0
 36            ;;
 37    esac
 38
 39    $split && return 0
 40
 41    if [ $COMP_CWORD -eq 1 ]; then
 42        COMPREPLY=( $( compgen -W '-o --create -i --extract -p --pass-through' -- "$cur" ) )
 43    else
 44        case ${COMP_WORDS[1]} in
 45            -@(o|-create))
 46                if [[ "$cur" == -* ]]; then
 47                    COMPREPLY=( $( compgen -W '-0 -a -c -v -A -B\
 48                        -L -V -C -H -M -O -F --file --format\
 49                        --message --null --reset-access-time\
 50                        --verbose --dot --append --block-size\
 51                        --dereference --io-size --quiet\
 52                        --force-local --rsh-command --help\
 53                        --version' -- "$cur" ) )
 54                fi
 55                ;;
 56            -@(i|-extract))
 57                if [[ "$cur" == -* ]]; then
 58                    COMPREPLY=( $( compgen -W '-b -c -d -f -m -n -r\
 59                        -t -s -u -v -B -S -V -C -E -H -M -R -I\
 60                        -F --file --make-directories\
 61                        --nonmatching\
 62                        --preserve-modification-time\
 63                        --numeric-uid-gid --rename -t --list\
 64                        --swap-bytes --swap --dot\
 65                        --unconditional --verbose --block-size\
 66                        --swap-halfwords --io-size\
 67                        --pattern-file --format --owner\
 68                        --no-preserve-owner --message\
 69                        --force-local --no-absolute-filenames\
 70                        --sparse --only-verify-crc --quiet\
 71                        --rsh-command --help\
 72                        --version' -- "$cur" ) )
 73                fi
 74                ;;
 75            -@(p|-pass-through))
 76                if [[ "$cur" == -* ]]; then
 77                    COMPREPLY=( $( compgen -W '-0 -a -d -l -m -u -v\
 78                        -L -V -R --null --reset-access-time\
 79                        --make-directories --link --quiet\
 80                        --preserve-modification-time\
 81                        --unconditional --verbose --dot\
 82                        --dereference --owner\
 83                        --no-preserve-owner --sparse --help\
 84                        --version' -- "$cur" ) )
 85                else
 86                    _filedir -d
 87                fi
 88                ;;
 89        esac
 90    fi
 91}
 92complete -F _cpio cpio
 93}
 94
 95# Local variables:
 96# mode: shell-script
 97# sh-basic-offset: 4
 98# sh-indent-comment: t
 99# indent-tabs-mode: nil
100# End:
101# ex: ts=4 sw=4 et filetype=sh