1 Commits
0.3.5 ... 0.4.0

Author SHA1 Message Date
49342818ec Add basic support for ANSI color escape codes.
Nim's `terminal` library provides ANSI terminal escape support, but
only when writing directly to a File handle. This commit adds the
`term{FG,BG}` procedures and `termReset` constant to help with embedding
ANSI escape codes in string data.
2018-05-29 12:53:42 -05:00
2 changed files with 14 additions and 2 deletions

View File

@ -1,4 +1,4 @@
import docopt, json, osproc, posix, nre, streams, strtabs, unicode import docopt, json, osproc, posix, nre, streams, strtabs, terminal, unicode
import os except sleep import os except sleep
import strutils except toUpper, toLower import strutils except toUpper, toLower
@ -171,3 +171,15 @@ proc daemonize*(pidfile, si, so, se: string, daemonMain: proc(): void): Pid =
daemonMain() daemonMain()
return pid1 return pid1
proc termFG*(color: ForegroundColor, bright, bold = false): string =
var colorVal = ord(color)
if bright: inc(colorVal, 60)
return "\e[" & $colorVal & (if bold: ";1" else: "") & "m"
proc termBG*(color: BackgroundColor, bright, bold = false): string =
var colorVal = ord(color)
if bright: inc(colorVal, 60)
return "\e[" & $colorVal & "m"
const termReset* = "\e[0;m"

View File

@ -1,6 +1,6 @@
# Package # Package
version = "0.3.5" version = "0.4.0"
author = "Jonathan Bernard" author = "Jonathan Bernard"
description = "Helper functions for writing command line interfaces." description = "Helper functions for writing command line interfaces."
license = "MIT" license = "MIT"