summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2024-07-05 01:46:36 +0900
committerGitHub <noreply@github.com>2024-07-05 01:46:36 +0900
commit23a391e71599fadb780b53f716c86d5aec07e1d8 (patch)
treef9153698a39b9cfcb39a66c88cdd7da6a27a52f1 /shell
parent035b0be29fabae3437d89db89ac1303fcc768781 (diff)
downloadfzf-23a391e71599fadb780b53f716c86d5aec07e1d8.tar.gz
[zsh] Fix backslash escaping (#3909)
Fix #3859 To test: FZF_CTRL_T_COMMAND="echo -E 'foo\bar\baz'; echo -E 'hello\world'" _fzf_compgen_path() { eval $FZF_CTRL_T_COMMAND } source shell/key-bindings.zsh source shell/completion.zsh
Diffstat (limited to 'shell')
-rw-r--r--shell/completion.zsh4
-rw-r--r--shell/key-bindings.zsh4
2 files changed, 4 insertions, 4 deletions
diff --git a/shell/completion.zsh b/shell/completion.zsh
index 46103f98..4786bbd3 100644
--- a/shell/completion.zsh
+++ b/shell/completion.zsh
@@ -171,9 +171,9 @@ __fzf_generic_path_completion() {
rest=${FZF_COMPLETION_PATH_OPTS-}
fi
__fzf_comprun "$cmd" ${(Q)${(Z+n+)fzf_opts}} -q "$leftover" --walker "$walker" --walker-root="$dir" ${(Q)${(Z+n+)rest}} < /dev/tty
- fi | while read item; do
+ fi | while read -r item; do
item="${item%$suffix}$suffix"
- echo -n "${(q)item} "
+ echo -n -E "${(q)item} "
done
)
matches=${matches% }
diff --git a/shell/key-bindings.zsh b/shell/key-bindings.zsh
index 1490595d..eea51899 100644
--- a/shell/key-bindings.zsh
+++ b/shell/key-bindings.zsh
@@ -52,8 +52,8 @@ __fzf_select() {
local item
FZF_DEFAULT_COMMAND=${FZF_CTRL_T_COMMAND:-} \
FZF_DEFAULT_OPTS=$(__fzf_defaults "--reverse --walker=file,dir,follow,hidden --scheme=path" "${FZF_CTRL_T_OPTS-} -m") \
- FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd) "$@" < /dev/tty | while read item; do
- echo -n "${(q)item} "
+ FZF_DEFAULT_OPTS_FILE='' $(__fzfcmd) "$@" < /dev/tty | while read -r item; do
+ echo -n -E "${(q)item} "
done
local ret=$?
echo