Files
lunch-games/source/lunch/color.d
2025-04-29 01:59:15 +02:00

98 lines
1.7 KiB
D

module lunch.color;
const(char)[] black(const(char)[] str)
{
return "\x1B[30m" ~ str ~ "\x1B[0m";
}
const(char)[] red(const(char)[] str)
{
return "\x1B[31m" ~ str ~ "\x1B[0m";
}
const(char)[] green(const(char)[] str)
{
return "\x1B[32m" ~ str ~ "\x1B[0m";
}
const(char)[] yellow(const(char)[] str)
{
return "\x1B[33m" ~ str ~ "\x1B[0m";
}
const(char)[] blue(const(char)[] str)
{
return "\x1B[34m" ~ str ~ "\x1B[0m";
}
const(char)[] magenta(const(char)[] str)
{
return "\x1B[35m" ~ str ~ "\x1B[0m";
}
const(char)[] cyan(const(char)[] str)
{
return "\x1B[36m" ~ str ~ "\x1B[0m";
}
const(char)[] white(const(char)[] str)
{
return "\x1B[37m" ~ str ~ "\x1B[0m";
}
const(char)[] brightBlack(const(char)[] str)
{
return "\x1B[90m" ~ str ~ "\x1B[0m";
}
const(char)[] brightRed(const(char)[] str)
{
return "\x1B[91m" ~ str ~ "\x1B[0m";
}
const(char)[] brightGreen(const(char)[] str)
{
return "\x1B[92m" ~ str ~ "\x1B[0m";
}
const(char)[] brightYellow(const(char)[] str)
{
return "\x1B[93m" ~ str ~ "\x1B[0m";
}
const(char)[] brightBlue(const(char)[] str)
{
return "\x1B[94m" ~ str ~ "\x1B[0m";
}
const(char)[] brightMagenta(const(char)[] str)
{
return "\x1B[95m" ~ str ~ "\x1B[0m";
}
const(char)[] brightCyan(const(char)[] str)
{
return "\x1B[96m" ~ str ~ "\x1B[0m";
}
const(char)[] brightWhite(const(char)[] str)
{
return "\x1B[97m" ~ str ~ "\x1B[0m";
}
shared static this()
{
version (Windows)
{
import core.stdc.stdlib;
import core.sys.windows.windows;
// Are we attached to console?
if (GetConsoleWindow())
// Then run `color` to enable colors :)
system("color");
}
}