Commit graph

276 commits

Author SHA1 Message Date
David Tolnay
04134ffc47 Address write_with_newline lint 2018-09-16 00:00:48 -07:00
David Tolnay
34da7f5f01 Replace try! with question mark 2018-09-15 23:58:48 -07:00
David Tolnay
1652cf524e Release 0.4.2 2018-09-15 13:09: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
66326f23f5 Release 0.4.1 2018-09-15 12:31:11 -07:00
David Tolnay
0e1049d10c Set html_root_url 2018-09-15 12:30:27 -07:00
David Tolnay
10498b2423 Escape string containing colon
I don't know whether this is always necessary but it is required for
correctly serializing `["x: %"]`. If we serialize this without quotes to
`[x: %]` then the result is not valid YAML.
2018-09-15 12:20:14 -07:00
David Tolnay
48c732d077 Ignore should_implement_trait lint
The Parser::next method is already a public API.
2018-09-15 10:07:05 -07:00
David Tolnay
05eb495917 Address redundant_field_names lint 2018-09-15 10:06:34 -07:00
David Tolnay
1b25db62bb Don't yet use tool attrs because they are not stable 2018-09-15 10:02:56 -07:00
David Tolnay
5039af6862 Format with rustfmt 0.99.4 2018-09-15 09:49:08 -07:00
David Tolnay
b75f13e7d3 Merge branch 'master' into prevent-too-deep-recursion 2018-09-15 09:16:25 -07:00
David Tolnay
d5ada3b0ef Merge pull request #104 from hoodie/feature/test-indentation-behaviour
Add tests to show expected indentation interpretation
2018-09-15 09:09:05 -07:00
Konrad Borowski
bbb80f1ee7 Prevent too deep recursion 2018-09-15 12:34:21 +02:00
Hendrik Sollich
97f208bf76 Add tests to show expected indentation interpretation 2018-06-22 21:17:16 +02:00
Hannes De Valkeneer
d355e60edc Do not quote hyphenated strings unnecessarily.
fixes #54
2018-04-20 21:01:45 +02:00
Yuheng Chen
1d679384ee fix boolean quotes
Fix #92
2018-01-03 21:44:54 +08:00
Yuheng Chen
f050b83e4a Fix warning 2018-01-02 14:57:27 +08:00
Chen Yuheng
db768d59bb Merge pull request #89 from marcaddeo/master
Add a cause() method to EmitError
2017-11-22 10:48:52 +08: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
Marc Addeo
519e2812e4 Add a cause() method to EmitError
For compatibility with error_chain
2017-11-12 12:02:34 -05:00
Chen Yuheng
bafabb4e41 Merge pull request #80 from chris-m-h/pull-parser
Make pull parser accessible
2017-11-02 12:16:58 +08:00
Martin Hoffmann
0e2b66a42d Allow access to Marker’s content. 2017-09-02 13:49:53 +02:00
Christian Hofer
f38c3e11b7 Replace ? by try! 2017-07-16 18:00:50 +02:00
Christian Hofer
00a7d64386 Extract pull parser. 2017-07-15 18:49:27 +02:00
David Tolnay
4b4877686c Merge pull request #78 from chris-m-h/do-not-clone-on-peek
Parser: Do not clone on peeking
2017-07-11 07:04:59 -07:00
Charlie Ozinga
9b21f8026a Merge branch 'master' of https://github.com/chyh1990/yaml-rust into chyh1990 2017-07-10 10:05:43 -06:00
Christian Hofer
a82dfa78e9 Fix version incompatibilities
Also: Fix clippy errors
2017-06-22 09:54:13 +02:00
Christian Hofer
639d288236 Parser: Do not clone on peeking
This eliminates calls to clone() and to_owned() in the parser

