blob: a897e1994dd8c29e3a01fc4159cb2e6f81b4ce79 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#--------------------
# Terminal title
#--------------------
# also found somewhere
prompt_eof_setup() {
# preexec() is run after you press enter on your command but before the command is run.
preexec() {
# define screen/terminal title with the current command (http://aperiodic.net/phil/prompt/)
case $TERM in
rxvt-unicode*)
printf '\33]2;%s\007' $1
;;
screen*)
local CMD=${1[(wr)^(*=*|sudo|ssh|exec|-*)]}
printf '\ek%s\e\\' $CMD;;
esac
}
}
prompt_eof_setup "$@"
EXITCODE="%(?..(%?%1) )"
# function to show the current git branch in prompt
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
#--------------------
# Prompt
#--------------------
# necessary if you want to use functions in the prompt
# without this they wouldn't be run again
precmd () {
# this has to be on the edge or you have some spaces in the prompt
# if you have any workaround please tell
if [[ $UID != 0 ]]; then
local username_color=$fg_blue
else
local username_color=$fg_red
fi
local host_color=$fg_light_green
local path_color=$fg_light_blue
local gitbranch_color=$fg_purple
local exitcode_color=$fg_red
PROMPT="${username_color}$USERNAME${fg_no_colour}@${host_color}%m${fg_no_colour}\
:${path_color}%~${fg_no_colour} ${gitbranch_color}$(parse_git_branch)${fg_no_colour}
${exitcode_color}$EXITCODE${fg_no_colour}> "
}
## Spelling prompt
SPROMPT='zsh: correct '%R' to '%r' ? ([Y]es/[N]o/[E]dit/[A]bort) '
# vim: set ft=zsh:
|