summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authormidchildan <git@midchildan.org>2019-12-01 23:20:26 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2019-12-01 23:20:26 +0900
commitf51d61d57a5f935898d1d66a2392ba269b523f2d (patch)
treec50edb6f4afcfc018a7cf6d132ecc1e5afda2667 /shell
parent1dd256a68a0ccf52b5cb229147d6f251893f1efc (diff)
[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
Diffstat (limited to 'shell')
-rw-r--r--shell/key-bindings.zsh1
1 files changed, 1 insertions, 0 deletions
diff --git a/shell/key-bindings.zsh b/shell/key-bindings.zsh
index a77d1362..e291677d 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