* Support setting foreground/background colors to terminal defaults
Adds fgDefault to ForegroundColor and bgDefault to BackgroundColor
enums.
For Windows console, the default foreground color is assumed to be
white, and the default background color black.
* Add default fg/bg color caching for Windows Console
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
* 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.
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.
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.
\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.
* Add MemMapFileStream
* Added tests
* Fixed bug in memfiles (zero index for string)
* Added flush to changelog
* Attempt to fix Win's nuances
* Fix attempt to fix
* Continue...
* And again...
* Reworked tests (all for win on Win)
* Fixes in flush (Win)
* Replace fn vars to consts
* Added the attempts parameter to the flush
* Replace while to for
* Move to memfiles
* Use Natural instead of uint
* Better error messages for append mode. Handle specific cases.