packages feed

miv-0.4.9: _miv

#compdef miv

_miv()
{
  local -i ret=1

  _arguments ': :->cmds' '*:: :->args' && ret=0

  case $state in
    (cmds)
      local -a commands=("${(*)${(f)$(miv command)}[@]/ ##/:}")
      _describe -t commands 'command' commands && ret=0
      ;;
    (args)
      case $words[1] in
        (install|update|path)
          local -a args=("${words[@]:1}")
          local -a plugins=("${${${(f)$(miv list)}[@]%% *}[@]:|args}")
          _describe -t plugins 'plugin' plugins && ret=0
          ;;
      esac
      ;;
  esac

  return ret
}