mirror of
https://github.com/biojppm/rapidyaml.git
synced 2026-01-18 21:41:18 +01:00
1.7 KiB
1.7 KiB
Roadmap
Roughly in order of priority:
- Improve float parsing to not use
sscanf(), which can cause quadratic complexity with non-terminated strings. - Conformance of the parser to the YAML standard:
- Increase success rate of YAML test suite parsing (as of May 2020, ~30/1300 tests are failing)
- Cross-check the suite test correctness with the events specified in each test. (Currently the tests are only checking for successful parsing and idempotent emitting).
- Run the suite tests also on the Windows CI (Appveyor).
- Cleanup:
- Review & cleanup API surface.
- turn calls to
C4_ASSERT()into calls toRYML_ASSERT() - use
c4::MemoryResourcein place ofc4::yml::MemoryResource, and removec4::yml::MemoryResource - same for allocators and error callbacks: Use the facilities from c4core.
- Review
parse()API: add suffixes_in_situand_in_arenato clarify intent. Ie:- rename
parse(substr)toparse_in_situ(substr) - rename
parse(csubstr)toparse_in_arena(csubstr)
- rename
- Add emit formatting controls:
- add single-line flow formatter
- add multi-line flow formatters
- indenting
- non indenting
- keep current block formatter
- add customizable linebreak limits (number of columns) to every formatter
- add per node format flags
- (lesser priority) add auto formatter using reasonable heuristics to switch between other existing formatters
- use
csubstrinstead ofcsubstr const&in return and parameter types, but quantify the performance effect. - Investigate possibility of comment-preserving roundtrips