[zsh] drop GNU coreutils dependency for prompt

This commit is contained in:
Dmytro Meleshko 2019-08-04 11:42:18 +03:00
parent 87bba3cc25
commit 08b3030594

View file

@ -8,15 +8,12 @@ configure_dircolors() {
} }
prompt_preexec_hook() { prompt_preexec_hook() {
typeset -g -i _PROMPT_EXEC_START_TIME typeset -gF _PROMPT_EXEC_START_TIME="$EPOCHREALTIME"
_PROMPT_EXEC_START_TIME="$(date +%s.%N)"
} }
prompt_precmd_hook() { prompt_precmd_hook() {
if [[ -v _PROMPT_EXEC_START_TIME ]]; then if [[ -v _PROMPT_EXEC_START_TIME ]]; then
local -F stop_time duration local -F duration="$((EPOCHREALTIME - _PROMPT_EXEC_START_TIME))"
stop_time="$(date +%s.%N)"
duration="$((stop_time - _PROMPT_EXEC_START_TIME))"
unset _PROMPT_EXEC_START_TIME unset _PROMPT_EXEC_START_TIME
if (( duration > 1 )); then if (( duration > 1 )); then
@ -39,12 +36,9 @@ prompt_precmd_hook() {
setup_prompt() { setup_prompt() {
setopt nopromptbang promptcr promptsp promptpercent promptsubst setopt nopromptbang promptcr promptsp promptpercent promptsubst
if [[ "$(date +%N)" != "N" ]]; then zmodload zsh/datetime
preexec_functions+=(prompt_preexec_hook) preexec_functions+=(prompt_preexec_hook)
precmd_functions+=(prompt_precmd_hook) precmd_functions+=(prompt_precmd_hook)
else
echo "Please, install GNU coreutils to get command execution time in the prompt"
fi
PROMPT='%F{8}┌─%f%B' PROMPT='%F{8}┌─%f%B'
PROMPT+='%F{%(!.red.yellow)}%n%f' PROMPT+='%F{%(!.red.yellow)}%n%f'