configs  Check-in [1cacfaf154]

Overview
Comment:zshrc: Better way to set colors
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 1cacfaf154179237da6f18387c08eecbf1e9c06873acea8113b84ab7155240cd
User & Date: js on 2020-02-15 15:23:53
Other Links: manifest | tags
Context
2020-02-15
15:45
zshrc: Add an option to get the old simple prompt check-in: a3bceca4d2 user: js tags: trunk
15:23
zshrc: Better way to set colors check-in: 1cacfaf154 user: js tags: trunk
15:07
zshrc: Fix a typo check-in: 98d3196205 user: js tags: trunk
Changes

Modified zshrc from [3c258b2791] to [a7a370f468].

63
64
65
66
67
68
69
70
71
72
73
74
75
76
77

78
79

80
81

82
83
84
85
86
87
88
89
90
91

92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
63
64
65
66
67
68
69




70



71
72

73


74
75
76
77
78
79
80
81
82
83

84

85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103

104
105
106
107
108
109
110







-
-
-
-

-
-
-
+

-
+
-
-
+









-
+
-



















-







		}
		;;
	*)
		__update_terminal_cwd() {}
		;;
esac

__color() { print "%{\e[$1m%}" }
__color_256() { __color "38;5;$1" }
__reset_color() { __color 0 }

set_prompt() {
	PS1="$(__color_256 23)%m "
	PS1+="$(__color_256 29)%c"
	PS1+="$@$(__color_256 36)%B%(!.#.>)$(__reset_color) "
	PS1="%F{23}%m %F{29}%c$1%F{36}%(!.#.>)%f "
	PS2="%B>%b "
	RPS1="%(1j.$(__color "1;33")%j$(__reset_color).)"
	RPS1="%(1j.%F{yellow}%j%f.)%(?..%(1j. .)%F{red}%?%f)"
	RPS1+="%(?..%(1j. .)$(__color "1;31")%?$(__reset_color))"
	RPS2="%(1_.$(__color "1;30")(%_%)$(__reset_color).)"
	RPS2="%(1_.%F{black}%B(%_%)%b%f.)"
}
set_prompt

__precmd() {
	__update_terminal_cwd

	local branch_name=$(git symbolic-ref HEAD 2>/dev/null)
	branch_name=${branch_name##refs/heads/}
	if [ -n "$branch_name" -a "$branch_name" != master ]; then
		local branch="$(__color_256 36)($(__color_256 78)$branch_name"
		local branch="%F{36}(%F{78}$branch_name%F{36})"
		branch+="$(__color_256 36))"
	fi
	set_prompt $branch
}

case $TERM in
	aterm|Eterm|rxvt*|uxterm*|xterm*)
		# Use set_title if you want to change the term title
		set_title() {
			# Without this, precmd would override it
			precmd() { __precmd }
			print -Pn "\e]0;$@\a"
		}

		unset_title() {
			precmd() {
				print -Pn "\e]0;%m:%c\a"
				__precmd
			}
		}

		unset_title
		;;
	*)
		precmd() { __precmd }
		;;
esac