#!/usr/bin/env bash

set -euo pipefail
NOTESDIR=${1}
FILTERBY=${2}
SEARCHFROMFIELD=${3}
OPENCMD=$(envsubst -no-unset -no-empty <<<${4})
cd ${NOTESDIR}
rg --no-heading --no-line-number --with-filename --sort path "${FILTERBY}" *.md \
  | fzf --tac --no-sort -d ':' -n ${SEARCHFROMFIELD}.. \
    --preview 'bat --style=plain --color=always {1}' \
  | awk -F: "{printf \"${NOTESDIR}/%s\", \$1}" \
  | xargs -r ${OPENCMD}