#compdef darcs
## Darcs completion for zsh.
##
## Originally derived from a version by
## Copyright (C) 2009  Nicolas Pouillard

if (($CURRENT == 2)); then
  compadd -- $(darcs --commands)
else
  case "${words[2]}"; in
    get|clone)
      _urls
      ;;
  esac
  case "${words[$CURRENT]}"; in
    /*|./*|\~*|../*)
      _files
      ;;
    -*)
      darcs_arguments=($(words[$CURRENT]=--list-options && $words 2>/dev/null))
      darcs_options=(${(M)darcs_arguments:#-*})
      compadd -- $darcs_options
      ;;
     *)
      darcs_arguments=($(words[$CURRENT]=--list-options && $words 2>/dev/null))
      darcs_non_options=(${darcs_arguments:#-*})
      _multi_parts -i -S ' ' / darcs_non_options
      ;;
  esac
fi
