#! /bin/zsh jobs_marker=(         ) # Solarized solarized_base03=$'\e[1;30m' solarized_base02=$'\e[0;30m' solarized_base01=$'\e[1;32m' solarized_base00=$'\e[1;33m' solarized_base0=$'\e[1;34m' solarized_base1=$'\e[1;36m' solarized_base2=$'\e[0;37m' solarized_base3=$'\e[1;37m' solarized_yellow=$'\e[0;33m' solarized_orange=$'\e[1;31m' solarized_red=$'\e[0;31m' solarized_magenta=$'\e[0;35m' solarized_violet=$'\e[1;35m' solarized_blue=$'\e[0;34m' solarized_cyan=$'\e[0;36m' solarized_green=$'\e[0;32m' dir_tint=$solarized_blue jobs_tint=$solarized_green root_tint=$solarized_magenta function prompt_char { if [ $UID -eq 0 ]; then echo "%{$root_tint%}#%{$reset_color%}" && return; fi is_curr_dir_remote || {git branch >/dev/null 2>/dev/null && echo '±' && return} echo '%#' } function is_curr_dir_remote { [[ $(pwd) =~ .*nextcloud.* ]] } function git_stuff { is_curr_dir_remote || echo -n $(git_prompt_info)$(git_commits_ahead)$(git_commits_behind) } # newline ⎡⎧⎛⎢ return_code_vertical_top="%(?.%{$reset_color%}.%{$solarized_magenta%})⎥%{$reset_color%} " return_code_vertical="%(?.%{$reset_color%}.%{$solarized_magenta%})⎥%{$reset_color%} " PROMPT=" $return_code_vertical_top" # add username only from remote [[ "$SSH_CONNECTION" != '' ]] && PROMPT+=$'%(!.%{\e[0;34m%}%}.%{\e[0;32m%}%}%n@)%m ' PROMPT+=$'%{$dir_tint%}%(!.%1~.%~)%{$reset_color%}$(git_stuff) ${return_code_vertical}$(prompt_char)%{$reset_color%} ' RPROMPT=$'%{$jobs_tint%}$jobs_marker[${(%):-%j}]%{$reset_color%}' ZSH_THEME_GIT_PROMPT_PREFIX="%{\033[1;32m%} · %{\033[0;36m%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$fg_bold[blue]%}" ZSH_THEME_GIT_PROMPT_DIRTY="%{\e[0;35m%} !" ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?" ZSH_THEME_GIT_PROMPT_CLEAN="" ZSH_THEME_GIT_COMMITS_AHEAD_PREFIX="%{\033[0;36m%} " ZSH_THEME_GIT_COMMITS_AHEAD_SUFFIX="↑%{$fg_bold[blue]%}" ZSH_THEME_GIT_COMMITS_BEHIND_PREFIX="%{\033[0;36m%} " ZSH_THEME_GIT_COMMITS_BEHIND_SUFFIX="↓%{$fg_bold[blue]%}"