zimfw/src/stage2/77_zimfw_run_tool.zsh.erb

46 lines
1.4 KiB
Plaintext

_zimfw_run_tool() {
local -r _zname=${1}
if [[ -z ${_zurls[${_zname}]} ]]; then
_zimfw_print_okay 'Skipping external module' 1
return 0
fi
if (( _zfrozens[${_zname}] )); then
_zimfw_print_okay 'Skipping frozen module' 1
return 0
fi
case ${_zaction} in
install)
if [[ -e ${_zdirs[${_zname}]} ]]; then
_zimfw_print_okay 'Skipping already installed module' 1
return 0
fi
_zimfw_print -nR $'<%= clear_line %>Installing '${_zname}'<%= ellipsis %>'
;;
check|update)
if [[ ! -d ${_zdirs[${_zname}]} ]]; then
_zimfw_print_error $'Not installed. Run <%= bold %>zimfw install<%= normalred %> to install.'
return 1
fi
if [[ ${_zaction} == check ]]; then
if (( _zprintlevel > 1 )) print -nR $'<%= clear_line %>Checking '${_zname}'<%= ellipsis %>'
else
_zimfw_print -nR $'<%= clear_line %>Updating '${_zname}'<%= ellipsis %>'
fi
;;
*)
_zimfw_print_error "Unknown action ${_zaction}"
return 1
;;
esac
local -r ztool=${_ztools[${_zname}]}
case ${ztool} in
degit|git|mkdir)
_zimfw_tool_${ztool} "${_zdirs[${_zname}]}" "${_zurls[${_zname}]}" "${_ztypes[${_zname}]}" "${_zrevs[${_zname}]}" "${_zsubmodules[${_zname}]}" "${_zonpulls[${_zname}]}"
;;
*)
_zimfw_print_error "Unknown tool ${ztool}"
return 1
;;
esac
}