aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Wittamore <philip@wittamore.com>2025-05-17 15:37:08 +0200
committerPhilip Wittamore <philip@wittamore.com>2025-05-17 15:37:08 +0200
commit1a81432a550f5f4a0d638a6ef22fe6d922f71326 (patch)
tree3c315836ffd0fa659847f6c47a064cca9dfbc7c7
parent7151df8f8cd23993c67e6bfa7eb7d4ced7870f06 (diff)
downloadbashlib-1a81432a550f5f4a0d638a6ef22fe6d922f71326.tar.gz
bashlib-1a81432a550f5f4a0d638a6ef22fe6d922f71326.tar.bz2
bashlib-1a81432a550f5f4a0d638a6ef22fe6d922f71326.zip
update
-rwxr-xr-xcolour_test9
-rwxr-xr-xpb_colour85
2 files changed, 77 insertions, 17 deletions
diff --git a/colour_test b/colour_test
index 277582d..8853cff 100755
--- a/colour_test
+++ b/colour_test
@@ -3,10 +3,17 @@
# 256 colour functions
# usage:
source ~/.local/lib/pb_number
-source ~/.local/lib/pb_colour
+source ./pb_colour
printf %b "$(pb_bg 196)$(pb_fg 254) RED $(pb_nc)\n"
printf %b "$(pb_bg ABC)$(pb_fg 254) NOT RED $(pb_nc)\n"
printf %b "$(pb_bg )$(pb_fg 254) NOT RED $(pb_nc)\n"
+
+printf %b "$(pb_ef bold) BOLD TEXT $(pb_nc)\n"
+printf %b "$(pb_ef underscore) UNDERSCORE TEXT $(pb_nc)\n"
+printf %b "$(pb_ef italic) ITALIC TEXT $(pb_nc)\n"
+printf %b "$(pb_ef strikethrough) STRIKETHROUGH TEXT $(pb_nc)\n"
+printf %b "$(pb_ef rubbish) RUBBISH TEXT $(pb_nc)\n"
+printf %b "$(pb_ef dim) DIM TEXT $(pb_nc)\n"
diff --git a/pb_colour b/pb_colour
index 89f6354..6938399 100755
--- a/pb_colour
+++ b/pb_colour
@@ -3,45 +3,98 @@
#--- 256 colour functions
# requires pb_number
# usage:
-# source ./pb
-# printf %b "$(pb_bg 196)$(pb_fg 254) RED $(pb_nc)\n"
+# source ./pb
+# printf %b "$(pb_bg 196)$(pb_fg 254) RED $(pb_nc)\n"
pb_nc() {
+
+ if [ -z "$TERM" ] || (($(tput colors) != 256)); then
+ return 1
+ fi
+
printf '\033[0;0m';
- exit;
+ return 0
}
pb_fg() {
- if [ -z "$1" ] || ! pb_isuint "$1" ; then
+ if [ -z "$TERM" ] || (($(tput colors) != 256)); then
return 1
fi
-
- local x
- x=$(tput colors)
- if (("$1" < 256)) && (("$x" > 255)); then
- printf %s "\033[38;5;$1m"
+ if [ -z "$1" ] || (("$1" > 255)) || ! pb_isuint "$1" ; then
+ return 1
fi
+ printf %s "\033[38;5;$1m"
return 0
}
pb_bg() {
- if [ -z "$1" ] || ! pb_isuint "$1" ; then
+ if [ -z "$TERM" ] || (($(tput colors) != 256)); then
return 1
fi
- local x
- x=$(tput colors)
-
- if (("$1" < 256)) && (("$x" > 255)); then
- printf %s "\033[48;5;$1m"
+ if [ -z "$1" ] || (("$1" > 255)) || ! pb_isuint "$1" ; then
+ return 1
fi
+ printf %s "\033[48;5;$1m"
return 0
+
}
-
+
+pb_ef() {
+
+ case $1 in
+
+ "bold")
+ printf %s "\033[1m"
+ return 0
+ ;;
+
+ "dim")
+ printf %s "\033[2m"
+ return 0
+ ;;
+
+ "italic")
+ printf %s "\033[3m"
+ return 0
+ ;;
+
+ "underscore")
+ printf %s "\033[4m"
+ return 0
+ ;;
+
+ "blink")
+ printf %s "\033[5m"
+ return 0
+ ;;
+
+ "reverse")
+ printf %s "\033[7m"
+ return 0
+ ;;
+
+ "hidden")
+ printf %s "\033[8m"
+ return 0
+ ;;
+
+ "strikethrough")
+ printf %s "\033[9m"
+ return 0
+ ;;
+
+ *)
+ return 1
+ ;;
+esac
+
+}
+
# end 256 colour functions