44 lines
1.2 KiB
Bash
44 lines
1.2 KiB
Bash
# Sakhmatd ZSH Theme
|
||
# Based on gnzh theme, which is based on the bira theme
|
||
|
||
setopt prompt_subst
|
||
|
||
() {
|
||
|
||
local PR_USER PR_USER_OP PR_PROMPT PR_HOST
|
||
|
||
PR_USER='%F{green}%n%f'
|
||
PR_USER_OP='%F{green}%#%f'
|
||
PR_PROMPT='%f➤ %f'
|
||
|
||
# Check if we are on SSH or not
|
||
if [[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]]; then
|
||
PR_HOST='%F{red}%M%f' # SSH
|
||
else
|
||
PR_HOST='%F{green}%M%f' # no SSH
|
||
fi
|
||
|
||
|
||
local return_code="%(?..%F{red}%? ↵%f)"
|
||
|
||
local user_host="${PR_USER}%F{cyan}@${PR_HOST}"
|
||
local current_dir="%B%F{blue}%~%f%b"
|
||
local rvm_ruby=''
|
||
if ${HOME}/.rvm/bin/rvm-prompt &> /dev/null; then # detect user-local rvm installation
|
||
rvm_ruby='%F{red}‹$(${HOME}/.rvm/bin/rvm-prompt i v g s)›%f'
|
||
elif which rvm-prompt &> /dev/null; then # detect system-wide rvm installation
|
||
rvm_ruby='%F{red}‹$(rvm-prompt i v g s)›%f'
|
||
elif which rbenv &> /dev/null; then # detect Simple Ruby Version Management
|
||
rvm_ruby='%F{red}‹$(rbenv version | sed -e "s/ (set.*$//")›%f'
|
||
fi
|
||
local git_branch='$(git_prompt_info)'
|
||
|
||
PROMPT="${user_host} ${current_dir} ${rvm_ruby} ${git_branch}
|
||
─$PR_PROMPT "
|
||
RPROMPT="${return_code}"
|
||
|
||
ZSH_THEME_GIT_PROMPT_PREFIX="%F{yellow}‹"
|
||
ZSH_THEME_GIT_PROMPT_SUFFIX="› %f"
|
||
|
||
}
|