Kat Marchán
266b462a19
feat(msrv): bump msrv to 1.71.1
2025-01-16 19:44:35 -08:00
Kat Marchán
b6b67f62fa
feat(lsp): add LSP server ( #115 )
...
Fixes: https://github.com/kdl-org/kdl-rs/issues/113
2025-01-16 18:54:34 -08:00
Kat Marchán
82c1f1c076
fix(fallback): play around with fallback logic some more
2025-01-02 16:34:12 -08:00
Kat Marchán
7ec3992ceb
fix(fallback): uggghhhhh oops
2025-01-01 17:46:32 -08:00
Kat Marchán
52a7c2cba1
fix(parser): various tests and bugfixes ( #112 )
...
Fixes: https://github.com/kdl-org/kdl-rs/issues/108
Fixes: https://github.com/kdl-org/kdl-rs/issues/109
2025-01-01 15:35:05 -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
0c59b29a03
fix(fmt): cargo fmt
2024-12-21 17:55:06 -08:00
Kat Marchán
b097c7e21b
fix(clippy): clippy fixes
2024-12-21 17:53:33 -08:00
Kat Marchán
3e8b2f443a
feat(compliance): pull in final extra tests and change VT to newline
2024-12-21 17:47:47 -08:00
Kat Marchán
b332eed4a0
feat(v1): add v2 -> v1 translation and fix translations to not autoformat
2024-12-21 17:37:01 -08:00
Kat Marchán
ec73cdfa05
fix(misc): other tiny clippy/fmt issues
2024-12-20 02:10:48 -08:00
Kat Marchán
37255b0bf6
fix(autoformat): fix autoformatting of v1 -> v2
2024-12-20 02:05:33 -08:00
Kat Marchán
4cbc32246c
fix(clippy): clippy fixes
2024-12-20 01:34:34 -08:00
Kat Marchán
12b2fd2f4f
feat(error): Rename KdlParseFailure back to KdlError
2024-12-20 01:30:42 -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
6a7248c405
feat(v1): add rudimentary, optional, KDL v1 parsing ( #104 )
...
This is kinda rough right now, since it involves actually pulling in the old kdl v1. Not ideal, but workable as a stepping stone while a real v1 parser gets written.
2024-12-19 23:15:24 -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
d0366db21f
tests: add a quick test to make sure slashdashes are also being preserved
2024-12-15 18:39:19 -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
e65d0546bc
add quick multiline parsing test for a corner case
2024-12-15 18:10:36 -08:00
Kat Marchán
a1919a0e36
feat(parser): Update parser to 2.0.0 ( #100 )
...
Fixes: https://github.com/kdl-org/kdl-rs/issues/99
2024-12-15 15:42:09 -08:00
Kat Marchán
f31750a048
feat(errors): error collection/recovery and reporting improvements ( #94 )
...
Fixes: https://github.com/kdl-org/kdl-rs/issues/93
2024-12-14 15:39:27 -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
71bd07b57d
zellij example
2024-12-03 20:35:51 -08:00
Kat Marchán
887a5438d3
docs: update readme
2024-12-03 00:27:19 -08:00
Kat Marchán
2802578ba0
feat(parser): update to 2.0.0-draft.5 ( #90 )
2024-12-02 23:26:40 -08:00
Kat Marchán
fb7c92b59f
refactor(parser): refactor number parsing to support generic number types
2024-11-30 20:36:56 -08:00
Ryan Goodfellow
0595955850
feat(value,entry): i128 for integers, autoformat safe KdlEntryFormat ( #91 )
2024-11-29 18:50:14 -08:00
Kenichi Kamiya
11e119263d
fix(fmt): fix formatting error in CI ( #88 )
2024-11-27 13:28:50 -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
d013ece76a
fix(deps): remove nom
2024-10-08 22:48:10 -07:00
Kat Marchán
a641995293
refactor(parser): refactor try_parse to be lift more weight
2024-10-08 22:37:43 -07: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
jaxter184
6044ef9776
fix: Change numerical key `insert` behavior
2023-04-25 20:44:57 -07:00
jaxter184
f527490d81
fix: Panic when using `remove` with bad positional index
2023-04-25 20:44:57 -07:00
jaxter184
be0dc1708d
fix(api): Fix `insert` and `remove` behavior for `KdlNode`
2023-04-25 20:44:57 -07:00
Kat Marchán
85b65eefc3
misc: clippy fixes
2023-03-31 22:21:49 -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
Aria Beingessner
04471a537e
feat(spans): rework the span API to be strictly by-val ( #60 )
...
BREAKING CHANGE: this removes all the `.span_mut()` methods and changes the signature for `.span()`.
2022-12-04 10:19:58 -08:00
Kat Marchán
3d8778a610
feat(api): Improve .get()/.entry() APIs to be more consistent with Rust conventions
...
BREAKING CHANGE: KdlNode::get* are now KdlNode::entry*. Additionally, KdlDocument::get_dash_vals has been renamed to KdlDocument::get_dash_args.
2022-11-29 23:10:25 -08:00
Aria Beingessner
3ddbfec80e
feat(errors): Add better diagnostics for errant plain identifiers in nodes ( #59 )
...
Fixes: https://github.com/kdl-org/kdl-rs/issues/58
2022-10-09 12:00:32 -07:00
Aria Beingessner
b17ef8e2c6
feat(spans): add spans to most elements ( #57 )
...
This necessitates passing the input around through all the sub-parsers so they
can compute their own sub-spans, which in turn necessitates making most of the
subparsers into nom-style 'function builders' by wrapping them in closures and
returning the closures.
The current impl hides this functionality behind an on-by-default "span" feature.
Some fallout of this change:
There is now a private parser::KdlParser type that must be constructed with the
full input for all span computation. The parser::parser method has been moved to
a method of this to make sure the full_input used for span computation is the
same one passed to parsing. In doing this a bug where the span of errors would
be incorrectly computed for non-ascii strings has been fixed.
Types now manually implement PartialEq and Hash to avoid incorporating the span
of the item into those computations.
All parser combinators must first have the KdlParser applied before using them,
making their signatures far more complex. Unfortunately KdlParser::parse can't
apply that for you because I don't think it's possible to express that complex
of a signature and not have the lifetimes get messed up.
2022-08-30 20:24:06 -07:00
Christopher Durham
2e9c0447f9
fix(formatting): Fix formatting when decoration is not present ( #56 )
2022-08-18 12:22:15 -07:00
Cliff L. Biffle
bbc5e4e6a6
fix(fmt): Indent trailing brace of nested nodes. ( #49 )
...
In 4.3.0, the Display output for nested nodes always puts the trailing
braces on the left margin:
a {
b {
c {
}
}
}
This commit indents the trailing brace to match the node name, at least
when explicit trailing text is not provided.
2022-07-22 08:00:54 -07:00