diff options
author | Marvin Borner | 2019-03-05 01:09:01 +0100 |
---|---|---|
committer | Marvin Borner | 2019-03-05 01:09:01 +0100 |
commit | 55457187d18221e76bd12f0fb2cfab65c49b92fb (patch) | |
tree | 8db042d2d80710d54100c2709ad4332153ac848a /.oh-my-zsh/themes/gnzh.zsh-theme |
Initial commit
Diffstat (limited to '.oh-my-zsh/themes/gnzh.zsh-theme')
-rw-r--r-- | .oh-my-zsh/themes/gnzh.zsh-theme | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/.oh-my-zsh/themes/gnzh.zsh-theme b/.oh-my-zsh/themes/gnzh.zsh-theme new file mode 100644 index 0000000..c763ef3 --- /dev/null +++ b/.oh-my-zsh/themes/gnzh.zsh-theme @@ -0,0 +1,49 @@ +# Based on bira theme + +setopt prompt_subst + +() { + +local PR_USER PR_USER_OP PR_PROMPT PR_HOST + +# Check the UID +if [[ $UID -ne 0 ]]; then # normal user + PR_USER='%F{green}%n%f' + PR_USER_OP='%F{green}%#%f' + PR_PROMPT='%f➤ %f' +else # root + PR_USER='%F{red}%n%f' + PR_USER_OP='%F{red}%#%f' + PR_PROMPT='%F{red}➤ %f' +fi + +# 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" + +} |