From 75a6160c1dab0b1bb21c94974cb2a0b92323c3d1 Mon Sep 17 00:00:00 2001 From: whilefoo Date: Wed, 18 Dec 2024 23:41:22 +0100 Subject: [PATCH 1/4] feat: comment style and add warning --- src/constants.ts | 1 + src/logs.ts | 54 +++++++++++++++++++++++----------------------- src/pretty-logs.ts | 6 ++++++ 3 files changed, 34 insertions(+), 27 deletions(-) diff --git a/src/constants.ts b/src/constants.ts index 6aaa928..b9eacfd 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -29,6 +29,7 @@ export const COLORS = { export const LOG_LEVEL = { FATAL: "fatal", ERROR: "error", + WARN: "warn", INFO: "info", VERBOSE: "verbose", DEBUG: "debug", diff --git a/src/logs.ts b/src/logs.ts index c9d8214..75125c1 100644 --- a/src/logs.ts +++ b/src/logs.ts @@ -1,6 +1,6 @@ import { LOG_LEVEL } from "./constants"; import { PrettyLogs } from "./pretty-logs"; -import { LogParams, LogReturn, Metadata, LogLevel } from "./types/log-types"; +import { LogParams, LogReturn, Metadata, LogLevel, LogLevelWithOk } from "./types/log-types"; export class Logs { private _maxLevel = -1; @@ -68,6 +68,17 @@ export class Logs { }); } + public warning(log: string, metadata?: Metadata): LogReturn { + metadata = this._addDiagnosticInformation(metadata); + return this._log({ + level: LOG_LEVEL.WARN, + consoleLog: Logs.console.warn, + logMessage: log, + metadata, + type: "warn", + }); + } + public error(log: string, metadata?: Metadata): LogReturn { metadata = this._addDiagnosticInformation(metadata); return this._log({ @@ -131,40 +142,27 @@ export class Logs { Logs.console = new PrettyLogs(); } - private _diffColorCommentMessage(type: string, message: string) { - const diffPrefix = { - fatal: "-", // - text in red - ok: "+", // + text in green - error: "!", // ! text in orange - info: "#", // # text in gray - debug: "@@@@", // @@ text in purple (and bold)@@ + private _diffColorCommentMessage(type: LogLevelWithOk, message: string) { + const diffPrefix: Record = { + fatal: "> [!CAUTION]", + error: "> [!CAUTION]", + warn: "> [!WARNING]", + ok: "> [!NOTE]", + info: "> [!NOTE]", + debug: "> [!NOTE]", + verbose: "> [!NOTE]", }; - const selected = diffPrefix[type as keyof typeof diffPrefix]; + const selected = diffPrefix[type]; if (selected) { message = message .trim() .split("\n") - .map((line) => `${selected} ${line}`) - .join("\n"); - } else if (type === "debug") { - // debug has special formatting - message = message - .split("\n") - .map((line) => `@@ ${line} @@`) - .join("\n"); // debug: "@@@@", - } else { - // default to gray - message = message - .split("\n") - .map((line) => `# ${line}`) + .map((line) => `> ${line}`) .join("\n"); } - const diffHeader = "```diff"; - const diffFooter = "```"; - - return [diffHeader, message, diffFooter].join("\n"); + return [selected, message].join("\n"); } private _getNumericLevel(level: LogLevel) { @@ -173,8 +171,10 @@ export class Logs { return 0; case LOG_LEVEL.ERROR: return 1; - case LOG_LEVEL.INFO: + case LOG_LEVEL.WARN: return 2; + case LOG_LEVEL.INFO: + return 3; case LOG_LEVEL.VERBOSE: return 4; case LOG_LEVEL.DEBUG: diff --git a/src/pretty-logs.ts b/src/pretty-logs.ts index fd89618..3cc009b 100644 --- a/src/pretty-logs.ts +++ b/src/pretty-logs.ts @@ -18,6 +18,10 @@ export class PrettyLogs { this._logWithStack(LOG_LEVEL.ERROR, message, metadata); } + public warn(message: string, metadata?: Metadata | string) { + this._logWithStack(LOG_LEVEL.WARN, message, metadata); + } + public ok(message: string, metadata?: Metadata | string) { this._logWithStack("ok", message, metadata); } @@ -99,6 +103,7 @@ export class PrettyLogs { const defaultSymbols: Record = { fatal: "×", ok: "✓", + warn: "⚠", error: "⚠", info: "›", debug: "››", @@ -124,6 +129,7 @@ export class PrettyLogs { const colorMap: Record = { fatal: ["error", COLORS.fgRed], ok: ["log", COLORS.fgGreen], + warn: ["warn", COLORS.fgYellow], error: ["warn", COLORS.fgYellow], info: ["info", COLORS.dim], debug: ["debug", COLORS.fgMagenta], From 2d1f3a9c3e0b5ba38299279e4ada6baaa693580a Mon Sep 17 00:00:00 2001 From: whilefoo Date: Wed, 18 Dec 2024 23:44:08 +0100 Subject: [PATCH 2/4] fix: name --- src/logs.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/logs.ts b/src/logs.ts index 75125c1..801d3b4 100644 --- a/src/logs.ts +++ b/src/logs.ts @@ -68,7 +68,7 @@ export class Logs { }); } - public warning(log: string, metadata?: Metadata): LogReturn { + public warn(log: string, metadata?: Metadata): LogReturn { metadata = this._addDiagnosticInformation(metadata); return this._log({ level: LOG_LEVEL.WARN, From fa92078edc7fc99a11c187306c1322d4052c7043 Mon Sep 17 00:00:00 2001 From: whilefoo Date: Sun, 22 Dec 2024 09:08:12 +0100 Subject: [PATCH 3/4] feat: change debug to IMPORTANT --- src/logs.ts | 2 +- src/pretty-logs.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/logs.ts b/src/logs.ts index 801d3b4..2f80270 100644 --- a/src/logs.ts +++ b/src/logs.ts @@ -149,7 +149,7 @@ export class Logs { warn: "> [!WARNING]", ok: "> [!NOTE]", info: "> [!NOTE]", - debug: "> [!NOTE]", + debug: "> [!IMPORTANT]", verbose: "> [!NOTE]", }; const selected = diffPrefix[type]; diff --git a/src/pretty-logs.ts b/src/pretty-logs.ts index 3cc009b..fe35fb0 100644 --- a/src/pretty-logs.ts +++ b/src/pretty-logs.ts @@ -7,6 +7,7 @@ export class PrettyLogs { this.info = this.info.bind(this); this.error = this.error.bind(this); this.fatal = this.fatal.bind(this); + this.warn = this.warn.bind(this); this.debug = this.debug.bind(this); this.verbose = this.verbose.bind(this); } From 9c9479ad80a2ead7d13d91e2d375e430ba5f0b9b Mon Sep 17 00:00:00 2001 From: whilefoo Date: Mon, 6 Jan 2025 23:36:11 +0100 Subject: [PATCH 4/4] feat: change to TIP --- src/logs.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/logs.ts b/src/logs.ts index 2f80270..f748872 100644 --- a/src/logs.ts +++ b/src/logs.ts @@ -147,7 +147,7 @@ export class Logs { fatal: "> [!CAUTION]", error: "> [!CAUTION]", warn: "> [!WARNING]", - ok: "> [!NOTE]", + ok: "> [!TIP]", info: "> [!NOTE]", debug: "> [!IMPORTANT]", verbose: "> [!NOTE]",