diff options
Diffstat (limited to 'plugins/zsh_reload')
| -rw-r--r-- | plugins/zsh_reload/README.md | 23 | ||||
| -rw-r--r-- | plugins/zsh_reload/zsh_reload.plugin.zsh | 19 | 
2 files changed, 32 insertions, 10 deletions
| diff --git a/plugins/zsh_reload/README.md b/plugins/zsh_reload/README.md new file mode 100644 index 000000000..d31a827fe --- /dev/null +++ b/plugins/zsh_reload/README.md @@ -0,0 +1,23 @@ +# zsh_reload plugin + +The zsh_reload plugin defines a function to reload the zsh session with +just a few keystrokes. + +To use it, add `zsh_reload` to the plugins array in your zshrc file: + +```zsh +plugins=(... zsh_reload) +``` + +## Usage + +To reload the zsh session, just run `src`: + +```zsh +$ vim ~/.zshrc  # enabled a plugin +$ src +re-compiling /home/user/.zshrc.zwc: succeeded +re-compiling /home/user/.oh-my-zsh/cache/zcomp-host.zwc: succeeded + +# you now have a fresh zsh session. happy hacking! +``` 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  } | 
