123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #
- # Zim initializition
- #
- autoload -Uz is-at-least
- if ! is-at-least 5.2; then
- print "ERROR: Zim didn't start. You're using zsh version ${ZSH_VERSION}, and versions < 5.2 are not supported. Update your zsh." >&2
- return 1
- fi
- # Define zim location
- (( ! ${+ZIM_HOME} )) && export ZIM_HOME=${ZDOTDIR:-${HOME}}/.zim
- # Source user configuration
- [[ -s ${ZDOTDIR:-${HOME}}/.zimrc ]] && source ${ZDOTDIR:-${HOME}}/.zimrc
- # Autoload module functions
- () {
- local mod_function
- setopt LOCAL_OPTIONS EXTENDED_GLOB
- # autoload searches fpath for function locations; add enabled module function paths
- fpath=(${ZIM_HOME}/modules/${^zmodules}/functions(/FN) ${fpath})
- for mod_function in ${ZIM_HOME}/modules/${^zmodules}/functions/^([_.]*|prompt_*_setup|README*|*.zwc|*.zwc.old)(-.N:t); do
- autoload -Uz ${mod_function}
- done
- }
- # Initialize modules
- () {
- local zmodule zmodule_dir zmodule_file
- for zmodule (${zmodules}); do
- zmodule_dir=${ZIM_HOME}/modules/${zmodule}
- if [[ ! -d ${zmodule_dir} ]]; then
- print "No such module \"${zmodule}\"." >&2
- else
- for zmodule_file (${zmodule_dir}/{,zsh-}${zmodule}.zsh-theme \
- ${zmodule_dir}/init.zsh \
- ${zmodule_dir}/{,zsh-}${zmodule}.plugin.zsh \
- ${zmodule_dir}/{,zsh-}${zmodule}.{z,}sh); do
- if [[ -f ${zmodule_file} ]]; then
- source ${zmodule_file}
- break
- fi
- done
- fi
- done
- }
- zmanage() {
- local usage="zmanage [action]
- Actions:
- update Fetch and merge upstream zim commits if possible
- info Print 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
- debug Invoke the trace-zim script which produces logs
- help Print this usage message"
- if (( ${#} != 1 )); then
- print ${usage}
- return 1
- fi
- case ${1} in
- update) zsh ${ZIM_HOME}/tools/zim_update
- ;;
- info) zsh ${ZIM_HOME}/tools/zim_info
- ;;
- issue) zsh ${ZIM_HOME}/tools/zim_issue
- ;;
- clean-cache) source ${ZIM_HOME}/tools/zim_clean_cache && print 'Cache cleaned'
- ;;
- build-cache) source ${ZIM_HOME}/tools/zim_build_cache && print 'Cache rebuilt'
- ;;
- remove) zsh ${ZIM_HOME}/tools/zim_remove
- ;;
- reset) zsh ${ZIM_HOME}/tools/zim_reset
- ;;
- debug) zsh ${ZIM_HOME}/modules/debug/functions/trace-zim
- ;;
- *) print ${usage}; return 1
- ;;
- esac
- }
|