#!/usr/bin/env bash DIR=${1:-~/documents} EXTENSION=${2:-tex} PREVIEWPOS=right [ $(( $(tput cols) )) -lt 120 ] && PREVIEWPOS=up DOCUMENT=$(find -L $DIR -name "*.${EXTENSION}" \ | fzf -m --header 'Open file(s) in $EDITOR' \ --history=${XDG_CACHE_HOME:-$HOME/.cache}/edit_document.hist \ --preview-window=$PREVIEWPOS \ --border=rounded --preview='bat --style=numbers,changes --color=always {}') [ -n "${DOCUMENT}" ] || exit 1 if [ $(( $(echo "$DOCUMENT" | wc -l) )) -eq 1 ]; then LOCAL_PATH=$(echo $DOCUMENT | sed -E 's/[^\/]+.tex$//g') LOCAL_FILE=$(echo $DOCUMENT | sed -E 's/.*\///g') # Go to the path of the file cd $LOCAL_PATH ${EDITOR:-vim} $LOCAL_FILE else ${EDITOR:-vim} -p $DOCUMENT fi