fix #9394 by replacing fmt with strutils.% (#9417)

* fix #9394 by replacing `fmt` with normal string append

Until issue #7632 is fixed, use string append.

* use `strutils.%` instead of normal string add
This commit is contained in:
Vindaar 2018-10-18 14:47:47 +02:00 • committed by Andreas Rumpf
commit 82a1576263
2 changed files with 12 additions and 3 deletions

View file

@ -18,7 +18,7 @@
import macros import macros
import strformat import strformat
from strutils import toLowerAscii from strutils import toLowerAscii, `%`
import colors, tables import colors, tables
when defined(windows): when defined(windows):
@ -635,7 +635,8 @@ proc ansiForegroundColorCode*(color: Color): string =
template ansiForegroundColorCode*(color: static[Color]): string = template ansiForegroundColorCode*(color: static[Color]): string =
const rgb = extractRGB(color) const rgb = extractRGB(color)
(static(fmt"{fgPrefix}{rgb.r};{rgb.g};{rgb.b}m")) # no usage of `fmt`, see issue #7632
(static("$1$2;$3;$4m" % [$fgPrefix, $(rgb.r), $(rgb.g), $(rgb.b)]))
proc ansiBackgroundColorCode*(color: Color): string = proc ansiBackgroundColorCode*(color: Color): string =
let rgb = extractRGB(color) let rgb = extractRGB(color)
@ -643,7 +644,8 @@ proc ansiBackgroundColorCode*(color: Color): string =
template ansiBackgroundColorCode*(color: static[Color]): string = template ansiBackgroundColorCode*(color: static[Color]): string =
const rgb = extractRGB(color) const rgb = extractRGB(color)
(static(fmt"{bgPrefix}{rgb.r};{rgb.g};{rgb.b}m")) # no usage of `fmt`, see issue #7632
(static("$1$2;$3;$4m" % [$bgPrefix, $(rgb.r), $(rgb.g), $(rgb.b)]))
proc setForegroundColor*(f: File, color: Color) = proc setForegroundColor*(f: File, color: Color) =
## Sets the terminal's foreground true color. ## Sets the terminal's foreground true color.

7
tests/stdlib/t9394.nim Normal file
View file

@ -0,0 +1,7 @@
import terminal, colors
let codeFg = ansiForegroundColorCode(colAliceBlue)
let codeBg = ansiBackgroundColorCode(colAliceBlue)
doAssert codeFg == "\27[38;2;240;248;255m"
doAssert codeBg == "\27[48;2;240;248;255m"