local usage="${0} [action] Actions: | update | Fetches and merges upstream zim commits if possible | | info | Prints zim and system info | | issue | Create a template for reporting an issue | | clean-cache | Clean the zim cache | | build-cache | Rebuild the zim cache | | remove | *experimental* Remove zim as best we can | | reset | Reset zim to the latest commit | | help | Print this usage message | | debug | Invokes the trace-zim script which produces logs |" if (( ${#} != 1 )); then print ${usage} return 1 fi local tools tools="${ZIM_HOME}/tools" case ${1} in update) zsh ${tools}/zim_update ;; info) zsh ${tools}/zim_info ;; issue) zsh ${tools}/zim_issue ;; clean-cache) source ${tools}/zim_clean_cache && print 'Cleaned cache' ;; build-cache) source ${tools}/zim_build_cache && print 'Rebuilt cache' ;; remove) zsh ${tools}/zim_remove ;; reset) zsh ${tools}/zim_reset ;; debug) zsh ${ZIM_HOME}/modules/debug/functions/trace-zim ;; *) print ${usage} ;; esac