Oscar Nihlgård
371f87e962
Change inconsistent paramaters in times.nim ( #8091 )
2018-06-23 09:01:55 -04:00
LemonBoy
7f0d7871ed
Use the resolved typedesc in semVarOrLet
...
By leaving the unsemanticized node in the AST we'd trip some passes like
the Transf one as seen in #7936 .
2018-06-23 13:40:11 +02:00
LemonBoy
e39baf46fc
Don't blow up with recursive objects
2018-06-22 19:47:44 +02:00
LemonBoy
af66258dca
Discriminate gensym'd type names in sigHash
...
The root cause of #7905 lies in the codegen phase. The two template
instantiations generate two different MyType types with different
members but same t.sym.name leading the caching mechanism to confuse
the two.
Fixes #7905
2018-06-22 13:09:33 +02:00
Andreas Rumpf
0c683d28bb
Merge branch 'devel' of github.com:nim-lang/Nim into devel
2018-06-22 03:19:36 +02:00
Andreas Rumpf
cc11aa9698
varints module: critical bugfix
2018-06-22 03:19:30 +02:00
Andreas Rumpf
6015749720
Merge pull request #8062 from LemonBoy/fix-7825
...
Fix constant folding for shl/not
2018-06-21 00:35:17 +02:00
Araq
1be82d96a6
nimpretty: bugfixes; refs #8078
2018-06-20 11:35:36 +02:00
Araq
9adfaa7f07
fixes #8076
2018-06-20 10:20:42 +02:00
Andreas Rumpf
2dab490ec1
Merge branch 'araq-nimpretty' into devel
2018-06-20 01:03:41 +02:00
Andreas Rumpf
2a662250d4
nimpretty: added more code claimed to not be working
2018-06-20 00:59:01 +02:00
Andreas Rumpf
0725003a8c
nimpretty: fixes more reported issues
2018-06-20 00:56:29 +02:00
Andreas Rumpf
26568dff00
nimpretty: also test on Windows/Appveyor
2018-06-19 23:48:27 +02:00
Andreas Rumpf
c3090fcb48
nimpretty: don't produce trailing whitespace; fixes the rendering of unary operators
2018-06-19 23:45:11 +02:00
LemonBoy
fb62dd1fae
Fix constant folding for shl/not
...
Since the source and destination types are the same the result should be
trimmed to fit.
2018-06-19 22:32:15 +02:00
Andreas Rumpf
837d0c7270
nimpretty: proper command line handling; added tests; travis ensures these stay green
2018-06-19 20:06:04 +02:00
gemath
db68bbe4f7
Pegs AST read access ( #8050 )
...
* Make PEG AST nodes readable from outside the module.
* Added a test module for the pegs stdlib module.
* Edited changelog.
* Renamed ``sons`` iterator to ``items``, added ``pairs``, inlined both.
* Updated entry and moved it to the right category.
2018-06-19 18:13:33 +01:00
Andreas Rumpf
3ca11def6d
Merge pull request #7771 from nim-lang/nim-in-action-fixes
...
Higher Nim in Action coverage plus regression fix.
2018-06-19 17:52:05 +02:00
LemonBoy
8508dc46c8
Fix minor codegen issue with static data types
2018-06-19 17:12:51 +02:00
Dominik Picheta
0da87939d1
Merge pull request #8047 from kaushalmodi/add-styledWrite
...
Add styledWrite macro
2018-06-19 12:13:12 +01:00
Andreas Rumpf
0c33244c23
Merge branch 'devel' of github.com:nim-lang/Nim into devel
2018-06-19 12:43:21 +02:00
Andreas Rumpf
dd81d9d5b7
nimpretty improvements
2018-06-19 09:42:33 +02:00
Kaushal Modi
abbf9ba9f7
Convert styledWriteLine and styledEcho to templates
...
This also fixes a bug in the styledWriteLine behavior where the background color
leaked onto the next newline if that command did not end with resetStyle.
Now it is not necessary to end styledWriteLine calls that set BackgroundColor to
end in resetStyle.
2018-06-18 09:09:23 -04:00
Kaushal Modi
3b5b3deecd
Add styledWrite macro
...
Also:
- Move the tests block to the end of the file
- Fix the older tests
- Add tests for existing styledEcho
- Add new tests for styledWrite
Fixes https://github.com/nim-lang/Nim/issues/8046 .
2018-06-18 09:09:23 -04:00
mboratko
70664bd1a2
Changed tutorial documentation referring to 'constant' to 'immutable' ( #8056 )
...
* Changed tutorial documentation referring to 'constant' to 'immutable'
* Clarification regarding side-effect free procedures fo:r multiple assignments
2018-06-18 02:05:35 -04:00
Dominik Picheta
03b073d541
Workaround VM bug in strutils
2018-06-17 23:26:18 +01:00
Kaushal Modi
4616b28c7b
Add support for italic and strikethrough ANSI escape codes ( #8048 )
...
\e[3m -> italic
\e[9m -> strikethrough
On terminals not supporting italic text, the text is shown in reverse instead,
and on terminals not supporting strikethrough text, the text is shown as is.
2018-06-17 12:37:41 -04:00
Andreas Rumpf
98f3daea65
nimpretty: don't touch dense binary operators
2018-06-17 14:25:23 +02:00
Andreas Rumpf
dbcdc4331a
testament: minor code formating change
2018-06-17 14:16:01 +02:00
Andreas Rumpf
c70706f4bd
nimpretty: fixes pragma rendering
2018-06-17 14:15:42 +02:00
Dominik Picheta
9e86237855
Adds smaller code samples from Chapters 1-3 to the tester.
2018-06-17 00:12:51 +01:00
Dominik Picheta
8081a9b3d0
Exports unicode.toUpper/toLower in strutils module.
2018-06-17 00:12:51 +01:00
Andreas Rumpf
798a8bd45c
Merge branch 'devel' of github.com:nim-lang/Nim into devel
2018-06-16 19:02:54 +02:00
Andreas Rumpf
dba26656f6
nimpretty: stuff that doesn't work
2018-06-16 19:02:47 +02:00
Zahary Karadjov
e129466910
requested pull-request changes
2018-06-16 16:46:32 +03:00
Zahary Karadjov
31651ecd61
allow referencing other parameters in default parameter values
...
fix #7756
fix #1201
fix #7000
fix #3002
fix #1046
2018-06-16 16:46:32 +03:00
Zahary Karadjov
e719f211c6
fix #6928 ; fix #7208
2018-06-16 16:46:32 +03:00
Zahary Karadjov
59d19946c0
fix some breakage after rebasing
2018-06-16 16:46:32 +03:00
Zahary Karadjov
16b594b532
Support default type parameters
...
progress on #7516
2018-06-16 16:46:32 +03:00
Zahary Karadjov
5bcf8bcb59
fixes #7222 ; fixes #5595 ; fixes #3747
...
* late instantiation for the generic procs' default param values
* automatic mixin behaviour in concepts
Other fixes:
* don't render the automatically inserted default params in calls
* better rendering of tyFromExpr
2018-06-16 16:46:32 +03:00
Zahary Karadjov
ea36e0ebbe
document the new type[T] and static[T] features
2018-06-16 16:46:32 +03:00
Zahary Karadjov
a49b06a52a
Implement the is operator for the new static and typedesc type classes
...
This also makes the first baby steps towards a sound treatment of
higher-order kinds (type type int).
Adds test cases showcasing the new features.
* Also fixes breakage after the rebase
2018-06-16 16:46:32 +03:00
Zahary Karadjov
ab9969ed3b
Bugfix: the size of an array may be a static tuple element
2018-06-16 16:46:32 +03:00
Zahary Karadjov
509d6e9232
Bugfix: aliases to generic types were not considered implicit generic parameters
2018-06-16 16:46:32 +03:00
Zahary Karadjov
fb27357b62
A minimal patch enabling the new typedesc and static types syntax
2018-06-16 16:46:32 +03:00
Zahary Karadjov
8633b1b309
Starting test recording the current state of the parser
...
In the next commit, I'll introduce changes to the parser bringing
consistent handling of all type modifiers (ref, ptr, var, static
and type). The goal of this commit is to record precisely what is
going to be changed (i.e. by allowing you to look at the diff).
To preserve the diff, please don't squash upon merging.
2018-06-16 16:46:32 +03:00
Zahary Karadjov
7ab1aafc6b
stdlib work
2018-06-16 16:46:32 +03:00
Andreas Rumpf
7819e63f77
nimpretty: more features
2018-06-16 09:53:36 +02:00
Andreas Rumpf
ee16e62061
Merge pull request #8039 from yglukhov/proc-pragmas
...
Fixed stacktrace/linetrace proc pragmas when appended by macro pragma
2018-06-16 01:59:06 +02:00
Andreas Rumpf
97398edc05
nimpretty: render and/or/notin/in properly
2018-06-16 01:58:52 +02:00