m/fzf
1
0
mirror of https://github.com/junegunn/fzf.git synced 2025-11-08 11:23:47 -05:00

Update ADVANCED example using 'search' action

This commit is contained in:
Junegunn Choi
2025-01-28 17:48:46 +09:00
parent 51c207448d
commit b83dd6c6b4
2 changed files with 12 additions and 14 deletions

View File

@@ -515,20 +515,19 @@ remainder of the query is passed to fzf for secondary filtering.
```sh
#!/usr/bin/env bash
export TEMP=$(mktemp -u)
trap 'rm -f "$TEMP"' EXIT
INITIAL_QUERY="${*:-}"
TRANSFORMER='
rg_pat={q:1} # The first word is passed to ripgrep
fzf_pat={q:2..} # The rest are passed to fzf
rg_pat_org={q:s1} # The first word with trailing whitespaces preserved.
# We use this to avoid unnecessary reloading of ripgrep.
if [[ -n $fzf_pat ]]; then
echo "search:$fzf_pat"
elif ! [[ $rg_pat_org =~ \ $ ]]; then
if ! [[ -r "$TEMP" ]] || [[ $rg_pat != $(cat "$TEMP") ]]; then
echo "$rg_pat" > "$TEMP"
printf "reload:sleep 0.1; rg --column --line-number --no-heading --color=always --smart-case %q || true" "$rg_pat"
else
echo search:
fi
echo "+search:$fzf_pat"
'
fzf --ansi --disabled --query "$INITIAL_QUERY" \
--with-shell 'bash -c' \