Commit Graph

533 Commits

Author SHA1 Message Date
Felix Krause fe4449aaec Fixed server, improved docs
* made docs server compile again
 * improved migrating documenattion
 * improved CSS for mobile devices
 * fixed GitHub link
2023-09-04 22:48:04 +02:00
Felix Krause 879c7adfc0 Updated documentation. Fixed CI 2023-08-30 22:48:58 +02:00
Felix Krause 1597efa90a Don't generate anchors at comptime when dumping
* this is a prerequisite to getting dumping to work,
   but dumping is still blocked by #138
2023-08-30 21:40:20 +02:00
Felix Krause f60725fc93 Made loading work at compile time
* dumping doesn't work at CT
 * timestamps don't work at CT
 * aliases don't work at CT
 * renamed tserialization -> tnative to mirror rename of native.nim file
 * added comptime tests to tnative, currently only execute when doing
   nim nativeTests, because of compiler bug
 * Fixes #70, #91
2023-08-30 21:14:31 +02:00
Felix Krause d5aed71d38 Added raises annotations. Fixes #130 2023-08-30 19:56:04 +02:00
Felix Krause 940675a52e Reworked loading API
* moved load procs to yaml/loading.nim
 * moved input YamlStream into ConstructionContext
 * made ConstructionContext a non-ref object
 * harmonized code style & comments
 * renamed yaml/serialization.nim to yaml/native.nim
2023-08-29 23:23:15 +02:00
Felix Krause 18fc8ba3f5 Reworked dumping API
* removed default value objects,
   use Nim2 default vaules for fields instead.
 * moved dump procs to yaml/dumping and introduced Dumper
 * modified serialization procs to use ctx as first argument,
   so that prefix calls can be used
 * changed defaults for presentation to be more like other
   YAML implementations, e.g. no directives by default.
 * Removed deprecated procs in DOM API
 * Removed PresentationStyle – use the setXStyle procs of Dumper
   instead.
 * Fixed some warnings emerging from transitioning to Nim2
2023-08-29 20:46:26 +02:00
Felix Krause 189844a72b Rewrote large parts of presenter
* PresentationOptions has gained more fine-tuning options:
   * directivesEnd: specifies when `---` is written. ref #135
   * containers: specifies whether containers use block or flow style
   * suppressAddrs: if set, suppresses output of attributes
   * quoting: specifies how strings should be quoted
   * condenseFlow: specifies whether flow sequences should be on a
     single line
   * explicitKeys: specifies whether mapping keys should always have '?'
 * PresentationStyle is now a list of presets that set
   multiple options in PresentationOptions.
 * Does not output trailing spaces anymore. ref #135
 * Writes compact notation, i.e. a mapping in a sequence starts on the
   line with the sequence's `-`, unless attributes are written
 * Added tests for the presenter
 * Existing code might change behavior because of whitespace, `---` and
   compact notation. The API has been extended so that existing code is
   affected as little as possible.
