Commit graph

9 commits

Author SHA1 Message Date
shirleyquirk
95e8ddabb2
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>
2021-04-15 22:45:51 +02:00
shirleyquirk
0bc943ad54
followup strformat PR. backslash escapes, tests, docs (#17700)
* 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.

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.

* changelog
* added json strformat test
* pulled my thumb out and wrote a parser

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
Co-authored-by: flywind <xzsflywind@gmail.com>
2021-04-12 07:32:37 +02:00
Timothee Cour
270964c487
implement RFCs/294 ; disallow enum <=> enum conversion (#16351)
* fix https://github.com/nim-lang/RFCs/issues/294 ; disallow enum <=> enum conversion
* fix the runnableExamples that was the instigator of this RFC
* legacy -d:nimLegacyConvEnumEnum
* use -d:nimLegacyConvEnumEnum in important_package nimgame2
* add test for enum cast
* improve changelog
* add changelog: Changes affecting backward compatibility
* cleanup changelog
* fix changelog
2021-04-03 07:15:21 +02:00
narimiran
7d17cd34b8 create a changelog for v1.2.0 2020-04-02 16:28:01 +02:00
narimiran
5e9ebe9ec1 move entries from the wrong changelog file [ci skip] 2020-01-08 15:20:30 +01:00
b3liever
8bcc7e8b9e basename supports pragmaexpr (#13045)
* basename supports pragmaexpr

* update changelog
2020-01-07 11:25:51 +01:00
Andy Davidoff
8407a57499 note set[T].len alias in future changelog (#11893)
per comments in #11885
2019-08-06 21:07:26 +02:00
narimiran
f50e4500c2 update changelogs [ci skip] 2019-07-17 21:20:28 +02:00
Timothee Cour
162e7ee5b5 fixes #9376: old changelogs should be kept instead of erased (#9428) 2018-10-19 09:33:42 +02:00