af-magic: fix dashed separator sizing and refactor

Fixes #8081
This commit is contained in:
Marc Cornellà 2020-02-18 19:14:30 +01:00
parent 47eae26bf6
commit d49397a01d

View file

@ -2,29 +2,28 @@
# Repo: https://github.com/andyfleming/oh-my-zsh # Repo: https://github.com/andyfleming/oh-my-zsh
# Direct Link: https://github.com/andyfleming/oh-my-zsh/blob/master/themes/af-magic.zsh-theme # Direct Link: https://github.com/andyfleming/oh-my-zsh/blob/master/themes/af-magic.zsh-theme
if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" # settings
typeset +H return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
typeset +H my_gray="$FG[237]"
typeset +H my_orange="$FG[214]"
# separator dashes size
function afmagic_dashes {
[[ -n "${VIRTUAL_ENV-}" && -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" && "$PS1" = \(* ]] \
&& echo $(( COLUMNS - ${#VIRTUAL_ENV} - 3 )) \
|| echo $COLUMNS
}
# primary prompt # primary prompt
PROMPT='$FG[237]${(l.COLUMNS..-.)}%{$reset_color%} PS1='$FG[237]${(l.$(afmagic_dashes)..-.)}%{$reset_color%}
$FG[032]%~\ $FG[032]%~$(git_prompt_info)$(hg_prompt_info) $FG[105]%(!.#.»)%{$reset_color%} '
$(git_prompt_info)$(hg_prompt_info) \ PS2='%{$fg[red]%}\ %{$reset_color%}'
$FG[105]%(!.#.»)%{$reset_color%} '
PROMPT2='%{$fg[red]%}\ %{$reset_color%}'
RPS1='${return_code}' RPS1='${return_code}'
# color vars
eval my_gray='$FG[237]'
eval my_orange='$FG[214]'
# right prompt # right prompt
if type "virtualenv_prompt_info" > /dev/null (( $+functions[virtualenv_prompt_info] )) && RPS1+='$(virtualenv_prompt_info)'
then RPS1+=' $my_gray%n@%m%{$reset_color%}%'
RPROMPT="${RPROMPT}"'$FG[078]$(virtualenv_prompt_info)%{$reset_color%} $my_gray%n@%m%{$reset_color%}%'
else
RPROMPT="${RPROMPT}"'$my_gray%n@%m%{$reset_color%}%'
fi
# git settings # git settings
ZSH_THEME_GIT_PROMPT_PREFIX="$FG[075]($FG[078]" ZSH_THEME_GIT_PROMPT_PREFIX="$FG[075]($FG[078]"
@ -37,3 +36,7 @@ ZSH_THEME_HG_PROMPT_PREFIX="$FG[075]($FG[078]"
ZSH_THEME_HG_PROMPT_CLEAN="" ZSH_THEME_HG_PROMPT_CLEAN=""
ZSH_THEME_HG_PROMPT_DIRTY="$my_orange*%{$reset_color%}" ZSH_THEME_HG_PROMPT_DIRTY="$my_orange*%{$reset_color%}"
ZSH_THEME_HG_PROMPT_SUFFIX="$FG[075])%{$reset_color%}" ZSH_THEME_HG_PROMPT_SUFFIX="$FG[075])%{$reset_color%}"
# virtualenv settings
ZSH_THEME_VIRTUALENV_PREFIX=" $FG[075]["
ZSH_THEME_VIRTUALENV_PREFIX="]%{$reset_color%}"