aboutsummaryrefslogtreecommitdiff
path: root/.oh-my-zsh/themes/gnzh.zsh-theme
diff options
context:
space:
mode:
authorMarvin Borner2019-03-05 01:09:01 +0100
committerMarvin Borner2019-03-05 01:09:01 +0100
commit55457187d18221e76bd12f0fb2cfab65c49b92fb (patch)
tree8db042d2d80710d54100c2709ad4332153ac848a /.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-theme49
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"
+
+}