summaryrefslogtreecommitdiff
path: root/.local/bin/edit_document
blob: e09fddae7a70548bbc39a186c2f8527024976765 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/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