From ebd99c2295ada3214374eeb9e798394383e5d173 Mon Sep 17 00:00:00 2001 From: Nick Chambers Date: Thu, 20 Oct 2022 02:59:50 -0500 Subject: [PATCH] Make prompt generation more efficient --- dotlib/prompt.sh | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/dotlib/prompt.sh b/dotlib/prompt.sh index aad9f8a..b808531 100644 --- a/dotlib/prompt.sh +++ b/dotlib/prompt.sh @@ -7,7 +7,7 @@ if (( 10#$month == 3 && 10#$day < 18 )); then printf "Only %d days left until Saint Patrick's day!\n" "$(( 17 - 10#$day ))" fi - holiday=🍀 + prompt_sym=🍀 elif (( 10#$month == 10 )); then if (( 31 - 10#$day == 0 )); then printf 'Have a spooky halloween!\n' @@ -15,7 +15,7 @@ elif (( 10#$month == 10 )); then printf 'Only %d days left until Halloween!\n' "$(( 31 - 10#$day ))" fi - holiday=🎃 + prompt_sym=🎃 elif (( 10#$month == 12 && 10#$day < 26 )); then if (( 25 - 10#$day == 0 )); then printf 'Merry Christmas!\n' @@ -23,28 +23,30 @@ elif (( 10#$month == 12 && 10#$day < 26 )); then printf 'Only %d days left until Christmas!\n' "$(( 25 - 10#$day ))" fi - holiday=🌲 + prompt_sym=🌲 fi setup-prompt() { - tput sgr0 + local cmd + + if [[ -v prompt_cmds[@] ]]; then + for cmd in "${prompt_cmds[@]}"; do + "$cmd" + done + fi if [[ -d .git ]]; then - git_branch=" $(command git branch --show-current)" + git_branch="$(command git branch --show-current) " else - git_branch= + git_branch="" fi } PROMPT_COMMAND=setup-prompt -PS1='\w$git_branch' +PS1='\w $git_branch' if [[ -v SSH_CLIENT ]]; then - if [[ -v HOSTNAME ]]; then - PS1+=' $HOSTNAME' - else - PS1+=' $(hostname)' - fi + PS1+='${HOSTNAME-"$(hostname)"} ' fi -PS1+=' ${holiday-λ} ' +PS1+='${prompt_sym-λ} '