#compdef buildslave

_buildslave()
{
  typeset -A opt_args
  local context state line curcontext="$curcontext"

  local ret=1

  _arguments -C : \
    '(- 1 *)--help[show usage]'\
    '(- 1 *)--version[display version]'\
    '(- 1 *)--verbose[verbose output]'\
    '1:command:->command'\
    '*::args:->args' && ret=0

  case $state in
    (command)
        local commands;
        commands=(
          'create-slave:Create and populate a directory for a new buildslave'
          'upgrade-slave:Upgrade an existing buildslave directory for the current version'
          'start:Start a buildslave'
          'stop:Stop a buildslave'
          'restart:Restart a buildslave'
        )
        _describe -t commands 'command' commands && ret=0
      ;;
    (args)
      ret=0
      ;;
  esac

  return $ret
}

_buildslave "$@"
return $?



