59 lines
1.0 KiB
Bash
Executable File
59 lines
1.0 KiB
Bash
Executable File
#! /bin/bash
|
|
#
|
|
# colortest.bash
|
|
# A script to ricily display a color palette
|
|
# Copyright (C) 2019 Vintage Salt <rehashedsalt@cock.li>
|
|
#
|
|
# Distributed under terms of the MIT license.
|
|
#
|
|
|
|
# Globals
|
|
teststring="•••"
|
|
padding=" "
|
|
spacer=" "
|
|
|
|
# Derived globals
|
|
teststringlen="$(( $(wc -m <<< "$teststring") - 1 ))"
|
|
|
|
# $1: Foreground color
|
|
# $2: Background color
|
|
printc() {
|
|
[ -z "$1" ] && return 1
|
|
[ -z "$2" ] && return 2
|
|
printf "\e[0m\e[$2m\e[$1m$padding$teststring$padding\e[0m"
|
|
}
|
|
# $1: Heading
|
|
printh() {
|
|
[ -z "$1" ] && return 1
|
|
printf "$padding%${teststringlen}s$padding$spacer" "$1"
|
|
}
|
|
println() {
|
|
printf "\\n"
|
|
}
|
|
|
|
# Headers
|
|
printf "%8s$spacer"
|
|
printh "0m"
|
|
for (( bg=40; bg<=47; bg++)); do
|
|
printh "${bg}m"
|
|
done
|
|
println
|
|
|
|
# Content
|
|
for fg in $(seq 30 1 37) "" $(seq 90 1 97); do
|
|
[ -z "$fg" ] && println && continue
|
|
headerstring="${fg}m"
|
|
printf "%8s$spacer" "$headerstring"
|
|
# No background
|
|
printc $fg 0
|
|
printf "$spacer"
|
|
# All backgrounds
|
|
for (( bg=40; bg<=47; bg++)); do
|
|
printc $fg $bg
|
|
printf "$spacer"
|
|
done
|
|
println
|
|
done
|
|
println
|
|
|