#compdef vcspull

# AUTOMATCALLY GENERATED by `shtab`


_shtab_vcspull_commands() {
  local _commands=(
    "sync:sync vcs repos"
  )
  _describe 'vcspull commands' _commands
}

_shtab_vcspull_options=(
  "(- :)"{-h,--help}"[show this help message and exit]"
  "(- :)"{--version,-V}"[show program\'s version number and exit]"
  "--log-level[log level (debug, info, warning, error, critical)]:log_level:"
)

_shtab_vcspull_sync_options=(
  "(- :)"{-h,--help}"[show this help message and exit]"
  {--config,-c}"[optional filepath to specify vcspull config]:config:_files"
  {--exit-on-error,-x}"[exit immediately encountering error (when syncing multiple repos)]"
  "(*)::patterns \/ terms of repos, accepts globs \/ fnmatch(3):"
)


_shtab_vcspull() {
  local context state line curcontext="$curcontext"

  _arguments -C $_shtab_vcspull_options \
    ': :_shtab_vcspull_commands' \
    '*::: :->vcspull'

  case $state in
    vcspull)
      words=($line[1] "${words[@]}")
      (( CURRENT += 1 ))
      curcontext="${curcontext%:*:*}:_shtab_vcspull-$line[1]:"
      case $line[1] in
        sync) _arguments -C $_shtab_vcspull_sync_options ;;
      esac
  esac
}



typeset -A opt_args
_shtab_vcspull "$@"
