diff options
author | bptato <nincsnevem662@gmail.com> | 2025-01-18 23:15:21 +0100 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2025-01-18 23:15:21 +0100 |
commit | 28fefabdeb685f4777ad2ad2ebf05e5e94e179d6 (patch) | |
tree | 56cd048df4a6987b4d9ef5924942119b3f2fd8aa /lib/monoucha0/monoucha/eprint.nim | |
parent | b56abad0883c0b4179f9c329a7169bb544fac4a5 (diff) | |
parent | 33efaee783c2adb20df019a8bc924411c4a97e7f (diff) | |
download | chawan-28fefabdeb685f4777ad2ad2ebf05e5e94e179d6.tar.gz |
Add 'lib/monoucha0/' from commit '33efaee783c2adb20df019a8bc924411c4a97e7f'
git-subtree-dir: lib/monoucha0 git-subtree-mainline: b56abad0883c0b4179f9c329a7169bb544fac4a5 git-subtree-split: 33efaee783c2adb20df019a8bc924411c4a97e7f
Diffstat (limited to 'lib/monoucha0/monoucha/eprint.nim')
-rw-r--r-- | lib/monoucha0/monoucha/eprint.nim | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/monoucha0/monoucha/eprint.nim b/lib/monoucha0/monoucha/eprint.nim new file mode 100644 index 00000000..73c207e8 --- /dev/null +++ b/lib/monoucha0/monoucha/eprint.nim @@ -0,0 +1,39 @@ +{.used.} + +template eprint0(s: varargs[string]) = + {.cast(noSideEffect), cast(tags: []), cast(raises: []).}: + var o = "" + for i in 0 ..< s.len: + if i != 0: + o &= ' ' + o &= s[i] + when nimvm: + echo o + else: + when not declared(stderr): + echo o + else: + o &= '\n' + stderr.write(o) + +when defined(release): + func eprint*(s: varargs[string, `$`]) + {.deprecated: "eprint is for debugging only".} = + eprint0(s) +else: + func eprint*(s: varargs[string, `$`]) = + eprint0(s) + +func elog*(s: varargs[string, `$`]) = + {.cast(noSideEffect), cast(tags: []), cast(raises: []).}: + var f: File = nil + if not open(f, "a", fmAppend): + return + var o = "" + for i in 0 ..< s.len: + if i != 0: + o &= ' ' + o &= s[i] + o &= '\n' + f.write(o) + close(f) |