feat: make zsh prompt better
This commit is contained in:
@@ -35,6 +35,9 @@ zmodload zsh/nearcolor 2>/dev/null
|
|||||||
#
|
#
|
||||||
# Override these settings in your ~/.zshrc
|
# Override these settings in your ~/.zshrc
|
||||||
|
|
||||||
|
# Rounded left corner of the first prompt segment (constant accent color)
|
||||||
|
: ${AGNOSTER_CORNER_FG:=#b39cd0}
|
||||||
|
|
||||||
# Current working directory
|
# Current working directory
|
||||||
: ${AGNOSTER_DIR_FG:=#1e222a}
|
: ${AGNOSTER_DIR_FG:=#1e222a}
|
||||||
: ${AGNOSTER_DIR_BG:=#b39cd0}
|
: ${AGNOSTER_DIR_BG:=#b39cd0}
|
||||||
@@ -119,21 +122,35 @@ prompt_segment() {
|
|||||||
[[ -n $2 ]] && fg="%F{$2}" || fg="%f"
|
[[ -n $2 ]] && fg="%F{$2}" || fg="%f"
|
||||||
if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then
|
if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then
|
||||||
echo -n " %{$bg%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR%{$fg%} "
|
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
|
else
|
||||||
echo -n "%{$bg%}%{$fg%} "
|
echo -n "%{$bg%}%{$fg%} "
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
CURRENT_BG=$1
|
CURRENT_BG=$1
|
||||||
[[ -n $3 ]] && echo -n $3
|
[[ -n $3 ]] && echo -n $3
|
||||||
}
|
}
|
||||||
|
|
||||||
# End the prompt, closing any open segments
|
# End the prompt, closing any open segments
|
||||||
prompt_end() {
|
prompt_end() {
|
||||||
|
local wrap_bg=$CURRENT_BG
|
||||||
if [[ -n $CURRENT_BG ]]; then
|
if [[ -n $CURRENT_BG ]]; then
|
||||||
echo -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR"
|
echo -n " %{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR"
|
||||||
else
|
else
|
||||||
echo -n "%{%k%}"
|
echo -n "%{%k%}"
|
||||||
fi
|
fi
|
||||||
echo -n "%{%f%}"
|
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=''
|
CURRENT_BG=''
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -319,11 +336,6 @@ prompt_virtualenv() {
|
|||||||
prompt_status() {
|
prompt_status() {
|
||||||
local -a symbols
|
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}%}⚡"
|
[[ $UID -eq 0 ]] && symbols+="%{%F{$AGNOSTER_STATUS_ROOT_FG}%}⚡"
|
||||||
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{$AGNOSTER_STATUS_JOB_FG}%}⚙"
|
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{$AGNOSTER_STATUS_JOB_FG}%}⚙"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user