33# MIT License
44# ===========
55#
6- # Copyright (C) 2018-2024 Joseph Tingiris <joseph.tingiris@gmail.com>
6+ # Copyright (C) 2018-2026 Joseph Tingiris <joseph.tingiris@gmail.com>
77#
88# Permission is hereby granted, free of charge, to any person obtaining a copy
99# of this software and associated documentation files (the "Software"), to deal
4242
4343# exit/return for terms that may not support following functions
4444case " ${TERM} " in
45- alacritty* |ansi* |* color|screen* |* tmux* |* xterm* )
46- ;;
45+ alacritty* | ansi* | * color | screen* | * tmux* | * xterm* ) ;;
4746 * )
4847 if [ " ${0} " == " ${BASH_SOURCE} " ]; then
4948 exit
5049 else
5150 return
5251 fi
52+ ;;
5353esac
5454
5555#
@@ -70,7 +70,7 @@ _bd_ansi() {
7070 case ${bd_ansi} in
7171 bold) echo -ne ' \e[1m' ;;
7272 dim) echo -ne ' \e[2m' ;;
73- italic| italics) echo -ne ' \e[3m' ;;
73+ italic | italics) echo -ne ' \e[3m' ;;
7474 underline) echo -ne ' \e[4m' ;;
7575 blink) echo -ne ' \e[5m' ;;
7676 blink_slow) echo -ne ' \e[5m' ;;
@@ -82,7 +82,7 @@ _bd_ansi() {
8282 reset_all) echo -ne " ${bd_ansi_reset_all} " ;;
8383 reset_bold) echo -ne ' \e[21m' ;;
8484 reset_dim) echo -ne ' \e[22m' ;;
85- reset_italic| reset_italics) echo -ne ' \e[23m' ;;
85+ reset_italic | reset_italics) echo -ne ' \e[23m' ;;
8686 reset_underline) echo -ne ' \e[24m' ;;
8787 reset_blink) echo -ne ' \e[25m' ;;
8888 reset_reverse) echo -ne ' \e[27m' ;;
@@ -96,121 +96,129 @@ _bd_ansi() {
9696 # black names are low intensity to high intensity
9797
9898 # standard 0 (black)
99- fg_black1| fg_black| black) echo -ne ' \e[30m' ;; # FG Black
100- fg_black2| fg_bright_black) echo -ne ' \e[90m' ;; # FG Bright Black (Gray)
99+ fg_black1 | fg_black | black) echo -ne ' \e[30m' ;; # FG Black
100+ fg_black2 | fg_bright_black) echo -ne ' \e[90m' ;; # FG Bright Black (Gray)
101101
102- bg_black1| bg_black) echo -ne ' \e[40m' ;; # BG Black
103- bg_black2| bg_bright_black) echo -ne ' \e[100m' ;; # BG Bright Black (Gray)
102+ bg_black1 | bg_black) echo -ne ' \e[40m' ;; # BG Black
103+ bg_black2 | bg_bright_black) echo -ne ' \e[100m' ;; # BG Bright Black (Gray)
104104
105105 # all other color names are high intensity to low intensity; colors greather than 2 use the 256 pallet
106106
107107 # standard 1 (red)
108- fg_red1| fg_bright_red| bright_red) echo -ne ' \e[91m' ;; # FG Bright Red
109- fg_red2| fg_red| red) echo -ne ' \e[31m' ;; # FG Red
108+ fg_red1 | fg_bright_red | bright_red) echo -ne ' \e[91m' ;; # FG Bright Red
109+ fg_red2 | fg_red | red) echo -ne ' \e[31m' ;; # FG Red
110110 fg_red3) echo -ne ' \e[38;5;124m' ;;
111111 fg_red4) echo -ne ' \e[38;5;88m' ;;
112112 fg_red5) echo -ne ' \e[38;5;52m' ;;
113113
114- bg_red1| bg_bright_red) echo -ne ' \e[101m' ;; # BG Bright Red
115- bg_red2| bg_red) echo -ne ' \e[41m' ;; # BG Red
114+ bg_red1 | bg_bright_red) echo -ne ' \e[101m' ;; # BG Bright Red
115+ bg_red2 | bg_red) echo -ne ' \e[41m' ;; # BG Red
116116 bg_red3) echo -ne ' \e[48;5;124m' ;;
117117 bg_red4) echo -ne ' \e[48;5;88m' ;;
118118 bg_red5) echo -ne ' \e[48;5;52m' ;;
119119
120120 # standard 2 (green)
121- fg_green1| fg_bright_green| bright_green) echo -ne ' \e[92m' ;; # FG Bright Green
122- fg_green2| fg_green| green) echo -ne ' \e[32m' ;; # FG Green
121+ fg_green1 | fg_bright_green | bright_green) echo -ne ' \e[92m' ;; # FG Bright Green
122+ fg_green2 | fg_green | green) echo -ne ' \e[32m' ;; # FG Green
123123 fg_green3) echo -ne ' \e[38;5;28m' ;;
124124 fg_green4) echo -ne ' \e[38;5;22m' ;;
125125 fg_green5) echo -ne ' \e[38;5;58m' ;;
126126
127- bg_green1| bg_bright_green) echo -ne ' \e[102m' ;; # BG Bright Green
128- bg_green2| bg_green) echo -ne ' \e[42m' ;; # BG Green
127+ bg_green1 | bg_bright_green) echo -ne ' \e[102m' ;; # BG Bright Green
128+ bg_green2 | bg_green) echo -ne ' \e[42m' ;; # BG Green
129129 bg_green3) echo -ne ' \e[48;5;28m' ;;
130130 bg_green4) echo -ne ' \e[48;5;22m' ;;
131131 bg_green5) echo -ne ' \e[48;5;58m' ;;
132132
133133 # standard 3 (yellow)
134- fg_yellow1| fg_bright_yellow| bright_yellow) echo -ne ' \e[93m' ;;
135- fg_yellow2| fg_yellow| yellow) echo -ne ' \e[33m' ;;
134+ fg_yellow1 | fg_bright_yellow | bright_yellow) echo -ne ' \e[93m' ;;
135+ fg_yellow2 | fg_yellow | yellow) echo -ne ' \e[33m' ;;
136136 fg_yellow3) echo -ne ' \e[38;5;178m' ;;
137137 fg_yellow4) echo -ne ' \e[38;5;172m' ;;
138138 fg_yellow5) echo -ne ' \e[38;5;136m' ;;
139139
140- bg_yellow1| bg_bright_yellow) echo -ne ' \e[103m' ;;
141- bg_yellow2| bg_yellow) echo -ne ' \e[43m' ;;
140+ bg_yellow1 | bg_bright_yellow) echo -ne ' \e[103m' ;;
141+ bg_yellow2 | bg_yellow) echo -ne ' \e[43m' ;;
142142 bg_yellow3) echo -ne ' \e[48;5;178m' ;;
143143 bg_yellow4) echo -ne ' \e[48;5;172m' ;;
144144 bg_yellow5) echo -ne ' \e[48;5;136m' ;;
145145
146146 # standard 4 (blue)
147- fg_blue1| fg_bright_blue| bright_blue) echo -ne ' \e[94m' ;;
148- fg_blue2| fg_blue| blue) echo -ne ' \e[34m' ;;
147+ fg_blue1 | fg_bright_blue | bright_blue) echo -ne ' \e[94m' ;;
148+ fg_blue2 | fg_blue | blue) echo -ne ' \e[34m' ;;
149149 fg_blue3) echo -ne ' \e[38;5;20m' ;;
150150 fg_blue4) echo -ne ' \e[38;5;19m' ;;
151151 fg_blue5) echo -ne ' \e[38;5;18m' ;;
152152
153- bg_blue1| bg_bright_blue) echo -ne ' \e[104m' ;;
154- bg_blue2| bg_blue) echo -ne ' \e[44m' ;;
153+ bg_blue1 | bg_bright_blue) echo -ne ' \e[104m' ;;
154+ bg_blue2 | bg_blue) echo -ne ' \e[44m' ;;
155155 bg_blue3) echo -ne ' \e[48;5;20m' ;;
156156 bg_blue4) echo -ne ' \e[48;5;19m' ;;
157157 bg_blue5) echo -ne ' \e[48;5;18m' ;;
158158
159159 # standard 5 (magenta)
160- fg_magenta1| fg_bright_magenta| bright_magenta) echo -ne ' \e[95m' ;;
161- fg_magenta2| fg_magenta| magenta) echo -ne ' \e[35m' ;;
160+ fg_magenta1 | fg_bright_magenta | bright_magenta) echo -ne ' \e[95m' ;;
161+ fg_magenta2 | fg_magenta | magenta) echo -ne ' \e[35m' ;;
162162 fg_magenta3) echo -ne ' \e[38;5;90m' ;;
163163 fg_magenta4) echo -ne ' \e[38;5;91m' ;;
164164 fg_magenta5) echo -ne ' \e[38;5;55m' ;;
165165
166- bg_magenta1| bg_bright_magenta) echo -ne ' \e[105m' ;;
167- bg_magenta2| bg_magenta) echo -ne ' \e[45m' ;;
166+ bg_magenta1 | bg_bright_magenta) echo -ne ' \e[105m' ;;
167+ bg_magenta2 | bg_magenta) echo -ne ' \e[45m' ;;
168168 bg_magenta3) echo -ne ' \e[48;5;90m' ;;
169169 bg_magenta4) echo -ne ' \e[48;5;91m' ;;
170170 bg_magenta5) echo -ne ' \e[48;5;55m' ;;
171171
172172 # standard 6 (cyan)
173- fg_cyan1| fg_bright_cyan| bright_cyan) echo -ne ' \e[96m' ;;
174- fg_cyan2| fg_cyan| cyan) echo -ne ' \e[36m' ;;
173+ fg_cyan1 | fg_bright_cyan | bright_cyan) echo -ne ' \e[96m' ;;
174+ fg_cyan2 | fg_cyan | cyan) echo -ne ' \e[36m' ;;
175175 fg_cyan3) echo -ne ' \e[38;5;37m' ;;
176176 fg_cyan4) echo -ne ' \e[38;5;30m' ;;
177177 fg_cyan5) echo -ne ' \e[38;5;23m' ;;
178178
179- bg_cyan1| bg_bright_cyan) echo -ne ' \e[106m' ;;
180- bg_cyan2| bg_cyan) echo -ne ' \e[46m' ;;
179+ bg_cyan1 | bg_bright_cyan) echo -ne ' \e[106m' ;;
180+ bg_cyan2 | bg_cyan) echo -ne ' \e[46m' ;;
181181 bg_cyan3) echo -ne ' \e[48;5;37m' ;;
182182 bg_cyan4) echo -ne ' \e[48;5;30m' ;;
183183 bg_cyan5) echo -ne ' \e[48;5;23m' ;;
184184
185185 # standard 7 (white)
186- fg_white1| fg_bright_white| bright_white) echo -ne ' \e[97m' ;;
187- fg_white2| fg_white| white) echo -ne ' \e[37m' ;;
186+ fg_white1 | fg_bright_white | bright_white) echo -ne ' \e[97m' ;;
187+ fg_white2 | fg_white | white) echo -ne ' \e[37m' ;;
188188 fg_white3) echo -ne ' \e[38;5;252m' ;;
189189 fg_white4) echo -ne ' \e[38;5;251m' ;;
190190 fg_white5) echo -ne ' \e[38;5;250m' ;;
191191
192- bg_white1| bg_bright_white) echo -ne ' \e[107m' ;;
193- bg_white2| bg_white) echo -ne ' \e[47m' ;;
192+ bg_white1 | bg_bright_white) echo -ne ' \e[107m' ;;
193+ bg_white2 | bg_white) echo -ne ' \e[47m' ;;
194194 bg_white3) echo -ne ' \e[48;5;252m' ;;
195195 bg_white4) echo -ne ' \e[48;5;251m' ;;
196196 bg_white5) echo -ne ' \e[48;5;250m' ;;
197197
198198 # standard 8 (gray)
199- fg_gray1|fg_bright_gray|bright_gray|fg_grey1|fg_bright_grey|bright_grey) echo -ne ' \e[38;5;249m' ;;
200- fg_gray2|fg_gray|gray|fg_grey2|fg_grey|grey) echo -ne ' \e[38;5;246m' ;;
201- fg_gray3|fg_grey3) echo -ne ' \e[38;5;243m' ;;
202- fg_gray4|fg_grey4) echo -ne ' \e[38;5;240m' ;;
203- fg_gray5|fg_grey5) echo -ne ' \e[38;5;237m' ;;
204-
205- bg_gray1|bg_gray|bg_grey1|bg_grey) echo -ne ' \e[48;5;249m' ;;
206- bg_gray2|bg_grey2) echo -ne ' \e[48;5;246m' ;;
207- bg_gray3|bg_grey3) echo -ne ' \e[48;5;243m' ;;
208- bg_gray4|bg_grey4) echo -ne ' \e[48;5;240m' ;;
209- bg_gray5|bg_grey5) echo -ne ' \e[48;5;237m' ;;
210-
211- bg* ) bd_ansi=${bd_ansi/ bg/ } ; bd_ansi=${bd_ansi// _/ } ; [[ " ${bd_ansi} " =~ ^[0-9]+$ ]] && echo -ne " \e[48;5;${bd_ansi} m" ;;
199+ fg_gray1 | fg_bright_gray | bright_gray | fg_grey1 | fg_bright_grey | bright_grey) echo -ne ' \e[38;5;249m' ;;
200+ fg_gray2 | fg_gray | gray | fg_grey2 | fg_grey | grey) echo -ne ' \e[38;5;246m' ;;
201+ fg_gray3 | fg_grey3) echo -ne ' \e[38;5;243m' ;;
202+ fg_gray4 | fg_grey4) echo -ne ' \e[38;5;240m' ;;
203+ fg_gray5 | fg_grey5) echo -ne ' \e[38;5;237m' ;;
204+
205+ bg_gray1 | bg_gray | bg_grey1 | bg_grey) echo -ne ' \e[48;5;249m' ;;
206+ bg_gray2 | bg_grey2) echo -ne ' \e[48;5;246m' ;;
207+ bg_gray3 | bg_grey3) echo -ne ' \e[48;5;243m' ;;
208+ bg_gray4 | bg_grey4) echo -ne ' \e[48;5;240m' ;;
209+ bg_gray5 | bg_grey5) echo -ne ' \e[48;5;237m' ;;
210+
211+ bg* )
212+ bd_ansi=${bd_ansi/ bg/ }
213+ bd_ansi=${bd_ansi// _/ }
214+ [[ ${bd_ansi} =~ ^[0-9]+$ ]] && echo -ne " \e[48;5;${bd_ansi} m"
215+ ;;
212216
213- fg* ) bd_ansi=${bd_ansi/ fg/ } ; bd_ansi=${bd_ansi// _/ } ; [[ " ${bd_ansi} " =~ ^[0-9]+$ ]] && echo -ne " \e[38;5;${bd_ansi} m" ;;
217+ fg* )
218+ bd_ansi=${bd_ansi/ fg/ }
219+ bd_ansi=${bd_ansi// _/ }
220+ [[ ${bd_ansi} =~ ^[0-9]+$ ]] && echo -ne " \e[38;5;${bd_ansi} m"
221+ ;;
214222
215223 * )
216224 echo " ${FUNCNAME} has no case for '${bd_ansi} '" 1>&2
@@ -252,11 +260,10 @@ _bd_ansi_chart() {
252260 bd_ansi_color_names+=(" fg_gray1 fg_bright_gray bright_gray fg_grey1 fg_bright_grey bright_grey fg_gray2 fg_gray gray fg_grey2 fg_grey grey fg_gray3 fg_grey3 fg_gray4 fg_grey4 fg_gray5 fg_grey5" )
253261 bd_ansi_color_names+=(" bg_gray1 bg_gray bg_grey1 bg_grey bg_gray2 bg_grey2 bg_gray3 bg_grey3 bg_gray4 bg_grey4 bg_gray5 bg_grey5" )
254262
255-
256263 for bd_ansi_color_name in ${bd_ansi_color_names[@]} ; do
257264 [ -z ${bd_ansi_color_name} ] && continue
258265 if [ " ${1} " != " " ]; then
259- if [[ " ${bd_ansi_color_name} " != * " ${1} " * ]]; then
266+ if [[ ${bd_ansi_color_name} != * " ${1} " * ]]; then
260267 continue
261268 fi
262269 fi
@@ -300,7 +307,7 @@ _bd_ansi_chart_256() {
300307_bd_ansi_chart_256_bg () {
301308 for bd_ansi_color in {0..255}; do
302309 echo -ne " \e[48;5;${bd_ansi_color} m \\ \e[48;5;${bd_ansi_color} m \e[0m"
303- if [ $(( (${ bd_ansi_color} + 1 ) % 6 )) == 4 ]; then
310+ if [ $(( (bd_ansi_color + 1 ) % 6 )) == 4 ]; then
304311 echo
305312 fi
306313 done
@@ -310,7 +317,7 @@ _bd_ansi_chart_256_bg() {
310317_bd_ansi_chart_256_fg () {
311318 for bd_ansi_color in {0..255}; do
312319 echo -ne " \e[38;5;${bd_ansi_color} m \\ \e[38;5;${bd_ansi_color} m \e[0m"
313- if [ $(( (${ bd_ansi_color} + 1 ) % 6 )) == 4 ]; then
320+ if [ $(( (bd_ansi_color + 1 ) % 6 )) == 4 ]; then
314321 echo
315322 fi
316323 done
0 commit comments