aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorLines
2017-02-08Implement Deserializer::set_require_newline_after_tableAlex Crichton-6/+26
2017-02-08Rewrite crate with serde support from ground upAlex Crichton-4887/+4290
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
2017-01-09Clarify that serde is supportedAlex Crichton-0/+9
Closes #122
2016-12-30Return encoding errors for NaN and infiniteAlex Crichton-0/+19
TOML can't actually represent them, so we should bail out. Closes #125
2016-12-30Escape control characters when encoding stringsAlex Crichton-0/+9
Closes #126
2016-09-06Don't space out the first table or array if not needednabijaczleweli-4/+12
Closes #110
2016-08-16Fix a typoVinzent Steinberg-1/+1
2016-07-29Touch up the encoder/decoder a bitAlex Crichton-100/+180
* Whitespace things * Don't make `State` public * Remove `#[cfg]` annotations
2016-07-29Restore defaulted Deserializer methodsDavid Tolnay-18/+123
2016-07-28Cfg off functions only needed for rustc-serialize or serdeDavid Tolnay-13/+31
2016-07-28Update to serde 0.8.0David Tolnay-8/+138
2016-07-15next iterationOliver Schneider-10/+118
2016-07-14adjust for seq/map ser revampOliver Schneider-23/+60
2016-06-05Merge pull request #101 from leodasvacas/clippy-runAlex Crichton-37/+42
Clippy run and implement Default for State and Enconder
2016-06-03Clippy runleonardo.yvens-38/+43
2016-06-01Merge pull request #103 from MarkSwanson/lookup-lifetime-enhancementAlex Crichton-1/+1
lookup() and lookup_mut() lifetime enhancements.
2016-05-31Fix serde tests on nightlyAlex Crichton-0/+3
2016-05-31Rely on lifetime elision.Mark Swanson-2/+2
2016-05-30lookup() and lookup_mut() lifetime enhancements.Mark Swanson-2/+2
Rationale: - The path has nothing to do with the result. - The path has no need to live as long as the Value/self. - In some cases it can be hard to actually build a path that meets the same lifetime requirements as the Value or String slice result.
2016-05-22Require newlines to be present after keysAlex Crichton-2/+35
Closes #100
2016-05-19Refactor checking for EOF into methodJames Sanderson-1/+6
2016-05-19Accept empty table on last lineJames Sanderson-1/+1
2016-05-19Failing test for empty table on last lineJames Sanderson-0/+8
2016-05-16Fix accepting comments after table definitionsAlex Crichton-3/+2
2016-05-12Accept fractional seconds and timezones in datetime parsingAlex Crichton-41/+99
Closes #96
2016-05-12Add option to enable old behaviorAlex Crichton-9/+23
Cargo will use this in the interim.
2016-04-17Require a newline after table definitionJames Sanderson-1/+11
2016-04-05Use different method to ensure unicode escape code is ASCII of expected lengthTae-il Lim-2/+1
2016-03-28Add a bunch of negative and positive testsBourgond Aries-0/+28
2016-03-28Leverage fn array_index to fn integerBourgond Aries-16/+1
2016-03-27Fix the indentation to be consistent with the repositoryBourgond Aries-3/+3
2016-03-27Add advanced lookup for table namesBourgond Aries-0/+7
2016-03-27Add a test for lookup_mut_advancedBourgond Aries-0/+9
2016-03-27Implement advanced key lookup for lookup_mutBourgond Aries-37/+6
2016-03-27Implement a more advanced algorithm for lookupBourgond Aries-9/+133
The new algorithm allows the explicit usage of "" and '' to denote key names. This is useful for accessing tables or keys that are named in a non-conventional manner.
2016-03-25Add a test to see if the table's contents have changedBourgond Aries-0/+22
2016-03-25Implement the non-recursive lookup_mutBourgond Aries-31/+95
Also include some tests simply by copying and modifying the other tests for lookup.
2016-03-24Add lookup_mut method for mutable accessBourgond Aries-0/+62
Mutable access may sometimes be desired in order to change values in the toml table. This can be used for dynamic configurations which will be easy to modify and store. lookup_mut requires a recursive method due to the borrow checker not allowing to have more than one mutable reference in the same scope.
2016-03-11Fix last testsAlex Crichton-0/+13
2016-03-11Fix an error message test, simlify some serde codeAlex Crichton-100/+104
2016-03-07WIPAlex Crichton-70/+107
2016-01-24Support literal strings in table namesAlex Crichton-13/+26
Closes #85
2016-01-21Address issues found by rust-clippyCorey Farwell-33/+30
2016-01-01Minor documentation grammar fixJake Goulding-2/+4
2015-12-18When decoding maps, leave fields that weren't processedAlex Crichton-28/+71
Fixes an XXX
2015-12-15Fixed bug: floats always end up in Decoder.toml, even when they haveCameron Silvestrini-1/+1
been successfully decoded.
2015-10-07Allow BOM (Byte order mark) in tomlosboxes.org-0/+9
2015-09-30Add Clone derive on ParserErrorGuillaume Gomez-1/+1
2015-09-25Implement Value::lookup for empty path to return selfKerhong-0/+20
2015-08-29Fixed typomseri-1/+1