summaryrefslogtreecommitdiff
path: root/plugins/last-working-dir
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2016-09-28 18:23:15 +0200
committerMarc Cornellà <marc.cornella@live.com>2016-09-30 20:11:17 +0200
commit8ea56633a40411d1b43127b9cd88e8851edaf922 (patch)
tree552df2d2ec7f524566563a8e796e35e4583b3fc8 /plugins/last-working-dir
parent3de0235ad26d4584727f4cce17c09f1b4ae6cee5 (diff)
downloadzsh-8ea56633a40411d1b43127b9cd88e8851edaf922.tar.gz
zsh-8ea56633a40411d1b43127b9cd88e8851edaf922.tar.bz2
zsh-8ea56633a40411d1b43127b9cd88e8851edaf922.zip
last-working-dir: clean up source
Diffstat (limited to 'plugins/last-working-dir')
-rw-r--r--plugins/last-working-dir/last-working-dir.plugin.zsh25
1 files changed, 10 insertions, 15 deletions
diff --git a/plugins/last-working-dir/last-working-dir.plugin.zsh b/plugins/last-working-dir/last-working-dir.plugin.zsh
index c458464ce..c5278d640 100644
--- a/plugins/last-working-dir/last-working-dir.plugin.zsh
+++ b/plugins/last-working-dir/last-working-dir.plugin.zsh
@@ -1,26 +1,21 @@
-#!/usr/bin/env zsh
-# Keeps track of the last used working directory and automatically jumps
-# into it for new shells.
-
-# Flag indicating if we've previously jumped to last directory.
+# Flag indicating if we've previously jumped to last directory
typeset -g ZSH_LAST_WORKING_DIRECTORY
-mkdir -p $ZSH_CACHE_DIR
-cache_file="$ZSH_CACHE_DIR/last-working-dir"
-# Updates the last directory once directory is changed.
+# Updates the last directory once directory is changed
chpwd_functions+=(chpwd_last_working_dir)
-function chpwd_last_working_dir() {
- # Use >| in case noclobber is set to avoid "file exists" error
+chpwd_last_working_dir() {
+ local cache_file="$ZSH_CACHE_DIR/last-working-dir"
pwd >| "$cache_file"
}
-# Changes directory to the last working directory.
-function lwd() {
- [[ ! -r "$cache_file" ]] || cd "`cat "$cache_file"`"
+# Changes directory to the last working directory
+lwd() {
+ local cache_file="$ZSH_CACHE_DIR/last-working-dir"
+ [[ -r "$cache_file" ]] && cd "$(cat "$cache_file")"
}
-# Automatically jump to last working directory unless this isn't the first time
-# this plugin has been loaded.
+# Automatically jump to last working directory unless this
+# isn't the first time this plugin has been loaded.
if [[ -z "$ZSH_LAST_WORKING_DIRECTORY" ]]; then
lwd 2>/dev/null && ZSH_LAST_WORKING_DIRECTORY=1 || true
fi