#compdef git-submodule-move
#autoload

#
# Completes git-submodule-move.
#
# Authors:
#   Sorin Ionescu <sorin.ionescu@gmail.com>
#

if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
  return 1
fi

local state expl ret=1
local -a submodules
local submodule

_arguments -C -s -S \
  '1::args:->submodule' \
  '2::args:->directory' && ret=0

case "$state" in
  (submodule)
    while IFS=$'\n' read submodule; do
      submodules+=("$submodule")
    done < <(
      git config --file "$(git-root)/.gitmodules" --list \
        | grep '.path=' \
        | cut -d= -f2-
    )

    _describe -t submodule 'submodules' submodules && ret=0
  ;;
  (directory)
    _wanted directories expl 'directory' _path_files -/ || _message 'directory'
  ;;
esac

return $ret