aboutsummaryrefslogtreecommitdiff
path: root/shell/zsh/broot.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'shell/zsh/broot.zsh')
-rw-r--r--shell/zsh/broot.zsh21
1 files changed, 21 insertions, 0 deletions
diff --git a/shell/zsh/broot.zsh b/shell/zsh/broot.zsh
new file mode 100644
index 0000000..44cee96
--- /dev/null
+++ b/shell/zsh/broot.zsh
@@ -0,0 +1,21 @@
+
+# This script was automatically generated by the broot program
+# More information can be found in https://github.com/Canop/broot
+# This function starts broot and executes the command
+# it produces, if any.
+# It's needed because some shell commands, like `cd`,
+# have no useful effect if executed in a subshell.
+function br {
+ local cmd cmd_file code
+ cmd_file=$(mktemp)
+ if broot --outcmd "$cmd_file" "$@"; then
+ cmd=$(<"$cmd_file")
+ rm -f "$cmd_file"
+ eval "$cmd"
+ else
+ code=$?
+ rm -f "$cmd_file"
+ return "$code"
+ fi
+}
+