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"); } }