about summary refs log tree commit diff stats
path: root/home-manager/config/lf/commands/scripts/broot_jump
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/config/lf/commands/scripts/broot_jump')
-rwxr-xr-xhome-manager/config/lf/commands/scripts/broot_jump17
1 files changed, 17 insertions, 0 deletions
diff --git a/home-manager/config/lf/commands/scripts/broot_jump b/home-manager/config/lf/commands/scripts/broot_jump
new file mode 100755
index 00000000..ff62ec90
--- /dev/null
+++ b/home-manager/config/lf/commands/scripts/broot_jump
@@ -0,0 +1,17 @@
+#! /usr/bin/env dash
+# shellcheck disable=SC2086
+# shellcheck source=/dev/null
+# . ~/.local/lib/shell/lib
+. %SHELL_LIBRARY_PATH
+
+tmp=$(mktmp)
+res="$(broot --outcmd $tmp && cat $tmp | sed 's/cd //')"
+
+if [ -f "$res" ]; then
+    cmd="select"
+elif [ -d "$res" ]; then
+    cmd="cd"
+fi
+
+lf -remote "send $id $cmd \"$res\""
+# vim: ft=sh