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