Ethiraric
2642252f7f
Add doc checks to before_commit
.
2024-03-28 21:06:32 +01:00
David Aguilar
2dc9e2c13f
maint: version-up and minimize where we mention the version
...
Remove the version number from tools/gen_large_yaml so that we
can avoid needing to update the version in two places.
2024-03-25 22:25:46 -07:00
John Vandenberg
992c9c29fb
fix typos
2024-03-25 14:52:44 +01:00
David Aguilar
ddb6885a17
yaml: add YamlLoader::load_from_parser(&Parser)
...
Make it easier to load documents from a prebuilt Parser.
2024-03-25 00:06:10 +01:00
David Aguilar
cd2028aca7
parser: add Parser::new_from_str(&str)
2024-03-25 00:06:10 +01:00
David Aguilar
21738031e3
parser: fixup typos from github
2024-03-24 15:01:38 -07:00
David Aguilar
6ea41cc9a8
parser: add a test for keep_tags(false)
...
Co-authored-by: Ethiraric <ethiraric@gmail.com>
2024-03-24 14:21:33 -07:00
David Aguilar
dfaea08aa1
parser: better document keep_tags
...
Co-authored-by: Ethiraric <ethiraric@gmail.com>
2024-03-24 14:21:33 -07:00
David Aguilar
e0560cb232
parser: add an option to keep tags across multiple documents
...
Documents are self-contained and tags defined in the first document are not
visible to subsequent documents.
Add support for having tags that span across all documents by making the
clearing of tags in the parser opt-out.
Closes : #10
2024-03-24 14:21:33 -07:00
David Aguilar
a5550d4203
yaml: add YamlLoader::documents() to get a read-only view of the parsed documents
2024-03-24 14:21:33 -07:00
Ethiraric
eddea11e01
Switch from encoding
to encoding_rs
.
...
See https://github.com/rustsec/advisory-db/issues/1605 .
2024-03-24 17:14:44 +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
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
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
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
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
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
671a498bf4
Minor improvements.
2024-01-31 22:02:53 +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
Ethiraric
cfbf287b3d
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
Ethiraric
26ef839cd3
Split skip
into more specific variants.
...
This function is a hotpath and sometimes removing the conditional jump
to detect line breaks saves a bunch of instructions.
2024-01-24 20:20:52 +01:00
Ethiraric
6babe8de60
Doing this leads to worse performance.
2024-01-24 19:42:18 +01:00
Ethiraric
aaa9288842
Pre-load chars in skip_block_scalar_indent
.
2024-01-24 19:31:45 +01:00
Ethiraric
2cebf0af1d
Help the compiler inline read_break
.
2024-01-24 17:14:52 +01:00
Ethiraric
5789169ceb
Remove debug prints code from release builds.
...
If building release mode, remove debug code. Now, the `debug_print!`
macro resolves to nothing in release build.
In debug build, don't check the environment for each print. This has a
huge overhead. The environment is only checked once and next checks are
made against a simple boolean value.
2024-01-24 02:22:02 +01:00
Ethiraric
b4f66c457a
Move char is_xxx
fn to their own file.
2024-01-24 01:02:20 +01:00
Ethiraric
eed3433841
Update licence, readme, doc.
2024-02-08 07:12:14 +01:00
Ethiraric
68c7afcb4c
Fix null nodes with tags in flow constructs.
2024-01-23 00:19:04 +01:00
Ethiraric
7f7919748a
Fix tag scanning.
2024-01-23 00:19:04 +01:00
Ethiraric
76b3773ffd
Fix indent in block scalars.
2024-01-23 00:19:04 +01:00
Ethiraric
9f4b1480df
Fix dquote indentation.
2024-01-23 00:19:04 +01:00
Ethiraric
2e94a4217b
Fix dquote string escape sequences.
2024-01-23 00:19:04 +01:00
Ethiraric
7145ee8282
Fix tests related to anchor/alias indentation.
...
I have no idea what I'm doing.
2024-01-23 00:19:04 +01:00
Ethiraric
9281e35bbb
Fix flow adjacent value with complex key.
2024-01-23 00:19:04 +01:00
Ethiraric
5dbd6f9a55
Fix use of dashes in flow contexts.
2024-01-23 00:19:04 +01:00
Ethiraric
628549085c
Fix block scalar / eof interactions.
2024-01-23 00:19:04 +01:00