/**
* @file include/ansiesc.h
* @brief Define escape sequence macros
*/
#pragma once
#define ESCSI "\033["
#define ESCLR ESCSI "0m"
#define ESBLD ESCSI "1m"
#define ESTHN ESCSI "2m"
#define ESITA ESCSI "3m"
#define ESULN ESCSI "4m"
#define ESBLN ESCSI "5m"
#define ESFBLN ESCSI "6m"
#define ESREV ESCSI "7m"
#define ESHID ESCSI "8m"
#define ESUDO ESCSI "9m"
#define ESCBLK ESCSI "30m"
#define ESCRED ESCSI "31m"
#define ESCGRN ESCSI "32m"
#define ESCYEL ESCSI "33m"
#define ESCBLU ESCSI "34m"
#define ESCMGN ESCSI "35m"
#define ESCCYN ESCSI "36m"
#define ESCWHT ESCSI "37m"
#define ESCBBLK ESCSI "40m"
#define ESCBRED ESCSI "41m"
#define ESCBGRN ESCSI "42m"
#define ESCBYEL ESCSI "43m"
#define ESCBBLU ESCSI "44m"
#define ESCBMGN ESCSI "45m"
#define ESCBCYN ESCSI "46m"
#define ESCBWHT ESCSI "47m"
#define ESCCODE(code) ESCSI "38;5;" #code "m"
#define ESCCODE_RGB(r, g, b) ESCSI "38;2;" #r ";" #g ";" #b "m"
#define ESCUU(n) ESCSI #n "A"
#define ESCUD(n) ESCSI #n "B"
#define ESCUF(n) ESCSI #n "C"
#define ESCUB(n) ESCSI #n "D"
#define ESCNL(n) ESCSI #n "E"
#define ESCPL(n) ESCSI #n "F"
#define ESCHA(n) ESCSI #n "G"
#define ESCUP(n, m) ESCSI #n ";" #m "H"
#define ESED(n) ESCSI #n "J"
#define ESEL(n) ESCSI #n "K"
#define ESSU(n) ESCSI #n "S"
#define ESSD(n) ESCSI #n "T"
#define ESHVP(n, m) ESCSI #n ";" #m "f"
#define ESSCP ESCSI "s"
#define ESRCP ESCSI "u"