mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-19 05:50:30 +00:00
terminal: fix fgColor/bgColor commands [backport] (#15554)
Since #8296, fgSetColor is no longer a global. These commands were
probably left out from the change as an oversight, so some tests have
been added to make sure this won't happen again.
(cherry picked from commit d1af9587b8)
This commit is contained in:
@@ -687,10 +687,9 @@ template styledEchoProcessArg(f: File, color: Color) =
|
||||
template styledEchoProcessArg(f: File, cmd: TerminalCmd) =
|
||||
when cmd == resetStyle:
|
||||
resetAttributes(f)
|
||||
when cmd == fgColor:
|
||||
fgSetColor = true
|
||||
when cmd == bgColor:
|
||||
fgSetColor = false
|
||||
elif cmd in {fgColor, bgColor}:
|
||||
let term = getTerminal()
|
||||
term.fgSetColor = cmd == fgColor
|
||||
|
||||
macro styledWrite*(f: File, m: varargs[typed]): untyped =
|
||||
## Similar to ``write``, but treating terminal style arguments specially.
|
||||
|
||||
8
tests/stdlib/tterminal.nim
Normal file
8
tests/stdlib/tterminal.nim
Normal file
@@ -0,0 +1,8 @@
|
||||
discard """
|
||||
action: compile
|
||||
"""
|
||||
|
||||
import terminal, colors
|
||||
|
||||
styledEcho fgColor, colRed, "Test"
|
||||
styledEcho bgColor, colBlue, "Test"
|
||||
Reference in New Issue
Block a user