aboutsummaryrefslogtreecommitdiff
path: root/src/tokens.rs
AgeCommit message (Collapse)AuthorLines
2018-12-17Run `cargo fmt`Alex Crichton-158/+201
2018-10-27Allow whitespace after line ending backslash (#162)Joey Hain-1/+18
2018-09-25Fix multi-line strings are not allowed for keyrhysd-31/+39
In spec https://github.com/toml-lang/toml#keys Quoted keys are clarified as > he exact same rules as either basic strings or literal strings TOML clearly distinguishes basic string and multi-line basic string (literal string is also). https://github.com/toml-lang/toml#string So table key and quoted key should not allow multi-line basic string and multi-line literal string. ABNF definition also describes that. https://github.com/toml-lang/toml/blob/master/toml.abnf ``` string = ml-basic-string / basic-string / ml-literal-string / literal-string quoted-key = basic-string / literal-string ``` `string` contains `ml-*` but `quoted-key` doesn't.
2018-07-100.5: Reject 0x7f (DEL) in strings.Eric Huss-2/+2
cc #224
2018-05-09Merge pull request #239 from udoprog/spansAlex Crichton-8/+21
Support spans when deserializing serde structures
2018-05-09Treat unicode hex digits case-insensitivelyClaudio Bley-7/+4
In Rust >= 1.24.0 we could have used `char::is_ascii_hexdigit`, but to keep compatiblity with older versions, `char::is_digit(16)` is used. Fixes #240.
2018-05-07Adjust spans for more complex typesJohn-John Tedro-8/+21
2018-05-01Make Tokenizer emit spansJohn-John Tedro-71/+106
2018-04-16Replace try!() with ?Kornel-2/+2
2017-04-12Remove lifetimesDaniel Lockyer-1/+1
2017-04-12Simplify if-statementsDaniel Lockyer-1/+1
2017-04-12Remove unneeded return statementsDaniel Lockyer-1/+1
2017-02-21Relax assertions in substr_offset slightlyAlex Crichton-1/+1
Closes #152
2017-02-08Rewrite crate with serde support from ground upAlex Crichton-0/+620
This commit completely rewrites this crate from the ground up, supporting serde at the lowest levels as I believe serde support was intended to do. This is a major change from the previous versions of this crate, with a summary of changes being: * Serialization directly to TOML is now supported without going through a `Value` first. * Deserialization directly from TOML is now supported without going through a `Value`. Note that due to the TOML format some values still are buffered in intermediate memory, but overall this should be at a minimum now. * The API of `Value` was overhauled to match the API of `serde_json::Value`. The changes here were to: * Add `is_*` accessors * Add `get` and `get_mut` for one-field lookups. * Implement panicking lookups through `Index` The old `index` methods are now gone in favor of `get` and `Index` implementations. * A `Datetime` type has been added to represent a TOML datetime in a first-class fashion. Currently this type provides no accessors other than a `Display` implementation, but the idea is that this will grow support over time for decomposing the date. * Support for the `rustc-serialize` crate has been dropped, that'll stay on the 0.2 and 0.1 release trains. * This crate no longer supports the detection of unused fields, for that though you can use the `serde_ignored` crate on crates.io