@t-ski/pretty-log
v0.1.0
Published
Pretty log messages with color, format, and cursor manipulation.
Downloads
3
Readme
Pretty Log
Pretty log messages with color, format, and cursor manipulation.
npm install t-ski/pretty-log
Example Log
Example Source
prettyLog.BOLD.fg.WHITE.bg.color(128, 128, 255)(
` ${prettyLog.UNDERLINE("Example")} `
)
Synopsis
Pretty Log has a simple API: Provide an arbitrary chain of style expressions that are finally applied to a target string.
import prettyLog from "t-ski/pretty-log";
prettyLog.[<style-expression>]+(targetString: string): string;
Pretty log styled strings are nestable, i.e. can be embedded within styled strings themselves.
Style Expressions
Color
prettyLog.<fg|bg>.<Color>
// OR
prettyLog.<fg|bg>.color(r: number, g: number, b: number)
prettyLog.<fg|bg>.color(hex: string)
Color styles must be prepended by a color channel. fg
indicates the foreground color channel, whereas bg
is for the complementary background color channel.
| <Color>
| RGB |
| :- | -: |
| BLACK
| 0, 0, 0
|
| GRAY
| 128, 128, 128
|
| WHITE
| 255, 255, 255
|
| RED
| 255, 0, 0
|
| ORANGE
| 255, 128, 0
|
| YELLOW
| 255, 255, 0
|
| LIME
| 0, 255, 0
|
| GREEN
| 0, 255, 128
|
| CYAN
| 0, 255, 255
|
| BLUE
| 0, 0, 255
|
| PURPLE
| 128, 0, 255
|
| PINK
| 255, 0, 255
|
Example
prettyLog.bg.RED.fg.color(245, 245, 245)("Example");
Format
prettyLog.<Format>
| <Format>
| Description |
| :- | :- |
| BOLD
| Bold, i.e. higher intensity |
| FAINT
| Faint, i.e. lower intensity |
| ITALIC
| Italic |
| UNDERLINE
| Underlined |
| DOUBLY_UNDERLINE
| Doubly underlined |
| BLINK
| Blink effect |
| INVERT
| Invert coloring (fg
⇄ bg
) |
| STRIKE
| Strike through, i.e. crossed out |
Whether and how styles are displayed depends on the console application.
Example
prettyLog.BOLD.UNDERLINE("Example");
Cursor
prettyLog.<Cursor>
// OR
prettyLog.cursor(x: number, y: number)
| <Cursor>
| Description |
| :- | :- |
| UP
| Up one line (row) (same as .cursor(0, 1)
) |
| DOWN
| Down one line (same as .cursor(0, -1)
) |
| LEFT
| Left one space (column) (same as .cursor(-1, 0)
) |
| RIGHT
| Right one space (same as .cursor(1, 0)
) |
| CLEAR
| Clear current line |
| ERASE
| Clear the last completed line (\n
) |
| STORE
| Store the current cursor position |
| RESTORE
| Restore the current cursor position |
Example
prettyLog.CLEAR(".".repeat((++iteration % 3) + 1));
Macros
Assigning frequently used style chains to reusable macro variables might be helpful:
const CODE = prettyLog.BOLD.fg.ORANGE;
console.log(CODE(".method()"));
function badge(message) {
console.log(
prettyLog.BOLD.fg.WHITE.bg.color(128, 128, 255)(
` ${prettyLog.UNDERLINE(message.toUpperCase())} `
)
);
}
badge("Results");
© Thassilo Martin Schiepanski