Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Oh My Zsh
Commits
8ea56633
Commit
8ea56633
authored
Sep 28, 2016
by
Marc Cornellà
Browse files
last-working-dir: clean up source
parent
3de0235a
Changes
1
Hide whitespace changes
Inline
Side-by-side
plugins/last-working-dir/last-working-dir.plugin.zsh
View file @
8ea56633
#!/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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment