From acf6e06e78e72ddd1049aefc8e5c5361175cc260 Mon Sep 17 00:00:00 2001 From: Casper Beyer Date: Sat, 29 Aug 2020 06:19:59 +0000 Subject: [PATCH] feat(std/fmt): add bright color variations --- std/fmt/colors.ts | 64 ++++++++++++++++++++++++++++++++++++++++++ std/fmt/colors_test.ts | 64 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 128 insertions(+) diff --git a/std/fmt/colors.ts b/std/fmt/colors.ts index 7a12b28837ee99..bb0f334fa0e022 100644 --- a/std/fmt/colors.ts +++ b/std/fmt/colors.ts @@ -120,9 +120,41 @@ export function white(str: string): string { } export function gray(str: string): string { + return brightBlack(str); +} + +export function brightBlack(str: string): string { return run(str, code([90], 39)); } +export function brightRed(str: string): string { + return run(str, code([91], 39)); +} + +export function brightGreen(str: string): string { + return run(str, code([92], 39)); +} + +export function brightYellow(str: string): string { + return run(str, code([93], 39)); +} + +export function brightBlue(str: string): string { + return run(str, code([94], 39)); +} + +export function brightMagenta(str: string): string { + return run(str, code([95], 39)); +} + +export function brightCyan(str: string): string { + return run(str, code([96], 39)); +} + +export function brightWhite(str: string): string { + return run(str, code([97], 39)); +} + export function bgBlack(str: string): string { return run(str, code([40], 49)); } @@ -155,6 +187,38 @@ export function bgWhite(str: string): string { return run(str, code([47], 49)); } +export function bgBrightBlack(str: string): string { + return run(str, code([100], 49)); +} + +export function bgBrightRed(str: string): string { + return run(str, code([101], 49)); +} + +export function bgBrightGreen(str: string): string { + return run(str, code([102], 49)); +} + +export function bgBrightYellow(str: string): string { + return run(str, code([103], 49)); +} + +export function bgBrightBlue(str: string): string { + return run(str, code([104], 49)); +} + +export function bgBrightMagenta(str: string): string { + return run(str, code([105], 49)); +} + +export function bgBrightCyan(str: string): string { + return run(str, code([106], 49)); +} + +export function bgBrightWhite(str: string): string { + return run(str, code([107], 49)); +} + /* Special Color Sequences */ function clampAndTruncate(n: number, max = 255, min = 0): number { diff --git a/std/fmt/colors_test.ts b/std/fmt/colors_test.ts index dea27f84e03fd3..a43bd82fe95d3d 100644 --- a/std/fmt/colors_test.ts +++ b/std/fmt/colors_test.ts @@ -87,6 +87,38 @@ Deno.test("testGray", function (): void { assertEquals(c.gray("foo bar"), "foo bar"); }); +Deno.test("testBrightBlack", function (): void { + assertEquals(c.brightBlack("foo bar"), "foo bar"); +}); + +Deno.test("testBrightRed", function (): void { + assertEquals(c.brightRed("foo bar"), "foo bar"); +}); + +Deno.test("testBrightGreen", function (): void { + assertEquals(c.brightGreen("foo bar"), "foo bar"); +}); + +Deno.test("testBrightYellow", function (): void { + assertEquals(c.brightYellow("foo bar"), "foo bar"); +}); + +Deno.test("testBrightBlue", function (): void { + assertEquals(c.brightBlue("foo bar"), "foo bar"); +}); + +Deno.test("testBrightMagenta", function (): void { + assertEquals(c.brightMagenta("foo bar"), "foo bar"); +}); + +Deno.test("testBrightCyan", function (): void { + assertEquals(c.brightCyan("foo bar"), "foo bar"); +}); + +Deno.test("testBrightWhite", function (): void { + assertEquals(c.brightWhite("foo bar"), "foo bar"); +}); + Deno.test("testBgBlack", function (): void { assertEquals(c.bgBlack("foo bar"), "foo bar"); }); @@ -119,6 +151,38 @@ Deno.test("testBgWhite", function (): void { assertEquals(c.bgWhite("foo bar"), "foo bar"); }); +Deno.test("testBgBrightBlack", function (): void { + assertEquals(c.bgBrightBlack("foo bar"), "foo bar"); +}); + +Deno.test("testBgBrightRed", function (): void { + assertEquals(c.bgBrightRed("foo bar"), "foo bar"); +}); + +Deno.test("testBgBrightGreen", function (): void { + assertEquals(c.bgBrightGreen("foo bar"), "foo bar"); +}); + +Deno.test("testBgBrightYellow", function (): void { + assertEquals(c.bgBrightYellow("foo bar"), "foo bar"); +}); + +Deno.test("testBgBrightBlue", function (): void { + assertEquals(c.bgBrightBlue("foo bar"), "foo bar"); +}); + +Deno.test("testBgBrightMagenta", function (): void { + assertEquals(c.bgBrightMagenta("foo bar"), "foo bar"); +}); + +Deno.test("testBgBrightCyan", function (): void { + assertEquals(c.bgBrightCyan("foo bar"), "foo bar"); +}); + +Deno.test("testBgBrightWhite", function (): void { + assertEquals(c.bgBrightWhite("foo bar"), "foo bar"); +}); + Deno.test("testClampUsingRgb8", function (): void { assertEquals(c.rgb8("foo bar", -10), "foo bar"); });