X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=bin%2Faxzshctl;h=335c9938a302e8fe709dde0115187018774e243c;hb=e24e800dc9eed7efb19dd2958de0a6260cebbf7c;hp=8298743a5a13bce228e173dccc16f34fb30c7443;hpb=3c2e311872f54b6639122a085a969a41fb52e919;p=ax-zsh.git diff --git a/bin/axzshctl b/bin/axzshctl index 8298743..335c993 100755 --- a/bin/axzshctl +++ b/bin/axzshctl @@ -1,7 +1,7 @@ #!/usr/bin/env zsh # # AX-ZSH: Alex' Modular ZSH Configuration -# Copyright (c) 2015-2016 Alexander Barton +# Copyright (c) 2015-2017 Alexander Barton # # Include "ax-common.sh", if available: @@ -10,7 +10,7 @@ for dir ("$HOME/lib" "$HOME/.ax" /usr/local /opt/ax /usr); do ax_common="${dir}/lib/ax/ax-common.sh" [[ -r "$ax_common" ]] && source "$ax_common" done -if [[ -z "$ax_common_sourced" ]]; then +if [[ -z "$ax_common_sourced" || axzsh_is_dumb_terminal ]]; then function ax_msg { shift echo "$@" @@ -45,10 +45,26 @@ function Usage { echo echo " upgrade" echo " Upgrade AX-ZSH installation (requires Git)." + echo " update-caches" + echo " Force rebuild of all cache files." echo exit 2 } +function UpdatePluginCache { + [[ -r "$AXZSH/cache" ]] || return 0 + + ax_msg - "Updating plugin cache ..." + rm -rf \ + $AXZSH/cache/zlogin.cache \ + $AXZSH/cache/zlogout.cache \ + $AXZSH/cache/zprofile.cache \ + $AXZSH/cache/zshrc.cache \ + || return 1 + echo "Regenerating cache files ..." + zsh -ilc '' >/dev/null +} + function NormalizedPluginName { if [[ "$1" =~ "^[[:alnum:]-]+/[[:alnum:]_-]+$" ]]; then echo "${1:gs/\//#}" @@ -249,7 +265,7 @@ function CheckPlugins { new_plugin="" for script ($AXZSH/plugins/$plugin/$plugin.{zshrc,zprofile}); do [[ -r "$script" ]] || continue - zsh -i -c "AXZSH_PLUGIN_CHECK=1 source $script"; r=$? + AXZSH_PLUGIN_CHECK=1 zsh -i -c "source $script"; r=$? if [[ $r -eq 0 ]]; then new_plugin=$plugin break @@ -321,12 +337,14 @@ case "$cmd" in for plugin in "$@"; do EnablePlugin "$plugin" done + UpdatePluginCache ;; "disable-plugin") [[ $# -gt 0 ]] || Usage for plugin in "$@"; do DisablePlugin "$plugin" done + UpdatePluginCache ;; "list-enabled") [[ $# -eq 0 ]] || Usage @@ -336,10 +354,12 @@ case "$cmd" in [[ $# -eq 0 ]] || Usage ResetPlugins EnableDefaultPlugins + UpdatePluginCache ;; "enable-default-plugins") [[ $# -eq 0 ]] || Usage EnableDefaultPlugins + UpdatePluginCache ;; "check-plugins") [[ $# -eq 0 ]] || Usage @@ -348,11 +368,17 @@ case "$cmd" in "set-theme") [[ $# -eq 1 ]] || Usage SetTheme "$1" + UpdatePluginCache ;; "upgrade") [[ $# -eq 0 ]] || Usage UpgradeAXZSH UpgradeForeignPlugins + UpdatePluginCache + ;; + "update-caches") + [[ $# -eq 0 ]] || Usage + UpdatePluginCache ;; *) Usage