Fixes: https://github.com/kdl-org/kdl-rs/issues/32
This implements a proposed draft of a KQL engine,
allowing CSS selector-style querying of KDL documents (and nodes)
in a variety of different ways.
This commit includes a whole bunch of fixes, some of which are significant changes to the parser and some related functionality. But I consider all changes to be bugfixes because they were compliance failures.
This new version of kdl-rs is a complete rewrite that introduces
a formatting-aware-and-preserving parser, much like toml_edit et al.
BREAKING CHANGE: Completely new API and bumped MSRV to 1.56.0.
* Add From impls for KdlNodeValue
Most clients probably don't need to create these directly, but we may as
well make it easy for them.
* Add TryFrom impls to convert from KdlNodeValue to underlying types
This includes converting from borrowed values, which will produce `&str`
instead of `String`.
* Add test for parsing examples/ci.kdl
This tests that the file can parse, and that its contents match what we
expect. This test currently fails as the file cannot be parsed.
I may have gone a little overboard in the macro I wrote in order to
generate the expected nodes.
* Add test for parsing examples/cargo.kdl
* Add test for examples/nuget.kdl
Unlike the others, this one just validates that it parses, as the file
is sufficiently large that I don't want to copy its contents into the
test.