This repository was archived by the owner on Nov 16, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdp-theme.zsh-theme
78 lines (64 loc) · 2.17 KB
/
dp-theme.zsh-theme
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
autoload -Uz add-zsh-hook
setopt PROMPT_SUBST
local git_color="243"
local dirty_color="248"
local pyenv_version_color="248"
local user_color="238"
local error_color="124"
# git_prompt_status
ZSH_THEME_GIT_PROMPT_ADDED=""
ZSH_THEME_GIT_PROMPT_MODIFIED=""
ZSH_THEME_GIT_PROMPT_DELETED=""
ZSH_THEME_GIT_PROMPT_RENAMED=""
ZSH_THEME_GIT_PROMPT_UNMERGED=""
ZSH_THEME_GIT_PROMPT_UNTRACKED=""
ZSH_THEME_GIT_PROMPT_STASHED=""
# git_remote_status
ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE=""
ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE=""
ZSH_THEME_GIT_PROMPT_DIVERGED_REMOTE=""
ZSH_THEME_GIT_PROMPT_PREFIX=" %F{$git_color}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%f"
ZSH_THEME_GIT_PROMPT_DIRTY="%F{$dirty_color}*%F{$git_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN=""
ZSH_THEME_PYENV_VERSION_PREFIX=" %F{$pyenv_version_color}"
ZSH_THEME_PYENV_VERSION_SUFFIX="%f"
test $UID -eq 0 && user_color="124"
PROMPT="%F{$user_color}%~%f"\
'$(pyenv_version_prompt_info)'\
'$(git_prompt_info)'\
"%(?.%F{$user_color}.%F{$error_color})%(!.#.❯)%f "
PROMPT2='%F{red}\ %f'
function pyenv_version_prompt_info() {
[ ! -z $PYENV_VERSION ] && echo "${ZSH_THEME_PYENV_VERSION_PREFIX}${PYENV_VERSION}${ZSH_THEME_PYENV_VERSION_SUFFIX}"
}
function prompt_human_time() {
elapsed_seconds=$1
time_string=" "
local days=$(( $elapsed_seconds / 60 / 60 / 24 ))
local hours=$(( $elapsed_seconds / 60 / 60 % 24 ))
local minutes=$(( $elapsed_seconds / 60 % 60 ))
local seconds=$(( $elapsed_seconds % 60 ))
(( days > 0 )) && time_string+="${days}d "
(( hours > 0 )) && time_string+="${hours}h "
(( minutes > 0 )) && time_string+="${minutes}m "
time_string+="${seconds}s"
echo "${time_string}"
}
function dp_theme_preexec() {
prompt_cmd_timestamp=${prompt_cmd_timestamp:-$SECONDS}
}
function dp_theme_precmd() {
local timer_color="242"
unset RPROMPT
if [ $prompt_cmd_timestamp ]; then
local elapsed_seconds=$(($SECONDS - $prompt_cmd_timestamp))
if [ "$elapsed_seconds" -ge "${prompt_visible_exec_time:=5}" ]; then
time_string=$(prompt_human_time $elapsed_seconds)
export RPROMPT="%F{$timer_color%}${time_string}%f"
fi
unset prompt_cmd_timestamp
fi
}
add-zsh-hook preexec dp_theme_preexec
add-zsh-hook precmd dp_theme_precmd