about summary refs log tree commit diff stats
path: root/modules/home.legacy/conf/lf/commands/scripts/broot_jump.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules/home.legacy/conf/lf/commands/scripts/broot_jump.sh')
-rwxr-xr-xmodules/home.legacy/conf/lf/commands/scripts/broot_jump.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/modules/home.legacy/conf/lf/commands/scripts/broot_jump.sh b/modules/home.legacy/conf/lf/commands/scripts/broot_jump.sh
new file mode 100755
index 00000000..8f40ba01
--- /dev/null
+++ b/modules/home.legacy/conf/lf/commands/scripts/broot_jump.sh
@@ -0,0 +1,25 @@
+#! /usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
+
+# shellcheck disable=SC2269
+f="$f"
+# shellcheck disable=SC2269
+fx="$fx"
+# shellcheck disable=SC2269
+fs="$fs"
+# shellcheck disable=SC2269
+id="$id"
+
+tmp=$(mktmp)
+res="$(broot --outcmd "$tmp" && sed 's/cd //' "$tmp")"
+
+if [ -f "$res" ]; then
+    cmd="select"
+elif [ -d "$res" ]; then
+    cmd="cd"
+fi
+
+lf -remote "send '$id' '$cmd' '$res'"
+# vim: ft=sh