45 lines
1.3 KiB
Bash
45 lines
1.3 KiB
Bash
# reference colors
|
|
GREEN="%{$fg_bold[green]%}"
|
|
RED="%{$fg_bold[red]%}"
|
|
CYAN="%{$fg_bold[cyan]%}"
|
|
YELLOW="%{$fg_bold[yellow]%}"
|
|
BLUE="%{$fg_bold[blue]%}"
|
|
MAGENTA="%{$fg_bold[magenta]%}"
|
|
WHITE="%{$fg_bold[white]%}"
|
|
|
|
COLOR_ARRAY=($GREEN $RED $CYAN $YELLOW $BLUE $MAGENTA $WHITE)
|
|
|
|
# color reset
|
|
RESET_COLOR="%{$reset_color%}"
|
|
|
|
# which color should be applied?
|
|
USERNAME_NORMAL_COLOR=$WHITE
|
|
USERNAME_ROOT_COLOR=$RED
|
|
HOSTNAME_NORMAL_COLOR=$BLUE
|
|
# uncomment next line if you want auto-generated hostname color
|
|
#for i in `hostname`; HOSTNAME_NORMAL_COLOR=$COLOR_ARRAY[$[((#i))%7+1]]
|
|
HOSTNAME_ROOT_COLOR=$RED
|
|
HOSTNAME_COLOR=%(!.$HOSTNAME_ROOT_COLOR.$HOSTNAME_NORMAL_COLOR)
|
|
CURRENT_DIR_COLOR=$CYAN
|
|
|
|
# zsh commands
|
|
USERNAME_COMMAND="%n"
|
|
HOSTNAME_COMMAND="%m"
|
|
CURRENT_DIR="%~"
|
|
|
|
# output: colors + commands
|
|
USERNAME_OUTPUT="%(!..$USERNAME_NORMAL_COLOR$USERNAME_COMMAND$RESET_COLOR@)"
|
|
HOSTNAME_OUTPUT="$HOSTNAME_COLOR$HOSTNAME_COMMAND$RESET_COLOR"
|
|
CURRENT_DIR_OUTPUT="$CURRENT_DIR_COLOR$CURRENT_DIR"
|
|
LAST_COMMAND_OUTPUT="%(?.%(!.$RED.$GREEN).$YELLOW)"
|
|
|
|
# git theming
|
|
ZSH_THEME_GIT_PROMPT_PREFIX="("
|
|
ZSH_THEME_GIT_PROMPT_SUFFIX=""
|
|
ZSH_THEME_GIT_PROMPT_DIRTY=")$RED*"
|
|
ZSH_THEME_GIT_PROMPT_CLEAN=")"
|
|
|
|
# wrap all together
|
|
PROMPT='$USERNAME_OUTPUT$HOSTNAME_OUTPUT:$CURRENT_DIR_OUTPUT $LAST_COMMAND_OUTPUT%#$RESET_COLOR '
|
|
RPROMPT='%1(j.fg: [%j].) $GREEN$(git_prompt_info)$RESET_COLOR [%@]'
|