diff options
author | Marc Cornellà <marc.cornella@live.com> | 2016-09-28 18:23:15 +0200 |
---|---|---|
committer | Marc Cornellà <marc.cornella@live.com> | 2016-09-30 20:11:17 +0200 |
commit | 8ea56633a40411d1b43127b9cd88e8851edaf922 (patch) | |
tree | 552df2d2ec7f524566563a8e796e35e4583b3fc8 /plugins/last-working-dir | |
parent | 3de0235ad26d4584727f4cce17c09f1b4ae6cee5 (diff) | |
download | zsh-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.zsh | 25 |
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 |