diff options
author | flywind <43030857+xflywind@users.noreply.github.com> | 2020-06-30 21:21:37 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-30 15:21:37 +0200 |
commit | 8be54b8fa7f24fe2886de95c4a2bd356dbae5aa9 (patch) | |
tree | 8048f71e82a075a0354bbf2b043954d8c6ad21b4 /lib | |
parent | 89a15e417df52454aa5c40ba058c9b19425dd184 (diff) | |
download | Nim-8be54b8fa7f24fe2886de95c4a2bd356dbae5aa9.tar.gz |
add debug fmt string like python's (#14808)
* add debug format string * remove try except * add changelog
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pure/strformat.nim | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/pure/strformat.nim b/lib/pure/strformat.nim index 5f7ef380d..0ea784a43 100644 --- a/lib/pure/strformat.nim +++ b/lib/pure/strformat.nim @@ -552,8 +552,18 @@ proc strformatImpl(pattern: NimNode; openChar, closeChar: char): NimNode = var subexpr = "" while i < f.len and f[i] != closeChar and f[i] != ':': - subexpr.add f[i] - inc i + if f[i] == '=': + let start = i + inc i + i += f.skipWhitespace(i) + if f[i] == closeChar or f[i] == ':': + result.add newCall(bindSym"add", res, newLit(subexpr & f[start ..< i])) + else: + subexpr.add f[start ..< i] + else: + subexpr.add f[i] + inc i + var x: NimNode try: x = parseExpr(subexpr) |