Commit graph

80 commits

Author SHA1 Message Date
Ethiraric
3868b83756 Fix dquote indentation. 2024-01-23 00:19:04 +01:00
Ethiraric
36c4f8951e Fix dquote string escape sequences. 2024-01-23 00:19:04 +01:00
Ethiraric
71c54f318f Fix tests related to anchor/alias indentation.
I have no idea what I'm doing.
2024-01-23 00:19:04 +01:00
Ethiraric
ca7579a3c9 Fix flow adjacent value with complex key. 2024-01-23 00:19:04 +01:00
Ethiraric
ef799af5eb Fix use of dashes in flow contexts. 2024-01-23 00:19:04 +01:00
Ethiraric
c60099af9b Fix block scalar / eof interactions. 2024-01-23 00:19:04 +01:00
Ethiraric
9b653e607b Fix block scalars and document end interaction. 2024-01-23 00:19:04 +01:00
Ethiraric
7a3e3b05b4 Fixes towards spaces before comments. 2024-01-23 00:19:04 +01:00
Ethiraric
99d82be6a3 Fix possible misindent in block scalar. 2024-01-23 00:19:04 +01:00
Ethiraric
bff3c4ccaf Fix towards invalid trailing characters. 2024-01-23 00:19:04 +01:00
Ethiraric
032efff867 Split fetch_flow_scalar. 2024-01-23 00:19:04 +01:00
Ethiraric
81104ba833 Fix towards flow mapping and colons. 2024-01-23 00:19:04 +01:00
Ethiraric
4603e31a67 Finally grasped how SimpleKey works.
This is a huge commit that cannot easily be broken down as it contains
fixes for the next ignored test in the suite which, one fixed, broke
tests that used to pass and were only then fixed.

There is also a substantial amount of comments that were added,
especially around `SimpleKey`. Minor improvements around the code were
added and I did not bother making a separate commit for them.

Overall, that commit fixes 7 tests from the matrix that were related to
the handling of simple keys.
2024-01-23 00:19:04 +01:00
Ethiraric
795193483e Minor improvement to debug prints. 2024-01-23 00:19:04 +01:00
Ethiraric
23f3a512f0 Fix anchor names' character set. 2024-01-23 00:19:04 +01:00
Ethiraric
65a89f41b9 Fix empty keys in implicit mappings. 2024-01-23 00:19:04 +01:00
Ethiraric
f2b5946008 Add comments to TokenType and Scanner. 2024-01-23 00:19:04 +01:00
Ethiraric
19bd49865f Add debugging helpers. 2024-01-23 00:19:04 +01:00
Ethiraric
319b288e60 More fixes towards invalid tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
0889d66c32 More fixes towards invalid tabs? 2024-01-23 00:19:04 +01:00
Ethiraric
84bfd0d3de More fixes towards invalid tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
870f2359dd More fixes towards invalid tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
da233d5426 More fixes towards invalid tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
ffe0cfb6d5 Fix towards invalid tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
cd2c34cabe Fix indent when - & entry have \n in-between. 2024-01-23 00:19:04 +01:00
Ethiraric
5a8c5a3d44 More fixes towards invalid tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
326082e0bc Fix DK95-00, I guess. 2024-01-23 00:19:04 +01:00
Ethiraric
f9e55be2f0 Rework block scalar indent skipping. 2024-01-23 00:19:04 +01:00
Ethiraric
abe5d30b3a Minor improvements. 2024-01-23 00:19:04 +01:00
Ethiraric
01ecc1ab0f More fixes towards tabulations. 2024-01-23 00:19:04 +01:00
Ethiraric
e69953bf80 Fix more inappropriate use of tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
15e02cf53d Use type aliases where appropriate. 2024-01-23 00:19:04 +01:00
Ethiraric
acb35b431a Doccomment is_ series of functions. 2024-01-23 00:19:04 +01:00
Ethiraric
270c75ce03 Fix tab used as indentation checks. 2024-01-23 00:19:04 +01:00
Ethiraric
ddd768e681 Propagate tag to MappingStart event. 2024-01-23 00:19:04 +01:00
Ethiraric
e4c4182020 Minor improvements.
* Doc comments
* Helper functions
* Line breaks for readability
2024-01-23 00:19:04 +01:00
Ethiraric
f9eb8c6d60 Move emitter/scanner tests to their folder.
Change scanner's complex test:
```diff
-  *coffee:
+  *coffee :
     amount: 4
-  *cookies:
+  *cookies :
     amount: 4
```

According to https://play.yaml.io/main/parser, this example was invalid
in the first place. Adding a space makes it so that the colon is not
part of the alias name.

Also fix colons not being able to be part of anchors.
2024-01-23 00:19:04 +01:00
Ethiraric
da67c9a763 Expose ScanError::info.
From https://github.com/chyh1990/yaml-rust/pull/190.
2023-08-17 23:43:15 +02:00
Ethiraric
91ed5dca21 Clippy set to pedantic. 2023-08-14 16:11:33 +02:00
Evan Harvey
d5bfbcb047 Spellcheck (#143)
* Spellcheck src

* Spellcheck README
2020-06-01 20:59:27 +08:00
Anton Kochkov
95562ac849 Rust 2018 transition 2020-05-27 14:15:28 +08:00
Robin Stocker
a3591b3fef Fix handling of indicators in plain scalars to conform to YAML 1.2
YAML 1.2 has special handling of indicators to be compatible with JSON.
The following is equivalent to `{"a": "b"}` (note, no space after `:`):

    {"a":b}

But without the quoted key, a space is required. So the `:` here is part
of the plain scalar:

    {a:b}  # == {"a:b"}

A plain scalar can also start with a `:` as long as it's followed by
"safe" characters:

    {a: :b}  # == {"a": ":b"}

(Fixes #118)
2019-03-04 11:45:39 +11:00
Tibo Delor
0705722551 Format using rustfmt 1.0 2018-12-13 18:35:01 +11:00
David Tolnay
34da7f5f01 Replace try! with question mark 2018-09-15 23:58:48 -07:00
David Tolnay
31a54ded85 Lowercase the recursion limit error message
To be consistent with the other errors in this crate.
2018-09-15 13:09:11 -07:00
David Tolnay
05eb495917 Address redundant_field_names lint 2018-09-15 10:06:34 -07:00
David Tolnay
5039af6862 Format with rustfmt 0.99.4 2018-09-15 09:49:08 -07:00
Konrad Borowski
bbb80f1ee7 Prevent too deep recursion 2018-09-15 12:34:21 +02:00
cetra3
a7df76be5f Include Scanner 2017-11-15 14:11:39 +10:30
cetra3
b2c59b8950 Allow the Marker from ScanError 2017-11-15 12:06:16 +10:30