about summary refs log tree commit diff stats
path: root/home-manager/soispha/config/lf/commands/scripts/broot_jump
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/soispha/config/lf/commands/scripts/broot_jump')
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/broot_jump16
1 files changed, 16 insertions, 0 deletions
diff --git a/home-manager/soispha/config/lf/commands/scripts/broot_jump b/home-manager/soispha/config/lf/commands/scripts/broot_jump
new file mode 100755
index 00000000..abefc616
--- /dev/null
+++ b/home-manager/soispha/config/lf/commands/scripts/broot_jump
@@ -0,0 +1,16 @@
+#! /usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="1.1.4" . %SHELL_LIBRARY_PATH
+
+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