# https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_05_03 # NOTE: `PS0` and `PROMPT_COMMAND` are not POSIX but supported by common # shells. __prompt_ps1() { __prompt_exit="$?" __prompt_time="$(__prompt_time_stop)" __prompt_jobs="$(jobs > '/dev/null'; jobs | wc -l)" __prompt_color '\x01%s\x02' __prompt_user_host '%s:' __prompt_pwd '%s' __prompt_chroot ' (chroot:%s)' __prompt_ranger ' (ranger:%s)' __prompt_venv ' (venv:%s)' __prompt_git ' (git:%s)' __prompt_jobs ' {%s}' "$__prompt_jobs" __prompt_time ' [%s]' "$__prompt_time" __prompt_exit ' <%s>' 'TSTP' "$__prompt_exit" __prompt_end ' ' '$' '#' __prompt_statusline '\x01%s\x02' "$( __prompt_shell '%s:' 'sh' __prompt_user_host '%s:' __prompt_pwd '%s' )" __prompt_intr '^]' } __prompt_ps0() { __prompt_intr '^C' __prompt_statusline '%s' "$( __prompt_shell '%s:' 'sh' __prompt_user_host '%s:' __prompt_pwd '%s' __prompt_run ':%s' )" __prompt_reset '%s' __prompt_time_start } __prompt_command() { __prompt_venv_activate } PS1='$(__prompt_ps1)' PS0='$(__prompt_ps0)' PROMPT_COMMAND='__prompt_command'