Last active
April 14, 2020 21:20
-
-
Save maxleiko/9855724 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ZSH Theme | |
# Based on gnzh theme | |
# load some modules | |
autoload -U colors zsh/terminfo # Used in the colour alias below | |
colors | |
setopt prompt_subst | |
# make some aliases for the colours: (coud use normal escap.seq's too) | |
for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do | |
eval PR_$color='%{$fg[${(L)color}]%}' | |
done | |
eval PR_NO_COLOR="%{$terminfo[sgr0]%}" | |
eval PR_BOLD="%{$terminfo[bold]%}" | |
### Git | |
ZSH_THEME_GIT_PROMPT_PREFIX="%{$PR_YELLOW%}‹" | |
ZSH_THEME_GIT_PROMPT_SUFFIX="›%{$PR_NO_COLOR%}" | |
### User UID | |
if [[ $UID -ge 1000 ]]; then # normal user | |
eval PR_USER='${PR_GREEN}%n${PR_NO_COLOR}' | |
eval PR_USER_OP='${PR_GREEN}%#${PR_NO_COLOR}' | |
local PR_PROMPT='$PR_NO_COLOR➤ $PR_NO_COLOR' | |
elif [[ $UID -eq 0 ]]; then # root | |
eval PR_USER='${PR_RED}%n${PR_NO_COLOR}' | |
eval PR_USER_OP='${PR_RED}%#${PR_NO_COLOR}' | |
local PR_PROMPT='$PR_RED➤ $PR_NO_COLOR' | |
fi | |
### Ssh | |
if [[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]]; then | |
eval PR_HOST='${PR_YELLOW}%M${PR_NO_COLOR}' #SSH | |
else | |
eval PR_HOST='${PR_CYAN}%M${PR_NO_COLOR}' # no SSH | |
fi | |
local user_host='${PR_USER}${PR_MAGENTA}@${PR_CYAN}${PR_HOST}' | |
local current_dir='%{$PR_BOLD$PR_BLUE%}%~%{$PR_NO_COLOR%}' | |
local git_branch='$(git_prompt_info)%{$PR_NO_COLOR%}' | |
local return_code="%(?..%{$PR_RED%}%? ↵%{$PR_NO_COLOR%})" | |
PROMPT="╭${user_host} ${current_dir} ${git_branch} | |
╰$PR_PROMPT" | |
RPS1="${return_code}" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment