From 714c658df99435e7ebd9aaefc22000ece9c356a0 Mon Sep 17 00:00:00 2001 From: 0scar Date: Sun, 16 Jan 2022 20:58:34 +0100 Subject: Update `edit_document` script --- .local/bin/edit_document | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to '.local') diff --git a/.local/bin/edit_document b/.local/bin/edit_document index 1a5fb78..3afa96e 100755 --- a/.local/bin/edit_document +++ b/.local/bin/edit_document @@ -1,13 +1,23 @@ #!/usr/bin/env bash -DOCUMENT=$(find -L ~/${1:-documents} -name '*.tex' \ - | fzf --header 'Choose a tex file to edit' \ - --history=${XDG_CACHE_HOME:-$HOME/.cache}/edit_document.hist) +DIR=${1:-~/documents} +EXTENSION=${2:-tex} + +DOCUMENT=$(find -L $DIR -name "*.${EXTENSION}" \ + | fzf -m --header 'Open file(s) in $EDITOR' \ + --history=${XDG_CACHE_HOME:-$HOME/.cache}/edit_document.hist \ + --border=rounded --preview='bat {}') [ -n "${DOCUMENT}" ] || exit 1 -LOCAL_PATH=$(echo $DOCUMENT | sed -E 's/[^\/]+.tex$//g') -LOCAL_FILE=$(echo $DOCUMENT | sed -E 's/.*\///g') +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 -cd $LOCAL_PATH -${EDITOR:-vim} $LOCAL_FILE -- cgit v1.3