mirror of
https://github.com/junegunn/fzf.git
synced 2025-05-19 04:40:22 -07:00
[fish] Fix for file/dir names containing newlines
CTRL-T/ALT-C now works correctly when selecting files or directories that contain newlines in their names. When external commands defined by $FZF_CTRL_T_COMMAND/$FZF_ALT_C_COMMAND are used (for example the fd command with -0 switch), the --read0 option must also be set through $FZF_CTRL_T_OPTS/$FZF_ALT_C_OPTS.
This commit is contained in:
parent
af8fe918d8
commit
1a8f633611
@ -96,12 +96,12 @@ function fzf_key_bindings
|
|||||||
|
|
||||||
set -lx FZF_DEFAULT_OPTS (__fzf_defaults \
|
set -lx FZF_DEFAULT_OPTS (__fzf_defaults \
|
||||||
"--reverse --walker=file,dir,follow,hidden --scheme=path --walker-root=$dir" \
|
"--reverse --walker=file,dir,follow,hidden --scheme=path --walker-root=$dir" \
|
||||||
"$FZF_CTRL_T_OPTS --multi")
|
"$FZF_CTRL_T_OPTS --multi --print0")
|
||||||
|
|
||||||
set -lx FZF_DEFAULT_COMMAND "$FZF_CTRL_T_COMMAND"
|
set -lx FZF_DEFAULT_COMMAND "$FZF_CTRL_T_COMMAND"
|
||||||
set -lx FZF_DEFAULT_OPTS_FILE
|
set -lx FZF_DEFAULT_OPTS_FILE
|
||||||
|
|
||||||
if set -l result (eval (__fzfcmd) --query=$fzf_query)
|
if set -l result (eval (__fzfcmd) --query=$fzf_query | string split0)
|
||||||
# Remove last token from commandline.
|
# Remove last token from commandline.
|
||||||
commandline -t ''
|
commandline -t ''
|
||||||
for i in $result
|
for i in $result
|
||||||
@ -155,12 +155,12 @@ function fzf_key_bindings
|
|||||||
|
|
||||||
set -lx FZF_DEFAULT_OPTS (__fzf_defaults \
|
set -lx FZF_DEFAULT_OPTS (__fzf_defaults \
|
||||||
"--reverse --walker=dir,follow,hidden --scheme=path --walker-root=$dir" \
|
"--reverse --walker=dir,follow,hidden --scheme=path --walker-root=$dir" \
|
||||||
"$FZF_ALT_C_OPTS --no-multi")
|
"$FZF_ALT_C_OPTS --no-multi --print0")
|
||||||
|
|
||||||
set -lx FZF_DEFAULT_OPTS_FILE
|
set -lx FZF_DEFAULT_OPTS_FILE
|
||||||
set -lx FZF_DEFAULT_COMMAND "$FZF_ALT_C_COMMAND"
|
set -lx FZF_DEFAULT_COMMAND "$FZF_ALT_C_COMMAND"
|
||||||
|
|
||||||
if set -l result (eval (__fzfcmd) --query=$fzf_query)
|
if set -l result (eval (__fzfcmd) --query=$fzf_query | string split0)
|
||||||
cd -- $result
|
cd -- $result
|
||||||
commandline -rt -- $prefix
|
commandline -rt -- $prefix
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user