drastically simplify the conditional logic

This commit is contained in:
Dustin Kirkland 2024-01-09 07:23:00 -06:00
commit 26528f1998
2 changed files with 37 additions and 46 deletions

3
debian/changelog vendored
View file

@ -2,8 +2,9 @@ byobu (6.5) unreleased; urgency=medium
* usr/share/byobu/profiles/bashrc: * usr/share/byobu/profiles/bashrc:
- drop debian chroot from wolfi ps1 - drop debian chroot from wolfi ps1
- drastically simplify the conditional logic
-- Dustin Kirkland <kirkland@ubuntu.com> Mon, 08 Jan 2024 21:31:05 -0600 -- Dustin Kirkland <kirkland@ubuntu.com> Tue, 09 Jan 2024 07:22:34 -0600
byobu (6.4) released; urgency=medium byobu (6.4) released; urgency=medium

View file

@ -1,6 +1,6 @@
# byobu's bashrc -- colorize the prompt # byobu's bashrc -- colorize the prompt
# Copyright (C) 2014 Dustin Kirkland # Copyright (C) 2014 Dustin Kirkland
# Copyright (C) 2023 Dustin Kirkland # Copyright (C) 2023, 2024 Dustin Kirkland
# #
# Authors: Dustin Kirkland <kirkland@byobu.org> # Authors: Dustin Kirkland <kirkland@byobu.org>
# #
@ -23,47 +23,37 @@ case "$TERM" in
export TERM="xterm-256color" export TERM="xterm-256color"
;; ;;
esac esac
if [ -n "$TMUX" ] || [ "${TERMCAP#*screen}" != "${TERMCAP}" ]; then [ -n "$BYOBU_CHARMAP" ] || BYOBU_CHARMAP=$(locale charmap 2>/dev/null || echo)
# Ensure that we're in bash or ash, in a byobu environment [ -z "$USER" ] && export USER=$(whoami)
if [ -n "$BYOBU_BACKEND" ] && [ -n "$BASH" ] || [ "$SHELL" = "/bin/ash" ]; then byobu_prompt_status() { local e=$?; [ $e != 0 ] && echo -e " $e "; }
byobu_prompt_status() { local e=$?; [ $e != 0 ] && echo -e " $e "; } byobu_prompt_symbol() { [ "$USER" = "root" ] && printf "%s" "#" || printf "%s" "\$"; }
[ -n "$BYOBU_CHARMAP" ] || BYOBU_CHARMAP=$(locale charmap 2>/dev/null || echo) case "$BYOBU_DISTRO" in
byobu_prompt_symbol() { "Ubuntu")
if [ "$USER" = "root" ]; then # Use Ubuntu colors (grey / orange / aubergine)
printf "%s" "#"; PS1="${debian_chroot:+($debian_chroot)}\[\e[38;5;202m\]\$(byobu_prompt_status)\[\e[38;5;245m\]\u\[\e[00m\]@\[\e[38;5;172m\]\h\[\e[00m\]:\[\e[38;5;5m\]\w\[\e[00m\]\$(byobu_prompt_symbol) "
else export GREP_COLORS="ms=01;38;5;202:mc=01;31:sl=:cx=:fn=01;38;5;132:ln=32:bn=32:se=00;38;5;242"
printf "%s" "\$" export LESS_TERMCAP_mb=$(printf '\e[01;31m') # enter blinking mode red
fi export LESS_TERMCAP_md=$(printf '\e[01;38;5;180m') # enter double-bright mode bold light orange
} export LESS_TERMCAP_me=$(printf '\e[0m') # turn off all appearance modes (mb, md, so, us)
case "$BYOBU_DISTRO" in export LESS_TERMCAP_se=$(printf '\e[0m') # leave standout mode
"Ubuntu") export LESS_TERMCAP_so=$(printf '\e[03;38;5;202m') # enter standout mode orange background highlight (or italics)
# Use Ubuntu colors (grey / orange / aubergine) export LESS_TERMCAP_ue=$(printf '\e[0m') # leave underline mode
PS1="${debian_chroot:+($debian_chroot)}\[\e[38;5;202m\]\$(byobu_prompt_status)\[\e[38;5;245m\]\u\[\e[00m\]@\[\e[38;5;172m\]\h\[\e[00m\]:\[\e[38;5;5m\]\w\[\e[00m\]\$(byobu_prompt_symbol) " export LESS_TERMCAP_us=$(printf '\e[04;38;5;139m') # enter underline mode underline aubergine
export GREP_COLORS="ms=01;38;5;202:mc=01;31:sl=:cx=:fn=01;38;5;132:ln=32:bn=32:se=00;38;5;242" # Use Ubuntu themed dircolors
export LESS_TERMCAP_mb=$(printf '\e[01;31m') # enter blinking mode red if [ -e "${BYOBU_PREFIX}/share/byobu/profiles/dircolors" ]; then
export LESS_TERMCAP_md=$(printf '\e[01;38;5;180m') # enter double-bright mode bold light orange dircolors "${BYOBU_PREFIX}/share/byobu/profiles/dircolors" > "$BYOBU_RUN_DIR/dircolors"
export LESS_TERMCAP_me=$(printf '\e[0m') # turn off all appearance modes (mb, md, so, us) . "$BYOBU_RUN_DIR/dircolors"
export LESS_TERMCAP_se=$(printf '\e[0m') # leave standout mode fi
export LESS_TERMCAP_so=$(printf '\e[03;38;5;202m') # enter standout mode orange background highlight (or italics) ;;
export LESS_TERMCAP_ue=$(printf '\e[0m') # leave underline mode "Wolfi")
export LESS_TERMCAP_us=$(printf '\e[04;38;5;139m') # enter underline mode underline aubergine # Use Wolfi colors (pink / purple / grey)
# Use Ubuntu themed dircolors # For reference: https://upload.wikimedia.org/wikipedia/commons/1/15/Xterm_256color_chart.svg
if [ -e "${BYOBU_PREFIX}/share/byobu/profiles/dircolors" ]; then # Convert hex to 256: https://gist.githubusercontent.com/MicahElliott/719710/raw/73d047f0a3ffc35f0655488547e7f24fa3f04ea6/colortrans.py
dircolors "${BYOBU_PREFIX}/share/byobu/profiles/dircolors" > "$BYOBU_RUN_DIR/dircolors" # Use Wolfi colors (pink=170 / purple=98 / blue=63); flashing error code on previous command non-zero exit
. "$BYOBU_RUN_DIR/dircolors" PS1="\[\e[03;5;15;54m\]\$(byobu_prompt_status)\[\e[00m\]\[\e[38;5;170m\]\u\[\e[00m\]@\[\e[38;5;98m\]\h\[\e[00m\]:\[\e[38;5;63m\]\w\[\e[00m\]\$(byobu_prompt_symbol) "
fi ;;
;; *)
"Wolfi") # Use Googley colors (blue / red / yellow / blue / green / red )
# Use Wolfi colors (pink / purple / grey) PS1="${debian_chroot:+($debian_chroot)}\[\e[31m\]\$(byobu_prompt_status)\[\e[38;5;69m\]\u\[\e[38;5;214m\]@\[\e[38;5;167m\]\h\[\e[38;5;214m\]:\[\e[38;5;71m\]\w\[\e[38;5;214m\]\$(byobu_prompt_symbol)\[\e[00m\] "
# For reference: https://upload.wikimedia.org/wikipedia/commons/1/15/Xterm_256color_chart.svg ;;
# Convert hex to 256: https://gist.githubusercontent.com/MicahElliott/719710/raw/73d047f0a3ffc35f0655488547e7f24fa3f04ea6/colortrans.py esac
# Use Wolfi colors (pink=170 / purple=98 / blue=63); flashing error code on previous command non-zero exit
PS1="\[\e[03;5;15;54m\]\$(byobu_prompt_status)\[\e[00m\]\[\e[38;5;170m\]\u\[\e[00m\]@\[\e[38;5;98m\]\h\[\e[00m\]:\[\e[38;5;63m\]\w\[\e[00m\]\$(byobu_prompt_symbol) "
;;
*)
# Use Googley colors (blue / red / yellow / blue / green / red )
PS1="${debian_chroot:+($debian_chroot)}\[\e[31m\]\$(byobu_prompt_status)\[\e[38;5;69m\]\u\[\e[38;5;214m\]@\[\e[38;5;167m\]\h\[\e[38;5;214m\]:\[\e[38;5;71m\]\w\[\e[38;5;214m\]\$(byobu_prompt_symbol)\[\e[00m\] "
;;
esac
fi
fi