2023-07-31 19:16:24 +02:00
Felix Krause 84e59c16d4 fixed tjson to conform to new type hints 2023-04-10 17:18:14 +02:00
theamarin ee7dc11a90
Adapt type hinting to Yaml 1.2.2 (#132)
Updated type hinting for YAML 1.2.

 * previously outdated regexes from YAML 1.1 were used.
 * removed special cases for leading zeros that are not part of YAML 1.2.
 * updated literal regexes for infinity, NaN and boolean values.
 * added tests for type hinting

Co-authored-by: theamarin <theamarin@thecreation.de>
2023-04-10 17:17:03 +02:00
Felix Krause 4bd8216bb1 Dump fields of parent types. ref #131 2023-04-04 20:07:12 +02:00
Felix Krause 576cf11d81 Can load fields of parent types. ref #131
* dumping fields of parent types not working yet
2023-04-04 19:29:20 +02:00
Felix Krause 8e1b07975b Fixed a bug with objects with no fields
* can now be loaded properly
 * ref #130
2023-03-18 14:50:38 +01:00
Felix Krause 39444f6536 Consolidated exceptions 2023-03-18 13:54:45 +01:00
Felix Krause f6e09ebb6a Fixed server to return proper error messages 2023-03-13 22:52:59 +01:00
Felix Krause 034b9b8453 Reworked some exceptions and compiler warnings
* LexerError is properly rewritten as YamlParserError in parser
 * updated some code to remove warnings and hints that got emitted
 * Fixes #129
2023-03-13 22:06:07 +01:00
Felix Krause ab3ff9fad4 updated changelog & readme, v1.1.0 2023-03-10 22:56:27 +01:00
Felix Krause 300dbce72a Updated test suite, fixed lexer issues 2023-03-10 22:21:18 +01:00
Felix Krause f692a47820 Skip ignored nested collections. Fixes #127 2023-03-10 19:57:21 +01:00
xflywind 7dd8e88639 make nimyaml works with stricteffects 2022-10-14 21:41:51 +02:00
Felix Krause 3e2f92c753 Fixed a bug in float deserialization.
* fixes #124
2022-09-07 16:54:11 +02:00
Felix Krause 7942e0a650 Fixed a bug in uint deserialization.
* fixes #123
2022-09-07 16:50:45 +02:00
Felix Krause 4ca3239e14 Fixed error handling for previous feature
* ref #117
2022-09-07 16:38:11 +02:00
Felix Krause 7bd562e37e Fixes and improvements to DOM API.
* added loadFlattened. Fixes #117
 * fixed an error where recursive nodes were not loaded
   properly into YamlNodes.
 * made dump with asNone raise an error when a cycle is
   encountered, instead of running into an endless loop.
2022-09-07 16:23:50 +02:00
Felix Krause 5f7677d914 Improved presenter.
* added maxLineLength to PresentationOptions. Fixes #119
 * write a newline to the end of the document.
   required for the output files to be POSIX-compliant text files.
   also improves QoL when dumping to stdout.
2022-09-07 15:15:55 +02:00
xflywind a5552a1a18 replace shallowCopy for ARC/ORC 2022-08-29 16:30:26 +02:00
metagn c7d8aa6467 Change deprecated type pragma syntax
Sorry that this messes with the style here, but it would be nice to have this syntax removed given how long it's been deprecated (https://github.com/nim-lang/Nim/pull/20199).
2022-08-11 09:14:42 +02:00
Felix Krause 947207dd02 added marks and styles to YamlNode 2022-08-02 19:46:58 +02:00
Felix Krause be18033461 updated changelog & readme, v1.0.0 2022-07-10 23:24:25 +02:00
quantimnot 5a3aab9389
Change logic to prevent early doc end state (#115)
fixes #114

Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
2022-07-10 18:14:07 +02:00
Felix Krause 741fd18047 Deprecated DOM API, YamlNode now supported by serialization API
* implements #48
 * also fixes #108
 * updated docs
2022-06-05 12:27:19 +02:00
Felix Krause 8993f928d4 properly handle comment after block scalars. fixes #106 2022-06-04 23:14:28 +02:00
Felix Krause 5aa39aa0f1 webdocs: have code always on left side in quickstart 2022-06-04 13:03:49 +02:00
Felix Krause 1fe5991337 typo3 2022-06-04 12:55:06 +02:00
Felix Krause 674c64bc82 typo2 2022-06-04 12:08:18 +02:00
Felix Krause 3cb4c5910e typo 2022-06-04 12:07:18 +02:00
Felix Krause d80b6fb52e improved webdocs; added nix flake for webdocs 2022-06-04 01:45:41 +02:00
flyx 89e18cebfa
fix #105
fixed an off-by-one error when presenting folded scalars
2022-01-22 01:18:11 +01:00
Felix Krause e33c448783 up Readme, +funding, v0.16.0 2021-10-22 18:36:29 +02:00
quantimnot 75ed8e5be4
Change serialization to omit `none(T)` fields of sparse objects (#100)
* Change serialization to omit `none(T)` fields of sparse objects

Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
2021-10-22 17:54:40 +02:00
Felix Krause d704a8c6d7 fixed compiler warnings 2021-10-22 17:46:05 +02:00
Felix Krause c681498701 updated tests, fixed problems 2021-10-22 17:42:48 +02:00
Felix Krause c1cc0be3f3 fixed lexer errors discovered by new parser tests 2021-10-22 17:22:43 +02:00
Felix Krause 386d516770 updated yaml-test-suite 2021-10-21 17:37:51 +02:00
flywind 8d15e6a79e Update .github/workflows/action.yml 2021-09-24 10:51:16 +02:00
flywind 05a71993ed Update action.yml 2021-09-24 10:51:16 +02:00
flywind 509862b88f Update action.yml 2021-09-24 10:51:16 +02:00
flywind 4bb18907c3 Update action.yml 2021-09-24 10:51:16 +02:00
flywind 4dfd00257e test 2021-09-24 10:51:16 +02:00
flywind c701ea56f9 ci 2021-09-24 10:51:16 +02:00