- Peeking now returns reference only
- To obtain value, fetch_token needs to be called
- The parser was adapted accordingly
- Also: Pass anchor name by value to register_anchor
2017-06-21 10:20:16 +02:00
Christian Hofer
6600c8f4c5 Always pass events by value
- The EventReceiver gets ownership of events
- Breaks compatilibility with previous interface
2017-06-19 15:41:26 +02:00
Christian Hofer
28d17fa242 Allow clients ownership of events
Also: Optimize built-in Yaml deserializer to avoid one scalar value cloning step.
2017-06-14 10:29:27 +02:00
Hendrik Sollich
aaf06fbce9 correctly emitting deeply nested arrays 2017-06-11 00:19:49 +02:00
Hendrik Sollich
083df3ce4c correctly emitting nested arrays
fixed #70 too
2017-06-10 23:43:15 +02:00
Charlie Ozinga
5fb88bc4bf Move the compact flag into the emitter itself 2017-05-23 12:18:12 -06:00
Charlie Ozinga
7cc29540f2 Merge branch 'master' of https://github.com/chyh1990/yaml-rust into chyh1990 2017-05-23 11:51:19 -06:00
Hendrik Sollich
3fa9a24739 quoting possible booleans
fixes #53
2017-05-22 19:32:08 +02:00
Yuheng Chen
b5f5b66d6e Allow use integer as key to access HashMap
Fix #61
2017-05-13 21:55:32 +08:00
Yuheng Chen
a5c49b9922 Parse special f64 in tag 2017-05-13 21:22:19 +08:00
Yuheng Chen
c3a9141330 Add special f64 parsing
Fix #51
2017-05-13 21:17:35 +08:00
Yuheng Chen
4c7a335bac Fix #65 2017-05-13 20:48:48 +08:00
Charlie Ozinga
528164d6e6 Fix nested arrays, emit compact in-line 2017-05-11 23:29:41 -06:00
Charlie Ozinga
818fed42b0 Rebased and resolved conflicts with the following:
https://github.com/chyh1990/yaml-rust/pull/66
https://github.com/chyh1990/yaml-rust/pull/62 (closed in favor of 66)
2017-05-11 12:36:38 -06:00
David Tolnay
083be16860 Implement Error for EmitError
Fixes #50.
2017-05-08 11:43:44 -07:00
David Tolnay
cec5189c13 Fix clippy complaints 2017-05-08 11:35:53 -07:00
David Tolnay
dcfb2bab95 Switch from clippy dependency to cargo-clippy 2017-05-08 11:30:51 -07:00
David Tolnay
0935fc0d57 Revert "fix test: add missing end space"
This reverts commit e3826316ad.
2017-05-08 11:17:30 -07:00
David Tolnay
312b370f4e Merge pull request #67 from Iazel/patch-1
Quotes string starting with a dot
2017-05-08 11:16:27 -07:00
David Tolnay
ea1f4cd0a8 Merge pull request #66 from iredelmeier/trailing-whitespace
Do not emit trailing whitespace
2017-05-08 10:54:17 -07:00
David Tolnay
16e6cb1c31 Merge pull request #58 from palfrey/quickcheck
Fix quote escaping
2017-05-08 10:48:23 -07:00
David Tolnay
bb72096438 Restore import that was broken in #57 2017-05-08 10:44:17 -07:00
Tom Parker
312efa5d05 Add quoting for " and ' 2017-05-08 18:37:19 +01:00
David Tolnay
8755753ed7 Merge pull request #49 from dtolnay/order
Always preserve order
2017-05-08 10:29:27 -07:00
Iazel
e3826316ad fix test: add missing end space 2017-05-06 19:16:00 +02:00
Iazel
a97f7c9c45 Quotes string starting with a dot
To understand why we want to do this, please refer to this issue on ktmpl repository (a way to have templates for kubernetes):
https://github.com/InQuicker/ktmpl/issues/15

