aboutsummaryrefslogtreecommitdiff
path: root/shell/zsh
diff options
context:
space:
mode:
Diffstat (limited to 'shell/zsh')
-rw-r--r--shell/zsh/.zshrc2
-rw-r--r--shell/zsh/broot.zsh21
2 files changed, 23 insertions, 0 deletions
diff --git a/shell/zsh/.zshrc b/shell/zsh/.zshrc
index 1ecf9a2..261b166 100644
--- a/shell/zsh/.zshrc
+++ b/shell/zsh/.zshrc
@@ -15,6 +15,8 @@ PROMPT='[%F{green}%n%f@%m %F{green}%~%f $(git_super_status)]$ '
. ~/.dotfiles/shell/zsh/fzf/key-bindings.zsh
+. ~/.dotfiles/shell/zsh/broot.zsh
+
. /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
. /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
. /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
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
+}
+