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
|
||||
|
||||
# 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)'
|
||||
Reference in New Issue
Block a user