Gregor Purdy
a4ce3e9696
Typo fix 2 in 2024-03-15-FirstRelease.md
2024-03-21 14:22:00 +01:00
Gregor Purdy
f5cb266a43
Typo fix
2024-03-21 14:21:26 +01:00
Ethiraric
580d7b0525
Remove no longer needed test files.
...
These tests were sucecssfully converted to Rust files to include and are
no longer necessary in this repository.
Should they become relevant again in the future, they can always be
checked out from a previous commit.
2024-03-21 12:37:10 +01:00
Ethiraric
2fe52cf1c2
Run CI only on master pushes.
2024-03-21 12:33:00 +01:00
Ethiraric
0f97d2b9e4
Make gen_large_yaml
reproductible.
...
* Use a seedable RNG so that we can have the same number sequence.
* Replace `HashMap`s with `Vec`s to avoid undeterministic iteration.
2024-03-20 23:07:08 +01:00
Ethiraric
60bf9c80ba
Edit v0.6 post with cargo alias.
2024-03-20 21:39:38 +01:00
Ethiraric
3279baaab9
Fix rustdoc ignore directive.
2024-03-20 16:00:33 +01:00
Ethiraric
ccd7b6e718
Add missing_docs
warning.
2024-03-20 16:00:30 +01:00
Ethiraric
8247f481c7
Forgot to bump some v0.6.0 to v0.7.0.
2024-03-20 16:00:15 +01:00
Ethiraric
a87922680c
Update cargo version to 0.7.
2024-03-20 14:42:31 +01:00
David Aguilar
d9a3d49468
CHANGELOG: move recent updates to v0.7.0 and add a v0.6.0 section
2024-03-20 14:21:27 +01:00
David Aguilar
71003055a7
README: add an "Upgrading from yaml-rust" section
2024-03-20 14:21:27 +01:00
Ethiraric
f497d2c49f
Add serde-yaml
to benchmark.
...
This internally uses `libfyaml`, so this is more of a benchmark of
libfyaml in the end.
2024-03-19 19:29:25 +01:00
Ethiraric
011e81ee85
Re-enable clippy warnings.
2024-03-19 18:18:59 +01:00
David Aguilar
cccf769b1c
Enable all clippy warnings
...
Rename Scanner::next() to Scanner::next_token() to avoid
confusiong with the Iterator trait.
2024-03-19 15:26:16 +01:00
David Aguilar
a120d93e7d
Enable the missing-errors-doc clippy checks
2024-03-19 15:26:16 +01:00
David Aguilar
9e505d552f
Eliminate panics and enable the missing panics docs check
2024-03-19 15:26:16 +01:00
David Aguilar
a42f26b306
Enable the redundant-else clippy checks
2024-03-19 15:26:16 +01:00
David Aguilar
b2bed366cf
Add a CHANGELOG to keep track of yaml-rust2 development
2024-03-19 15:26:16 +01:00
David Aguilar
49464b43d9
README: trivial grammar tweak
2024-03-19 15:26:16 +01:00
David Aguilar
aa1afd38d5
Add a garden file for dev tasks
...
Garden is a simple command runner that uses YAML (via yaml-rust) as its
file format. Garden will be switching over to yaml-rust2 shortly.
2024-03-19 15:26:16 +01:00
Ben Boeckel
8110c942ec
doc: mention that types are not interpreted
...
Closes : #87
2024-03-19 15:26:16 +01:00
David Aguilar
e36369d69c
Enable the case-arms clippy checks
2024-03-19 15:26:16 +01:00
lincoln auster [they/them]
7b4422bb5d
implement borrowed_or
...
Allow the usage of `or` without consuming self. This can be useful
for pipelines that maintain some sort of owned state.
2024-03-19 15:26:16 +01:00
lincoln auster [they/them]
f8542f0f97
introduce or
function
...
Similarly to `or` for Rust's options, this patch provides a way to
'override' the value of a Yaml node if it's some form of error.
2024-03-19 15:26:16 +01:00
David Aguilar
9764f399fb
Update to quickcheck 1.0
2024-03-19 15:26:16 +01:00
Marko Mikulicic
c32db2986c
Use a YamlDecoder builder to implement optional encoding_trap parameter.
2024-03-19 15:26:16 +01:00
Marko Mikulicic
5240918cac
Implement load_from_bytes
...
Also helps in some cases with #142 , when the BOM is at the beginning of
the file (common), but not in corner case where the BOM is at the start
of a document which is not the first one.
Closes : #155
2024-03-19 15:26:16 +01:00
Jim Turner
03e3047937
Add byte a offset to the error message
2024-03-19 15:26:16 +01:00
larkbyte
54ca9294fa
Replace linked_hash_map with hashlink
2024-03-19 15:26:16 +01:00
David Aguilar
5951a33317
ci: replace travis with github actions
2024-03-19 15:26:16 +01:00
David Aguilar
77574b4f30
Cargo.toml: enable the Rust 2021 Edition
2024-03-19 15:26:16 +01:00
David Aguilar
5c9350e824
Cargo.toml: add myself to the authors list
2024-03-19 15:26:16 +01:00
David Aguilar
5369a002ba
Emit multi-line string values as block scalars
2024-03-19 15:26:16 +01:00
Ethiraric
a33d0ffe68
Update to v0.6.
2024-03-15 20:14:26 +01:00
Ethiraric
f99a81c3e6
Add bench_compare
tool.
2024-03-15 18:29:54 +01:00
Ethiraric
289d16ab4a
Prepare for benchmarks.
2024-03-15 17:34:39 +01:00
Ethiraric
98374de883
Create a deeper YAML in nested.yaml
.
...
This requires heavily reducing the number of nodes since they are on
average more indented. Leaving 5M nodes results in files larger than
1GB.
2024-03-15 12:48:04 +01:00
Ethiraric
704d30c7a6
Add gen_large_yaml to justfile's before_commit.
2024-03-15 12:42:10 +01:00
Ethiraric
e390c88077
Remove tools from examples.
...
Add documentation for those tools, and make it so that `gen_large_yaml`
generates a predetermined set of files instead of outputting to its
standard output.
2024-03-14 19:20:56 +01:00
Ethiraric
6919d6fd02
Add a generator for nested objects.
2024-02-14 00:35:41 +01:00
Ethiraric
e7a4f30627
Replace VecDeque
with ArrayDeque
.
...
This removes all allocations in the `Scanner` code. The downside is that
the buffer is now stored in the `Scanner` structure, making it 48 bytes
larger. This however makes the code much more performant.
2024-02-13 23:10:32 +01:00
Ethiraric
603c3c546f
Fix some clippy lints.
2024-02-13 23:10:17 +01:00
Ethiraric
96b012a021
Improve comments.
2024-02-08 07:04:38 +01:00
Ethiraric
e93947bcfe
Minor improvements.
2024-01-31 22:02:53 +01:00
Ethiraric
a1285f107a
Add big string array bench generation.
2024-01-30 23:11:00 +01:00
Ethiraric
b3dd1af018
Rename generator tool.
2024-01-30 22:37:32 +01:00
Ethiraric
4fee65f27a
Improve scan_plain_scalar
readability.
...
Take whitespace checking out of the innermost loop for performance.
2024-01-25 03:06:18 +01:00
Ethiraric
28893c4567
Avoid a trip to self.buffer
.
...
`self.buffer` is a `VecDeque<char>`, meaning that characters are stored
on 4B. When reading as we used to do, this means that every 1 byte
character we read was turned into 4 bytes, which was turned into 1 byte
in `String::extend`.
Instead of going through `self.buffer`, use a local `String` to store
the characters before pushing them to `string`.
2024-01-24 23:02:02 +01:00
Ethiraric
2471c5793a
Buffer block scalar lines.
...
Instead of doing a loop that goes:
* fetch from input stream
* push char into string
Make a loop that fetches characters while they're not a breakz and
_then_ extend the string. This avoids a bunch of reallocations.
2024-01-24 21:45:18 +01:00