summary refs log tree commit diff stats
path: root/doc/nimfix.rst
Commit message (Collapse)AuthorAgeFilesLines
* renamed most remaining .txt documentation files to .rstAraq2016-06-071-0/+56
id='n5' href='#n5'>5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35


































                                                                                              
# issue #8573

import
  macros,
  strutils,
  terminal

type LogSeverity* = enum
  sevError = "Error"
  sevWarn  = "Warn"
  sevInfo  = "Info"
  sevDebug = "Debug"

macro log*(severity: static[LogSeverity], group: static[string], m: varargs[typed]): untyped =
  let sevStr   = align("[" & toUpperAscii($severity) & "] ", 8)
  let sevColor = case severity
    of sevError: fgRed
    of sevWarn:  fgYellow
    of sevInfo:  fgWhite
    of sevDebug: fgBlack

  let groupStr = "[" & $group & "] "

  result = quote do:
    setStyle({ styleBright })
    setForegroundColor(sevColor) # <==
    write(stdout, sevStr)

    setStyle({ styleDim })
    setForegroundColor(fgWhite)
    write(stdout, groupStr)

  let wl = newCall(bindSym"styledWriteLine", bindSym"stdout")
  for arg in m: wl.add(arg)
  result.add(wl)