followup #17700 put changelog in wrong file (#17729)

* Allow use of colons inside fmt

allowing colons inside fmt by replacing the format specifier delimiter lets arbitrary nim code be run within fmt expressions.

* oops

* Update strformat.nim

* one space.

* Update lib/pure/strformat.nim

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>

* Update lib/pure/strformat.nim

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>

* changed parser to ignore ':' within parens

* Update strformat.nim

* Update lib/pure/strformat.nim

Co-authored-by: flywind <xzsflywind@gmail.com>

* formatting,documentation,backslash escapes

Adding support for evaluating expressions by special-casing parentheses causes this regression: `&"""{ "(hello)" }"""` no longer parses.
In addition, code such as &"""{(if open: '(' else: ')')}""" wouldn't work.
To enable that, as well as the use of, e.g. Table constructors inside curlies, I've added backslash escapes.
This also means that if/for/etc statements, unparenthesized, will work, if the colons are escaped, but i've left that under-documented.

It's not exactly elegant having two types of escape, but I believe it's the least bad option.

* not sure about how this works

* changelog

* changelog

* added json strformat test

* pulled my thumb out and wrote a parser

* more escapes and string tests

* ok, now i'm sure it's broken but cant get a failing test

* found it

* ok, that'll do

* did i delete this?

* spcng

* spacing

* messed up where changelogs are supposed to go

* ocd

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
Co-authored-by: flywind <xzsflywind@gmail.com>
This commit is contained in:
shirleyquirk
2021-04-15 21:45:51 +01:00
committed by GitHub
parent 5c12c711f7
commit 95e8ddabb2
2 changed files with 1 additions and 2 deletions

View File

@@ -38,6 +38,7 @@
unless `-d:nimLegacyHomeDir` is specified (for a transition period).
## Standard library additions and changes
- Added support for parenthesized expressions in `strformat`
- Added `sections` iterator in `parsecfg`.

View File

@@ -13,8 +13,6 @@ The changes should go to changelog.md!
- Changed `example.foo` to take additional `bar` parameter.
- Added support for evaluating parenthesised expressions in strformat
## Language changes