Struct toml::Parser
[−]
[src]
pub struct Parser<'a> { pub errors: Vec<ParserError>, // some fields omitted }
Parser for converting a string to a TOML Value
instance.
This parser contains the string slice that is being parsed, and exports the list of errors which have occurred during parsing.
Fields
errors: Vec<ParserError>
A list of all errors which have occurred during parsing.
Not all parse errors are fatal, so this list is added to as much as
possible without aborting parsing. If None
is returned by parse
, it
is guaranteed that this list is not empty.
Methods
impl<'a> Parser<'a>
[src]
fn new(s: &'a str) -> Parser<'a>
Creates a new parser for a string.
The parser can be executed by invoking the parse
method.
Example
let toml = r#" [test] foo = "bar" "#; let mut parser = toml::Parser::new(toml); match parser.parse() { Some(value) => println!("found toml: {:?}", value), None => { println!("parse errors: {:?}", parser.errors); } }
fn to_linecol(&self, offset: usize) -> (usize, usize)
Converts a byte offset from an error message to a (line, column) pair
All indexes are 0-based.
fn set_require_newline_after_table(&mut self, require: bool)
Historical versions of toml-rs accidentally allowed a newline after a table definition, but the TOML spec requires a newline after a table definition header.
This option can be set to false
(the default is true
) to emulate
this behavior for backwards compatibility with older toml-rs versions.
fn parse(&mut self) -> Option<Table>
Executes the parser, parsing the string contained within.
This function will return the TomlTable
instance if parsing is
successful, or it will return None
if any parse error or invalid TOML
error occurs.
If an error occurs, the errors
field of this parser can be consulted
to determine the cause of the parse failure.
fn lookup(&mut self) -> Option<Vec<String>>
Parse a path into a vector of paths