summary refs log tree commit diff stats
path: root/tests/js/tbasicenum.nim
blob: a9e9ce2dacb907832bf10aea0b6e9cf2364b316c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
discard """
  output: "ABCDC"
"""

type
  MyEnum = enum
    A,B,C,D
# trick the optimizer with an seq:
var x = @[A,B,C,D]
echo x[0],x[1],x[2],x[3],MyEnum(2)
pan> = 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)