#!/usr/bin/env zsh
#
# Copyright (c) 2016-2021 Sebastian Gniazdowski and contributors
# Copyright (c) 2021-2022 zdharma-continuum and contributors
#

builtin emulate -L zsh
setopt extendedglob warncreateglobal typesetsilent

[[ -z "${ICE[submods]}" ]] && return 0

[[ "$1" = plugin ]] \
    && local type="$1" user="$2" plugin="$3" id_as="$4" dir="$5" \
    || local type="$1" url="$2" id_as="$3" dir="$4"

local -a mods parts
local mod
mods=(${(@s.;.)ICE[submods]})

for mod in "${mods[@]}"; do
    parts=("${(@s:->:)mod}")
    parts=("${parts[@]//((#s)[[:space:]]##|[[:space:]]##(#e))/}")

    +zi-log "{m} {b}submods annex{rst}: Cloning submodule {file}$parts[1]{rst} into $parts[2]"

    if [[ $parts[1] != (ftp|ftps|http|https|scp)://* ]]; then
        parts[1]="https://github.com/${parts[1]}"
    fi

    command git -C "$dir" clone --progress "$parts[1]" "$parts[2]" 2>&1 | ${ZINIT[BIN_DIR]}/share/git-process-output.zsh
done

# vim: set expandtab filetype=zsh shiftwidth=4 softtabstop=4 tabstop=4:
