#!/bin/bash

# SUPER JANKY
# USE AT YOUR OWN RISK
# lol

# ASCII blocks: █▓▒░
block="░"
[ -z "$1" ] && c="$block" || c="$1"
[ -z "$2" ] && prompt="pi@blueberrypielol" || prompt="$2"
[[ "$@" == *"--raw"* ]] && praw=1
colors=18
chars=${#prompt}
let short=$chars/$colors # min length
let full="chars%colors"
let part="$colors-($chars%$colors)"  # short color count
let nmax="$chars%$colors"  # Long color count
[ $nmax -eq 0 ] && max=$short || let max=$short+1 # max length
pos=0
p=0
[[ "$c" == "b" ]] && c="$block"
for i in 196 202 214 220 226 190 154 118 85 87 39 33 27 63 99 135 171 207; do
 if [[ "$c" == "n" ]]; then
  pretty="${pretty}\e[38;5;${i}m${i}\e[0m "
 elif [[ "$c" == "p" ]]; then
   [ ${pos} -lt ${full} ] && len=$max || len=$short
   #${parameter:offset:length}
   pretty="${pretty}\e[38;5;${i}m${prompt:${p}:${len}}\e[0m"
   let p=p+len
   let pos=pos+1
 else
  pretty="${pretty}\e[38;5;${i}m${c}\e[0m"
 fi
done
echo
[ -z "$pretty" ] || echo -e $pretty
[ -z "$praw" ] || echo
[ -z "$praw" ] || echo $pretty
echo