9a73ed5c3c | ||
---|---|---|
cmd/clifmt | ||
internal | ||
README.md | ||
printer.go | ||
printer_test.go | ||
progress.go | ||
util.go |
README.md
| extended terminal format |
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
- (2) Screenshot * Colorizing format example : * Markdown-like format example
- (3) Incoming features
(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")
Hyperlink format
[<target text>](<target url>)
<target text>
is the text that will be displayed.<target url>
is the url the hyperlink links to.
Example
clifmt.Printf("normal text [hyper](link) normal text")
(2) Screenshot
Colorizing format example :
Markdown-like format 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