Commit Graph

146 Commits

Author SHA1 Message Date
Kenichi Kamiya cc2995d72b
doc(license): fix format of license file (#87)
This commit follows 0dbf75c78e

Making possible to be detected by tools.
For example, currently GitHub does not detect this
repository as an Apache-2.0 project.

New LICENSE file has been obtained with

```bash
curl -L https://www.apache.org/licenses/LICENSE-2.0.txt -o LICENSE
```

Added the NOTICE file as written in the following links

https://www.apache.org/legal/apply-license.html
https://infra.apache.org/licensing-howto.html

Finally checked the result with

https://github.com/licensee/licensee/tree/v9.18.0

Before
---

```plaintext
License:        NOASSERTION
Matched files:  LICENSE, README.md, Cargo.toml
LICENSE:
  Content hash:  6836f6084c5e24bf671db6bf35b3442c5f604b93
  License:       NOASSERTION
  Closest non-matching licenses:
    ECL-2.0 similarity:     82.54%
    Apache-2.0 similarity:  70.61%
    OSL-3.0 similarity:     51.56%
README.md:
  Content hash:  1a017b26702ef2ed885dcdacfc41f29c8893ee57
  Confidence:    90.00%
  Matcher:       Licensee::Matchers::Reference
  License:       Apache-2.0
  Closest non-matching licenses:
    0BSD similarity:   8.51%
    ISC similarity:    6.67%
    WTFPL similarity:  6.11%
Cargo.toml:
  Confidence:  90.00%
  Matcher:     Licensee::Matchers::Cargo
  License:     Apache-2.0
```

After
---

```plaintext
License:        Apache-2.0
Matched files:  LICENSE, README.md, Cargo.toml
LICENSE:
  Content hash:  bec905d850e7f5dc2e2db78a950d4a9db560a0b8
  Confidence:    100.00%
  Matcher:       Licensee::Matchers::Exact
  License:       Apache-2.0
README.md:
  Content hash:  1a017b26702ef2ed885dcdacfc41f29c8893ee57
  Confidence:    90.00%
  Matcher:       Licensee::Matchers::Reference
  License:       Apache-2.0
  Closest non-matching licenses:
    0BSD similarity:   8.51%
    ISC similarity:    6.67%
    WTFPL similarity:  6.11%
Cargo.toml:
  Confidence:  90.00%
  Matcher:     Licensee::Matchers::Cargo
  License:     Apache-2.0
```
2024-11-27 09:34:05 -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 5eb9442297
chore: Release kdl version 6.0.0-alpha.1 2024-10-05 21:04:58 -07:00
Kat Marchán f67e3d2998
docs: update changelog 2024-10-05 21:04:31 -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 7cdeb98dd7
misc: set msrv 2023-03-31 22:13:12 -07:00
Kat Marchán 498d2ec4bd
chore: Release kdl version 5.0.0-alpha.1 2023-03-31 17:45:02 -07:00
Kat Marchán 4778e701a7
docs: update changelog 2023-03-31 17:44:41 -07:00
Kat Marchán db0a395fb4
feat(deps): bump miette and thiserror 2023-03-31 17:38:30 -07:00
Kat Marchán 8c028e5ea1
(cargo-release) version 5.0.0-alpha.0 2022-12-04 19:46:37 -08:00
Kat Marchán 4973f01460
docs: add some details about the query engine 2022-12-04 19:43:33 -08:00
Kat Marchán 9ef529983d
docs: update changelog for alpha release 2022-12-04 19:25:09 -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
Kat Marchán c7b6b823e9
(cargo-release) start next development iteration 4.6.1-alpha.0 2022-10-09 12:10:49 -07:00
Kat Marchán 232d253cbf
(cargo-release) version 4.6.0 2022-10-09 12:10:17 -07:00
Kat Marchán 9ad7eda2e0
update changelog 2022-10-09 12:09:58 -07: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
Kat Marchán ae5705c388
(cargo-release) start next development iteration 4.5.1-alpha.0 2022-08-30 20:26:33 -07:00
Kat Marchán 6315cd550a
(cargo-release) version 4.5.0 2022-08-30 20:26:08 -07:00
Kat Marchán da85a39a26
docs: update changelog 2022-08-30 20:25:55 -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
Kat Marchán bbd011512a
(cargo-release) start next development iteration 4.4.1-alpha.0 2022-08-18 12:40:20 -07:00
Kat Marchán 857089dcae
(cargo-release) version 4.4.0 2022-08-18 12:39:55 -07:00
Kat Marchán 204460bf1b
update changelog 2022-08-18 12:39:21 -07:00
Kat Marchán 8d0f36ceb1
feat(deps): bump miette 2022-08-18 12:27:59 -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
Dimitri Merejkowsky 901fe3fd7b
docs: add some examples (#47) 2022-07-22 07:58:50 -07:00
Kat Marchán 6d32700b95
(cargo-release) start next development iteration 4.3.1-alpha.0 2022-06-10 17:08:20 -07:00
Kat Marchán 58a60f9a30
(cargo-release) version 4.3.0 2022-06-10 17:07:50 -07:00
Kat Marchán 129a2e1910
docs: update changelog 2022-06-10 17:06:57 -07:00
Nicola Papale cd2d6e42b1
feat(fmt): Add clear_fmt_recursive method (#45)
Fixes #46

When comparing two different `KdlNode` or `KdlDocument`, it's useful to
have a "canonical" representation where formatting differences do not
matter.

`clear_fmt` removes all formatting from a `KdlNode`, but does not apply
recursively, as a result, it doesn't create a canonical representation.
`clear_fmt_recursive` solves this by applying `clear_fmt` recursively to
the contents of the node.
2022-06-10 17:05:58 -07:00
Andrew Lilley Brinker b3ea4a87ee
docs: remove reference to Kaydle (#44)
Fixes: https://github.com/kdl-org/kdl-rs/issues/42

Kaydle is an in-development KDL implementation, but it's
not yet ready for use. This commit removes the reference to
it in the interest of not confusing potential users who might
expect it to be ready and be confused by the lack of an
available version on Crates.io.
2022-05-14 08:58:36 -07:00
Kat Marchán 5ef8eeef52
(cargo-release) start next development iteration 4.2.1-alpha.0 2022-05-11 08:29:48 -07:00
Kat Marchán 0bf6f953ff
(cargo-release) version 4.2.0 2022-05-11 08:29:27 -07:00
Kat Marchán 87e560630f
docs: update changelog 2022-05-11 08:24:35 -07:00
Nicola Papale afccf01216
feat(entry): Add accessors to entry type. (#43)
While the type of entries was parsed, there was no way for the library
user to access it. This commit let the user access the `ty` field of the
`KdlEntry` struct. It mirrors the accessors on the `value` field.
2022-05-11 08:20:08 -07:00
Kat Marchán ac3ca5773f
(cargo-release) start next development iteration 4.1.2-alpha.0 2022-04-27 23:28:33 -07:00
Kat Marchán f21bf8b49e
(cargo-release) version 4.1.1 2022-04-27 23:28:13 -07:00
Kat Marchán 11201dabc6
docs: update changelog 2022-04-27 23:27:42 -07: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 71df712c0c
(cargo-release) start next development iteration 4.1.1-alpha.0 2022-04-23 22:37:03 -07:00