└── mgdm.zsh-theme /mgdm.zsh-theme: -------------------------------------------------------------------------------- 1 | if [ "$USER" = "root" ]; then 2 | CARETCOLOR="red" 3 | else 4 | CARETCOLOR="white" 5 | fi 6 | 7 | get_host_color() { 8 | local host_color=0 9 | local i=1 10 | for val in $(echo $HOST | od -A n -t dC); do 11 | host_color=$(($host_color + $i * $val)) 12 | i=$((i + 1)) 13 | done 14 | host_color=$((1 + $host_color % 7)) 15 | echo -n "$host_color" 16 | } 17 | 18 | RETURN_CODE="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" 19 | 20 | PROMPT='%{${fg[blue]}%}${USER}%{$reset_color%}@%F{$(get_host_color)}%m%{$reset_color%}:%{${fg[blue]}%}%1~%{${fg_bold[$CARETCOLOR]}%}%#%{${reset_color}%} ' 21 | 22 | RPS1='${RETURN_CODE}' 23 | 24 | ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[blue]%}git:%{$fg_bold[cyan]%}" 25 | ZSH_THEME_GIT_PROMPT_SUFFIX="%{$fg[blue]%}%{$reset_color%}" 26 | ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg_no_bold[red]%}✗%{$reset_color%}" 27 | ZSH_THEME_GIT_PROMPT_CLEAN=" %{$fg_no_bold[green]%}✔%{$reset_color%}" 28 | 29 | ZSH_THEME_SVN_PROMPT_PREFIX="%{$fg[blue]%}svn:%{$fg_bold[cyan]%}" 30 | ZSH_THEME_SVN_PROMPT_SUFFIX="%{$fg[blue]%}%{$reset_color%}" 31 | ZSH_THEME_SVN_PROMPT_DIRTY=" %{$fg_no_bold[red]%}✗%{$reset_color%}" 32 | ZSH_THEME_SVN_PROMPT_CLEAN=" %{$fg_no_bold[green]%}✔%{$reset_color%}" 33 | 34 | MODE_INDICATOR="%{$fg_bold[magenta]%}<%{$reset_color%}%{$fg[magenta]%}<<%{$reset_color%}" 35 | 36 | # TODO use 265 colors 37 | #MODE_INDICATOR="$FX[bold]$FG[020]<$FX[no_bold]%{$fg[blue]%}<<%{$reset_color%}" 38 | # TODO use two lines if git 39 | --------------------------------------------------------------------------------