parcol
Version:
Parcol is a utility for parsing all ANSI colors methods in a string.
60 lines (59 loc) • 2.62 kB
JavaScript
import chalk from "chalk";
import terminalLink from "terminal-link";
// Colors and formatting
export const COLORS = [
{ id: "bc", method: (m) => chalk.black(m) },
{ id: "bl", method: (m) => chalk.blue(m) },
{ id: "c", method: (m) => chalk.cyan(m) },
{ id: "g", method: (m) => chalk.green(m) },
{ id: "m", method: (m) => chalk.magenta(m) },
{ id: "r", method: (m) => chalk.red(m) },
{ id: "y", method: (m) => chalk.yellow(m) },
{ id: "w", method: (m) => chalk.white(m) },
];
export const BRIGHT_COLORS = [
{ id: "bcb", method: (m) => chalk.blackBright(m) },
{ id: "blb", method: (m) => chalk.blueBright(m) },
{ id: "cb", method: (m) => chalk.cyanBright(m) },
{ id: "gb", method: (m) => chalk.greenBright(m) },
{ id: "mb", method: (m) => chalk.magentaBright(m) },
{ id: "rb", method: (m) => chalk.redBright(m) },
{ id: "yb", method: (m) => chalk.yellowBright(m) },
{ id: "wb", method: (m) => chalk.whiteBright(m) },
];
export const BG_COLORS = [
{ id: "bgbc", method: (m) => chalk.bgBlack(m) },
{ id: "bgbl", method: (m) => chalk.bgBlue(m) },
{ id: "bgc", method: (m) => chalk.bgCyan(m) },
{ id: "bgg", method: (m) => chalk.bgGreen(m) },
{ id: "bgm", method: (m) => chalk.bgMagenta(m) },
{ id: "bgr", method: (m) => chalk.bgRed(m) },
{ id: "bgy", method: (m) => chalk.bgYellow(m) },
{ id: "bgw", method: (m) => chalk.bgWhite(m) },
];
export const BG_BRIGHT_COLORS = [
{ id: "bbcb", method: (m) => chalk.bgBlackBright(m) },
{ id: "bblb", method: (m) => chalk.bgBlueBright(m) },
{ id: "bcb", method: (m) => chalk.bgCyanBright(m) },
{ id: "bgb", method: (m) => chalk.bgGreenBright(m) },
{ id: "bmb", method: (m) => chalk.bgMagentaBright(m) },
{ id: "brb", method: (m) => chalk.bgRedBright(m) },
{ id: "byb", method: (m) => chalk.bgYellowBright(m) },
{ id: "bwb", method: (m) => chalk.bgWhiteBright(m) },
];
export const MODS = [
{ id: "b", method: (m) => chalk.bold(m) },
{ id: "d", method: (m) => chalk.dim(m) },
{ id: "h", method: (m) => chalk.hidden(m) },
{ id: "in", method: (m) => chalk.inverse(m) },
{ id: "it", method: (m) => chalk.italic(m) },
{ id: "o", method: (m) => chalk.overline(m) },
{ id: "rs", method: (m) => chalk.reset(m) },
{ id: "st", method: (m) => chalk.strikethrough(m) },
{ id: "u", method: (m) => chalk.underline(m) },
{ id: "v", method: (m) => chalk.visible(m) },
{ id: "l", method: (m) => {
const [text, link] = m.split('->').map(part => part.trim());
return terminalLink(text, link);
} },
];