From 84f9e448e3bb2dbf4c8c5226a1307bda09960983 Mon Sep 17 00:00:00 2001 From: Paul Walker Date: Mon, 7 Sep 2020 10:30:34 +0100 Subject: [PATCH] bin: add gv and find-parent-repo --- bin/find-parent-repo | 15 +++++++++++++++ bin/gv | 19 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100755 bin/find-parent-repo create mode 100755 bin/gv diff --git a/bin/find-parent-repo b/bin/find-parent-repo new file mode 100755 index 0000000..b35c463 --- /dev/null +++ b/bin/find-parent-repo @@ -0,0 +1,15 @@ +#!/bin/sh +TESTDIR=$(realpath .) +FOUND=0 +while [ "$TESTDIR" != "/" ] +do + if [ -d $TESTDIR/.git ] ; then + FOUND=1 + break + fi + TESTDIR="$TESTDIR/.." + TESTDIR=$(realpath $TESTDIR) +done +if [ $FOUND == 1 ] ; then + echo $TESTDIR +fi diff --git a/bin/gv b/bin/gv new file mode 100755 index 0000000..01247db --- /dev/null +++ b/bin/gv @@ -0,0 +1,19 @@ +#!/bin/sh +PARENT_REPO=$(find-parent-repo) +if [ "$PARENT_REPO" == "" ] ; then + echo "You aren't in a git repository. Can't find an automatic name." + exit 1 +fi +REPO_NAME=$(basename $PARENT_REPO) +if [ -r ${PARENT_REPO}/Session.vim ] ; then + echo "Found ${PARENT_REPO}/Session.vim" + if [ "$1" != "nosession" ] ; then + echo "Restoring session" + SESSION="-S ${PARENT_REPO}/Session.vim" + shift + else + echo "nosession given, not restoring." + fi +fi + +(cd $PARENT_REPO && gvim --servername $REPO_NAME $SESSION --remote "$*") ; cd $CURRENT_DIR