Skip to content

Instantly share code, notes, and snippets.

@godDLL
Last active October 30, 2021 17:14
Show Gist options
  • Save godDLL/8dfb9288e116515902342ca6fe03c81c to your computer and use it in GitHub Desktop.
Save godDLL/8dfb9288e116515902342ca6fe03c81c to your computer and use it in GitHub Desktop.
Ansi color cube with 24 grays (240 colors), and a simple 3x3x3 cube with 5-value grayscale ramp (32 colors).
#!/usr/bin/env fish
set -l G1 (seq 232 243)
set -l G2 231 15 (seq 255 244)
set -l G3 (seq 244 255) 231
switch "$argv[1]"
case '-h' '--help'
echo 'USAGE: colors-256 [-v|--verbose]' >&2
exit
case '-v' '--verbose'
echo 'col % go \e[%G'\t'move line,col \e[%;%Hm'\t%ABCD for udrl >&2
echo 'reset pos \e[Hm'\tclear cur \\e\[%Xm\tdel cur \\e\[%Pm >&2
echo reset attrs \\e\[0m\tclear all \\e\[Jm\t\tclear line \\e\[Km >&2
echo set attrs ' \e[*m \e[*;*m \e[*;*;*m' >&2
echo fore \\e\[30-37m\t back \\e\[40-47m\t' 'xterm-fore \\e\[38\;5\;%m' 'xterm-back \\e\[48\;5\;%m >&2
echo fore \\e\[90-97m\t back \\e\[100-107m\treset-fore \\e\[39m\treset-back \\e\[49m >&2
echo -e attrs\t \e\[1m1\e\[0m bold\t\e\[2m2\e\[0m dim\t\e\[3m3\e\[0m slant\t\e\[4m4\e\[0m under\t5 blink\t\e\[7m7\e\[0m inv\t8 n/a\t\e\[9m9\e\[0m strike >&2
set N '+'
echo >&2
for X in 16 0 $G1 $G2
if test 244 -gt "$X"
switch "$X"
case 231 15
if test 231 -eq "$X"
echo -ne \n'\e[38;5;16m\e[48;5;'$X'm' $X \e\[m
else
echo -ne '\e[38;5;16m\e[48;5;'$X'm \e[2m?\e[0m\e[38;5;16m\e[48;5;'$X'm'$X \e\[m
end
case 0
echo -ne '\e[38;5;15m\e[48;5;'$X'm \e[2m?\e[0m\e[38;5;15m\e[48;5;'$X'm'$X \e\[m
case 16
echo -ne '\e[38;5;15m\e[48;5;'$X'm '$X \e\[m
case '*'
echo -ne '\e[38;5;15m\e[48;5;'$X'm' $X \e\[m
end #switch
else
echo -ne '\e[38;5;16m\e[48;5;'$X'm' $X \e\[m
end
end
echo \n
set -l V3_1 16 18 21 - 28 32 39 46 49 51
set -l V3_2 124 90 93 - 136 139 141 154 157 195
set -l V3_3 196 198 201 - 208 211 219 226 229 231
echo -en "\e[5m"
set -l FG 231
for X in $V3_1
if test "+-" = "+$X"
set FG 0
continue
end
echo -ne '\e[38;5;'$FG'm\e[48;5;'$X'm '$X' \e[49m'
end
echo
for X in $V3_1
if test "+-" = "+$X"
continue
end
echo -ne '\e[48;5;'$X'm \e[49m'
end
echo
set -l FG 231
for X in $V3_2
if test "+-" = "+$X"
set FG 0
continue
end
if test 2 -eq (string length -- "$X")
echo -ne '\e[38;5;'$FG'm\e[48;5;'$X'm '$X' \e[49m'
else
echo -ne '\e[38;5;'$FG'm\e[48;5;'$X'm'$X' \e[49m'
end
end
echo
for X in $V3_2
if test "+-" = "+$X"
continue
end
echo -ne '\e[48;5;'$X'm \e[49m'
end
echo
set -l FG 231
for X in $V3_3
if test "+-" = "+$X"
set FG 16
continue
end
echo -ne '\e[38;5;'$FG'm\e[48;5;'$X'm'$X' \e[49m'
end
echo
for X in $V3_3
if test "+-" = "+$X"
continue
end
echo -ne '\e[48;5;'$X'm \e[49m'
end
echo -e '\e[0m'
case '*'
end #switch
set -l C (seq 16 231)
set -l P (seq 0 7)
set -l Q (seq 8 15)
set -l W 16 196 46 226 21 201 51 231
if test -z "$N"
for X in 16 $G1 $G3
echo -ne '\e[48;5;'$X'm \e[49m'
end
else
echo
for X in 16 234 238 244
if test 2 -eq (string length -- "$X")
echo -ne '\e[38;5;231m\e[48;5;'$X'm ' $X \e\[m
else
echo -ne '\e[38;5;231m\e[48;5;'$X'm '$X \e\[m
end
end #for
for X in 249 254 231
echo -ne '\e[38;5;16m\e[48;5;'$X'm' $X \e\[m
end #for
echo
end
echo
for X in $C
echo -ne '\e[48;5;'$X'm \e[49m'
if test 0 -eq (math -s0 "($X -15) % 36")
if test -n "$N"
echo -n ' '(math -s0 "$X -35")-$X
end
echo
end
end
echo
for X in $P
if test -z "$N"
echo -ne '\e[97;4'$X'm \e[49m'
else
echo -ne '\e[97;4'$X'm ' $X ' \e[m'
end
end
echo
for X in $W
if test -z "$N"
echo -ne '\e[38;5;231m\e[48;5;'$X'm \e[49m'
else
if test 2 -eq (string length -- "$X")
echo -ne '\e[38;5;231m\e[48;5;'$X'm ' $X' \e[m'
else
echo -ne '\e[38;5;16m\e[48;5;'$X'm '$X '\e[m'
end
end
end
echo
for X in $Q
if test -z "$N"
echo -ne '\e[48;5;'$X'm \e[49m'
else
if test 9 -ge "$X"
echo -ne '\e[38;5;16m\e[48;5;'$X'm ' $X ' \e[m'
else
echo -ne '\e[38;5;16m\e[48;5;'$X'm '$X ' \e[m'
end
end
end
echo
@godDLL
Copy link
Author

godDLL commented Sep 29, 2021

asciinema.org/a/438882
License MIT, free to do whatever. Yours to fuck up.

@godDLL
Copy link
Author

godDLL commented Sep 29, 2021

@godDLL
Copy link
Author

godDLL commented Oct 30, 2021

Photography test imgur.com/gallery/6pD6coY
rainbow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment