summaryrefslogtreecommitdiff
path: root/plugins/zsh_reload/zsh_reload.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/zsh_reload/zsh_reload.plugin.zsh')
-rw-r--r--plugins/zsh_reload/zsh_reload.plugin.zsh19
1 files changed, 9 insertions, 10 deletions
diff --git a/plugins/zsh_reload/zsh_reload.plugin.zsh b/plugins/zsh_reload/zsh_reload.plugin.zsh
index cde9ebeca..51048ba9d 100644
--- a/plugins/zsh_reload/zsh_reload.plugin.zsh
+++ b/plugins/zsh_reload/zsh_reload.plugin.zsh
@@ -1,13 +1,12 @@
-# reload zshrc
-function src()
-{
- local cache=$ZSH_CACHE_DIR
- autoload -U compinit zrecompile
- compinit -d "$cache/zcomp-$HOST"
+src() {
+ local cache="$ZSH_CACHE_DIR"
+ autoload -U compinit zrecompile
+ compinit -i -d "$cache/zcomp-$HOST"
- for f in ~/.zshrc "$cache/zcomp-$HOST"; do
- zrecompile -p $f && command rm -f $f.zwc.old
- done
+ for f in ~/.zshrc "$cache/zcomp-$HOST"; do
+ zrecompile -p $f && command rm -f $f.zwc.old
+ done
- source ~/.zshrc
+ # Use $SHELL if available; remove leading dash if login shell
+ [[ -n "$SHELL" ]] && exec ${SHELL#-} || exec zsh
}