Commit Graph

172 Commits

Author SHA1 Message Date
Bram Gotink 5b1fa48cb0
Remove children from node terminals
The grammar doesn't specify that children count
as node terminator, but the text does.

The following document would be valid per text,
but invalid per spec.

```kdl
node { child {} }
```

Fixes #274
2022-07-11 23:07:59 +02:00
Jelle Besseling fcd489afa6
Add more info about the hyphen character in identifiers (#271) 2022-04-25 10:04:28 -07:00
Sebastian Paarmann 81a58e64ee
Mention multi-line comments in spec prose (#263) 2022-03-29 13:00:29 -07:00
Melody Horn cc1da35435
allow contributor link in `kdl-schema.kdl` (#260) 2022-03-27 22:12:32 -07:00
Melody Horn 168fd6abdc
fix `kdl-schema.kdl` well-formedness (#259) 2022-03-27 11:58:39 -07:00
Tab Atkins Jr 3e915b5be3
Clarify the parsing of hostname and idl-hostname (#248)
Ref: #247
2022-02-19 02:06:54 -08:00
Christopher Durham 8976e2da68
Define `digit` in formal grammar (#236)
`digit` is used as a subtraction in bare-identifier, but never defined.
2022-02-19 02:06:17 -08:00
Tab Atkins Jr 5a566ea5e3
Fix #212 by clarifying left/right (#249) 2022-02-19 02:04:38 -08:00
Paul Colomiets 23bbe1ebec
Add `knuffel` to the list of implementations (#256) 2022-02-07 15:50:39 -08:00
Mahmoud Mazouz f82a106814
Add link to Haskell implementation. (#243) 2021-10-24 17:59:50 -07:00
Tab Atkins Jr a1d85e9fe1
[editorial] tweak node-props-and-args grammar (#240)
* replaces a `foo foo*` with a `foo+`
* switches the name of the production to singular, since it only represents one prop/arg at a time

No normative changes intended.
2021-10-17 08:46:34 -07:00
Matthew Gamble 617ab86e5e
Add link to additional python implementation (#239) 2021-10-17 08:03:59 -07:00
Tab Atkins Jr e5e131920f
Link to new python impl
previous one is (currently, at least) dead
2021-10-08 12:09:09 -07:00
Tab Atkins Jr 05d16e0597
Per #223 discussion, this *should* be a parse error. (#226)
Fixes: #223
2021-10-07 08:01:18 -07:00
Tab Atkins Jr 93cc6724f2
Verify that a slash-dashed prop doesn't shadow a previous prop of the same name (#227) 2021-10-06 15:01:49 -07:00
Tab Atkins Jr 3f293ff01d
Empty children aren't reflected in the data model. (#219)
Fixes: https://github.com/kdl-org/kdl/issues/218
2021-10-05 20:27:28 -07:00
Tab Atkins Jr b22ed4b1b0
Add missing expected file (#217)
Per the grammar (`decimal := integer ('.' [0-9] [0-9_]*)? exponent?`), underscores in the fraction part should be allowed (as in `node 1.0_2`, the contents of the corresponding input file), but there was no expected_kdl file for this test case, indicating it's supposed to be a parse failure.

I'm assuming this was a mistake, since underscores in the fraction part make complete sense (and are allowed in the other two parts of a decimal number).
2021-10-04 17:47:24 -07:00
Danielle Smith 5a2f4969fe
fix: non-decimal test output according to docs (#196) 2021-09-27 17:44:21 -07:00
Danielle Smith 05af2fb657
fix: do not escape solidus (forwardslash) in test (#198) 2021-09-27 17:42:30 -07:00
Christopher Durham 296fe129e1
argument/property ordering clarification (#206) 2021-09-26 22:47:08 -07:00
Devasta 99d9168a4a
Added xml2kdl to the list of implementations. (#201) 2021-09-25 10:27:32 -07:00
Ben Reinhart 24faa6b75c
tests: add more coverage for keywords (#189) 2021-09-20 19:01:48 -07:00
Ben Reinhart 5c4f83b824
Update line continuation wording (#184) 2021-09-19 16:28:25 -07:00
Hannah Kolbeck f59ca2476a
Add type annotation tests from kdl4j and tweak unusual char in quoted id test (#181)
Co-authored-by: Hannah Kolbeck <hannah.kolbeck@streem.com>
2021-09-19 08:11:19 -07:00
Ben Reinhart 8ca18fec0a
tests: ensure output of illegal ident is quoted (#178) 2021-09-17 13:33:56 -07:00
Dave Anderson 0bbe723eb5
tests: adjust bare identifier inputs to match spec. (#168)
/ is not a valid identifier character. This updates
unusual_chars_in_bare_id.kdl to only include unusual but valid
identifier characters, and adds separate invalid input tests
for non-identifier characters.

Fixes #166
2021-09-16 10:46:22 -07:00
Chris Babcock 8ae4ae648e
Preserve duplicate nodes (#167)
Fixes: https://github.com/kdl-org/kdl/issues/165
2021-09-16 01:46:26 -07:00
Ben Reinhart 16269d4325
Prevent markdown from parsing []() as link (#162)
* Use same order from grammar definition
2021-09-15 18:26:50 -07:00
Jihchi Lee a2e53990ed
Fix some typos (#161) 2021-09-15 07:37:53 -07:00
Corey Powell 843beb99a5
Added Elixir implementation to list (#156)
Fixes: #155
2021-09-14 07:48:26 -07:00
Chris Morgan 785abebfc5
fix(spec): Correct bom from U+FFEF to U+FEFF (#153) 2021-09-13 20:17:20 -07:00
Chris Morgan 3df2b719a0
Fix a broken internal link (#152)
blob/main/ was a misapplied GitHubism.
2021-09-13 20:07:46 -07:00
Paul Young 1351f9fa1b
add missing quotation marks (#151) 2021-09-13 19:37:01 -07:00
Kat Marchán 654ab5deb3
1.0.0 2021-09-11 21:10:05 -07:00
Kat Marchán f68137f526
slap a date on it 2021-09-11 21:08:09 -07:00
Kat Marchán 02c40c589d
bump version to 1.0.0 and add example with type annotations 2021-09-11 21:04:22 -07:00
Kat Marchán d24d8551ca
missed some uri -> url changes 2021-09-11 20:51:08 -07:00
Eric Sampson f0bc492021
Add some more reserved type annotations (#134)
I think it would be useful to get these few more common data types into 
For the decimal floating types, I referenced [this protobuf discussion](https://github.com/protocolbuffers/protobuf/pull/7039#issuecomment-679083593) and [this](https://github.com/googleapis/googleapis/blob/master/google/type/decimal.proto)

I'm not sure what to call out for the currency format, I can't find a standard for that yet. There's a [protobuf money type](https://github.com/googleapis/googleapis/blob/master/google/type/money.proto) that's basically a ISO 4217 currency code plus a decimal number, but I don't really want to invent a suggested money format if there's a real one out there somewhere.
For this PR, can we just leave it TBD in order to reserve the type keyword?
2021-09-11 20:46:32 -07:00
Lars Willighagen 0cdda0b711
Disallow ws after (type) in grammar (#138)
Fixes: https://github.com/kdl-org/kdl/issues/131
2021-09-10 17:11:41 -07:00
Kat Marchán 5a13b920c4
use KDL Query for refs (#136) 2021-09-09 19:03:38 -07:00
Lars Willighagen 0e89878072
Add tag syntax to KQL (#137) 2021-09-09 10:03:07 -07:00
Lars Willighagen f242250d22
draft Schema spec for node and value tags (#135) 2021-09-09 07:50:58 -07:00
Tab Atkins Jr f1941b53d3
Allow node names to have type annotations. Bump JiK to take advantage of this. (#132) 2021-09-08 18:03:13 -07:00
Tab Atkins Jr b0eee36df8
Fix leftover contradiction in doctype nodes (#133)
An earlier idea had doctypes and some other weird nodes just encode the entire thing in the node name. I moved away from that, but accidentally left reference to it in the definition of valid nodes.

While I'm here, slightly fix up my wording around "attribute".
2021-09-08 10:41:42 -07:00
Lars Willighagen ede621807e
Fix multi-line-comment grammar (#130)
Fix https://github.com/kdl-org/kdl/issues/128
2021-09-05 12:12:35 +02:00
Jo Liss dec2565a17
fix typos (#129) 2021-09-03 08:02:49 -07:00
Kat Marchán cbb500a4ac
allow /- to cross linespaces (#127)
Ref: https://github.com/kdl-org/kdl/issues/121
2021-09-02 15:29:25 -07:00
Kat Marchán 6b4d0ea030
allow eof termination for single line comments (#126) 2021-09-02 15:25:13 -07:00
Kat Marchán 2e42c4c0ec
Change URIs to URLs for clarity (#125) 2021-09-02 15:10:03 -07:00
Kat Marchán a44fcbb1d4
add type annotation info to spec (#123)
Fixes: https://github.com/kdl-org/kdl/issues/106
2021-09-02 09:23:51 -07:00