Timothee Cour
8161b02897
import foo {.all.} reboot (#17706 )
2021-04-16 09:16:39 +02:00
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
Arne Döring
56c37759d6
getCustomPragma is split up in more usable chunks ( #11526 )
...
* getCustomPragma is split up in more usable chunks
* changelog entry
* fix for style checks
* shitty typedesc special casing
* Add since annotation and remove typedesc comments
* Fix typo
* Revert since annotation because it breaks bootstrapping
* Export getCustomPragmaNode conditionally
* Reduce code duplication
* Update since
* Update lib/core/macros.nim
* Apply suggestions from code review
Co-authored-by: Clyybber <darkmine956@gmail.com>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
2021-04-14 20:42:09 +02:00
Timothee Cour
ceadf54d76
iterable[T] ( #17196 )
...
* fix failing test toSeq in manual which now works
* changelog
* reject proc fn(a: iterable)
* add iterable to spec
* remove MCS/UFCS limitation that now works
2021-04-11 14:25:41 +02:00
flywind
f25243140b
add std/tasks ( #17447 )
2021-04-09 11:51:51 +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
Timothee Cour
9abd383a2a
new genAst as replacement for quote do ( #17426 )
...
* new `macros.genAst`: fixes all issues with `quote do`
* add changelog entry
* add workaround for https://github.com/nim-lang/Nim/issues/2465#issuecomment-511076669
* add test for #9607
* add kNoExposeLocalInjects option
* add test case for nested application of genAst
* genAst: automatically call newLit when needed
* allow skipping `{}`: genAst: foo
* add test that shows this fixes #11986
* add examples showing mixin; add examples showing passing types, macros, templates
* move to std/genasts
* improve docs
2021-04-02 13:11:03 +02:00
Timothee Cour
a31e601550
misc fixes: build_all.sh, changelog ( #17601 )
...
* fix a bug in build_all.sh: $@ => "$@"
* remove getSocket from changelog following #17587
* remove unused import
2021-04-01 08:48:44 +02:00
flywind
924ab3adea
fix #17190 nimscript now accepts arbitrary file extensions for nim e main.customext ( #17596 )
...
* fix #17190
* cah
* merge
* Update tnimscriptwithnimext.nim
* Update tnimscriptwithmacro.nims
* Apply suggestions from code review
* Delete tnimscriptwithnimext.nim
* Update tests/tools/tnimscriptwithmacro.nims
* fix
* fix
* add a test
* Apply suggestions from code review
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* Apply suggestions from code review
* Update changelog.md
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
2021-04-01 08:05:04 +02:00
Timothee Cour
9b67e5c61b
jsonutils: support cstring (including as Table key); improve docs ( #16062 )
...
* jsonutils: support cstring (including as Table key); improve docs
* changelog
* un-disable a test now that #16061 was fixed
2021-03-31 18:24:39 +02:00
Timothee Cour
72988509ba
add getPort to resolve Port(0) ( #17559 )
...
* add getPort to resolve Port(0)
* fixup
* use getPort in examples + tests
* address comments: do not re-export Port
2021-03-30 20:14:39 +02:00
Arne Döring
159c06e045
unify tuple expressions ( #13793 )
...
* unify tuple expressions
* fix test
* fix test
* apply feedback
* Handle empty tuples
* Fix rendering named unary tuple
* Protect static NimNode against stripping
* Slightly less hacky
* Revert "Slightly less hacky"
This reverts commit 170c5aec0addc029f637afbc948700ca006b7942.
* Slightly less hacky
* Cleanup
* Fix test
* Fix another test
* Add condsym
* Rebase fallout
* changelog: Move from compiler changes to language changes
* Add stricter tests
* Add empty tuple example to doc/astspec
* Fix test
Co-authored-by: Clyybber <darkmine956@gmail.com>
2021-03-30 02:06:51 +02:00
Dylan Modesitt
35655cd189
Add hasDataBuffered to asyncnet ( #16000 )
...
Co-authored-by: flywind <xzsflywind@gmail.com>
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
2021-03-29 16:12:58 -07:00
flywind
81e54c1d30
Add hasClosure to std/typetraits ( #17501 )
...
* fix nim js cmp fails at CT
* Add `hasClosure` to `std/effecttraits`
* type
* Update changelog.md
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* Update lib/std/effecttraits.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
2021-03-29 14:22:29 +02:00
Ardek Romak
207bcabdf2
Add a getter for all defined Sections in parsecfg ( #15450 )
2021-03-28 09:57:40 -07:00
Andreas Rumpf
355985ac89
custom integer literals bugfixes ( #17499 )
...
* custom integer literals bugfixes
* make nimsuggest compile again
2021-03-24 22:29:42 +01:00
Andreas Rumpf
5f5a92379f
custom integer literals ( #17489 )
...
* user defined integer literals; refs #17020
* updated renderer.nim
* use mlexerutils helper
* imported all test cases from https://github.com/nim-lang/Nim/pull/17020
* final grammar updated
2021-03-24 14:46:19 +01:00
Andreas Rumpf
86af2f7b50
make unary minus part of number literals, refs #17020 ( #17488 )
...
* make unary minus part of number literals, refs #17020
* fixes regression
2021-03-24 09:47:11 +01:00
flywind
c719d79d23
add algorithm.merge ( #16182 )
...
* add merge to algorithm
* Apply suggestions from code review
* Update lib/pure/algorithm.nim
* Apply suggestions from code review
* Update changelog.md
Co-authored-by: ee7 <45465154+ee7@users.noreply.github.com>
2021-03-23 10:49:02 +01:00
Timothee Cour
a75c4b70e8
hint:cc goes to stderr (like all other hints) instead of stdout ( #17465 )
...
Co-authored-by: ee7 <45465154+ee7@users.noreply.github.com>
2021-03-22 18:24:28 -07:00
Juan Carlos
fb38d906a2
Improve jsre ( #17365 )
...
* Add dollar for regex
* Add dollar for regex
* Peer review feedbacks
* Peer review feedbacks
* Update lib/js/jsre.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* Update lib/js/jsre.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* Update lib/js/jsre.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* Pear review
* Beer review
* Beer review
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
2021-03-21 10:35:55 +01:00
Juan Carlos
9e1a2e9b63
improve jsconsole ( #17414 )
...
* Add jsconsole.dir
* Update lib/js/jsconsole.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
2021-03-19 07:15:37 +01:00
Timothee Cour
2356d0603f
followup #17398 : getTempDir, getConfigDir now do not have trailing DirSep ( #17402 )
...
* followup #17398 : `getTempDir`, `getConfigDir` now do not have trailing DirSep
* fix test
2021-03-18 13:25:56 +01:00
Timothee Cour
bebf2ce24a
fix #17393 getHomeDir and expandTilde should not include trailing / ( #17398 )
...
* fix #17393 getHomeDir and expandTilde should not include trailing `/`
* changelog
2021-03-17 08:25:28 +01:00
Timothee Cour
5fe5f47033
followup #17389 ; add see also in std/json ( #17400 )
...
Co-authored-by: flywind <xzsflywind@gmail.com>
2021-03-16 19:21:32 -07:00
Timothee Cour
48eab5370a
fix #2844 #3911 ; add --spellsuggest to suggest symbols in scope with similar spellings on undefined symbol error ( #16067 )
...
* add --spellsuggest to suggest symbols in scope with similar spellings on undefined symbol errors
* implement --spellsuggest with 0 arguments
2021-03-16 10:41:30 +01:00
flywind
a0b8a3d920
New channels implementation for ORC ( #17305 )
...
* Update lib/std/channels.nim
* Rename tchannel_pthread.nim to tchannels_pthread.nim
* Rename tchannel_simple.nim to tchannels_simple.nim
Co-authored-by: Mamy Ratsimbazafy <mamy_github@numforge.co>
2021-03-12 13:33:47 +01:00
flywind
be49505719
Update changelog.md ( #17349 )
2021-03-11 20:07:47 -08:00
Miran
e922d73dd6
refs #4347 , add ZZZ and ZZZZ patterns for timezone offsets without colons ( #17318 )
2021-03-11 16:32:50 +01:00
Timothee Cour
eb07a5a75b
add typetraits.OrdinalEnum, enumutils.symbolName ( #17281 )
2021-03-10 08:08:24 -08:00
Juan Carlos
4d0b87a5cd
Add Portals ( #17306 )
...
* Add Portals
* Add Portals
2021-03-09 12:22:54 +01:00
Timothee Cour
93cb5d6896
add setutils.[]= ( #17272 )
...
* add setutils.[]=
* address comments
* proc => func (for other symbols too)
2021-03-08 10:39:39 +01:00
Juan Carlos
0234b479ab
Add Debug breakpoints support ( #17295 )
...
* Add Debug breakpoints support
* Add Debug breakpoints support
2021-03-08 09:32:49 +01:00
Roman Inflianskas
31424b3808
stdlib/os: add isAdmin ( #17012 )
...
* stdlib/os: add isAdmin
* uint8 -> cuchar, assert isAdmin on Azure
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* Update lib/pure/os.nim docs
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* Address comments on #17012
* Raise on errors in #17012
* Check the result of FreeSid in #17012
* Change case in #17012
* Fix memory leak in #17012
* Address comments in #17012
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
2021-03-07 22:40:16 +01:00
Juan Carlos
b8c04bdb92
Add module jsfetch ( #12531 )
...
* Add module jsfetch for fetch support for JavaScript target https://developer.mozilla.org/docs/Web/API/Fetch_API
* Update lib/std/jsheaders.nim
* Update lib/std/jsformdata.nim
* Update lib/std/jsfetch.nim
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
Co-authored-by: flywind <xzsflywind@gmail.com>
2021-03-06 20:57:16 -08:00
flywind
19be5eb1eb
Add unsafeIsolate and extract to std/isolation [backport:1.4] ( #17263 )
2021-03-05 16:21:33 +01:00
quantimnot
b2b23d723a
Fix macros.quote custom op symbol interpolation. ( #17256 )
...
Provides a workaround/fix for #7589 .
https://github.com/nim-lang/Nim/issues/7589
Updated docs and tutorial to reflect change.
Updated runnableExamples to include an example.
Co-authored-by: name <name@example.com>
2021-03-05 14:41:33 +01:00
konsumlamm
2e8325a19c
Remove support for named procs with sugar.=> ( #17220 )
...
* Add docs & tests for named procs with sugar.=>
* Remove support for named procs in sugar.=>
* Resolve conflict
* Fix test
2021-03-05 12:08:03 +01:00
flywind
f8cfe330b3
follow #17245 deprecate refchecks ( #17261 )
...
* follow #17245 deprecate refchecks
* changelog
* address comments
2021-03-05 09:50:57 +01:00
flywind
e1cc3b83fb
deprecate newruntime ( #17245 )
...
* deprecate newruntime
* tests
* Update compiler/commands.nim
2021-03-04 19:33:16 +01:00
Jason Beetham
c180de60a8
Added math.clamp for slice clamping ( #17246 )
...
* Added math.clamp for slice clamping
* Added inline to math.clamp
* Cleaned up math.clamp + test
2021-03-03 23:54:23 +00:00
Timothee Cour
e417bd62f7
\r now renders as \r, not \c which was not standard ( #17244 )
2021-03-03 11:57:00 +01:00
Timothee Cour
6c5872c169
--nilseqs is now a deprecated noop (#17211 )
...
* --nilseqs is now a deprecated noop
* fix tests; fix: future => sugar
2021-03-01 20:59:43 +01:00
Andreas Rumpf
bb0c19f42c
fixes #17173 ( #17213 )
...
* fixes #17173
* add testcase (#17214 )
* Apply suggestions from code review
* fix for newruntime
* Apply suggestions from code review
* Update lib/system.nim
* Update lib/system.nim
* Update lib/system.nim
Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com>
Co-authored-by: flywind <xzsflywind@gmail.com>
Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com>
2021-03-01 20:58:12 +01:00
Timothee Cour
0cb02fbbee
add overload add(a: var string, b: openArray[char]) ( #15951 )
...
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
2021-03-01 07:51:12 -08:00
Timothee Cour
63f1c38f4e
hashes: support object default hash ( #17175 )
2021-02-26 08:45:37 +01:00
Timothee Cour
578d1ee751
std/options: $some(3) is now "some(3)", etc. (#17147 )
...
* std/options: $some(3) is now "some(3)", not "Some(3)", `$none(int)` is now `"none(int)"` instead of `"None[int]"`
* fix tests
* disable optionsutils
2021-02-24 22:17:16 +00:00
Timothee Cour
a4e6b242d5
asyncjs: add then, catch for promise pipelining ( #16871 )
...
* asyncjs: add then
* improve tests, changelog, API
* fix cryptic windows error: The parameter is incorrect
* address comments
2021-02-24 21:03:21 +01:00
Timothee Cour
8942586fa6
wrapnils: add ??. which returns an Option ( #16931 )
...
* wrapnils: add option-like API with ??., isSome, get
* fix test after rebase
* cleanups
* fix changelog
* address comments regarding get vs unsafeGet
2021-02-24 14:02:32 +01:00
flywind
3f38f8fbb7
add strbasics.strip ( #16280 )
2021-02-24 10:22:47 +01:00