#!/bin/zsh ### Generate background clone commands #function __antidote_bulk_clone { emulate -L zsh; setopt local_options $_adote_funcopts # Allow the user to define zsh-defer repo in case they want to fork it. local zsh_defer_bundle zstyle -s ':antidote:defer' bundle 'zsh_defer_bundle' \ || zsh_defer_bundle='romkatv/zsh-defer' # get a list of clonable repos from a bundle file $__adote_awkcmd -v ZSH_DEFER_BUNDLE=$zsh_defer_bundle ' BEGIN { RS="[\r\n]" } # initialize vars { bundle=""; opts="--kind clone" } # skip blank or commented lines /^ *(#.+)?$/ { next } # clone zsh-defer /kind:defer/ { print "antidote-script --kind clone " ZSH_DEFER_BUNDLE " &" } # handle user/repo and URL forms $1~/^[^\/]+\/[^\/]+$/ { bundle=$1 } $1~/^(https?:|(ssh|git)@)/ { bundle=$1 } # find branch annotation if it exists match($0, /branch:[^\t ]+/) { opts=opts " --branch " substr($0, RSTART+7, RLENGTH-7) } # print result bundle!=""{ print "antidote-script", opts, bundle, "&" } END { print "wait" } ' "$@" | sort | uniq #}