Commit Graph

114 Commits

Author SHA1 Message Date
Kat Marchán 172c67b602
Release 2.0.0 draft 2 2024-02-06 13:56:50 -08:00
Tab Atkins-Bittner 1d6809ee46 Whoops, missed allowing '+.' 2024-01-03 17:25:34 -08:00
Tab Atkins-Bittner 1f28fb0e83 [editorial] Move keyword production to a better spot. Rephrase bool/keyword to include the # directly. Explicitly spell out the disallowed keywordish idents, and move where they appear. Rename numberish-ident to signed-ident (it's not numberish at all, is the point). 2024-01-03 17:19:03 -08:00
Tab Atkins-Bittner bc2b995bfe Rename/rearrange the string productions to match the spec text better. 2024-01-03 17:14:23 -08:00
Tab Atkins-Bittner 24cd2141d3 Disallow idents like '.1' to avoid footguns 2024-01-03 17:08:49 -08:00
Tab Atkins-Bittner f02ba59c0c Make multi-line ws prefix determined by the last line. 2023-12-26 14:19:45 -08:00
Tab Atkins-Bittner 6d091fd493 Use consistent codepoint spelling 2023-12-26 13:18:01 -08:00
Tab Atkins-Bittner 491cc46f89 Fix the disallowed low ASCIIs 2023-12-26 13:16:55 -08:00
Tab Atkins-Bittner b635470ab2 be more specific 2023-12-26 13:06:22 -08:00
Tab Atkins-Bittner 6d359d2e4c Remove now-irrelevant comment about idents acting like strings (they *are* strings now). 2023-12-26 13:05:10 -08:00
Tab Atkins-Bittner 419995ff19 typos 2023-12-26 13:04:44 -08:00
Tab Atkins-Bittner 057e8c894d Rewrite intro paragraph for strings to make their usage clearer. 2023-12-26 13:04:35 -08:00
Kat Marchán d4333322d9
Add LRM/RLM to the direction control char list 2023-12-17 13:24:00 -08:00
Kat Marchán 055de4e1be
better organization of how we talk about identifiers/strings and comments 2023-12-16 21:44:25 -08:00
Kat Marchán 90cd0b1bb9
make unicodey equals signs valid property assignment characters 2023-12-16 16:09:13 -08:00
Kat Marchán 56f399bf71
Add \s to the list of escapes 2023-12-14 19:25:12 -08:00
Kat Marchán 817a7dc0ab
fixes from review 2023-12-14 19:12:59 -08:00
Kat Marchán a0d5030e3b
Release 2.0 draft 1 2023-12-12 23:49:26 -08:00
Kat Marchán 8de7df6eaa
formatting 2023-12-12 23:49:04 -08:00
Kat Marchán 7790505bf9
Merge branch 'main' into kdl-v2 2023-12-12 23:44:10 -08:00
Kat Marchán fc1b59436a
add support for dedented multi-line strings and raw strings 2023-12-12 23:17:04 -08:00
Kat Marchán 49402ccb7b
allow BOM only in the first unicode scalar in a document 2023-12-12 22:51:52 -08:00
Kat Marchán 13799de32b
Allow whitespace in more places
Fixes: https://github.com/kdl-org/kdl/issues/355
2023-12-12 22:28:52 -08:00
Kat Marchán c8488db13e
Make last semicolon optional for inline nodes
Fixes: https://github.com/kdl-org/kdl/issues/341
2023-12-12 22:21:13 -08:00
Kat Marchán 5a7b339ed4
Constrain code points to unicode scalar values
Fixes: https://github.com/kdl-org/kdl/issues/207
2023-12-12 22:10:26 -08:00
Kat Marchán b42b6c80f0
Clarify that multiline comments are allowed after line continuations, per grammar
Fixes: https://github.com/kdl-org/kdl/issues/322
2023-12-12 21:57:57 -08:00
Kat Marchán 85aa3a09ab
treat bare identifiers and strings in value locations (#358)
Fixes: https://github.com/kdl-org/kdl/issues/339
2023-12-12 21:03:30 -08:00
Kat Marchán e6356d5a03
allow ,<> as identifier characters since they no longer need to be re… (#352)
* fix some confusion in grammar syntax, and actually specify the syntax itself

Fixes: https://github.com/kdl-org/kdl/issues/345

* allow ,<> as identifier characters since they no longer need to be reserved

* fix typo

* disallow more code points and outright ban certain ones from KDL documents altogether (#353)

Fixes: https://github.com/kdl-org/kdl/issues/250

* `r` prefix is no longer required for raw strings (#354)

Fixes: https://github.com/kdl-org/kdl/issues/337
2023-12-12 20:27:37 -08:00
Kat Marchán 99abeef6d3
fix some confusion in grammar syntax, and actually specify the syntax itself (#351)
Fixes: https://github.com/kdl-org/kdl/issues/345
2023-12-12 20:20:15 -08:00
Christopher Durham eb55930264
Update formal grammar for KDL 2.0 (#285)
Fixes: https://github.com/kdl-org/kdl/issues/284

* Update formal grammar

* Update SPEC.md for KDL 2.0 preview

* Update SPEC.md

Co-authored-by: Christopher Durham <cad97@cad97.com>

---------

Co-authored-by: Tab Atkins Jr <jackalmage@gmail.com>
Co-authored-by: Kat Marchán <kzm@zkat.tech>
2023-12-10 17:44:55 -08:00
Tab Atkins-Bittner 0836df1c19 Restrict idents from looking like raw strings. Closes #200, closes #204, closes #241 2023-10-06 14:32:01 -07:00
Tab Atkins-Bittner 3b39e29fee Add vertical tab to whitespace. Closes #331 2023-10-06 14:13:43 -07:00
Tab Atkins-Bittner 270c60ca9a Revert "Allow single-line comments with nothing after them. Fixes #318"
This reverts commit 652590fad3.
2023-10-06 14:07:29 -07:00
Tab Atkins-Bittner 54f5fc8025 Revert "Add vertical tab to whitespace characters. Fixes #331"
This reverts commit ef1bb689b0.
2023-10-06 14:07:28 -07:00
Tab Atkins-Bittner ef1bb689b0 Add vertical tab to whitespace characters. Fixes #331 2023-10-06 13:58:35 -07:00
Tab Atkins-Bittner 652590fad3 Allow single-line comments with nothing after them. Fixes #318 2023-10-06 13:56:03 -07:00
Tab Atkins Jr f3e5ff6027
Rearrange the number production to put decimal at the end
While the grammar makes no statements about match order, parsers pretty universally test for decimal last, after the other number productions, because `0b010` (/etc) can look like a `0` followed by garbage. Matching this order can reduce confusion.

Closes #330.
2023-05-30 14:13:46 -07:00
Evgeny a75ca13c15
Fix a typo in SPEC.md (#323) 2023-05-25 12:09:47 -07:00
Nathan West 0b99021180
Improvements to string naming consistency (#299)
This PR modifies string descriptions in SPEC.md to use more consistent language throughout, with the primary intention of removing long descriptions like "a property key is either an identifier or a string". There are no semantic changes to KDL here.
2022-09-20 17:29:59 -07:00
Nathan West 825ff2c17d
Add escaped whitespace to KDL strings (#290)
* Add escaped whitespace to KDL spec

* Add test cases for escaped whitespace

* Spelling error
2022-08-31 21:49:01 -07:00
Basile Henry 1bf4d740fa
Allow "empty" single line comments in the spec (#234)
As I read the grammar in the spec, `"//"` wouldn't parse as a single-line-comment as it requires as least one non-newline character after the slashes.
2022-08-28 13:07:17 -07:00
Danielle Smith 910f6e90a7
Do not escape / (Solidus, Forwardslash) (#197) 2022-08-28 12:59:26 -07:00
oledfish 9daa2019f7
Fix RFC typo (#276)
The ``email`` field in Reserved Type Annotations for Strings refers to [RFC 5302](https://datatracker.ietf.org/doc/html/rfc5302), it should be [RFC 5322](https://datatracker.ietf.org/doc/html/rfc5322) instead.
2022-07-22 10:34:21 -07:00
Bram Gotink b027d3a751
Remove children from node terminals (#275)
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 15:13:05 -07: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
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
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