Gracefully handle no unicode in printf

This commit is contained in:
2026-02-15 22:51:51 -05:00
parent cb9a422792
commit 4dafa86f71
2 changed files with 19 additions and 9 deletions

View File

@@ -99,11 +99,16 @@ set referencechars_raw="${referencechars_raw} 262e"
set prompt_hcolor=0
set prompt_hsym=0
set referencechars=()
foreach ch ($referencechars_raw)
set unicode=`printf "\\u${ch}"`
set referencechars=( $referencechars `printf "${unicode}"` )
end
if( ! $?CSHENV_NO_UNICODE_PRINTF ) then
set referencechars=()
foreach ch ($referencechars_raw)
set unicode=`printf "\\u${ch}"`
set referencechars=( $referencechars `printf "${unicode}"` )
end
else
# Safe fallback for when there's no unicode printf
set referencechars="A B C D X Y Z"
endif
# Rotation
alias precmd 'source ${CSHENV_DIR}/tcshrc.prompt.final'

View File

@@ -280,10 +280,15 @@ if( 0 == ${__res} ) then
#set git_prompt="%{${csi}${branch_indent}C${csi}mBranch: ${csi}3;38;2;255;192;192m${git_branch}${csi}m${csi}${branch_space}C\n%}"
# If the font doesn't support the special branch symbol...
set branch_symbol=`printf "\uE0A0"`
# I could always fallback to this one... (keep padded spaces... for alignment)
set branch_symbol=`printf '\u2387\ \ '`
if( ! $?CSHENV_NO_UNICODE_PRINTF ) then
# If the font doesn't support the special branch symbol...
set branch_symbol=`printf "\uE0A0"`
# I could always fallback to this one... (keep padded spaces... for alignment)
set branch_symbol=`printf '\u2387\ \ '`
else
# Non unicode fallback 'X'
set branch_symbol='X'
endif
git rev-list --count --left-right \@\{upstream\}..HEAD>&/dev/null
set __res=$?
#echo "Got: ${git_counts}"