41 lines
1.6 KiB
Plaintext
41 lines
1.6 KiB
Plaintext
_zimfw_run_tool() {
|
|
local -r zname=${1}
|
|
if [[ -z ${_zurls[${zname}]} ]]; then
|
|
if (( _zprintlevel > 1 )) print -u2 -PR <%= clear_line %>"<%= okay %>%B${zname}:%b Skipping external module"
|
|
return 0
|
|
fi
|
|
if (( _zfrozens[${zname}] )); then
|
|
if (( _zprintlevel > 1 )) print -u2 -PR <%= clear_line %>"<%= okay %>%B${zname}:%b Skipping frozen module"
|
|
return 0
|
|
fi
|
|
case ${_zargs_action} in
|
|
install)
|
|
if [[ -e ${_zdirs[${zname}]} ]]; then
|
|
if (( _zprintlevel > 1 )) print -u2 -PR <%= clear_line %>"<%= okay %>%B${zname}:%b Skipping already installed module"
|
|
return 0
|
|
fi
|
|
_zimfw_print -nR <%= clear_line %>"Installing ${zname}<%= ellipsis %>"
|
|
;;
|
|
update)
|
|
if [[ ! -d ${_zdirs[${zname}]} ]]; then
|
|
print -u2 -PR <%= clear_line %>"%F{red}<%= error %>%B${zname}:%b Not installed. Run %Bzimfw install%b to install.%f"
|
|
return 1
|
|
fi
|
|
_zimfw_print -nR <%= clear_line %>"Updating ${zname}<%= ellipsis %>"
|
|
;;
|
|
*)
|
|
print -u2 -PR <%= clear_line %>"%F{red}<%= error %>%B${zname}:%b Unknown action ${_zargs_action}%f"
|
|
return 1
|
|
;;
|
|
esac
|
|
local zcmd
|
|
case ${_ztools[${zname}]} in
|
|
<%= render_tools("src/tools/*", "zcmd") %>
|
|
*)
|
|
print -u2 -PR "<%= clear_line %>%F{red}<%= error %>%B${zname}:%b Unknown tool ${_ztools[${zname}]}%f"
|
|
return 1
|
|
;;
|
|
esac
|
|
zsh -c ${zcmd} ${_ztools[${zname}]} "${_zprintlevel}" "${_zargs_action}" "${zname}" "${_zdirs[${zname}]}" "${_zurls[${zname}]}" "${_ztypes[${zname}]}" "${_zrevs[${zname}]}" "${_zsubmodules[${zname}]}" "${_zonpulls[${zname}]}"
|
|
}
|