feat: make zsh prompt better

This commit is contained in:
Stevan Freeborn
2026-08-04 18:27:52 -05:00
parent bfe5eb061d
commit f66db0eb43
@@ -35,6 +35,9 @@ zmodload zsh/nearcolor 2>/dev/null
#
# Override these settings in your ~/.zshrc
# Rounded left corner of the first prompt segment (constant accent color)
: ${AGNOSTER_CORNER_FG:=#b39cd0}
# Current working directory
: ${AGNOSTER_DIR_FG:=#1e222a}
: ${AGNOSTER_DIR_BG:=#b39cd0}
@@ -119,21 +122,35 @@ prompt_segment() {
[[ -n $2 ]] && fg="%F{$2}" || fg="%f"
if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then
echo -n " %{$bg%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR%{$fg%} "
else
if [[ $CURRENT_BG == 'NONE' && -n $1 ]]; then
echo -n "%F{$AGNOSTER_CORNER_FG}╭%{$bg%}%{$fg%} "
else
echo -n "%{$bg%}%{$fg%} "
fi
fi
CURRENT_BG=$1
[[ -n $3 ]] && echo -n $3
}
# End the prompt, closing any open segments
prompt_end() {
local wrap_bg=$CURRENT_BG
if [[ -n $CURRENT_BG ]]; then
echo -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR"
else
echo -n "%{%k%}"
fi
echo -n "%{%f%}"
echo -n $'\n'
if [[ -n $wrap_bg ]]; then
echo -n "%{%F{$wrap_bg}%}╰─%{%f%} "
fi
if [[ $RETVAL -ne 0 ]]; then
echo -n "%{%F{$AGNOSTER_STATUS_RETVAL_FG}%}%{%f%} "
else
echo -n "%{%F{$AGNOSTER_GIT_CLEAN_BG}%}%{%f%} "
fi
CURRENT_BG=''
}
@@ -319,11 +336,6 @@ prompt_virtualenv() {
prompt_status() {
local -a symbols
if [[ $AGNOSTER_STATUS_RETVAL_NUMERIC == 'true' ]]; then
[[ $RETVAL -ne 0 ]] && symbols+="%{%F{$AGNOSTER_STATUS_RETVAL_FG}%}$RETVAL"
else
[[ $RETVAL -ne 0 ]] && symbols+="%{%F{$AGNOSTER_STATUS_RETVAL_FG}%}✘"
fi
[[ $UID -eq 0 ]] && symbols+="%{%F{$AGNOSTER_STATUS_ROOT_FG}%}⚡"
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{$AGNOSTER_STATUS_JOB_FG}%}⚙"
@@ -364,4 +376,4 @@ build_prompt() {
prompt_end
}
PROMPT='%{%f%b%k%}$(build_prompt) '
PROMPT='%{%f%b%k%}$(build_prompt)'