summaryrefslogtreecommitdiff
path: root/.local/bin/edit_document
blob: 3afa96ea49d08d552efa7aab3e862fff822c798a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env bash

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

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