e4eb1a371c
Some spaces where wrongly placed, especially if one of the variables doesn't exist (e.g. `rvm_ruby`) where that would add two spaces instead of one. Added the red dot (instead of the default `*`) if the branch is dirty. The bira theme only supported git, now it supports mercurial as well. It needed ito call `hg_prompt_info` and the `ZSH_THEME_HG_PROMPT_` variables.
38 lines
1.3 KiB
Bash
38 lines
1.3 KiB
Bash
# ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png
|
||
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
|
||
|
||
|
||
if [[ $UID -eq 0 ]]; then
|
||
local user_host='%{$terminfo[bold]$fg[red]%}%n@%m%{$reset_color%}'
|
||
local user_symbol='#'
|
||
else
|
||
local user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}'
|
||
local user_symbol='$'
|
||
fi
|
||
|
||
local current_dir='%{$terminfo[bold]$fg[blue]%}%~%{$reset_color%}'
|
||
local rvm_ruby=''
|
||
if which rvm-prompt &> /dev/null; then
|
||
rvm_ruby='%{$fg[red]%}‹$(rvm-prompt i v g)›%{$reset_color%} '
|
||
else
|
||
if which rbenv &> /dev/null; then
|
||
rvm_ruby='%{$fg[red]%}‹$(rbenv version | sed -e "s/ (set.*$//")›%{$reset_color%} '
|
||
fi
|
||
fi
|
||
|
||
local scm_branch='$(git_prompt_info)$(hg_prompt_info)%{$reset_color%}'
|
||
|
||
PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby}${scm_branch}
|
||
╰─%B${user_symbol}%b "
|
||
RPS1="%B${return_code}%b"
|
||
|
||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹"
|
||
ZSH_THEME_GIT_PROMPT_SUFFIX="›%{$reset_color%}"
|
||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}●%{$fg[yellow]%}"
|
||
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[yellow]%}"
|
||
|
||
ZSH_THEME_HG_PROMPT_PREFIX=$ZSH_THEME_GIT_PROMPT_PREFIX
|
||
ZSH_THEME_HG_PROMPT_SUFFIX=$ZSH_THEME_GIT_PROMPT_SUFFIX
|
||
ZSH_THEME_HG_PROMPT_DIRTY=$ZSH_THEME_GIT_PROMPT_DIRTY
|
||
ZSH_THEME_HG_PROMPT_CLEAN=$ZSH_THEME_GIT_PROMPT_CLEAN
|