about summary refs log tree commit diff stats
path: root/home-manager/config/lf/cmds/broot_jump
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/config/lf/cmds/broot_jump')
-rwxr-xr-xhome-manager/config/lf/cmds/broot_jump21
1 files changed, 21 insertions, 0 deletions
diff --git a/home-manager/config/lf/cmds/broot_jump b/home-manager/config/lf/cmds/broot_jump
new file mode 100755
index 00000000..01273507
--- /dev/null
+++ b/home-manager/config/lf/cmds/broot_jump
@@ -0,0 +1,21 @@
+#! /usr/bin/env dash
+# shellcheck disable=SC2086
+# shellcheck source=/dev/null
+# . ~/.local/lib/shell/lib
+. %SHELL_LIBRARY_PATH
+
+LIB_TEMP_DIR_FOR_SCRIPT=$(mktemp -d)
+
+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\""
+
+if [ -d "$LIB_TEMP_DIR_FOR_SCRIPT" ];then rm -r "$LIB_TEMP_DIR_FOR_SCRIPT"; fi
+# vim: ft=sh