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

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>

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 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.