blob: f4626162a1e92b870fc1e08d49450867a4520049 (
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
|
#--------------------
# 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
PROMPT="${fg_light_red}$USERNAME${fg_no_colour}@${fg_light_green}%m${fg_no_colour} \
- ${fg_light_blue}%~${fg_no_colour} ${fg_purple}$(parse_git_branch)${fg_no_colour}
[${fg_cyan}%*${fg_no_colour}] ${fg_red}$EXITCODE${fg_no_colour}> "
}
## Spelling prompt
SPROMPT='zsh: correct '%R' to '%r' ? ([Y]es/[N]o/[E]dit/[A]bort) '
# vim: set ft=zsh:
|