summaryrefslogtreecommitdiffstats
path: root/.local/bin/rfv
blob: 4c9a632390fc454262c93411107091c9d947e1a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/env bash

# 1. Search for text in files using Ripgrep
# 2. Interactively narrow down the list using fzf
# 3. Open the file in Vim
IFS=: read -ra selected < <(
  rg --color=always --line-number --no-heading --smart-case "${*:-}" |
    fzf --ansi \
        --color "hl:-1:underline,hl+:-1:underline:reverse" \
        --delimiter : \
        --preview 'bat --color=always {1} --highlight-line {2}' \
        --preview-window='up:60%:+{2}+3/3:~3'
)
[ -n "${selected[0]}" ] && nvim "${selected[0]}" "+${selected[1]}"