summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2020-02-18 19:14:30 +0100
committerMarc Cornellà <marc.cornella@live.com>2020-02-18 19:18:23 +0100
commitd49397a01d0cc704008d6f1089ef6a7270d17116 (patch)
treeee6565807bef0a1fe9f983ad898edcb3a371b298
parent47eae26bf6fb378c8186602eab4c998916ac5b34 (diff)
downloadzsh-d49397a01d0cc704008d6f1089ef6a7270d17116.tar.gz
zsh-d49397a01d0cc704008d6f1089ef6a7270d17116.tar.bz2
zsh-d49397a01d0cc704008d6f1089ef6a7270d17116.zip
af-magic: fix dashed separator sizing and refactor
Fixes #8081
-rw-r--r--themes/af-magic.zsh-theme39
1 files changed, 21 insertions, 18 deletions
diff --git a/themes/af-magic.zsh-theme b/themes/af-magic.zsh-theme
index 30e997f8c..4d1a40947 100644
--- a/themes/af-magic.zsh-theme
+++ b/themes/af-magic.zsh-theme
@@ -2,29 +2,28 @@
# Repo: https://github.com/andyfleming/oh-my-zsh
# 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%})"
-# primary prompt
-PROMPT='$FG[237]${(l.COLUMNS..-.)}%{$reset_color%}
-$FG[032]%~\
-$(git_prompt_info)$(hg_prompt_info) \
-$FG[105]%(!.#.»)%{$reset_color%} '
-PROMPT2='%{$fg[red]%}\ %{$reset_color%}'
-RPS1='${return_code}'
+# 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
+}
-# color vars
-eval my_gray='$FG[237]'
-eval my_orange='$FG[214]'
+# primary prompt
+PS1='$FG[237]${(l.$(afmagic_dashes)..-.)}%{$reset_color%}
+$FG[032]%~$(git_prompt_info)$(hg_prompt_info) $FG[105]%(!.#.»)%{$reset_color%} '
+PS2='%{$fg[red]%}\ %{$reset_color%}'
+RPS1='${return_code}'
# right prompt
-if type "virtualenv_prompt_info" > /dev/null
-then
- 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
+(( $+functions[virtualenv_prompt_info] )) && RPS1+='$(virtualenv_prompt_info)'
+RPS1+=' $my_gray%n@%m%{$reset_color%}%'
# git settings
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_DIRTY="$my_orange*%{$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%}"