blob: 419f031d040b72b896a54a3e8b0413c6a1b65f46 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#!/bin/sh
##
# Interactive search.
# Usage: `ff` or `ff <PATH>`.
#
SEARCH_PATH=$(printf %s "$1" | sed 's|/$||')
lines=$(tmux display -p "#{pane_height}")
columns=$(tmux display -p "#{pane_width}")
WIDTH=$([ "$columns" -gt "150" ] && printf %s "150" || printf %s "90%")
HEIGHT=$([ "$lines" -gt "50" ] && printf %s "50" || printf %s "90%")
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 -p "$WIDTH,$HEIGHT" \
-m \
-e \
--ansi \
--disabled \
--header "$(printf %s "$SEARCH_PATH" | sed "s|^$HOME|~|")/" \
--header-first \
--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"
|