From 55c3cafd9470837cc99e4fa68a6dd932f365caf4 Mon Sep 17 00:00:00 2001 From: Kevin Song <4605384+chipbuster@users.noreply.github.com> Date: Thu, 7 Jan 2021 11:15:43 -0600 Subject: [PATCH] fix(bash): bash-preexec detection and implementation (#2091) * Fix bash-preexec detection and implementation * Add detection for other arrays --- src/init/starship.bash | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/init/starship.bash b/src/init/starship.bash index 2d1eb84c..09dbb7b1 100644 --- a/src/init/starship.bash +++ b/src/init/starship.bash @@ -56,8 +56,10 @@ starship_precmd() { # If the user appears to be using https://github.com/rcaloras/bash-preexec, # then hook our functions into their framework. -if [[ $preexec_functions ]]; then - preexec_functions+=('starship_preexec "$_"') +if [[ "${__bp_imported:-}" == "defined" || $preexec_functions || $precmd_functions ]]; then + # bash-preexec needs a single function--wrap the args into a closure and pass + starship_preexec_all(){ starship_preexec "$_"; } + preexec_functions+=(starship_preexec_all) precmd_functions+=(starship_precmd) else # We want to avoid destroying an existing DEBUG hook. If we detect one, create