#
# bash completion support for kvmsh
#

have kvmsh &&
_kvmsh()
{
  local command cur

  COMPREPLY=()
  command=${COMP_WORDS[1]}
  cur=`_get_cword`

  case $COMP_CWORD in
    1)
      COMPREPLY=( $( compgen -W "block-list block-stats create destroy edit \
                                 help list pause reboot show-config shutdown \
                                 unpause version" -- $cur ) )
      ;;
    2)
      case $command in
        block-list | block-stats | create \
        | destroy | edit | pause | reboot \
        | show-config | shutdown | unpause)
          COMPREPLY=( $( compgen -W "$( kvmsh list -host \
                                        | tail -n +3 \
                                        | awk '{print $1}' )" -- $cur ) )
          ;;
        list)
          COMPREPLY=( $( compgen -W "-auto -host -network" -- $cur ) )
          ;;
        *)
          ;;
      esac
      ;;
    3)
      case $command in
        block-stats)
          COMPREPLY=( $( compgen -W "-b -k -m -g -t -p -h" -- $cur ) )
          ;;
        *)
          ;;
      esac
      ;;
    *)
      ;;
  esac
} &&
complete -F _kvmsh $default kvmsh
