56 lines
2.1 KiB
Bash
56 lines
2.1 KiB
Bash
# Based on gnzh, nanotech, and pmcgee themes
|
|
|
|
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='%B%F{red}%M%f%b' # SSH
|
|
else
|
|
PR_HOST='%B%F{green}%M%f%b' # no SSH
|
|
fi
|
|
|
|
local return_code="%(?..%F{red}%?↵%f)"
|
|
|
|
local user_host="${PR_USER}%F{blue}@${PR_HOST}"
|
|
local current_dir="%F{cyan}%~%f"
|
|
local git_branch='$(git_prompt_info)'
|
|
local bat='$(battery_pct_prompt)'
|
|
|
|
PROMPT="${user_host} ${current_dir} ${git_branch}
|
|
-$PR_PROMPT"
|
|
RPROMPT="]${return_code} %*"
|
|
|
|
# all git prompt overrides for easy modification
|
|
ZSH_THEME_GIT_PROMPT_PREFIX="("
|
|
ZSH_THEME_GIT_PROMPT_SUFFIX="%b)"
|
|
ZSH_THEME_GIT_PROMPT_SEPARATOR="|"
|
|
ZSH_THEME_GIT_PROMPT_BRANCH="%{$fg_bold[magenta]%}"
|
|
ZSH_THEME_GIT_PROMPT_STAGED="%{$fg[red]%}%{+%G%}"
|
|
ZSH_THEME_GIT_PROMPT_CONFLICTS="%{$fg[red]%}%{x%G%}"
|
|
ZSH_THEME_GIT_PROMPT_CHANGED="%{$fg[blue]%}%{*%G%}"
|
|
ZSH_THEME_GIT_PROMPT_BEHIND="%{↓%G%}"
|
|
ZSH_THEME_GIT_PROMPT_AHEAD="%{↑%G%}"
|
|
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%}%{…%G%}"
|
|
ZSH_THEME_GIT_PROMPT_STASHED="%{$fg_bold[blue]%}%{s%G%}"
|
|
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[green]%}%{~%G%}"
|
|
|
|
}
|
|
|
|
export LSCOLORS="Gxfxcxdxbxegedabagacad"
|
|
export LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:'
|