[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
pull/1779/head
midchildan 5 years ago committed by Junegunn Choi
parent 1dd256a68a
commit f51d61d57a

@ -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

Loading…
Cancel
Save