linuxonly.zsh-theme
1954 bytes
1autoload -U add-zsh-hook
2autoload -Uz vcs_info
3
4local c0=$(printf "\033[0m")
5local c1=$(printf "\033[38;5;215m")
6local c2=$(printf "\033[38;5;209m")
7local c3=$(printf "\033[38;5;203m")
8local c4=$(printf "\033[33;4m")
9local c5=$(printf "\033[38;5;137m")
10local c6=$(printf "\033[38;5;240m")
11local c7=$(printf "\033[38;5;149m")
12local c8=$(printf "\033[38;5;126m")
13local c9=$(printf "\033[38;5;162m")
14
15if [ "$TERM" = "linux" ]; then
16 c1=$(printf "\033[34;1m")
17 c2=$(printf "\033[35m")
18 c3=$(printf "\033[31m")
19 c4=$(printf "\033[31;1m")
20 c5=$(printf "\033[32m")
21 c6=$(printf "\033[32;1m")
22 c7=$(printf "\033[33m")
23 c8=$(printf "\033[33;1m")
24 c9=$(printf "\033[34m")
25fi
26
27zstyle ':vcs_info:*' actionformats \
28 '%{$c8%}(%f%s)%{$c7%}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f '
29zstyle ':vcs_info:*' formats \
30 "%{$c8%}%s%{$c7%}:%{$c7%}(%{$c9%}%b%{$c7%})%f "
31zstyle ':vcs_info:*' enable git
32
33add-zsh-hook precmd prompt_jnrowe_precmd
34
35prompt_jnrowe_precmd () {
36 vcs_info
37
38 if [ "${vcs_info_msg_0_}" = "" ]; then
39 dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})"
40 PROMPT='${dir_status} ${ret_status}%{$reset_color%}
41> '
42 elif [[ $(git diff --cached --name-status 2>/dev/null ) != "" ]]; then
43 dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})"
44 PROMPT='${vcs_info_msg_0_}
45${dir_status} ${vcs_info_msg_0_}%{$reset_color%}
46> '
47 elif [[ $(git diff --name-status 2>/dev/null ) != "" ]]; then
48 dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})"
49 PROMPT='${vcs_info_msg_0_}
50${dir_status}%{$reset_color%}
51%{$c9%}·>%{$c0%} '
52 else
53 dir_status="%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})"
54 PROMPT='${vcs_info_msg_0_}
55${dir_status} ${vcs_info_msg_0_}%{$reset_color%}
56> '
57 fi
58}