[zsh] Prevent the current directory from appearing as ~dir in prompts (#1774)

The zsh version of the cd widget sets the variable `dir` to the path of
the target directory before invoking `cd`. This causes zsh to treat the
target directory as a named directory, which has the effect of zsh
substituting '%~' with '~dir' instead of the proper path when it
performs prompt expansion.

This commit will cause the widget to unset `dir` before redrawing the
prompt to fix this issue.

Details of zsh prompt expansion can be found in:
http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html
This commit is contained in:
midchildan 2019-12-01 23:20:26 +09:00 committed by Junegunn Choi
parent 1dd256a68a
commit f51d61d57a

View File

@ -56,6 +56,7 @@ fzf-cd-widget() {
return 0
fi
cd "$dir"
unset dir # ensure this doesn't end up appearing in prompt expansion
local ret=$?
zle fzf-redraw-prompt
return $ret