Rich command-line formater for vt100.
Go to file
xdrm-brackets 455fcb1fe7 update 'internal/color' and its tests 2019-01-27 17:03:07 +01:00
cmd/clifmt add executable -help explanation 2019-01-27 16:40:21 +01:00
internal update 'internal/color' and its tests 2019-01-27 17:03:07 +01:00
README.md add CI badge to readme 2019-01-27 11:39:30 +01:00
clifmt.go allow escaping special characters (*, _, $, [) | fix: append last character when cursor is len-1 after all matches | add transform/markdown/hyperlink format 2019-01-27 16:39:34 +01:00
clifmt_test.go update structure | 'internal/color' for color type and theme | 'internal/transform/color' for colorization | 'internal/transform/markdown' for markdown-like formatting | 'clifmt.go' tests | make colorization + markdown-like format available for nesting (and cross-nesting?) 2019-01-25 16:14:45 +01:00

README.md

| extended terminal format |

Go version Go Report Card Go doc buddy branch

Simple utility written in go that extends the standard fmt.Sprintf and fmt.Printf functions. It allows you to set foreground/background color, bold, underlined and italic text.


(1) Format

[Colorization]

Base format

${<target text>}(<fg>:<bg>)
  • <target text> is the text that will be colorized.

  • <fg> is the name of the foreground color (c.f. color list), or an hex color (e.g.#00ffaa, #0fa).

  • <bg> is the name of the background color with the same syntax as for the foreground.

Example
clifmt.Printf("normal text ${red text over black}(red:#000) normal text")

Note that it is not recommended to nest the different coloring formats.

Foreground only

${<target text>}(<fg>)
  • <target text> is the text that will be colorized.
  • <fg> is the name of the foreground color.
Example
clifmt.Printf("normal text ${red text}(red) normal text")

Background only

${<target text>}(:<bg>)
  • <target text> is the text that will be colorized.
  • <bg> is the name of the background color.
Example
clifmt.Printf("normal text ${text over red}(#ff0000) normal text")

[Markdown-like format]

Bold format

**<target text>**
  • <target text> is the text that will be bold.
Example
clifmt.Printf("normal text **bold text** normal text")

Italic format

*<target text>*
  • <target text> is the text that will be italic.
Example
clifmt.Printf("normal text *italic text* normal text")

Underline format

_<target text>_
  • <target text> is the text that will be underlined.
Example
clifmt.Printf("normal text _underline text_ normal text")

(2) Screenshot

Colorizing format example :

colorizing example

Markdown-like format example

markdown-like example


(3) Incoming features

  • markdown-like formatting - bold, italic, underlined, (strike-through?)
  • global alignment - align text dynamically
  • progress-line - redrawing format to show, for instance an animated progress bar on the same line