mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-13 00:54:01 +08:00
299cd4777a
Changes themes displaying RVM or other Ruby version info to use the central ruby_prompt_info function. This supports more Ruby versioning mechanisms, reduces copy-and-paste code, and avoids "zsh: no such file or directory: rvm-prompt" when run on machines that do not have RVM installed. Changes the prefix/suffix variable names to ZSH_THEME_RUBY_PROMPT_PREFIX and ZSH_THEME_RUBY_PROMPT_SUFFIX, since they apply to all Ruby versioning mechanisms, not just RVM. Allows empty ZSH_THEME_RUBY_PROMPT_PREFIX and ZSH_THEME_RUBY_PROMPT_SUFFIX.
24 lines
884 B
Bash
24 lines
884 B
Bash
# Depends on the git plugin for work_in_progress()
|
|
|
|
ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[green]%}["
|
|
ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%}"
|
|
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$reset_color%}"
|
|
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
|
|
|
#Customized git status, oh-my-zsh currently does not allow render dirty status before branch
|
|
git_custom_status() {
|
|
local cb=$(git_current_branch)
|
|
if [ -n "$cb" ]; then
|
|
echo "$(parse_git_dirty)%{$fg_bold[yellow]%}$(work_in_progress)%{$reset_color%}$ZSH_THEME_GIT_PROMPT_PREFIX$(git_current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX"
|
|
fi
|
|
}
|
|
|
|
# RVM component of prompt
|
|
ZSH_THEME_RUBY_PROMPT_PREFIX="%{$fg[red]%}["
|
|
ZSH_THEME_RUBY_PROMPT_SUFFIX="]%{$reset_color%}"
|
|
|
|
# Combine it all into a final right-side prompt
|
|
RPS1='$(git_custom_status)$(ruby_prompt_info) $EPS1'
|
|
|
|
PROMPT='%{$fg[cyan]%}[%~% ]%(?.%{$fg[green]%}.%{$fg[red]%})%B$%b '
|