summaryrefslogtreecommitdiff
path: root/plugins/zsh_reload
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2019-10-24 17:57:01 +0200
committerGitHub <noreply@github.com>2019-10-24 17:57:01 +0200
commitcad48e38bfbfa6e3e0096caddf330d6fc8f1ffb9 (patch)
tree2b07ec259bbd2b1a4919245669900a87fa87a03b /plugins/zsh_reload
parent225425fe091ca052997833279ccc08643818c24a (diff)
parent40df67bc3b9b51caa24df5d220487043040d1f9a (diff)
downloadzsh-cad48e38bfbfa6e3e0096caddf330d6fc8f1ffb9.tar.gz
zsh-cad48e38bfbfa6e3e0096caddf330d6fc8f1ffb9.tar.bz2
zsh-cad48e38bfbfa6e3e0096caddf330d6fc8f1ffb9.zip
Merge branch 'master' into fabric_task_description
Diffstat (limited to 'plugins/zsh_reload')
-rw-r--r--plugins/zsh_reload/README.md23
-rw-r--r--plugins/zsh_reload/zsh_reload.plugin.zsh19
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
}