Gregor Purdy
5b1af84dbe
Typo fix 3 in 2024-03-15-FirstRelease.md
2024-03-21 14:22:14 +01:00
Gregor Purdy
759db28bfb
Typo fix 2 in 2024-03-15-FirstRelease.md
2024-03-21 14:22:00 +01:00
Gregor Purdy
15049196e0
Typo fix
2024-03-21 14:21:26 +01:00
Ethiraric
7d3825c049
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
61e26deb99
Run CI only on master pushes.
2024-03-21 12:33:00 +01:00
Ethiraric
869a2d1a15
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
e8415713ab
Edit v0.6 post with cargo alias.
2024-03-20 21:39:38 +01:00
Ethiraric
898dab9851
Fix rustdoc ignore directive.
2024-03-20 16:00:33 +01:00
Ethiraric
c3ba2070e5
Add missing_docs
warning.
2024-03-20 16:00:30 +01:00
Ethiraric
a06ba5205a
Forgot to bump some v0.6.0 to v0.7.0.
2024-03-20 16:00:15 +01:00
Ethiraric
ee8a999075
Update cargo version to 0.7.
2024-03-20 14:42:31 +01:00
David Aguilar
e00d7f251e
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
1e43066d15
README: add an "Upgrading from yaml-rust" section
2024-03-20 14:21:27 +01:00
Ethiraric
6dc586e892
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
9133bb0a34
Re-enable clippy warnings.
2024-03-19 18:18:59 +01:00
David Aguilar
c1145fc814
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
429813a0cd
Enable the missing-errors-doc clippy checks
2024-03-19 15:26:16 +01:00
David Aguilar
4c64feb5ad
Eliminate panics and enable the missing panics docs check
2024-03-19 15:26:16 +01:00
David Aguilar
04f8b99f49
Enable the redundant-else clippy checks
2024-03-19 15:26:16 +01:00
David Aguilar
432041aafb
Add a CHANGELOG to keep track of yaml-rust2 development
2024-03-19 15:26:16 +01:00
David Aguilar
b1b1af24dc
README: trivial grammar tweak
2024-03-19 15:26:16 +01:00
David Aguilar
b4cb0ea9e6
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
0546a314ed
doc: mention that types are not interpreted
...
Closes : #87
2024-03-19 15:26:16 +01:00
David Aguilar
f4c4e2ee4a
Enable the case-arms clippy checks
2024-03-19 15:26:16 +01:00
lincoln auster [they/them]
2cf6436fb1
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]
5ba5dfa6e6
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
38aaea20db
Update to quickcheck 1.0
2024-03-19 15:26:16 +01:00
Marko Mikulicic
068525a6d7
Use a YamlDecoder builder to implement optional encoding_trap parameter.
2024-03-19 15:26:16 +01:00
Marko Mikulicic
7705e87ff6
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
c962741719
Add byte a offset to the error message
2024-03-19 15:26:16 +01:00
larkbyte
e1119bb3bf
Replace linked_hash_map with hashlink
2024-03-19 15:26:16 +01:00
David Aguilar
ef1a2d1d5c
ci: replace travis with github actions
2024-03-19 15:26:16 +01:00
David Aguilar
07113c6e1c
Cargo.toml: enable the Rust 2021 Edition
2024-03-19 15:26:16 +01:00
David Aguilar
99fb843550
Cargo.toml: add myself to the authors list
2024-03-19 15:26:16 +01:00
David Aguilar
a6c8dfe5b8
Emit multi-line string values as block scalars
2024-03-19 15:26:16 +01:00
Ethiraric
e4ae1d0546
Update to v0.6.
2024-03-15 20:14:26 +01:00
Ethiraric
dc88910c23
Add bench_compare
tool.
2024-03-15 18:29:54 +01:00
Ethiraric
6b27316586
Prepare for benchmarks.
2024-03-15 17:34:39 +01:00
Ethiraric
f44cb1dd22
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
0a05d3c0ed
Add gen_large_yaml to justfile's before_commit.
2024-03-15 12:42:10 +01:00
Ethiraric
b7755e119c
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
3d8a54d384
Add a generator for nested objects.
2024-02-14 00:35:41 +01:00
Ethiraric
765f2bb672
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
8a80e547c6
Fix some clippy lints.
2024-02-13 23:10:17 +01:00
Ethiraric
7b431c77d4
Improve comments.
2024-02-08 07:04:38 +01:00
Ethiraric
671a498bf4
Minor improvements.
2024-01-31 22:02:53 +01:00
Ethiraric
5d94b8174d
Add big string array bench generation.
2024-01-30 23:11:00 +01:00
Ethiraric
1dcb1eee34
Rename generator tool.
2024-01-30 22:37:32 +01:00
Ethiraric
99fb05c937
Improve scan_plain_scalar
readability.
...
Take whitespace checking out of the innermost loop for performance.
2024-01-25 03:06:18 +01:00
Ethiraric
f535e505a7
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