* Make multi-line-string-body non-greedy
* Don't require string-character after quotes in multiline strings
* Prevent accidentally consuming triple quotes in multi-line-string-body
* Add test cases
* Support empty multiline strings
Per <https://github.com/kdl-org/kdl/discussions/481>, the grammar doesn't actually allow the first and last newline in a multiline string to be the same (indicating an empty string). This looks like the minimal fix for it.
* Add tests for empty multilines
* remove accidental newline
* Release KDL 2.0.0
* fix grammar for multiline quoted strings to allow escaped whitespace on closing line
* Add unicode-space to raw string
* Remove nonexistent equals-sign from the grammar (#435)
* fix multiline string tests
* grammar: fix disallowed-keyword-identifiers and string-character (#436)
* Back out "fix multiline string tests"
This backs out commit 0c5604b462.
* add extra javascript implementation (#437)
* reword interaction multiline + whitespace escape (#439)
* More tests for backslash behaviour (#438)
* More tests for baskslash behaviour
* Incorrect example of escaped final newline
* Test with non-literal indent
* Make line-space a superset of node-space (#440)
* Allow escline everywhere
* escline tests
* Always escape \ inside single quotes in the grammar text (#441)
to match the other uses of it and the metalanguage description below
* Add tests for mandatory whitespace between arguments or properties (#442)
* Add an optional version marker (#444)
* Add version marker to the grammer
* Add version marker to the Changelog
* Update SPEC.md
Co-authored-by: eilvelia <hi@eilvelia.cat>
* add a mandatory newline after the version marker
* add mandatory space between version number
---------
Co-authored-by: eilvelia <hi@eilvelia.cat>
* Fix a changelog line erroneously truncated in #444 (#445)
* fix: move vertical tab to the line-breaking whitespace to match Unicode (#446)
* add vertical tab change test
* final tweaks before release
---------
Co-authored-by: eilvelia <hi@eilvelia.cat>
Co-authored-by: Bram Gotink <bram@gotink.me>
Co-authored-by: Thomas Jollans <tjol@tjol.eu>
Co-authored-by: Evgeny <eugenesvk@users.noreply.github.com>
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).
/ 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