.shrc.d/prompt1.sh
8d38feea
 # 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'