aboutsummaryrefslogtreecommitdiff
path: root/.config/vis/plugins/vis-lspc/tools/find-upwards
diff options
context:
space:
mode:
Diffstat (limited to '.config/vis/plugins/vis-lspc/tools/find-upwards')
-rwxr-xr-x.config/vis/plugins/vis-lspc/tools/find-upwards26
1 files changed, 26 insertions, 0 deletions
diff --git a/.config/vis/plugins/vis-lspc/tools/find-upwards b/.config/vis/plugins/vis-lspc/tools/find-upwards
new file mode 100755
index 0000000..85dc722
--- /dev/null
+++ b/.config/vis/plugins/vis-lspc/tools/find-upwards
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+set -eu
+
+if [ ! "${1:-}" ]; then
+ exit 1
+fi
+
+BASEDIR="$(dirname "$1")"
+
+while read -r glob; do
+ cd "$BASEDIR"
+
+ while [ "$PWD" != "/" ]; do
+ set -- "$glob"
+
+ if [ -e "$1" ]; then
+ echo "$PWD"
+ exit 0
+ fi
+
+ cd ..
+ done
+done
+
+exit 1