ColorCat - Render Hex Colors in your Terminal like an IDE
ColorCat - Render Hex Colors in your Terminal like an IDE
#!/usr/bin/env bash # colorcat # - cats a file, but if any line contains N hex colors, it appends the colors # (rendered as ansi escape sequences) to the end of the line. # - input can be stdin, a file, or a hex color in plain text if [[ "$#" -eq 1 && ! -f "$1" ]]; then echo "$1" else cat "$@" fi | while read -r line; do colors="" for word in $line; do if [[ "$word" =~ ^[^A-Fa-f0-9]*#?([A-Fa-f0-9]{6})[^A-Fa-f0-9]*$ ]]; then hex=${BASH_REMATCH[1]} r=$((16#${hex:0:2})) g=$((16#${hex:2:2})) b=$((16#${hex:4:2})) truecolor="\033[48;2;${r};${g};${b}m" reset="\033[0m" colors="${colors}${truecolor} ${reset} " fi done echo -e "$line $colors" done