-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinit.sh
executable file
·40 lines (32 loc) · 1.04 KB
/
init.sh
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
##############################
# o #
# o | #
# o-o o--o O-o oo o-o #
# / | | | | | | | | #
# o-o | o--O o-o o-o- o #
# | #
# o--o #
##############################
# ZSH init script adapted from Starship (ISC license)
# https://github.com/starship/starship/blob/master/src/init/starship.zsh
zmodload zsh/datetime
zmodload zsh/mathfunc
__zigbar_get_time() {
(( ZIGBAR_CAPTURED_TIME = int(rint(EPOCHREALTIME * 1000)) ))
}
prompt_zigbar_precmd() {
if (( ${+ZIGBAR_START_TIME} )); then
__zigbar_get_time && (( ZIGBAR_DURATION = ZIGBAR_CAPTURED_TIME - ZIGBAR_START_TIME ))
unset ZIGBAR_START_TIME
else
unset ZIGBAR_DURATION
fi
}
prompt_zigbar_preexec() {
__zigbar_get_time && ZIGBAR_START_TIME=$ZIGBAR_CAPTURED_TIME
}
autoload -Uz add-zsh-hook
add-zsh-hook precmd prompt_zigbar_precmd
add-zsh-hook preexec prompt_zigbar_preexec
setopt promptsubst
PROMPT='$(zigbar prompt --columns="$COLUMNS" --duration="${ZIGBAR_DURATION:-}")'