summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author0scar <qgt268@alumni.ku.dk>2022-01-16 19:58:34 +0000
committer0scar <qgt268@alumni.ku.dk>2022-01-16 20:05:28 +0000
commit714c658df99435e7ebd9aaefc22000ece9c356a0 (patch)
tree404cbb278162a377e9d8f35ed0b6e8d961b90b88
parent2de4e5305906297201869a1cda367eb3a3e5945f (diff)
Update `edit_document` script
-rwxr-xr-x.local/bin/edit_document24
1 files changed, 17 insertions, 7 deletions
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