You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.6 KiB
47 lines
1.6 KiB
# af-magic.zsh-theme |
|
# |
|
# Author: Andy Fleming |
|
# URL: http://andyfleming.com/ |
|
|
|
# dashed separator size |
|
function afmagic_dashes { |
|
# check either virtualenv or condaenv variables |
|
local python_env_dir="${VIRTUAL_ENV:-$CONDA_DEFAULT_ENV}" |
|
local python_env="${python_env_dir##*/}" |
|
|
|
# if there is a python virtual environment and it is displayed in |
|
# the prompt, account for it when returning the number of dashes |
|
if [[ -n "$python_env" && "$PS1" = *\(${python_env}\)* ]]; then |
|
echo $(( COLUMNS - ${#python_env} - 3 )) |
|
else |
|
echo $COLUMNS |
|
fi |
|
} |
|
|
|
# primary prompt: dashed separator, directory and vcs info |
|
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%}" |
|
|
|
# right prompt: return code, virtualenv and context (user@host) |
|
RPS1="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" |
|
if (( $+functions[virtualenv_prompt_info] )); then |
|
RPS1+='$(virtualenv_prompt_info)' |
|
fi |
|
RPS1+=" ${FG[237]}%n@%m%{$reset_color%}" |
|
|
|
# git settings |
|
ZSH_THEME_GIT_PROMPT_PREFIX=" ${FG[075]}(${FG[078]}" |
|
ZSH_THEME_GIT_PROMPT_CLEAN="" |
|
ZSH_THEME_GIT_PROMPT_DIRTY="${FG[214]}*%{$reset_color%}" |
|
ZSH_THEME_GIT_PROMPT_SUFFIX="${FG[075]})%{$reset_color%}" |
|
|
|
# hg settings |
|
ZSH_THEME_HG_PROMPT_PREFIX=" ${FG[075]}(${FG[078]}" |
|
ZSH_THEME_HG_PROMPT_CLEAN="" |
|
ZSH_THEME_HG_PROMPT_DIRTY="${FG[214]}*%{$reset_color%}" |
|
ZSH_THEME_HG_PROMPT_SUFFIX="${FG[075]})%{$reset_color%}" |
|
|
|
# virtualenv settings |
|
ZSH_THEME_VIRTUALENV_PREFIX=" ${FG[075]}[" |
|
ZSH_THEME_VIRTUALENV_SUFFIX="]%{$reset_color%}"
|
|
|