78 lines
2.1 KiB
Bash
Executable File
78 lines
2.1 KiB
Bash
Executable File
# Symbols
|
|
: ${is_a_git_repo_symbol:='Y'}
|
|
: ${has_untracked_files_symbol:='u'}
|
|
: ${has_adds_symbol:='+'}
|
|
: ${has_deletions_symbol:='-'}
|
|
: ${has_deletions_cached_symbol:='x'}
|
|
: ${has_modifications_symbol:='m'}
|
|
: ${has_modifications_cached_symbol:='M'}
|
|
: ${ready_to_commit_symbol:='$'}
|
|
: ${is_on_a_tag_symbol:='T'}
|
|
: ${needs_to_merge_symbol:='><'}
|
|
: ${has_upstream_symbol:='U'}
|
|
: ${detached_symbol:='@'}
|
|
: ${can_fast_forward_symbol:='f'}
|
|
: ${has_diverged_symbol:=')('}
|
|
: ${rebase_tracking_branch_symbol:='#'}
|
|
: ${merge_tracking_branch_symbol:='>'}
|
|
: ${should_push_symbol:='^'}
|
|
: ${has_stashes_symbol:='_'}
|
|
|
|
# Flags
|
|
: ${display_has_upstream:=false}
|
|
: ${display_tag:=false}
|
|
: ${display_tag_name:=true}
|
|
: ${two_lines:=true}
|
|
: ${finally:=''}
|
|
: ${use_color_off:=false}
|
|
autoload colors && colors
|
|
for COLOR in RED GREEN YELLOW BLUE MAGENTA CYAN BLACK WHITE; do
|
|
eval $COLOR='%{$fg_no_bold[${(L)COLOR}]%}' #wrap colours between %{ %} to avoid weird gaps in autocomplete
|
|
eval BOLD_$COLOR='%{$fg_bold[${(L)COLOR}]%}'
|
|
done
|
|
eval RESET='%{$reset_color%}'
|
|
on=$WHITE
|
|
off=$WHITE
|
|
red=$RED
|
|
green=$GREEN
|
|
yellow=$YELLOW
|
|
violet=$CYAN
|
|
branch_color=$BLUE
|
|
reset=$RESET
|
|
|
|
|
|
if [ $UID -eq 0 ]; then NCOLOR="red"; else NCOLOR="green"; fi
|
|
if [ -z "$SSH_TTY" ] && [ -z "$SSH_CONNECTION" ] && [ -z "$SSH_CLIENT" ] ; then
|
|
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
|
else
|
|
local return_code="%(?..%{$fg[green]%}%? ↵%{$reset_color%})"
|
|
fi
|
|
|
|
# primary prompt
|
|
PROMPT='$(build_prompt)
|
|
$FG[032]%~ \
|
|
$FG[105]%(!.#.$)%{$reset_color%} '
|
|
PROMPT2='%{$fg[red]%}\ %{$reset_color%}'
|
|
RPS1='${return_code}'
|
|
# »
|
|
|
|
# color vars
|
|
eval my_gray='$FG[237]'
|
|
eval my_orange='$FG[214]'
|
|
|
|
# right prompt
|
|
if type "virtualenv_prompt_info" > /dev/null
|
|
then
|
|
if [[ $EUID -ne 0 ]] && [ -z "$SSH_TTY" ] && [ -z "$SSH_CONNECTION" ] && [ -z "$SSH_CLIENT" ]; then
|
|
RPROMPT='$(virtualenv_prompt_info)$my_gray%n@%m%{$reset_color%}%'
|
|
else
|
|
RPROMPT='$(virtualenv_prompt_info)$my_red%n@%m%{$reset_color%}%'
|
|
fi
|
|
else
|
|
if [[ $EUID -ne 0 ]] && [ -z "$SSH_TTY" ] && [ -z "$SSH_CONNECTION" ] && [ -z "$SSH_CLIENT" ]; then
|
|
RPROMPT='$my_gray%n@%m%{$reset_color%}%'
|
|
else
|
|
RPROMPT='$my_red%n@%m%{$reset_color%}%'
|
|
fi
|
|
fi
|