Commit Graph

38 Commits

Author SHA1 Message Date
Kat Marchán e1727e7c28
feat(msrv): bump msrv 2025-09-11 15:14:02 -07:00
Brooks Rady 439aa63bfc
feat(deps): Absolve `kdl-rs` of `syn` (#125)
This completes the removal of `syn` from `kdl-rs`s dependency tree!
2025-04-28 11:26:09 -07:00
Kat Marchán 266b462a19
feat(msrv): bump msrv to 1.71.1 2025-01-16 19:44:35 -08:00
Kat Marchán f5007fce44
feat(fallback): apply heuristics when doing fallbacks (#111) 2025-01-01 14:58:49 -08:00
Kat Marchán 99dec9fa2c
feat(api): unflagged ensure_v2 fns, and docsrs improvements 2024-12-22 12:40:13 -08:00
Kat Marchán 38ae41c86a
docs: update readme and changelog 2024-12-21 18:48:38 -08:00
Kat Marchán c486cda7a5
feat(v1): Add utility to auto-translate v1 to v2 2024-12-20 01:20:17 -08:00
Kat Marchán 683e87a142
feat(api): update the KdlNode and KdlDocument APIs to be more Vec-like (#101)
Fixes: https://github.com/kdl-org/kdl-rs/issues/81
2024-12-19 20:08:53 -08:00
Kat Marchán 4734b0601b
feat(compliance): update to latest 2.0 spec (#103) 2024-12-19 12:54:42 -08:00
Kat Marchán 6c468bb5d1
docs: final tweaks to readme and such before next prerelease 2024-12-15 18:18:54 -08:00
Kat Marchán cbadb35764
clippy fix and fmt 2024-12-08 23:55:12 -08:00
Tamme Schichler 014c7c57a2
feat(fmt): Configurable autoformat with `FormatConfig` (#95)
Fixes: https://github.com/kdl-org/kdl-rs/issues/85
2024-12-06 12:59:20 -08:00
Kat Marchán 4d4ef75954
feat(draft): 2.0.0-draft.6 support (#92)
This just adds support for the new multiline string syntax. There's no other necessary changes to support draft.6.
2024-12-04 13:04:16 -08:00
Kat Marchán 887a5438d3
docs: update readme 2024-12-03 00:27:19 -08:00
Kenichi Kamiya 880fa12d34
chore: update link to license file (#86)
the file has been renamed in 0dbf75c78e
2024-11-27 09:31:19 -08:00
Kat Marchán c9898cdbd2
feat(parser): v2 parser (#70)
This is a major rewrite of kdl-rs to comply with the KDL v2 spec.
2024-10-05 20:51:09 -07:00
Kat Marchán 4973f01460
docs: add some details about the query engine 2022-12-04 19:43:33 -08:00
Kat Marchán 6d1a516eb9
feat(kql): implement KQL query engine (#61)
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.
2022-12-04 19:22:10 -08:00
Kat Marchán 58a40fdf48
fix(compliance): pull in spec test suite and fix issues (#40)
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.
2022-04-27 23:21:28 -07:00
Kat Marchán 12d373a1e0
feat(fmt): shiny new comment-preserving formatter! (#38)
Fixes: https://github.com/kdl-org/kdl-rs/issues/34
2022-04-23 22:34:51 -07:00
Kat Marchán c2cdc5de37
docs: fix minor doc issues with error stuff 2022-04-23 02:24:23 -07:00
Kat Marchán 21f7dbf106
docs: readme updates 2022-04-23 01:37:48 -07:00
Kat Marchán d63f336d18 feat(errors): overhauled error reporting a ton 2022-04-23 01:21:28 -07:00
Kat Marchán fc1d0fd24b chore: clean up and docs 2022-04-23 01:21:28 -07:00
Kat Marchán 364ea6173c
feat(api): complete rewrite into document-oriented parser (#29)
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.
2022-04-22 02:20:30 -07:00
Kat Marchán d8715c8d41
docs: fix license in readme 2021-09-22 10:39:31 -07:00
jam1garner 9bc5363bb5
fix(deps): Remove nom dependency on `bitvec` and `lexical` (#14) 2021-05-08 14:40:23 -07:00
jam1garner 94190697d8
feat(docs): Add documentation for the entire crate (#16) 2021-05-08 14:40:15 -07:00
Kat Marchán 2f282ee206
unnecessary slice 2020-12-18 21:05:01 -08:00
Kat Marchán b4d3f07d09
more stuff 2020-12-18 20:46:52 -08:00
Lily Ballard 685a537658
Add From and TryFrom impls for converting to/from KdlNodeValue (#5)
* 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`.
2020-12-16 17:47:39 -08:00
Lily Ballard d7670e17b4
Add line, column to KdlError (#3)
* Add line and column numbers to KdlError

These numbers are calculated using our `newline` rule, as I'm not aware
of any standard for how to calculate line numbers in error messages.

The error retains the original `offset` field as well, but it's now
expressed in characters rather than bytes.

* Clean up error handling in parse_document()

We don't need to worry about `Incomplete` errors, the `complete` family
of parsers (which we're using) doesn't ever produce those. We can use
the `.finish()` function to unwrap the error instead, so we don't have
to worry about the underlying error types.
2020-12-16 17:43:13 -08:00
Lily Ballard c61ef72b03
Export KdlNodeValue (#4) 2020-12-16 17:42:54 -08:00
Kat Marchán 75c176ae54
switch to LF line endings 2020-12-14 00:07:14 -08:00
Kat Marchán 42564a7cf7
rename Node and NodeValue 2020-12-13 22:31:30 -08:00
Kat Marchán 842d1da3b9
numbers 2020-12-13 16:47:36 -08:00
Kat Marchán 3296cc83a0
wip parser 2020-12-12 11:50:34 -08:00
Kat Marchán a8475fd2c7
initial commit 2020-12-10 18:42:50 -08:00