From c96812c6e9d166d9ff49cccd976939aa005df68b Mon Sep 17 00:00:00 2001 From: steffen Date: Sat, 24 Jan 2026 07:48:10 +0000 Subject: [PATCH] . --- dotfiles/ps1/ps1.sh | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/dotfiles/ps1/ps1.sh b/dotfiles/ps1/ps1.sh index 218276b..e4db9a3 100644 --- a/dotfiles/ps1/ps1.sh +++ b/dotfiles/ps1/ps1.sh @@ -70,9 +70,8 @@ __PS1_SYM="" __PS1_PATH="" __PS1_STATUS=0 __PS1_USE_NF=0 -__PS1_TEMPLATE="" -_ps1_build_template() { +_ps1_set_prompt() { local RST="\[\e[0m\]" # Two-zone palette @@ -92,25 +91,26 @@ _ps1_build_template() { local OK="\[\e[38;5;76m\]" local BAD="\[\e[38;5;203m\]" - # Separators with fallback - local SEP_EXPR='\$( [ "$__PS1_USE_NF" -eq 1 ] && printf "" || printf "▶" )' - local LEFT_EXPR='\$( [ "$__PS1_USE_NF" -eq 1 ] && printf "" || printf "[" )' - local RIGHT_EXPR='\$( [ "$__PS1_USE_NF" -eq 1 ] && printf "" || printf "]" )' - - local PROMPT_SYM="\$( [ \$__PS1_STATUS -eq 0 ] && printf '${OK}' || printf '${BAD}' )➜${RST}" - - __PS1_TEMPLATE="\ -${FRAME}╭─${RST}\ -${Z1_BG}${Z1_FG}${LEFT_EXPR} \d \A \u ${RST}${Z1_BG}${Z2_BG}${Z2_FG}${SEP_EXPR}${RST}\ -${Z2_BG}${Z2_FG} @\h ${PATH_FG}\${__PS1_PATH} ${RST}${Z2_BG}${Z2_FG}${RIGHT_EXPR}${RST}\ -\n${FRAME}╰── ${RST}${PROMPT_SYM} \${__PS1_SYM} " -} - -_ps1_set_prompt() { - if [[ -z "${__PS1_TEMPLATE}" ]]; then - _ps1_build_template + local left right sep + if [[ "$__PS1_USE_NF" -eq 1 ]]; then + left=""; right=""; sep="" + else + left="["; right="]"; sep="▶" fi - PS1="${__PS1_TEMPLATE}" + + local prompt_sym + if [[ "$__PS1_STATUS" -eq 0 ]]; then + prompt_sym="${OK}➜${RST}" + else + prompt_sym="${BAD}➜${RST}" + fi + + # Keep order: date time user | host path, newline, then prompt + PS1="\ +${FRAME}╭─${RST}\ +${Z1_BG}${Z1_FG}${left} \\d \\A \\u ${RST}${Z1_BG}${Z2_BG}${Z2_FG}${sep}${RST}\ +${Z2_BG}${Z2_FG} @\\h ${PATH_FG}${__PS1_PATH} ${RST}${Z2_BG}${Z2_FG}${right}${RST}\ +\n${FRAME}╰── ${RST}${prompt_sym} ${__PS1_SYM} " } _ps1_update() {