From f51d61d57a5f935898d1d66a2392ba269b523f2d Mon Sep 17 00:00:00 2001 From: midchildan Date: Sun, 1 Dec 2019 23:20:26 +0900 Subject: [PATCH] [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 --- shell/key-bindings.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/shell/key-bindings.zsh b/shell/key-bindings.zsh index a77d136..e291677 100644 --- a/shell/key-bindings.zsh +++ b/shell/key-bindings.zsh @@ -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