diff --git a/src/init/starship.bash b/src/init/starship.bash index 58731557256f9..a7e17045af9d8 100644 --- a/src/init/starship.bash +++ b/src/init/starship.bash @@ -32,6 +32,9 @@ starship_precmd() { # Save the status, because commands in this pipeline will change $? STATUS=$? + # Evaluate the number of jobs before running the preseved prompt command, so that tools + # like z/autojump, which background certain jobs, do not cause spurious background jobs + # to be displayed by starship. Also avoids forking to run `wc`, slightly improving perf NUM_JOBS=$(n=0; while read line; do [[ $line ]] && n=$((n+1));done <<< $(jobs -p) ; echo $n) # Run the bash precmd function, if it's set. If not set, evaluates to no-op