aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/sh/.local/bin/ff
blob: a3476ab422394b242421cfed48675f2482af7a0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh

##
# Interactive search.
# Usage: `ff` or `ff <PATH>`.
#

SEARCH_PATH=$(printf %s "$1" | sed 's|/$||')
RG_DEFAULT_COMMAND="rga -i -l --hidden --no-ignore-vcs -e {q} $SEARCH_PATH | sed 's|^$SEARCH_PATH/||'"

selected=$(
	FZF_DEFAULT_COMMAND="rga --files $SEARCH_PATH | sed 's|^$SEARCH_PATH/||'" \
		fzf-tmux "$FZF_TMUX_OPTS" -- -m -e --ansi --disabled --header-first \
		--header "$(printf %s "$SEARCH_PATH" | sed "s|^$HOME|~|")/" \
		--bind "change:reload:$RG_DEFAULT_COMMAND || true" \
		--preview-window='right,66%,<80(up,50%,border-bottom)' \
		--preview "rga -i --pretty --context 3 -e {q} $SEARCH_PATH/{}" | cut -d":" -f1,2
)

[ -n "$selected" ] && $EDITOR "$selected"