The problem applies only to string used as keys, but given that the emitters right now doesn't differentiate the two cases for string, I think is better to do it also for values instead of introducing branching and/or flag variables (can't think of cleaner solution for now).
2017-05-06 19:06:10 +02:00
Isobel Redelmeier
24eb8a4294 Do not emit trailing whitespace 2017-05-05 00:11:36 -07:00
Tom Parker
9d5cb99ca2 Remove warnings about unused items 2017-03-12 16:00:10 +00:00
David Tolnay
316eecbbdc Always preserve order 2017-01-27 20:59:51 -08:00
Yuheng Chen
562eed85a4 Use push_str() instead of extend() 2016-11-24 18:10:49 +08:00
Chen Yuheng
eb66cf0d8e Merge pull request #46 from chyh1990/fix_emitter_space
Emitter: quote strings starts/ends with spaces
2016-11-24 18:01:51 +08:00
Yuheng Chen
23f08da865 Emitter: quote strings starts/ends with spaces 2016-11-24 17:24:02 +08:00
Yuheng Chen
85a1dc81d7 Comment out unreachable states 2016-11-14 11:22:32 +08:00
Martin Hoffmann
e09485ea92 Make YamlLoader implement MarkedEventReceiver. 2016-11-11 11:53:31 +01:00
Martin Hoffmann
9da84a3b41 Introduce a new trait for event receivers that want markers. 2016-11-10 11:53:28 +01:00
Yuheng Chen
6a0e4ad656 always quote empty string 2016-11-10 15:31:07 +08:00
Chen Yuheng
a2e3746ed7 Merge pull request #42 from partim/event-with-marker
Pass markers to EventReceiver.
2016-11-10 14:51:34 +08:00
Martin Hoffmann
2438e6b403 Pass markers to EventReceiver. 2016-11-09 13:04:48 +01:00
Antoni Boucher
2269e040a3 Fixed to always avoid quoting when possible. 2016-11-02 16:56:46 -04:00
Antoni Boucher
d4b6dfe316 Added an option to avoid emitting quotes. 2016-11-01 22:03:35 -04:00
Chen Yuheng
c6a136b8ec Merge pull request #32 from hoodie/bug/emitter
fixed: emitter also emits complex keys
2016-10-21 13:12:55 +08:00
Hendrik Sollich
95f414a8ef added test for emitting equivalence of complex keys 2016-09-24 23:59:09 +02:00
Yuheng Chen
93e7192485 Fix clippy warning 2016-09-22 16:54:51 +08:00
Hendrik Sollich
53b5936a81 fixed: emitter also emits complex keys 2016-09-16 23:32:53 +02:00
Matthew Piziak
79630e0cd1 properly wrap Vec's IntoIter property 2016-08-08 18:21:57 -04:00
Matthew Piziak
b1b5526cf0 remove clone from into_iter 2016-08-08 17:52:24 -04:00
Matthew Piziak
3adfd05000 implement IntoIterator for Yaml 2016-08-08 17:34:38 -04:00
Matthew Piziak
2c520ebead add into_ counterparts for all as_ methods
fix #28
2016-08-07 22:25:30 -04:00
Yuheng Chen
7783c68d5f Use empty_scalar_with_anchor properly
This closes #27.
2016-07-28 17:36:25 +08:00
Hendrik Sollich
20cf5959cf Fix logic error that caused infinite loop 2016-06-23 00:22:03 +02:00
Yuheng Chen
15b4a6ef35 Rename NoEvent to Nothing to make clippy happy 2016-06-22 16:05:40 +08:00
Hendrik Sollich
cb28e81e69 returning ScanError instead of running unreachable!()
fixes #23
2016-06-22 15:54:22 +08:00
Yuheng Chen
a3ecc9f2d4 Fix assert fail on empty document
This closes #20
2016-05-25 13:25:56 +08:00
David Tolnay
ee853ebaba Add preserve_order feature to use LinkedHashMap instead of BTreeMap 2016-03-20 17:24:06 -07:00
Chen Yuheng
52e86e402b Merge pull request #14 from dtolnay/grammar
Grammar in rustdoc
2016-03-10 20:54:07 +08:00
Yuheng Chen
59234a4a2a Fix clippy warnings about not 2016-03-10 20:49:24 +08:00
David Tolnay
6d28d041cf Grammar in rustdoc 2016-03-10 01:55:21 -08:00
David Tolnay
6ba6fec475 Resolve remaining clippy lints and add to Travis build 2016-02-27 16:42:32 -08:00
David Tolnay
b3c34c4f29 Remove common suffix from TokenType enum
See https://github.com/Manishearth/rust-clippy/wiki#enum_variant_names
2016-02-27 15:29:36 -08:00
GaveUp
2a0cac7181 Fix tests on 1.0.0 and 1.1.0. 2016-02-07 16:21:05 -06:00
GaveUp
ae6329df30 Add hex and octal integer support. 2016-02-07 15:52:20 -06:00
Yuheng Chen
b2f3fa49b8 Add alias deserialize support 2015-12-16 15:10:02 +08:00
Yuheng Chen
dbb5575452 Fix CR/LF in literal scalar 2015-09-15 15:27:32 +08:00
Yuheng Chen
ab579f1716 Display error line and col number for ScanError 2015-07-02 23:46:04 +08:00
Yuheng Chen
a566c7647c remove trailing space 2015-06-30 00:31:22 +08:00
m-r-r
a52b22a165 Implementation of std::scanner::Error for ScanError 2015-06-18 23:49:28 +02:00
Yuheng Chen
c1b5dd296f Better code coverage 2015-06-04 16:10:43 +08:00
Yuheng Chen
691f9d942f Add document 2015-05-31 17:59:43 +08:00
Yuheng Chen
23b3c7f024 Export API 2015-05-31 17:02:22 +08:00
Yuheng Chen
19fc6027e8 Add basic emitter 2015-05-31 12:56:45 +08:00
Yuheng Chen
6af58dea81 Add LICENSE and build status 2015-05-31 00:13:21 +08:00
Yuheng Chen
8e629d4637 Add tag:yaml.org,2002 parsing 2015-05-30 22:39:50 +08:00
Yuheng Chen
6b61f4357d Add scan_uri_escapes 2015-05-30 18:49:54 +08:00
Yuheng Chen
10b91f6a31 Add scan_tag_directive_value 2015-05-29 02:57:41 +08:00
Yuheng Chen
9a917eaf29 Add alias event 2015-05-29 02:26:37 +08:00
Yuheng Chen
5d0683c396 Add partial anchor support 2015-05-29 01:56:03 +08:00
Yuheng Chen
5237e538eb Fix unicode escape 2015-05-28 22:19:06 +08:00
Yuheng Chen
008da5005c Add VersionDirectiveToken 2015-05-28 22:07:59 +08:00
Yuheng Chen
1b636097c0 Fix test_spec_ex7_3 2015-05-28 17:18:20 +08:00
Yuheng Chen
ee7ef53563 Add flow_sequence_entry_mapping 2015-05-27 23:18:38 +08:00
Yuheng Chen
443b3a2932 Fix parsing bugs
1. empty key & value support
2. OnNull handling in test
2015-05-27 23:04:03 +08:00
Yuheng Chen
3224240613 Change empty scalar definition 2015-05-27 21:57:42 +08:00
Yuheng Chen
6984c20df6 Add flow_mapping_key 2015-05-27 21:34:52 +08:00
Yuheng Chen
56e28c630e Add indentless_sequence_entry 2015-05-27 16:35:31 +08:00
Yuheng Chen
63c0a32918 Refactory YAML document loader 2015-05-27 14:57:44 +08:00
Yuheng Chen
8e43d42621 Add block_scalar 2015-05-27 00:29:40 +08:00
Yuheng Chen
7d1fa94d0d Add multidoc support 2015-05-26 16:41:35 +08:00
Yuheng Chen
840ccc939f Add scanner unit tests 2015-05-25 19:32:48 +08:00
Yuheng Chen
8fbdf0be81 Add scalar coersion 2015-05-25 13:54:39 +08:00
Yuheng Chen
1e43e9de95 Add parse for Yaml 2015-05-25 03:29:52 +08:00
Yuheng Chen
78134e144f Add scan_flow_scalar 2015-05-25 03:21:53 +08:00
Yuheng Chen
a8ab8ebc27 Add Index trait for YAML node 2015-05-25 02:16:28 +08:00
Yuheng Chen
f49d6c0099 Add yaml value coerce 2015-05-25 01:34:18 +08:00
Yuheng Chen
0ab86869e7 fix lookahead spelling 2015-05-24 14:38:54 +08:00
Yuheng Chen
760f935a87 Fix warnings 2015-05-24 14:37:36 +08:00
Yuheng Chen
31a26b4a35 Add empty_scalar() 2015-05-24 14:29:10 +08:00
Yuheng Chen
d03dec2197 Initial commit 2015-05-24 14:27:42 +08:00